@charset "UTF-8";
/* reset
---------------------------------------- */
*, *::before, *::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

* {
  margin: 0;
}

html, body {
  font-family: "Noto Sans JP", sans-serif;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  color: #000;
}

img, picture, video, canvas, svg {
  display: block;
  width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

sup {
  font-size: 0.625rem;
}

#root, #__next {
  isolation: isolate;
}

/* content
---------------------------------------- */
.content {
  padding: 6rem 0 7.5rem 0;
  background: #F7F6F2;
}
@media only screen and (max-width: 1440px) {
  .content {
    padding: 6.8125rem 0 7.5rem 0;
  }
}
@media only screen and (max-width: 1365px) {
  .content {
    padding: 5rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .content {
    padding: 2.8125rem 0 4rem;
  }
}

body.page .content {
  padding: 3.4375rem 0 7.5rem;
  background-color: #fff;
}
@media only screen and (max-width: 767px) {
  body.page .content {
    padding: 2.8125rem 0 3.5rem;
  }
}

/* inner
---------------------------------------- */
.inner {
  width: calc(100% - 280px);
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 1365px) {
  .inner {
    width: 90%;
  }
}
@media only screen and (max-width: 767px) {
  .inner {
    width: calc(100% - 40px);
    max-width: 100%;
  }
}

body.page .inner {
  width: calc(100% - 64px);
  max-width: 1040px;
}
@media only screen and (max-width: 767px) {
  body.page .inner {
    width: calc(100% - 40px);
  }
}

/* header
---------------------------------------- */
@media only screen and (max-width: 767px) {
  html {
    position: relative;
  }
  html::before {
    display: block;
    content: "";
    width: 100vw;
    height: 100svh;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    visibility: hidden;
    opacity: 0;
  }
  html:is(.is-fixed) {
    overflow: hidden;
  }
  html:is(.is-fixed)::before {
    visibility: visible;
    opacity: 1;
  }
}

.header {
  height: 5.75rem;
  padding: 0 32px;
}
@media only screen and (max-width: 767px) {
  .header {
    height: 4.375rem;
    padding: 0 0 0 12px;
  }
}
.header:is(.is-active) .mainNav {
  visibility: visible;
  opacity: 1;
}
.header__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
  max-width: 1600px;
  margin-left: auto;
  margin-right: auto;
}
.header__logo {
  margin-top: 0.25rem;
}
.header__logo-link {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 14px;
     -moz-column-gap: 14px;
          column-gap: 14px;
  position: relative;
  z-index: 10;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media only screen and (max-width: 767px) {
  .header__logo-link {
    -webkit-column-gap: 11px;
       -moz-column-gap: 11px;
            column-gap: 11px;
  }
}
.header__logo-link:hover {
  opacity: 0.7;
}
.header__logo-figure {
  width: 100%;
  max-width: 115px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .header__logo-figure {
    max-width: 6.125rem;
  }
}
.header__logo-copy {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.25rem;
  margin-top: -0.3125rem;
}
@media only screen and (max-width: 1023px) {
  .header__logo-copy {
    row-gap: 0;
  }
}
@media only screen and (max-width: 767px) {
  .header__logo-copy {
    row-gap: 2px;
    margin-top: -0.4375rem;
  }
}
.header__logo-ttl {
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 1023px) {
  .header__logo-ttl {
    font-size: 0.625rem;
  }
}
@media only screen and (max-width: 767px) {
  .header__logo-ttl {
    font-size: 0.6875rem;
  }
}
.header__logo-code {
  padding-left: 2px;
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 1023px) {
  .header__logo-code {
    font-size: 0.625rem;
  }
}
@media only screen and (max-width: 767px) {
  .header__logo-code {
    padding-left: 0;
  }
}

.mainNav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 24px;
     -moz-column-gap: 24px;
          column-gap: 24px;
  margin-top: -0.5rem;
  z-index: 100;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 1365px) {
  .mainNav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
        -ms-flex-align: end;
            align-items: flex-end;
    row-gap: 5px;
  }
}
@media only screen and (max-width: 767px) {
  .mainNav {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
    width: 100%;
    background-color: #fff;
    padding: 0;
    font-size: 0.9375rem;
    position: absolute;
    top: 4.8125rem;
    left: 0;
    visibility: hidden;
    opacity: 0;
  }
  .mainNav:is(.is-open) {
    visibility: visible;
    opacity: 1;
  }
}
.mainNav__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 28px;
     -moz-column-gap: 28px;
          column-gap: 28px;
  padding: 0;
  position: relative;
  list-style: none;
}
@media only screen and (max-width: 1023px) {
  .mainNav__list {
    -webkit-column-gap: 16px;
       -moz-column-gap: 16px;
            column-gap: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .mainNav__list {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    width: 100%;
    height: auto;
    padding: 0;
    border-top: 1px solid #E2E2E2;
  }
}
@media only screen and (max-width: 767px) {
  .mainNav__item {
    width: 100%;
    border-bottom: 1px solid #E2E2E2;
  }
}
.mainNav__link {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media only screen and (max-width: 1023px) {
  .mainNav__link {
    font-size: 0.6875rem;
  }
}
@media only screen and (max-width: 767px) {
  .mainNav__link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding: 1rem 20px;
    font-size: 0.875rem;
    letter-spacing: 0.12em;
    position: relative;
  }
  .mainNav__link::after {
    display: block;
    content: "";
    aspect-ratio: 1/1;
    width: 1.5625rem;
    height: auto;
    background: url(../images/icon_circle-chevron_right_01.svg) no-repeat center/contain;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .mainNav__link:hover::after, .mainNav__link:active::after {
    background: url(../images/icon_circle-chevron_right_02.svg) no-repeat center/contain;
  }
}
.mainNav__link:is(.is-current) {
  color: #907648;
  position: relative;
}
.mainNav__link:is(.is-current)::before {
  display: block;
  content: "";
  width: 100%;
  height: 5px;
  background-color: #907648;
  position: absolute;
  bottom: -39px;
  left: 0;
}
@media only screen and (max-width: 1365px) {
  .mainNav__link:is(.is-current)::before {
    bottom: -27px;
  }
}
@media only screen and (max-width: 767px) {
  .mainNav__link:is(.is-current)::before {
    display: none;
  }
}
.mainNav__link:is(.is-current)::after {
  background: url(../images/icon_circle-chevron_right_02.svg) no-repeat center/contain;
}
.mainNav__link:hover {
  color: #907648;
  text-decoration: underline;
}
.mainNav__utility-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0;
  list-style: none;
}
@media only screen and (max-width: 767px) {
  .mainNav__utility-list {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 1.5rem;
    padding: 0 20px;
  }
}
.mainNav__utility-list::before {
  display: block;
  content: "";
  width: 1px;
  height: 16px;
  margin-right: 19px;
  background: #B1AEAE;
  position: relative;
  top: 1px;
}
@media only screen and (max-width: 1365px) {
  .mainNav__utility-list::before {
    display: none;
  }
}
.mainNav__utility-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1px;
     -moz-column-gap: 1px;
          column-gap: 1px;
}
.mainNav__utility-item + .mainNav__utility-item {
  margin-left: 24px;
}
@media only screen and (max-width: 1023px) {
  .mainNav__utility-item + .mainNav__utility-item {
    margin-left: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .mainNav__utility-item + .mainNav__utility-item {
    margin-left: 0;
  }
}
.mainNav__utility-item::after {
  display: block;
  content: "";
  aspect-ratio: 1/1;
  width: 1rem;
  height: auto;
  margin-top: 0.1875rem;
  background: url("../images/icon_external_01_brown.svg") no-repeat center/contain;
}
@media only screen and (max-width: 1023px) {
  .mainNav__utility-item::after {
    width: 0.8125rem;
    margin-top: 0.0625rem;
  }
}
@media only screen and (max-width: 767px) {
  .mainNav__utility-item::after {
    width: 1rem;
    margin-top: 0.0625rem;
    margin-left: 0.1875rem;
  }
}
.mainNav__utility-link {
  color: #907648;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.mainNav__utility-link:hover {
  text-decoration: underline;
}
@media only screen and (max-width: 1023px) {
  .mainNav__utility-link {
    font-size: 0.625rem;
  }
}
@media only screen and (max-width: 767px) {
  .mainNav__utility-link {
    font-size: 0.75rem;
  }
}

/* hamburger
---------------------------------------- */
.hamburgerButton {
  display: none;
}
@media only screen and (max-width: 767px) {
  .hamburgerButton {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 3.75rem;
    height: 4.375rem;
    padding: 0;
    border: none;
    background: transparent;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .hamburgerButton__container, .hamburgerButton__icon {
    display: inline-block;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .hamburgerButton__container {
    width: 1.75rem;
    height: 2.5625rem;
    position: relative;
    z-index: 10;
  }
  .hamburgerButton__container.is-active .hamburgerButton__icon:nth-child(1) {
    top: 7px;
    left: 0;
    -webkit-transform: translateY(0.375rem) rotate(-45deg);
            transform: translateY(0.375rem) rotate(-45deg);
  }
  .hamburgerButton__container.is-active .hamburgerButton__icon:nth-child(2) {
    opacity: 0;
  }
  .hamburgerButton__container.is-active .hamburgerButton__icon:nth-child(3) {
    left: 0;
    bottom: 12px;
    -webkit-transform: translateY(-0.875rem) rotate(45deg);
            transform: translateY(-0.875rem) rotate(45deg);
  }
  .hamburgerButton__icon {
    width: 100%;
    max-width: 28px;
    height: 2px;
    margin-left: auto;
    margin-right: auto;
    background: #907648;
    position: absolute;
    left: 0;
    right: 0;
  }
  .hamburgerButton__icon:nth-child(1) {
    top: 1px;
  }
  .hamburgerButton__icon:nth-child(2) {
    top: 11px;
  }
  .hamburgerButton__icon:nth-child(3) {
    bottom: 17px;
  }
  .hamburgerButton__text {
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .hamburgerButton__text:is(.is-active) .menu {
    display: none;
    opacity: 0;
    visibility: hidden;
  }
  .hamburgerButton__text:is(.is-active) .close {
    display: block;
    opacity: 1;
    visibility: visible;
  }
  .hamburgerButton__text .menu {
    width: 1.75rem;
  }
  .hamburgerButton__text .close {
    display: none;
    width: 1.875rem;
    opacity: 0;
    visibility: hidden;
  }
}

/* footer
---------------------------------------- */
.footer {
  padding: 3.25rem 0 5.5rem 0;
}
@media only screen and (max-width: 1440px) {
  .footer {
    padding: 2.6875rem 0 5.5rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .footer {
    padding: 0.25rem 0 1.5rem 0;
  }
}
@media only screen and (max-width: 767px) {
  .footer .inner {
    width: 100% !important;
  }
}
.footer__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 40px;
     -moz-column-gap: 40px;
          column-gap: 40px;
}
@media only screen and (max-width: 767px) {
  .footer__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    row-gap: 2.375rem;
  }
}
.footer__logo {
  width: 100%;
  max-width: 12.25rem;
}
@media only screen and (max-width: 1023px) {
  .footer__logo {
    max-width: 9.375rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer__logo {
    max-width: 12.625rem;
    padding: 0 20px;
  }
}
.footer__logo > a {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.footer__logo > a:hover {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  .footer__info {
    width: 100%;
  }
}
.footer__nav {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 2.5rem 40px;
  padding-left: 0;
  margin-bottom: 1.375rem;
  list-style: none;
}
@media only screen and (max-width: 1365px) {
  .footer__nav {
    gap: 2rem 32px;
  }
}
@media only screen and (max-width: 1023px) {
  .footer__nav {
    gap: 1rem 16px;
  }
}
@media only screen and (max-width: 767px) {
  .footer__nav {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    width: 100%;
    height: auto;
    padding: 0;
    margin-bottom: 1.5rem;
    border-top: 1px solid #E2E2E2;
  }
}
@media only screen and (max-width: 767px) {
  .footer__nav-item {
    width: 100%;
    border-bottom: 1px solid #E2E2E2;
  }
}
.footer__nav-link {
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media only screen and (max-width: 1023px) {
  .footer__nav-link {
    font-size: 0.625rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer__nav-link {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding: 1rem 20px;
    font-size: 0.875rem;
    letter-spacing: 0.12em;
    position: relative;
  }
  .footer__nav-link::after {
    display: block;
    content: "";
    aspect-ratio: 1/1;
    width: 1.5625rem;
    height: auto;
    background: url(../images/icon_circle-chevron_right_01.svg) no-repeat center/contain;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
  .footer__nav-link:hover::after, .footer__nav-link:active::after {
    background: url(../images/icon_circle-chevron_right_02.svg) no-repeat center/contain;
  }
}
.footer__nav-link:hover {
  color: #907648;
  text-decoration: underline;
}
.footer__utility {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 2rem 32px;
  padding-left: 0;
  margin-bottom: 2rem;
  list-style: none;
}
@media only screen and (max-width: 1365px) {
  .footer__utility {
    gap: 1.5rem 24px;
  }
}
@media only screen and (max-width: 1023px) {
  .footer__utility {
    gap: 1rem 16px;
  }
}
@media only screen and (max-width: 767px) {
  .footer__utility {
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    gap: 2rem 32px;
    padding: 0 20px;
    margin-bottom: 2.5rem;
  }
}
.footer__utility-item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 2px;
     -moz-column-gap: 2px;
          column-gap: 2px;
}
.footer__utility-item::after {
  display: block;
  content: "";
  aspect-ratio: 1/1;
  width: 1rem;
  height: auto;
  margin-top: 0.0625rem;
  background: url("../images/icon_external_01_brown.svg") no-repeat center/contain;
}
@media only screen and (max-width: 1023px) {
  .footer__utility-item::after {
    width: 0.8125rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer__utility-item::after {
    width: 1rem;
    margin-top: 0.0625rem;
    margin-left: 0;
  }
}
.footer__utility-link {
  color: #907648;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media only screen and (max-width: 1023px) {
  .footer__utility-link {
    font-size: 0.625rem;
  }
}
@media only screen and (max-width: 767px) {
  .footer__utility-link {
    font-size: 0.75rem;
  }
}
.footer__utility-link:hover {
  text-decoration: underline;
}
.footer__copyright {
  color: #907648;
  font-size: 0.6875rem;
  letter-spacing: 0.02em;
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .footer__copyright {
    padding: 0 20px;
    font-size: 0.625rem;
    text-align: left;
  }
}

body.page .footer {
  background: #F7F6F2;
}

/* breadcrumb
---------------------------------------- */
.breadcrumb {
  max-width: 75rem;
  -webkit-padding-start: 20px;
          padding-inline-start: 20px;
  -webkit-padding-end: 20px;
          padding-inline-end: 20px;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .breadcrumb {
    -webkit-padding-start: 16px;
            padding-inline-start: 16px;
    -webkit-padding-end: 16px;
            padding-inline-end: 16px;
  }
}
.breadcrumb__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  row-gap: 0.375rem;
  padding-top: 0.875rem;
  padding-left: 0;
  padding-bottom: 0.875rem;
  list-style: none;
}
@media only screen and (max-width: 767px) {
  .breadcrumb__list {
    padding-top: 0.6875rem;
    padding-bottom: 0.375rem;
    -webkit-column-gap: 1.3125rem;
       -moz-column-gap: 1.3125rem;
            column-gap: 1.3125rem;
  }
}
.breadcrumb__item {
  color: #E2E2E2;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  line-height: 1.5384615385;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .breadcrumb__item {
    font-size: 0.625rem;
  }
}
.breadcrumb__item:last-child::after {
  display: none;
}
.breadcrumb__item::after {
  display: inline-block;
  content: url(/nssuri/common/image/icon_bredcrumb-arrow_01.svg);
  position: absolute;
  top: calc(50% + 2px);
  right: -1.75rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .breadcrumb__item::after {
    content: url(/nssuri/common/image/icon_bredcrumb-arrow_01_sp.svg);
    right: -1.3125rem;
  }
}
.breadcrumb__item:last-child a {
  color: #907648;
}
.breadcrumb__link {
  color: #E2E2E2;
  font-weight: 400;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.breadcrumb__link:hover {
  color: #907648;
}
.breadcrumb__link:hover .breadcrumb__figure path {
  fill: #907648;
}
.breadcrumb__figure {
  max-width: 1.25rem;
  position: relative;
  top: -1px;
}
@media only screen and (max-width: 767px) {
  .breadcrumb__figure {
    max-width: 1rem;
  }
}
.breadcrumb__figure path {
  fill: #B1AEAE;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

/* list
---------------------------------------- */
.linkList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 4rem 64px;
  padding-left: 0;
  margin-bottom: 6rem;
  list-style: none;
}
@media only screen and (max-width: 1365px) {
  .linkList {
    gap: 2.5rem 40px;
    margin-bottom: 5rem;
  }
}
@media only screen and (max-width: 767px) {
  .linkList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.75rem 28px;
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2.5rem;
  }
}
.linkList__item {
  width: calc((100% - 64px) / 2);
}
@media only screen and (max-width: 1365px) {
  .linkList__item {
    width: calc((100% - 40px) / 2);
  }
}
@media only screen and (max-width: 767px) {
  .linkList__item {
    width: 100%;
  }
}
.linkList__link:hover .linkList__figure img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.linkList__link:hover .linkList__ttl {
  color: #907648;
  text-decoration: underline;
}
.linkList__link:hover .linkList__ttl::after {
  background: url("../images/icon_circle-chevron_right_02.svg") no-repeat center/contain;
}
.linkList__figure {
  aspect-ratio: 548/339;
  margin-bottom: 1.25rem;
  border-radius: 12px;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .linkList__figure {
    margin-bottom: 0.5rem;
    border-radius: 10px;
  }
}
.linkList__figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.linkList__ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 10px;
     -moz-column-gap: 10px;
          column-gap: 10px;
  margin-bottom: 0.625rem;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .linkList__ttl {
    font-size: 1rem;
    letter-spacing: 0.06em;
  }
}
.linkList__ttl::after {
  display: block;
  content: "";
  aspect-ratio: 1/1;
  width: 1.75rem;
  height: auto;
  background: url("../images/icon_circle-chevron_right_01.svg") no-repeat center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .linkList__ttl::after {
    width: 1.25rem;
    margin-top: 0.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .linkList__summary {
    font-size: 0.8125rem;
  }
}
.linkList:is(.linkList--mod-01) {
  gap: 3.75rem 64px;
  padding: 6rem 80px;
  margin-bottom: 0;
  border-radius: 24px;
  background: #fff;
}
@media only screen and (max-width: 1365px) {
  .linkList:is(.linkList--mod-01) {
    gap: 2.5rem 40px;
    padding: 4.5rem 56px;
  }
}
@media only screen and (max-width: 767px) {
  .linkList:is(.linkList--mod-01) {
    gap: 1.625rem 26px;
    padding: 1.75rem 20px 32px;
    border-radius: 10px;
  }
}
.linkList:is(.linkList--mod-01) .linkList__figure {
  aspect-ratio: 468/180;
  margin-bottom: 0.75rem;
}
@media only screen and (max-width: 767px) {
  .linkList:is(.linkList--mod-01) .linkList__figure {
    margin-bottom: 0.5rem;
  }
}
.linkList:is(.linkList--mod-01) .linkList__ttl {
  font-size: 1.3125rem;
  margin-bottom: 0.4375rem;
}
@media only screen and (max-width: 767px) {
  .linkList:is(.linkList--mod-01) .linkList__ttl {
    font-size: 1rem;
    margin-bottom: 0.25rem;
  }
}
.linkList:is(.linkList--mod-01) .linkList__ttl::after {
  width: 1.5625rem;
  margin-top: 0.125rem;
}
@media only screen and (max-width: 767px) {
  .linkList:is(.linkList--mod-01) .linkList__ttl::after {
    width: 1.125rem;
    margin-top: 0.0625rem;
  }
}

/* link
---------------------------------------- */
.link {
  color: #907648;
}
.link--underline {
  text-decoration: underline;
}
.link--underline:hover {
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .link {
    font-size: 0.875rem;
  }
}
.link--external {
  display: block;
  color: #907648;
  text-decoration: underline;
  word-break: break-all;
}
.link--external:hover {
  text-decoration: none;
}
.link--external::after {
  display: inline-block;
  content: "";
  width: 20px;
  height: 20px;
  margin-left: 7px;
  background-image: url(/female_project/common/image/icon_external-link_01_navy.svg);
  background-repeat: no-repeat;
  background-size: 20px 20px;
  background-position: center;
  position: relative;
  top: 5px;
}

/* btn
---------------------------------------- */
.btn-container--left {
  text-align: left;
}
.btn-container--right {
  text-align: right;
}

.btn {
  display: inline-block;
  color: #907648;
  font-family: "acumin-pro", sans-serif;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.05936em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .btn {
    font-size: 0.875rem;
    letter-spacing: 0;
  }
}
.btn:hover::before {
  width: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
}
.btn::before {
  display: inline-block;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #907648;
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
  -webkit-transform-origin: right top;
          transform-origin: right top;
  -webkit-transition: background-size 0.3s, background-color 0.3s, -webkit-transform 0.3s;
  transition: background-size 0.3s, background-color 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, background-size 0.3s, background-color 0.3s;
  transition: transform 0.3s, background-size 0.3s, background-color 0.3s, -webkit-transform 0.3s;
}
.btn--circle, .btn--arrow {
  margin-right: 82px;
  -webkit-transition: background-size 0.3s, background-color 0.3s;
  transition: background-size 0.3s, background-color 0.3s;
}
@media only screen and (max-width: 767px) {
  .btn--circle, .btn--arrow {
    margin-right: 61px;
  }
}
.btn--circle:hover::after, .btn--arrow:hover::after {
  background-color: #907648;
  background-image: url(/female_project/common/image/icon_arrrow_02_navy.svg);
}
.btn--circle::after, .btn--arrow::after {
  display: inline-block;
  content: "";
  width: 64px;
  height: 64px;
  border: 1px solid #907648;
  border-radius: 6.25rem;
  background-color: #907648;
  background-image: url(/female_project/common/image/icon_arrrow_02_white.svg);
  background-repeat: no-repeat;
  background-size: 29px 8px;
  background-position: center;
  position: absolute;
  top: calc(50% + 2px);
  right: -84px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: background-size 0.3s, background-color 0.3s;
  transition: background-size 0.3s, background-color 0.3s;
}
@media only screen and (max-width: 767px) {
  .btn--circle::after, .btn--arrow::after {
    width: 48px;
    height: 48px;
    background-size: 16px 5px;
    right: -61px;
  }
}
.btn--circle.btn--circle--white:hover::after {
  background-color: #907648;
  background-image: url(/female_project/common/image/icon_arrrow_02_white.svg);
}
.btn--circle.btn--circle--white::after {
  background-color: #907648;
  background-image: url(/female_project/common/image/icon_arrrow_02_navy.svg);
}
.btn--arrow {
  margin-right: 66px;
  font-size: 0.875rem;
}
@media only screen and (max-width: 767px) {
  .btn--arrow {
    margin-right: 23px;
    font-size: 0.75rem;
  }
}
.btn--arrow:hover::after {
  background-color: transparent;
}
.btn--arrow::after {
  border: none;
  background-color: transparent;
  background-image: url(/female_project/common/image/icon_arrrow_02_navy.svg);
  top: 50%;
  right: -67px;
}
@media only screen and (max-width: 767px) {
  .btn--arrow::after {
    right: -42px;
  }
}

.btn-rounded {
  display: block;
  max-width: 369px;
  width: 100%;
  border: 1px solid #907648;
  background-color: #907648;
  border-radius: 100px;
  color: #907648;
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.25;
  text-align: center;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .btn-rounded {
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}
.btn-rounded:hover {
  background-color: #907648;
  color: #907648;
}
.btn-rounded--pdf {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-column-gap: 15px;
     -moz-column-gap: 15px;
          column-gap: 15px;
  padding: 16px 21px 19px 20px;
}
@media only screen and (max-width: 767px) {
  .btn-rounded--pdf {
    padding: 12px 38px 14px 20px;
  }
}
.btn-rounded--pdf:hover {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.btn-rounded--pdf:hover::after {
  background-image: url(/female_project/common/image/ico_pdf_01_white.svg);
}
.btn-rounded--pdf::after {
  display: inline-block;
  content: "";
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-image: url(/female_project/common/image/ico_pdf_01_navy.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: absolute;
  top: calc(50% + 1px);
  right: 40px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .btn-rounded--pdf::after {
    right: 33px;
  }
}
.btn-rounded--external {
  padding: 16px 21px 19px 20px;
  background-color: #907648;
  color: #907648;
}
@media only screen and (max-width: 767px) {
  .btn-rounded--external {
    padding: 12px 38px 14px 38px;
  }
}
.btn-rounded--external:hover {
  background-color: #907648;
  color: #907648;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.btn-rounded--external:hover::after {
  background-image: url(/female_project/common/image/icon_external-link_02_navy.svg);
}
.btn-rounded--external::after {
  display: inline-block;
  content: "";
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-image: url(/female_project/common/image/icon_external-link_02_white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 24px 24px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: absolute;
  top: calc(50% + 1px);
  right: 40px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .btn-rounded--external::after {
    right: 34px;
  }
}
.btn-rounded--arrow {
  padding: 16px 21px 19px 20px;
  background-color: #907648;
  color: #907648;
}
@media only screen and (max-width: 767px) {
  .btn-rounded--arrow {
    padding: 12px 38px 14px 38px;
  }
}
.btn-rounded--arrow:hover {
  background-color: #907648;
  color: #907648;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.btn-rounded--arrow:hover::after {
  background-image: url(/female_project/common/image/icon_arrrow_03_navy.svg);
}
.btn-rounded--arrow::after {
  display: inline-block;
  content: "";
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-image: url(/female_project/common/image/icon_arrrow_03_white.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 26px 9px;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: absolute;
  top: calc(50% + 1px);
  right: 40px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .btn-rounded--arrow::after {
    background-image: url(/female_project/common/image/icon_arrrow_02_white.svg);
    background-size: 16px 5px;
    right: 34px;
  }
}

/* content ttl
---------------------------------------- */
.content-ttl--primary {
  margin-top: 3.2em;
  margin-bottom: 1.125rem;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.03em;
}
@media only screen and (max-width: 767px) {
  .content-ttl--primary {
    margin-bottom: 0.875rem;
    font-size: 1.1875rem;
    line-height: 1.4;
    letter-spacing: 0;
  }
}
.content-ttl--primary::after {
  display: block;
  content: "";
  width: 100%;
  height: 0.1875rem;
  margin-top: 0.4375rem;
  background: -webkit-gradient(linear, left top, right top, from(#907648), color-stop(12.4%, #907648), color-stop(12.4%, #E6E6E6), to(#E6E6E6));
  background: -webkit-linear-gradient(left, #907648 0%, #907648 12.4%, #E6E6E6 12.4%, #E6E6E6 100%);
  background: linear-gradient(90deg, #907648 0%, #907648 12.4%, #E6E6E6 12.4%, #E6E6E6 100%);
}
@media only screen and (max-width: 767px) {
  .content-ttl--primary::after {
    height: 0.125rem;
    margin-top: 0.5625rem;
    background: -webkit-gradient(linear, left top, right top, from(#907648), color-stop(25.5%, #907648), color-stop(25.5%, #E6E6E6), to(#E6E6E6));
    background: -webkit-linear-gradient(left, #907648 0%, #907648 25.5%, #E6E6E6 25.5%, #E6E6E6 100%);
    background: linear-gradient(90deg, #907648 0%, #907648 25.5%, #E6E6E6 25.5%, #E6E6E6 100%);
  }
}
.content-ttl--secondary {
  margin-top: 2.7333333333em;
  margin-bottom: 1.125rem;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .content-ttl--secondary {
    margin-bottom: 0.875rem;
    font-size: 1rem;
    line-height: 1.4;
    letter-spacing: 0;
  }
}
.content-ttl--secondary:is(.mod-01) {
  color: #907648;
}
.content-ttl--secondary:is(.mod-02) {
  padding-left: 1rem;
}
@media only screen and (max-width: 767px) {
  .content-ttl--secondary:is(.mod-02) {
    padding-left: 0.75rem;
  }
}
.content-ttl--secondary:is(.mod-02)::before {
  display: inline-block;
  content: "";
  width: 0.25rem;
  height: calc(100% + 1px);
  background-color: #907648;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .content-ttl--secondary:is(.mod-02)::before {
    width: 0.25rem;
    height: calc(100% + 3px);
    top: 0.0625rem;
  }
}
.content-ttl--secondary:is(.mod-02):is(.ver-01)::before {
  width: 0.3125rem;
  height: calc(100% + 5px);
}
.content-ttl--tertiary {
  padding-left: 0.6875rem;
  margin-top: 3.5764705882em;
  margin-bottom: 1rem;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .content-ttl--tertiary {
    padding-left: 0.5625rem;
    margin-bottom: 0.875rem;
    font-size: 0.9375rem;
    letter-spacing: 0;
    line-height: 1.5;
  }
}
.content-ttl--tertiary::before {
  display: inline-block;
  content: "";
  width: 0.1875rem;
  height: calc(100% - 5px);
  background-color: #907648;
  position: absolute;
  top: 4px;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .content-ttl--tertiary::before {
    width: 0.1875rem;
    height: calc(100% - 4px);
    top: 0.1875rem;
  }
}
.content-ttl--tertiary:is(.mod-01)::before {
  top: 3px;
}
.content-ttl--tertiary:is(.mod-02) {
  padding: 0.1875rem 17px 0.3125rem;
  background-color: #F7F6F2;
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .content-ttl--tertiary:is(.mod-02) {
    padding: 0.125rem 8px 0.1875rem;
    margin-bottom: 0.875rem;
    font-size: 0.875rem;
  }
}
.content-ttl--tertiary:is(.mod-02)::before {
  display: none;
}
.content-ttl--quaternary {
  margin-top: 2.5em;
  margin-bottom: 1rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .content-ttl--quaternary {
    margin-bottom: 0.875rem;
    font-size: 0.875rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}

/* content paragraph
---------------------------------------- */
.pageBody {
  /* content annotation
  ---------------------------------------- */
  /* content box
  ---------------------------------------- */
  /* content list
  ---------------------------------------- */
  /* content table
  ---------------------------------------- */
  /* content btn
  ---------------------------------------- */
  /* content link
  ---------------------------------------- */
  /* content figureBox
  ---------------------------------------- */
}
.pageBody p, .pageBody figcaption {
  margin-top: 1.125rem;
  font-size: 1rem;
  letter-spacing: 0.02em;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .pageBody p, .pageBody figcaption {
    margin-top: 0.875rem;
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0;
  }
}
.pageBody .annotation {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 11px;
     -moz-column-gap: 11px;
          column-gap: 11px;
  margin-top: 0.4375rem;
  font-size: 0.875rem;
  line-height: 1.4;
  letter-spacing: 0.02em;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .pageBody .annotation {
    -webkit-column-gap: 6px;
       -moz-column-gap: 6px;
            column-gap: 6px;
    margin-top: 0.3125rem;
    font-size: 0.8125rem;
    line-height: 1.6;
  }
}
.pageBody .annotation:is(.mod-01) {
  -webkit-column-gap: 8px;
     -moz-column-gap: 8px;
          column-gap: 8px;
}
@media only screen and (max-width: 767px) {
  .pageBody .annotation:is(.mod-01) {
    -webkit-column-gap: 4px;
       -moz-column-gap: 4px;
            column-gap: 4px;
  }
}
@media only screen and (max-width: 767px) {
  .pageBody .annotation:is(.mod-01) span:first-child {
    -webkit-flex-shrink: 0;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    font-size: 0.75rem;
    letter-spacing: 0.02em;
  }
}
.pageBody .annotation--no-icon {
  display: block;
}
.pageBody .annotation + .annotation {
  margin-top: 0.3125rem;
}
@media only screen and (max-width: 767px) {
  .pageBody .annotation + .annotation {
    margin-top: 0.25rem;
  }
}
.pageBody .box {
  padding: 2rem 32px 1.875rem;
  margin-top: 2.6875rem;
}
.pageBody .box .BoxTitle {
  color: #907648;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .pageBody .box .BoxTitle {
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0;
  }
}
.pageBody .box p {
  line-height: 1.9;
}
@media only screen and (max-width: 767px) {
  .pageBody .box p {
    line-height: 1.75;
  }
}
.pageBody .box > *:first-child {
  margin-top: 0;
}
.pageBody .box--bg {
  background-color: #F7F6F2;
}
@media only screen and (max-width: 767px) {
  .pageBody .box--bg {
    padding: 1rem 20px 1.375rem;
    margin-top: 2.125rem;
  }
}
.pageBody .box--border {
  border: 1px solid #B1AEAE;
}
@media only screen and (max-width: 767px) {
  .pageBody .box--border {
    padding: 1rem 20px 1.375rem;
    margin-top: 1.6875rem;
  }
}
.pageBody ul {
  padding-left: 0;
  margin-top: 1.375rem;
  list-style: none;
}
@media only screen and (max-width: 767px) {
  .pageBody ul {
    margin-top: 1.0625rem;
  }
}
.pageBody ul.no-liststyle li {
  padding-left: 0;
}
@media only screen and (max-width: 767px) {
  .pageBody ul.no-liststyle li {
    padding-left: 0;
  }
}
.pageBody ul.no-liststyle li::before {
  display: none;
}
.pageBody ul li {
  padding-left: 14px;
  font-size: 1rem;
  letter-spacing: 0.01024em;
  line-height: 1.625;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .pageBody ul li {
    padding-left: 15px;
    font-size: 0.875rem;
    letter-spacing: 0;
    line-height: 1.75;
  }
}
.pageBody ul li::before {
  display: block;
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background-color: #907648;
  position: absolute;
  top: 0.6875rem;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .pageBody ul li::before {
    width: 0.375rem;
    height: 0.375rem;
    top: 0.625rem;
    left: 0;
  }
}
.pageBody ul li + li {
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .pageBody ul li + li {
    margin-top: 0.375rem;
  }
}
.pageBody ol {
  padding-left: 14px;
  margin-top: 1.75rem;
}
@media only screen and (max-width: 767px) {
  .pageBody ol {
    padding-left: 13px;
    margin-top: 1.0625rem;
  }
}
.pageBody ol li {
  font-size: 1rem;
  letter-spacing: 0.01024em;
  line-height: 1.625;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .pageBody ol li {
    font-size: 0.875rem;
    letter-spacing: 0;
    text-indent: -1em;
    line-height: 1.5;
    list-style-position: inside;
  }
}
.pageBody ol li::marker {
  color: #907648;
  font-weight: 700;
}
.pageBody ol li + li {
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .pageBody ol li + li {
    margin-top: 0.4375rem;
  }
}
.pageBody dl {
  margin-top: 1.5rem;
  font-size: 1rem;
  letter-spacing: 0.01024em;
  line-height: 1.625;
}
@media only screen and (max-width: 767px) {
  .pageBody dl {
    margin-top: 0.8125rem;
    font-size: 0.875rem;
    line-height: 1.75;
  }
}
.pageBody dl > div {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .pageBody dl > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.pageBody dl div + div {
  margin-top: 0.375rem;
}
@media only screen and (max-width: 767px) {
  .pageBody dl div + div {
    margin-top: 0.5rem;
  }
}
.pageBody dl dt {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 32px;
  font-weight: 700;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .pageBody dl dt {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-column-gap: 0.875rem;
       -moz-column-gap: 0.875rem;
            column-gap: 0.875rem;
    width: 100%;
    line-height: 1.75;
  }
  .pageBody dl dt::after {
    display: block;
    content: ":";
    font-weight: 400;
    position: relative;
    top: -0.125rem;
  }
}
.pageBody dl dt::before {
  display: block;
  content: ":";
  font-weight: 500;
  position: absolute;
  top: 0;
  right: 0.4375rem;
}
@media only screen and (max-width: 767px) {
  .pageBody dl dt::before {
    display: none;
  }
}
.pageBody dl dd {
  letter-spacing: 0.01024em;
}
@media only screen and (max-width: 767px) {
  .pageBody dl dd {
    letter-spacing: 0;
  }
}
.pageBody .table-wrap:has(.table--simple) {
  margin-top: 1.375rem;
}
@media only screen and (max-width: 767px) {
  .pageBody .table-wrap:has(.table--simple) {
    margin-top: 1.5rem;
  }
}
.pageBody .table-wrap:has(.table--multi) {
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  .pageBody .table-wrap:has(.table--multi) {
    margin-top: 1.5rem;
  }
}
.pageBody .table-wrap:is(.mt-small) {
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .pageBody .table-wrap:is(.mt-small) {
    margin-top: 0.75rem;
  }
}
@media only screen and (max-width: 1023px) {
  .pageBody .table-wrap.scroll {
    overflow-x: scroll;
  }
  .pageBody .table-wrap.scroll .table {
    width: 1040px;
  }
}
@media only screen and (max-width: 767px) {
  .pageBody .table-wrap.scroll-only-sp {
    overflow-x: scroll;
  }
  .pageBody .table-wrap.scroll-only-sp .table {
    width: 1000px;
  }
}
.pageBody .table {
  width: 100%;
  border-collapse: collapse;
  letter-spacing: 0.01024em;
  line-height: 1.625;
}
.pageBody .table th, .pageBody .table td {
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .pageBody .table th, .pageBody .table td {
    font-size: 0.875rem;
  }
}
.pageBody .table caption {
  margin-bottom: 0.625rem;
  font-size: 0.875rem;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .pageBody .table caption {
    margin-bottom: 0.625rem;
    font-size: 0.875rem;
  }
}
.pageBody .table caption.said-bottom {
  caption-side: bottom;
}
.pageBody .table.td-right td {
  text-align: right;
}
.pageBody .table.td-left td {
  text-align: left;
}
.pageBody .table.td-center td {
  text-align: center;
}
.pageBody .table .t-align-left {
  text-align: left !important;
}
.pageBody .table .t-align-right {
  text-align: right !important;
}
.pageBody .table .t-align-center {
  text-align: center !important;
}
.pageBody .table .v-align-middle {
  vertical-align: middle !important;
}
.pageBody .table .table-border-none {
  border: none !important;
}
.pageBody .table--simple {
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .pageBody .table--simple {
    font-size: 0.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .pageBody .table--simple tbody {
    -webkit-text-size-adjust: 100%;
       -moz-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .pageBody .table--simple tbody tr {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.pageBody .table--simple tbody th, .pageBody .table--simple tbody td {
  padding: 1.25rem 11px 1.125rem;
  border-bottom: 1px solid #E0E0E0;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .pageBody .table--simple tbody th, .pageBody .table--simple tbody td {
    padding: 0;
  }
}
.pageBody .table--simple tbody th {
  width: 15%;
  min-width: 162px;
  font-weight: 700;
  letter-spacing: 0.01024em;
}
@media only screen and (max-width: 767px) {
  .pageBody .table--simple tbody th {
    border-bottom: none;
  }
}
@media only screen and (max-width: 767px) {
  .pageBody .table--simple tbody td {
    padding-bottom: 0.6875rem;
    margin-top: 0.1875rem;
    margin-bottom: 0.5625rem;
  }
}
.pageBody .table--multi {
  font-size: 1rem;
  letter-spacing: 0;
  line-height: 1.75;
}
@media only screen and (max-width: 767px) {
  .pageBody .table--multi {
    font-size: 0.8125rem;
    line-height: 1.6;
  }
}
.pageBody .table--multi th, .pageBody .table--multi td {
  border: 1px solid #D1D1D1;
}
.pageBody .table--multi thead th {
  min-width: 10em;
  padding: 0.75rem 11px 0.875rem;
  background-color: #F7F6F2;
  font-weight: 700;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .pageBody .table--multi thead th {
    width: 25%;
    min-width: unset;
    padding: 0.375rem 12px 0.4375rem;
  }
}
@media only screen and (max-width: 767px) {
  .pageBody .table--multi tbody {
    -webkit-text-size-adjust: 100%;
       -moz-text-size-adjust: 100%;
        -ms-text-size-adjust: 100%;
            text-size-adjust: 100%;
  }
}
.pageBody .table--multi tbody th, .pageBody .table--multi tbody td {
  padding: 0.75rem 11px 0.875rem;
}
@media only screen and (max-width: 767px) {
  .pageBody .table--multi tbody th, .pageBody .table--multi tbody td {
    padding: 0.3125rem 8px 0.375rem;
  }
}
.pageBody .table--multi tbody th {
  border-bottom: 1px solid #D1D1D1;
  background-color: #F7F6F2;
  font-weight: 700;
  text-align: left;
  vertical-align: middle;
}
.pageBody .table--multi tbody td {
  text-align: left;
}
.pageBody .btn-wrapper {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .pageBody .btn-wrapper {
    margin-top: 1.5rem;
  }
}
.pageBody .btn {
  display: inline-block;
  min-width: 300px;
  padding: 0.9375rem 36px 0.9375rem 30px;
  border: 1px solid #907648;
  background-color: #fff;
  color: #907648;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
  text-align: center;
  position: relative;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .pageBody .btn {
    min-width: 21.4375rem;
    padding: 0.75rem 50px 0.875rem 60px;
    font-size: 0.875rem;
    line-height: 1.4285714286;
  }
}
.pageBody .btn::before {
  display: none;
}
.pageBody .btn::after {
  display: inline-block;
  content: "";
  aspect-ratio: 6.84/11.59;
  width: 0.4375rem;
  height: auto;
  background: url("../images/icon_arrow_right_01.svg") no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 0.875rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.pageBody .btn:hover {
  background-color: #907648;
  color: #fff;
}
.pageBody .btn:hover::after {
  background: url("../images/icon_arrow_right_02.svg") no-repeat center/contain;
}
.pageBody .btn--important {
  padding: 0.9375rem 46px 0.9375rem 46px;
  background-color: #2C1B01;
  color: #fff;
}
.pageBody .btn--important::after {
  aspect-ratio: 1/1;
  width: 1.5625rem;
  background: url("../images/icon_circle-chevron_right_01.svg") no-repeat center/contain;
  right: 0.5rem;
}
.pageBody .btn--important:hover {
  background-color: #907648;
}
.pageBody .btn--important:hover::after {
  background: url("../images/icon_circle-chevron_right_01.svg") no-repeat center/contain;
}
.pageBody .link-wrapper {
  margin-top: 1.5rem;
}
.pageBody .link-wrapper:has(.link--card) {
  margin-top: 2rem;
}
.pageBody .link {
  display: block;
  color: #907648;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none;
}
.pageBody .link::after {
  display: inline-block;
  content: "";
  aspect-ratio: 1/1;
  width: 1.25rem;
  height: auto;
  margin-left: 8px;
  background: url("../images/icon_circle-chevron_right_01.svg") no-repeat center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  top: 0.2rem;
}
.pageBody .link:hover {
  text-decoration: underline;
}
.pageBody .link:hover::after {
  background: url("../images/icon_circle-chevron_right_02.svg") no-repeat center/contain;
}
.pageBody .link--card {
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  row-gap: 0.75rem;
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .pageBody .link--card {
    width: 100%;
  }
}
.pageBody .link--card::after {
  display: none;
}
.pageBody .link--card .figure {
  aspect-ratio: 300/200;
}
@media only screen and (max-width: 767px) {
  .pageBody .link--card .figure {
    width: 100%;
  }
}
.pageBody .link--card .figure img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .link--card .copy {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-column-gap: 16px;
     -moz-column-gap: 16px;
          column-gap: 16px;
  width: 100%;
  padding-bottom: 0.625rem;
  border-bottom: 1px solid #E2E2E2;
  color: #000;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.5;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.pageBody .link--card .copy::after {
  display: inline-block;
  content: "";
  aspect-ratio: 1/1;
  width: 1.5rem;
  height: auto;
  background: url("../images/icon_circle-chevron_right_01.svg") no-repeat center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .pageBody .link--card .copy {
    font-size: 0.875rem;
  }
}
.pageBody .link--card:hover {
  text-decoration: none;
}
.pageBody .link--card:hover .copy {
  color: #907648;
}
.pageBody .link--card:hover .copy::after {
  background: url("../images/icon_circle-chevron_right_02.svg") no-repeat center/contain;
}
.pageBody .figureBox {
  margin-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .pageBody .figureBox {
    margin-top: 1.25rem;
  }
}
.pageBody .figureBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageBody .figureBox .textBlock > *:first-child {
  margin-top: 0 !important;
}

.only-UT {
  display: block;
}

.only-sp {
  display: none;
}

@media only screen and (max-width: 767px) {
  .only-UT {
    display: none;
  }
  .only-sp {
    display: block;
  }
}
/* display
---------------------------------------- */
.display--inline {
  display: inline;
}
.display--inline-block {
  display: inline-block;
}
.display--block {
  display: block;
}

.row {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 767px) {
  .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .row:has(> .col--3) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
@media only screen and (max-width: 767px) {
  .row:is(.mix) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.row .col--2 {
  width: 50%;
}
@media only screen and (max-width: 767px) {
  .row .col--2 {
    width: 100%;
  }
}
.row .col--3 {
  width: 33.3333333333%;
}
@media only screen and (max-width: 767px) {
  .row .col--3 {
    width: calc((100% - 16px) / 2);
  }
}

.gap {
  gap: 2.5rem 40px;
}
@media only screen and (max-width: 767px) {
  .gap {
    gap: 1rem 16px;
  }
}

/* width
---------------------------------------- */
.pageBody .w-10 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-10 {
    width: 10%;
  }
}
.pageBody .w-20 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-20 {
    width: 20%;
  }
}
.pageBody .w-30 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-30 {
    width: 30%;
  }
}
.pageBody .w-40 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-40 {
    width: 40%;
  }
}
.pageBody .w-50 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-50 {
    width: 50%;
  }
}
.pageBody .w-60 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-60 {
    width: 60%;
  }
}
.pageBody .w-62 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-62 {
    width: 62%;
  }
}
.pageBody .w-70 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-70 {
    width: 70%;
  }
}
.pageBody .w-80 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-80 {
    width: 80%;
  }
}
.pageBody .w-90 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-90 {
    width: 90%;
  }
}
.pageBody .w-100 {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .pageBody .w-100 {
    width: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .pageBody .w-sp-10 {
    width: 10%;
  }
  .pageBody .w-sp-20 {
    width: 20%;
  }
  .pageBody .w-sp-30 {
    width: 30%;
  }
  .pageBody .w-sp-40 {
    width: 40%;
  }
  .pageBody .w-sp-50 {
    width: 50%;
  }
  .pageBody .w-sp-60 {
    width: 60%;
  }
  .pageBody .w-sp-70 {
    width: 70%;
  }
  .pageBody .w-sp-80 {
    width: 80%;
  }
  .pageBody .w-sp-90 {
    width: 90%;
  }
  .pageBody .w-sp-100 {
    width: 100%;
  }
  .pageBody .w-unset {
    width: unset;
  }
}

/* 余白
---------------------------------------- */
.pageBody .mt-0 {
  margin-top: 0 !important;
}
.pageBody .mt-10 {
  margin-top: 0.625rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-10 {
    margin-top: 0.9375rem;
  }
}
.pageBody .mt-20 {
  margin-top: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-20 {
    margin-top: 1.5625rem;
  }
}
.pageBody .mt-30 {
  margin-top: 1.875rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-30 {
    margin-top: 2.1875rem;
  }
}
.pageBody .mt-40 {
  margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-40 {
    margin-top: 2.8125rem;
  }
}
.pageBody .mt-50 {
  margin-top: 3.125rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-50 {
    margin-top: 3.4375rem;
  }
}
.pageBody .mt-60 {
  margin-top: 3.75rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-60 {
    margin-top: 4.0625rem;
  }
}
.pageBody .mt-70 {
  margin-top: 4.375rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-70 {
    margin-top: 4.6875rem;
  }
}
.pageBody .mt-80 {
  margin-top: 5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-80 {
    margin-top: 5.3125rem;
  }
}
.pageBody .mt-90 {
  margin-top: 5.625rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-90 {
    margin-top: 5.9375rem;
  }
}
.pageBody .mt-100 {
  margin-top: 6.25rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-100 {
    margin-top: 6.875rem;
  }
}
.pageBody .mt-4 {
  margin-top: 0.25rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-4 {
    margin-top: 0.5rem;
  }
}
.pageBody .mt-8 {
  margin-top: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-8 {
    margin-top: 1rem;
  }
}
.pageBody .mt-16 {
  margin-top: 1rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-16 {
    margin-top: 1.5rem;
  }
}
.pageBody .mt-24 {
  margin-top: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-24 {
    margin-top: 2rem;
  }
}
.pageBody .mt-32 {
  margin-top: 2rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-32 {
    margin-top: 2.5rem;
  }
}
.pageBody .mt-40 {
  margin-top: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-40 {
    margin-top: 3rem;
  }
}
.pageBody .mt-48 {
  margin-top: 3rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-48 {
    margin-top: 3.5rem;
  }
}
.pageBody .mt-56 {
  margin-top: 3.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-56 {
    margin-top: 4rem;
  }
}
.pageBody .mt-64 {
  margin-top: 4rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-64 {
    margin-top: 4.5rem;
  }
}
.pageBody .mt-72 {
  margin-top: 4.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-72 {
    margin-top: 5rem;
  }
}
.pageBody .mt-80 {
  margin-top: 5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-80 {
    margin-top: 5.5rem;
  }
}
.pageBody .mt-88 {
  margin-top: 5.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-88 {
    margin-top: 6rem;
  }
}
.pageBody .mt-96 {
  margin-top: 6rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mt-96 {
    margin-top: 6.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .pageBody .sp-mt-0 {
    margin-top: 0 !important;
  }
}
.pageBody .mb-0 {
  margin-bottom: 0 !important;
}
.pageBody .mb-10 {
  margin-bottom: 0.625rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-10 {
    margin-bottom: 0.9375rem;
  }
}
.pageBody .mb-20 {
  margin-bottom: 1.25rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-20 {
    margin-bottom: 1.5625rem;
  }
}
.pageBody .mb-30 {
  margin-bottom: 1.875rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-30 {
    margin-bottom: 2.1875rem;
  }
}
.pageBody .mb-40 {
  margin-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-40 {
    margin-bottom: 2.8125rem;
  }
}
.pageBody .mb-50 {
  margin-bottom: 3.125rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-50 {
    margin-bottom: 3.4375rem;
  }
}
.pageBody .mb-60 {
  margin-bottom: 3.75rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-60 {
    margin-bottom: 4.0625rem;
  }
}
.pageBody .mb-70 {
  margin-bottom: 4.375rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-70 {
    margin-bottom: 4.6875rem;
  }
}
.pageBody .mb-80 {
  margin-bottom: 5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-80 {
    margin-bottom: 5.3125rem;
  }
}
.pageBody .mb-90 {
  margin-bottom: 5.625rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-90 {
    margin-bottom: 5.9375rem;
  }
}
.pageBody .mb-100 {
  margin-bottom: 6.25rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-100 {
    margin-bottom: 6.875rem;
  }
}
.pageBody .mb-4 {
  margin-bottom: 0.25rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-4 {
    margin-bottom: 0.5rem;
  }
}
.pageBody .mb-8 {
  margin-bottom: 0.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-8 {
    margin-bottom: 1rem;
  }
}
.pageBody .mb-16 {
  margin-bottom: 1rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-16 {
    margin-bottom: 1.5rem;
  }
}
.pageBody .mb-24 {
  margin-bottom: 1.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-24 {
    margin-bottom: 2rem;
  }
}
.pageBody .mb-32 {
  margin-bottom: 2rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-32 {
    margin-bottom: 2.5rem;
  }
}
.pageBody .mb-40 {
  margin-bottom: 2.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-40 {
    margin-bottom: 3rem;
  }
}
.pageBody .mb-48 {
  margin-bottom: 3rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-48 {
    margin-bottom: 3.5rem;
  }
}
.pageBody .mb-56 {
  margin-bottom: 3.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-56 {
    margin-bottom: 4rem;
  }
}
.pageBody .mb-64 {
  margin-bottom: 4rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-64 {
    margin-bottom: 4.5rem;
  }
}
.pageBody .mb-72 {
  margin-bottom: 4.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-72 {
    margin-bottom: 5rem;
  }
}
.pageBody .mb-80 {
  margin-bottom: 5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-80 {
    margin-bottom: 5.5rem;
  }
}
.pageBody .mb-88 {
  margin-bottom: 5.5rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-88 {
    margin-bottom: 6rem;
  }
}
.pageBody .mb-96 {
  margin-bottom: 6rem;
}
@media only screen and (min-width: 768px) {
  .pageBody .mb-96 {
    margin-bottom: 6.5rem;
  }
}
.pageBody .m-auto {
  margin-left: auto;
  margin-right: auto;
}
.pageBody .mr-auto {
  margin-left: 0;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .pageBody .mr-auto {
    margin-left: auto;
    margin-right: auto;
  }
}
.pageBody .ml-auto {
  margin-left: auto;
  margin-right: 0;
}
@media only screen and (max-width: 767px) {
  .pageBody .ml-auto {
    margin-left: auto;
    margin-right: auto;
  }
}

/* 位置調整
---------------------------------------- */
.pageBody .t-align--left {
  text-align: left;
}
.pageBody .t-align--center {
  text-align: center;
}
.pageBody .t-align--right {
  text-align: right;
}
.pageBody .v-align--top {
  vertical-align: top;
}
.pageBody .v-align--middle {
  vertical-align: middle;
}
.pageBody .v-align--baseline {
  vertical-align: baseline;
}
.pageBody .v-align--bottom {
  vertical-align: bottom;
}

/* ボーダー
---------------------------------------- */
.border {
  border: 1px solid;
}
.border--color-01 {
  border-color: #ccc;
}
.border--color-02 {
  border-color: #907648;
}

/* テキスト
---------------------------------------- */
.txt-mod-01 {
  text-decoration: underline;
}

/* loading
---------------------------------------- */
#loading {
  width: 100vw;
  height: 100vh;
  -webkit-transition: all 1s;
  transition: all 1s;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
}

.loaded {
  opacity: 0;
  visibility: hidden;
}

/* KV
---------------------------------------- */
.keyVisual {
  width: calc(100% - 160px);
  max-width: 1600px;
  margin: 4.375rem auto;
  position: relative;
}
@media only screen and (max-width: 1440px) {
  .keyVisual {
    margin: 3.9375rem auto 3.3125rem;
  }
}
@media only screen and (max-width: 1365px) {
  .keyVisual {
    width: calc(100% - 64px);
  }
}
@media only screen and (max-width: 767px) {
  .keyVisual {
    width: calc(100% - 40px);
    max-width: 640px;
    margin: 1.875rem auto 3.25rem;
  }
}
.keyVisual #keyVisual__figure-text {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: opacity 1s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 1s ease-out, -webkit-transform 0.5s ease-out;
  transition: opacity 1s ease-out, transform 0.5s ease-out;
  transition: opacity 1s ease-out, transform 0.5s ease-out, -webkit-transform 0.5s ease-out;
}
.keyVisual #keyVisual__figure-text.fade-in {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.keyVisual__figure.images {
  position: absolute;
  top: 0;
  left: 0;
}
.keyVisual__scroll {
  width: 0.7958333333vw;
  max-width: 15px;
  position: absolute;
  right: 0.5vw;
  bottom: 7.8vw;
}
@media only screen and (min-width: 1760px) {
  .keyVisual__scroll {
    width: 15px;
    right: 8px;
    bottom: 150px;
  }
}
@media only screen and (max-width: 767px) {
  .keyVisual__scroll {
    width: 2.3076923077vw;
    right: 0;
    bottom: 21.0256410256vw;
  }
}
.keyVisual__scroll::before {
  content: "";
  width: 1px;
  height: 9.6875vw;
  margin: auto;
  background-color: #707070;
  position: absolute;
  left: 0;
  right: -0.15625vw;
  bottom: -10.15625vw;
  -webkit-animation: scroll 3s infinite;
          animation: scroll 3s infinite;
}
@media only screen and (min-width: 1760px) {
  .keyVisual__scroll::before {
    height: 185px;
    right: 0;
    bottom: -195px;
  }
}
@media only screen and (max-width: 767px) {
  .keyVisual__scroll::before {
    height: 30.2564102564vw;
    right: 0;
    bottom: -32.0512820513vw;
  }
}

/* スクロールアニメーション */
@-webkit-keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
@keyframes scroll {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  51% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
.bg-primary {
  background: #F7F6F2;
}

/* page
---------------------------------------- */
.pageHeader {
  background-color: #F7F6F2;
  position: relative;
}
.pageHeader::after {
  display: block;
  content: "";
  aspect-ratio: 1440/159;
  width: 100%;
  height: auto;
  background: url("../images/pic_page_bg_wave_01.svg") no-repeat center/contain;
}
@media only screen and (max-width: 767px) {
  .pageHeader::after {
    aspect-ratio: 390/51;
    background: url("../images/pic_page_bg_sp_wave_01.svg") no-repeat center/contain;
  }
}
.pageHeader__inner {
  max-width: 1104px;
  padding: 4rem 32px 1rem;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .pageHeader__inner {
    padding: 2rem 20px 1rem;
  }
}
.pageHeader__ttl {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 1.75rem;
}
@media only screen and (max-width: 767px) {
  .pageHeader__ttl {
    margin-bottom: 1.125rem;
  }
}
.pageHeader__ttl .main {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 90px;
  padding: 0.25rem 20px;
  margin-bottom: 0.75rem;
  border-radius: 100vh;
  background-color: #fff;
  color: #907648;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .pageHeader__ttl .main {
    min-width: unset;
    padding: 2px 16px;
    margin-bottom: 0.625rem;
    font-size: 0.9375rem;
  }
}
.pageHeader__ttl .sub {
  font-size: 2.25rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media only screen and (max-width: 767px) {
  .pageHeader__ttl .sub {
    font-size: 1.3125rem;
  }
}
.pageHeader__lead {
  letter-spacing: 0.02em;
  line-height: 1.9;
}
@media only screen and (max-width: 767px) {
  .pageHeader__lead {
    font-size: 0.875rem;
    line-height: 1.7;
    letter-spacing: 0;
  }
}

.pageBody .content .inner > *:first-child {
  margin-top: 0 !important;
}/*# sourceMappingURL=style.css.map */