@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
:root {
  --font-mincho: "Noto Serif JP", "Hiragino Mincho ProN", serif;
}

/** override */
h1,
h2,
h3,
h4,
h5 {
  font-family: var(--font-mincho);
}

.has-white-background-color {
  color: var(--color_text);
}

.l-topTitleArea {
  overflow: visible;
  margin-block-end: 26.7111853088vw;
}
@media (min-width: 600px) {
  .l-topTitleArea {
    margin-block-end: 160px;
  }
}

.l-topTitleArea__body {
  background: var(--color_htag);
  box-shadow: 2em 2em var(--color_pale01);
  padding: 2em 2em;
  margin-left: 0;
  position: absolute;
  margin-block-start: 46.7445742905vw;
  width: 90%;
}
@media (min-width: 600px) {
  .l-topTitleArea__body {
    margin-block-start: 280px;
    padding: 4em 5em;
  }
}

@media (min-width: 600px) {
  .c-pageTitle {
    font-size: 2em;
    letter-spacing: 0.05em;
  }
}
.c-pageTitle__subTitle {
  font-style: normal;
  opacity: 1;
  display: block;
  margin: 0.5em 0 0 0;
  font-weight: normal;
}

.swell-block-columns {
  --swl-clmn-mrgn--x: 3rem;
}

.is-style-onborder_ttl > .cap_box_ttl {
  font-size: 2rem;
  font-family: var(--font-mincho);
  background: none !important;
  font-weight: 700;
  display: block;
  text-align: center;
  left: 0;
  letter-spacing: 0.1em;
}
.is-style-onborder_ttl > .cap_box_content {
  border: none;
  background: var(--color_pale01) !important;
  padding-block: 4em;
  box-shadow: 0px 0px 34px rgba(0, 86, 145, 0.3019607843);
}

/* style */
.is-style-underline_paragraph:after {
  content: "";
  width: 2em;
  height: 1px;
  border-bottom: 1px solid;
  margin: auto;
  display: block;
}

.swell-block-column:has(.is-style-darkshadow) {
  padding: 0 0 20px 20px;
}

.is-style-darkshadow {
  box-shadow: 0px 0px 24px 8px rgba(0, 0, 0, 0.05), -20px 20px var(--color_htag);
}

.swell-block-dl.is-style-float {
  flex-direction: column;
}
@media not all and (min-width: 600px) {
  .swell-block-dl.is-style-float .swell-block-dl__dt, .swell-block-dl.is-style-float .swell-block-dl__dd {
    width: 100%;
  }
  .swell-block-dl.is-style-float .swell-block-dl__dt:after {
    content: none;
  }
  .swell-block-dl.is-style-float .swell-block-dl__dd {
    margin-block-end: 1em;
  }
}
@media (min-width: 600px) {
  .swell-block-dl.is-style-float {
    flex-direction: row;
  }
}

/* custom */
.post_content .is-style-heading-subtitle {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  gap: 0.5em;
}
.post_content .is-style-heading-subtitle:before {
  width: 1em;
  height: 1px;
  background: var(--color_htag);
  position: static;
}

.section__title {
  font-family: var(--font-mincho);
  color: var(--color_htag);
  font-size: 1.4rem;
}
.section__title.has-white-color .section__title--jp:before {
  background: #fff !important;
}
.section__title--jp {
  margin: 0 !important;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 1rem;
}
.section__title--jp:before {
  content: "" !important;
  width: 2rem !important;
  height: 1px !important;
  background: var(--color_htag) !important;
  position: static !important;
}
.section__title--en {
  font-size: 0.8rem;
  padding-inline-start: 3rem;
}

.section__subtitle {
  font-size: 12px;
  color: var(--color_htag);
  margin-top: 0.5em;
  font-family: var(--font-mincho);
}
.section__subtitle--jp {
  margin: 0 !important;
}
.section__subtitle--en {
  font-size: 12px;
}

/** footer **/
#menu-footer {
  display: grid;
  grid-template-columns: repeat(3, auto);
}

.c-listMenu #menu-footer a {
  border: none;
}

.c-listMenu #menu-footer a:before {
  content: none;
}

.w-footer {
  justify-content: flex-start;
}

@media (min-width: 960px) {
  .w-footer__box {
    flex: none;
  }
  .w-footer__box:first-child {
    border-inline-end: 1px solid;
  }
}
/** 言語スイッチャー */
.widget_bogo_language_switcher .w-header__title {
  display: none;
}

.bogo-language-switcher {
  display: flex;
  flex-direction: row-reverse;
  color: var(--color_htag);
  font-size: 14px;
}

.bogo-language-switcher a {
  padding: 0.1em 1em;
}

.bogo-language-switcher li {
  border: 1px solid var(--color_htag);
}

.bogo-language-switcher .current a {
  color: #fff;
  background: var(--color_htag);
}

.bogo-language-switcher .en-US {
  position: relative;
}

.widget_bogo_language_switcher .c-widget__title {
  display: none;
}

/** contact form */
.smf-form {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}

.smf-form .smf-text-control__control {
  width: 100%;
}

.smf-action {
  margin-block-start: 1.5em;
}

.smf-action .smf-button-control__control {
  width: 100%;
}

.smf-item.required .smf-item__label__text {
  position: relative;
}
.smf-item.required .smf-item__label__text:after {
  content: "*";
  color: #f23a3c;
}