@charset "UTF-8";
/**************************************/
html {
  font-size: 62.5%;
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 8rem;
  scroll-behavior: smooth;
}

body {
  overflow-x: clip;
  font-size: 1.6rem;
  color: #262626;
  background: #f4f3ef;
  font-family: "IBM Plex Sans JP", sans-serif;
  font-weight: 400;
  height: 100%;
  margin: 0;
  padding: 0;
  line-height: 1.8;
  width: 100%;
}
@media (max-width: 834px) {
  body {
    font-size: 1.4rem;
  }
}

/* -------------------------
 * フォント
 * ------------------------- */
:root {
  --ff-ibm: "IBM Plex Sans JP", sans-serif;
  --ff-noto: "Noto Serif JP", serif;
  --ff-work: "Work Sans", sans-serif;
  --ff-prata: "Prata", serif;
  --ff-fig: "Figtree", sans-serif;
}

/* -------------------------
 * フォントサイズのroot
 * ------------------------- */
:root {
  --f10: 1rem;
  --f11: 1.1rem;
  --f12: clamp(1rem, 12 / 1680 * 100vw, 1.2rem);
  --f13: clamp(1rem, 13 / 1680 * 100vw, 1.3rem);
  --f14: clamp(1rem, 14 / 1680 * 100vw, 1.4rem);
  --f15: clamp(1.3rem, 15 / 1680 * 100vw, 1.5rem);
  --f16: clamp(1.3rem, 16 / 1680 * 100vw, 1.6rem);
  --f17: clamp(1.4rem, 17 / 1680 * 100vw, 1.7rem);
  --f18: clamp(1.5rem, 18 / 1680 * 100vw, 1.8rem);
  --f19: clamp(1.5rem, 19 / 1680 * 100vw, 1.9rem);
  --f20: clamp(1.5rem, 20 / 1680 * 100vw, 2rem);
  --f21: clamp(1.5rem, 21 / 1680 * 100vw, 2.1rem);
  --f22: clamp(1.6rem, 22 / 1680 * 100vw, 2.2rem);
  --f23: clamp(1.6rem, 23 / 1680 * 100vw, 2.3rem);
  --f24: clamp(1.6rem, 24 / 1680 * 100vw, 2.4rem);
  --f25: clamp(1.6rem, 25 / 1680 * 100vw, 2.5rem);
  --f26: clamp(1.6rem, 26 / 1680 * 100vw, 2.6rem);
  --f27: clamp(1.6rem, 27 / 1680 * 100vw, 2.7rem);
  --f28: clamp(1.8rem, 28 / 1680 * 100vw, 2.8rem);
  --f29: clamp(1.8rem, 29 / 1680 * 100vw, 2.9rem);
  --f30: clamp(1.8rem, 30 / 1680 * 100vw, 3rem);
  --f31: clamp(1.8rem, 31 / 1680 * 100vw, 3.1rem);
  --f32: clamp(1.8rem, 32 / 1680 * 100vw, 3.2rem);
  --f33: clamp(2rem, 33 / 1680 * 100vw, 3.3rem);
  --f34: clamp(2rem, 34 / 1680 * 100vw, 3.4rem);
  --f35: clamp(2rem, 35 / 1680 * 100vw, 3.5rem);
  --f36: clamp(2rem, 36 / 1680 * 100vw, 3.6rem);
  --f37: clamp(2rem, 37 / 1680 * 100vw, 3.7rem);
  --f38: clamp(2rem, 38 / 1680 * 100vw, 3.8rem);
  --f39: clamp(2rem, 39 / 1680 * 100vw, 3.9rem);
  --f40: clamp(2rem, 40 / 1680 * 100vw, 4rem);
  --f41: clamp(2rem, 41 / 1680 * 100vw, 4.1rem);
  --f42: clamp(2rem, 42 / 1680 * 100vw, 4.2rem);
  --f43: clamp(2rem, 43 / 1680 * 100vw, 4.3rem);
  --f44: clamp(2rem, 44 / 1680 * 100vw, 4.4rem);
  --f45: clamp(2rem, 45 / 1680 * 100vw, 4.5rem);
  --f46: clamp(2rem, 46 / 1680 * 100vw, 4.6rem);
  --f47: clamp(2rem, 47 / 1680 * 100vw, 4.7rem);
  --f48: clamp(2rem, 48 / 1680 * 100vw, 4.8rem);
  --f49: clamp(2.5rem, 49 / 1680 * 100vw, 4.9rem);
  --f50: clamp(3rem, 50 / 1680 * 100vw, 5rem);
  --f60: clamp(3rem, 60 / 1680 * 100vw, 6rem);
  --f64: clamp(3rem, 64 / 1680 * 100vw, 6.4rem);
  --f70: clamp(3rem, 70 / 1680 * 100vw, 7rem);
  --f80: clamp(3rem, 80 / 1680 * 100vw, 8rem);
  --f90: clamp(3rem, 90 / 1680 * 100vw, 9rem);
  --f104: clamp(3rem, 104 / 1680 * 100vw, 10.4rem);
  --f110: clamp(3rem, 110 / 1680 * 100vw, 11rem);
  --f114: clamp(3rem, 114 / 1680 * 100vw, 11.4rem);
  --f120: clamp(3rem, 120 / 1680 * 100vw, 12rem);
}

/* -------------------------
 * 色
 * ------------------------- */
:root {
  --green: #6b9999;
}

/* -------------------------
 * インナー幅、余白
 * ------------------------- */
.inner--1100 {
  width: min(90%, 1100px);
  margin-inline: auto;
}

.inner--1200 {
  width: min(90%, 1200px);
  margin-inline: auto;
}

.inner--1300 {
  width: min(90%, 1300px);
  margin-inline: auto;
}

.inner--1350 {
  width: min(90%, 1350px);
  margin-inline: auto;
}

.inner--1600 {
  width: min(90%, 1600px);
  margin-inline: auto;
}

.sec {
  padding-block: 12rem;
}
@media (max-width: 834px) {
  .sec {
    padding-block: 5rem !important;
  }
}

/* -------------------------
 * 改行
 * ------------------------- */
.no-scroll {
  overflow: hidden;
  height: 100vh;
}

.br-sp {
  display: none;
}
@media (max-width: 834px) {
  .br-sp {
    display: block;
  }
}

.br-sp {
  display: none;
}
@media (max-width: 834px) {
  .br-sp {
    display: block;
  }
}

.br-sp--500 {
  display: none;
}
@media (max-width: 499px) {
  .br-sp--500 {
    display: block;
  }
}

.br-sp--500 {
  display: none;
}
@media (max-width: 499px) {
  .br-sp--500 {
    display: block;
  }
}

.br-sp--1024 {
  display: none;
}
@media (max-width: 1024px) {
  .br-sp--1024 {
    display: block;
  }
}

.no-br-sp {
  display: block;
}
@media (max-width: 834px) {
  .no-br-sp {
    display: none;
  }
}

/* -------------------------
 * スクロールヒント
 * ------------------------- */
.js-scroll-hint {
  overflow-x: auto;
  width: 100%;
  position: relative;
}
.js-scroll-hint > * {
  display: block;
  min-width: 800px;
  height: auto;
  max-width: none;
}

.scroll-hint-icon {
  width: 10rem !important;
  height: auto !important;
  aspect-ratio: 1 !important;
  border-radius: 100vmax !important;
  padding: 0 !important;
  display: grid;
  place-content: center;
  background: rgba(51, 51, 51, 0.7) !important;
  opacity: 0;
  -webkit-transition: opacity 0.6s ease !important;
  transition: opacity 0.6s ease !important;
}
.scroll-hint-icon:before {
  display: none !important;
}
.scroll-hint-icon:after {
  display: none !important;
}

.scroll-hint-text {
  margin-top: 0 !important;
  font-family: var(--ff-work);
  font-size: 1.6rem !important;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}

/* -------------------------
 * 見出し
 * ------------------------- */
.sec__ttl-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8em;
}
@media (max-width: 834px) {
  .sec__ttl-wrap {
    margin-bottom: 2rem;
  }
}

.sec__ttl--ja {
  font-size: var(--f18);
  line-height: 1;
  font-family: var(--ff-noto);
  font-weight: 400;
}

.sec__ttl--en {
  font-size: clamp(3rem, 2.8571428571vw, 4.8rem);
  color: #dda782;
  line-height: 1;
  font-family: var(--ff-prata);
}

.sec__ttl-wrap--left {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.sec__ttl-wrap--center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* -------------------------
 * ドット線
 * ------------------------- */
/* 黒 */
.dot-underline--black {
  background-image: radial-gradient(circle, #262626 0.16rem, transparent 0.16rem);
  background-size: 1rem 1rem;
  background-repeat: repeat-x;
  background-position: left bottom 0.2rem;
  padding-bottom: 1.6rem;
}
@media (max-width: 834px) {
  .dot-underline--black {
    padding-bottom: 1.2rem;
  }
}
@media (max-width: 834px) {
  .dot-underline--black {
    line-height: 2.2;
  }
}

/* -------------------------
 * ヘッダー
 * ------------------------- */
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

.header__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 2rem;
}
@media (max-width: 834px) {
  .header__inner {
    padding-block: 2rem;
  }
}

.header__logo {
  width: 20rem;
  height: auto;
  display: block;
  position: relative;
  z-index: 999;
}
@media (max-width: 834px) {
  .header__logo {
    width: 10rem;
  }
}

.header__logo-img {
  width: 100%;
  height: auto;
}

.header__left-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem 3rem;
}
@media (max-width: 834px) {
  .header__left-area {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.header__tagline {
  color: #8b7769;
  font-family: var(--ff-work);
  font-size: var(--12);
  line-height: 1.17;
}
@media (max-width: 834px) {
  .header__tagline {
    font-size: 1rem;
  }
}

.header__btn {
  background: var(--green);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.2em;
  padding: 1.2rem;
  max-width: 20rem;
  height: 7rem;
  width: 100%;
  line-height: 1;
  border-radius: 100vmax;
  font-size: var(--f24);
  font-family: var(--ff-work);
  -webkit-transition: background 0.3s ease;
  transition: background 0.3s ease;
}
.header__btn:hover {
  background: color-mix(in srgb, var(--green) 80%, white);
}
.header__btn .sub-txt {
  font-family: var(--ff-ibm);
  font-size: var(--f12);
}
@media (max-width: 834px) {
  .header__btn {
    width: 14rem;
    height: 5rem;
  }
}

/* -------------------------
 * フッター
 * ------------------------- */
.footer {
  padding-block: 6.7rem 3.9rem;
  background-color: #ddd;
  color: #000;
  z-index: 10;
}
@media (max-width: 834px) {
  .footer {
    padding-block: 3rem 0rem;
  }
}

.footer__top {
  display: grid;
  grid-template-columns: auto 50%;
  gap: 3rem 2%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 36.5rem;
}
@media (max-width: 834px) {
  .footer__top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media (max-width: 834px) {
  .footer__top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 8rem;
  }
}

.footer__logo {
  width: 22.8rem;
  -webkit-transition: opacity ease-in-out 0.3s;
  transition: opacity ease-in-out 0.3s;
}
.footer__logo:hover {
  opacity: 0.7;
}
@media (max-width: 499px) {
  .footer__logo {
    margin-bottom: 3rem;
    width: 18rem;
  }
}

.footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-column-gap: 10%;
     -moz-column-gap: 10%;
          column-gap: 10%;
}
@media (max-width: 834px) {
  .footer__nav {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
  }
}
@media (max-width: 499px) {
  .footer__nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}

.footer-nav__item-link {
  font-size: var(--f18);
  line-height: 1.4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.5rem;
  text-align: center;
}

.footer__nav-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.6em;
}

.footer__nav-item {
  font-size: var(--f18);
  font-weight: 600;
}

.footer__nav-item + .footer__nav-item {
  margin-top: 1rem;
}

@media (max-width: 834px) {
  .footer__nav-col + .footer__nav-col {
    margin-top: 1rem;
  }
}

.footer__list-heading {
  line-height: 1.2;
  margin-bottom: 1rem;
}

.footer__copy {
  font-size: var(--f13);
}

/* -------------------------
 * 下層
 * ------------------------- */
body.under {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  min-height: 100vh;
}

.under-main {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding-block: 20rem 12rem;
}
@media (max-width: 834px) {
  .under-main {
    padding-block: 12rem 6rem;
  }
}
.under-main > section + section {
  margin-top: 12rem;
}
@media (max-width: 834px) {
  .under-main > section + section {
    margin-top: 5rem;
  }
}

/* -------------------------
 * 下層ページ見出し
 * ------------------------- */
.under-fv {
  margin-bottom: 6rem;
}
@media (max-width: 834px) {
  .under-fv {
    margin-bottom: 3rem;
  }
}

.under-fv__ttl-wrap {
  line-height: 1.3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1rem;
  margin-bottom: 2rem;
}

.under-fv__ttl--en {
  font-size: var(--f60);
}
.under-fv__ttl--ja {
  font-size: var(--f20);
}

.under-fv__img {
  width: 90%;
  max-width: 1350px;
  margin-inline: auto;
}
@media (max-width: 834px) {
  .under-fv__img {
    width: 100%;
  }
}

/* -------------------------
 * パンくずリスト
 * ------------------------- */
.breadcrumbs-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 2rem;
}

.breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem;
}
@media (max-width: 834px) {
  .breadcrumbs {
    gap: 0.6rem;
  }
}
.breadcrumbs li:not(:last-child)::after {
  content: "›";
  position: relative;
  line-height: 0;
  top: 0.05em;
  left: 0.2em;
  font-size: 3rem;
}
@media (max-width: 834px) {
  .breadcrumbs li:not(:last-child)::after {
    font-size: 2.4rem;
    left: 0.15em;
  }
}

.breadcrumbs__item-link {
  line-height: 1;
}

/* -------------------------
 * フェードインアニメーション
 * ------------------------- */
/* MV用フェードイン */
.js-fadein {
  opacity: 0;
  -webkit-filter: blur(8px);
          filter: blur(8px);
  -webkit-transition: opacity 1.2s ease, -webkit-filter 1.2s ease;
  transition: opacity 1.2s ease, -webkit-filter 1.2s ease;
  transition: opacity 1.2s ease, filter 1.2s ease;
  transition: opacity 1.2s ease, filter 1.2s ease, -webkit-filter 1.2s ease;
  -webkit-transition-delay: calc(var(--delay-index, 0) * 0.3s);
          transition-delay: calc(var(--delay-index, 0) * 0.3s);
}
.js-fadein.is-visible {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

/* フェードアップ */
.js-fadeup {
  opacity: 0;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
  -webkit-transition: all 0.8s;
  transition: all 0.8s;
  -webkit-transition-delay: calc(var(--delay-index, 0) * 0.2s);
          transition-delay: calc(var(--delay-index, 0) * 0.2s);
}
.js-fadeup.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/* 遅延用クラス */
.delay-0 {
  --delay-index: 0;
}

.delay-1 {
  --delay-index: 1;
}

.delay-2 {
  --delay-index: 2;
}

.delay-3 {
  --delay-index: 3;
}

.delay-4 {
  --delay-index: 4;
}

.delay-5 {
  --delay-index: 5;
}

.delay-6 {
  --delay-index: 6;
}

.delay-7 {
  --delay-index: 7;
}

.delay-8 {
  --delay-index: 8;
}

.delay-9 {
  --delay-index: 9;
}/*# sourceMappingURL=style.css.map */