@charset "utf-8";
/* CSS Document */
/* # =================================================================
   # Foundation
   # ================================================================= */
:root {
   --color-black: #333;
   --color-light-green: #81C656;
   --color-green: #008753;
   --color-green-rgb: 0,135,83;
   --color-dark-green: #007043;
   --color-dark-green-rgb: 0,112,67;
   --color-beige: #EBEBE5;
   --color-beige-rgb: 235,235,229;
   --color-yellow: #EDE51A;
   --color-yellow-rgb: 237,229,26;
   --color-light-blue: #E9F0F0;
   --color-light-blue-rgb: 233,240,240;
   --fontweight-regular: 400;
   --fontweight-medium: 500;
   --fontweight-bold: 700;
   --font-ja: 'Noto Sans JP', sans-serif;
   --font-en: 'Poppins', sans-serif;
   --animation-sec: .3s;
   --hover-opacity: 0.7;
}
:where(html) {
   font-size: 62.5%;
}
:where(body) {
   min-width: 360px;
   margin: 0;
   font-weight: var(--fontweight-medium);
   color: var(--color-black);
   font-size: 1.6rem;
   font-family: var(--font-ja);
   line-height: 1.75;
   overflow-wrap: anywhere;
   word-break: normal;
   line-break: strict;
   counter-reset: lower-number 0;
}
@media (max-width: 767.98px) {
   :where(body) {
      font-size: 1.4rem;
   }
}
:where(h1,h2,h3,h4,h5) {
   margin: 0;
   padding: 0;
}
:where(img) {
   height: auto;
}
:where(button) {
   padding: 0;
   border: none;
   vertical-align: bottom;
   cursor: pointer;
}
:where(ul[class],ol[class]) {
   margin: 0;
   padding: 0;
   list-style-type: none;
}
:where(p,dl,dt,dd,figure) {
   margin: 0;
   padding: 0;
}
:where(table,th,td) {
   margin: 0;
   padding: 0;
   border: none;
}
:where(summary) {
  cursor: pointer;
}

/* # =================================================================
   # Layout
   # ================================================================= */
.l-mv {
   padding-top: 60px;
}
@media (max-width: 767.98px) {
   .l-mv {
      padding-top: 45px;
   }
}
.l-conts {
   max-width: 100rem;
   margin-right: auto;
   margin-left: auto;
   padding-right: 32px;
   padding-left: 32px;
   box-sizing: content-box;
}
.l-conts__inner {
   max-width: 76.8rem;
   margin-right: auto;
   margin-left: auto;
   padding-right: 50px;
   padding-left: 50px;
   box-sizing: content-box;
}
.l-conts-rd {
   position: relative;
   padding-top: 4rem;
}
@media (min-width: 768px) {
   .l-conts__inner.--s {
      max-width: 47.5rem;
   }
}
@media (max-width: 767.98px) {
   .l-conts {
      padding-right: 25px;
      padding-left: 25px;
   }
   .l-conts.--sp-pl-0 {
      padding-left: 0;
   }
   .l-conts.--sp-pr-0 {
      padding-left: 0;
   }
   .l-conts.--sp-px-0 {
      padding-right: 0;
      padding-left: 0;
   }
   .l-conts__inner {
      max-width: none;
      margin-right: 0;
      margin-left: 0;
      padding-right: 0;
      padding-left: 0;
   }
   .l-conts-rd::before {
      display: block;
      position: absolute;
      top: 0;
      translate: 0 -100%;
      width: 100%;
      height: 5rem;
      border-top-left-radius: 2.5rem;
      border-top-right-radius: 2.5rem;
      content: '';
   }
   .l-conts-rd.--white::before {
      background-color: #FFF;
   }
   .l-conts-rd.--beige::before {
      background-color: var(--color-beige);
   }
   .l-gutter {
      margin-right: -25px;
      margin-left: -25px;
   }
   .l-gutter__inner {
      margin-right: 25px;
      margin-left: 25px;
   }
   .l-gutter__inner.--l {
      margin-right: 50px;
      margin-left: 50px;
   }
}
.l-header-nav {
   display: flex;
   gap: 60px;
}
.l-header-nav__item {
   flex: 1;
}
@media (max-width: 991.98px) {
   .l-header-nav {
      flex-wrap: wrap;
      gap: 20px 40px;
   }
   .l-header-nav__item.--sp-full {
      flex: 0 0 100%;
   }
}
@media (max-width: 767.98px) {
   .l-header-nav {
      gap: 0;
   }
   .l-header-nav__item {
      flex: 0 0 100%;
   }
}
.l-footer-nav {
   display: flex;
   flex-wrap: wrap;
   gap: 24px 88px;
}
.l-footer-nav__item {
   flex: 1;
}
.l-footer-nav__item.--full {
   flex: 0 0 100%;
}
@media (max-width: 767.98px) {
   .l-footer-nav__item {
      flex: 0 0 100%;
   }
}
.l-section {
   position: relative;
}
.l-section::before {
   position: absolute;
   width: 100%;
   height: 14rem;
   content: '';
}
@media (max-width: 767.98px) {
  .l-section.--lower::before { 
      height: 20px;
  }
}
.l-section.--white::before {
   background-color: #FFF;
}
.l-section.--beige::before  {
   background-color: var(--color-beige);
}  
.l-section.--light-blue::before { 
   background-color: var(--color-light-blue);
}
.l-section.--light-green {
   margin-top: -14rem;
}
.l-section.--light-green::before { 
   background-color: transparent;
}
.l-section.--message::before {
   height: 19rem;
}
.l-section.--grid {
   background: var(--color-beige) url('../images/common/bg-grid.webp') repeat center top / 70px;
}
.l-section-rd {
   display: flex;
   flex-direction: column;
}
.l-section-rd__inner {
   position: relative;
   padding-top: 6rem;
   border-top-left-radius: 100px;
   border-top-right-radius: 100px;
}
.l-section-rd__inner.--post {
   padding-top: 7.2rem;
}
.l-section-rd__inner.--white {
   background-color: #FFF;
}
.l-section-rd__inner.--beige {
   background-color: var(--color-beige);
}
.l-section-rd__inner.--light-green {
   background: var(--color-light-green) url('../images/common/bg-fluid.webp') no-repeat center -50px / 730px auto;
}
.l-section-rd__inner.--light-blue {
   background: var(--color-light-blue);
}
.l-section-rd__inner.--grid {
   background: var(--color-beige) url('../images/common/bg-grid.webp') repeat center 14rem / 70px;
}
.l-section-rd__inner.--img {
   padding-top: 11.8rem;
   background-repeat: no-repeat;
   background-position: center top;
   background-size: auto 14rem;
}
.l-section-rd__inner.--transparent {
   margin-top: -14rem;
}
.l-section-rd__inner.--img.--flow {
   background-image: url('../images/common/bg-section-flow.webp');
}
.l-section-rd__inner.--img.--voices {
   background-image: url('../images/common/bg-section-voices.webp');
}
.l-section-rd__inner.--img.--access {
   background-image: url('../images/common/bg-section-access.webp');
}
.l-section-rd__inner.--img.--message {
   padding-top: 16.8rem;
   background: url('../images/common/bg-section-message.webp') no-repeat center top / auto 19rem;
}
.l-section-rd__inner.--campuses {
   overflow: hidden;
}
.l-section-rd__inner.--campuses>* {
   position: relative;
}
.l-section-rd__inner.--campuses::before {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 54.2rem;
   background: url('../images/common/bg-section-campuses.webp') no-repeat center top / cover;
   content: '';
}
.l-section-py {
   padding-top: 7rem;
   padding-bottom: 7rem;
}
.l-section-pt {
   padding-top: 7rem;
}
.l-section-pb {
   padding-bottom: 7rem;
}
.l-section-pb.--l {
   padding-bottom: calc(7rem - -14rem);
}
@media (max-width: 767.98px) {
   .l-section-rd__inner {
      padding-top: 4.8rem;
      border-top-left-radius: 50px;
      border-top-right-radius: 50px;
   }
   .l-section-rd__inner.--img {
      padding-top: 16.8rem;
      background-size: auto 19rem;
   }
   .l-section-rd__inner.--img.--transparent {
      margin-top: -19rem;
   }
   .l-section-rd__inner.--img.--access {
      background-image: url('../images/common/bg-section-access-sp.webp');
   }
   .l-section-rd__inner.--campuses::before {
      height: 48.2rem;
   }
}
.l-grid {
   display: flex;
   gap: 30px;
}
.l-grid.--gutter {
   padding-right: 30px;
   padding-left: 30px;
}
.l-grid__item {
   flex: 1;
}
@media (max-width: 991.98px) {
   .l-grid {
      flex-direction: column;
      gap: 20px;
   }
   .l-grid.--gutter {
      padding-right: 0;
      padding-left: 0;
   }
}
.l-checks {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
}
.l-accordion__item+.l-accordion__item {
   margin-top: 1rem;
}
.l-accordion.--l .l-accordion__item+.l-accordion__item {
   margin-top: 2rem;
}
/* # =================================================================
   # Component
   # ================================================================= */
.c-btn {
   display: flex;
   align-items: center;
   position: relative;
   width: 100%;
   z-index: 1010;
   padding-top: .125em;
   padding-bottom: .125em;
   font-weight: var(--fontweight-bold);
   text-decoration: none;
   line-height: 1.15;
   transition: background-color var(--animation-sec);
}
.c-btn.--m {
   width: 100%;
   max-width: 29rem;
   min-height: 5rem;
   margin-right: auto;
   margin-left: auto;
   padding-right: 40px;
   padding-left: 20px;
   font-weight: var(--fontweight-bold);
   font-size: 1.4rem;
}
.c-btn.--l {
   width: 100%;
   max-width: 34rem;
   min-height: 5rem;
   margin-right: auto;
   margin-left: auto;
   padding-right: 40px;
   padding-left: 20px;
   font-weight: var(--fontweight-bold);
   font-size: 1.4rem;
}
.c-btn.--center {
   justify-content: center;
   text-align: center;
}
:where(.c-btn).--m.--center {
   padding-right: 4rem;
   padding-left: 4rem;
}
:where(.c-btn).--l.--center {
   padding-right: 4rem;
   padding-left: 4rem;
}
.c-btn.--free {
   padding-right: 5rem;
   padding-left: 5rem;
}
.c-btn.--free::before {
   display: flex;
   justify-content: center;
   align-items: center;
   position: absolute;
   left: 4px;
   width: 4.2rem;
   height: 4.2rem;
   border-radius: 50%;
   background-color: var(--color-yellow);
   color: var(--color-green);
   content: '無料';
}
.c-btn.--rounded-s {
   border-radius: 10px;
}
.c-btn.--rounded-full {
   border-radius: 9999px;
}
:where(.c-btn).--white {
   background-color: #FFF;
   color: var(--color-green);
}
:where(.c-btn).--yellow {
   border: 2px solid;
   background-color: var(--color-yellow);
   color: var(--color-green);
}
:where(.c-btn).--green {
   background-color: var(--color-green);
   color: #FFF;
}
.c-btn.--icon {
   gap: 0 5px;
}
.c-btn.--modal {
   justify-content: center;
   padding-right: 28px;
   width: 100%;
   max-width: 24rem;
   min-height: 3.2rem;
   border: 1px solid;
   text-align: center;
   transition: color var(--animation-sec);
}
.c-btn.--modal .c-btn__arrow {
   right: 8px;
}
@media (max-width: 767.98px) {
   .c-btn.--modal {
      max-width: 20rem;
      min-height: 2.5rem;
      font-size: 1.2rem;
   }
}
@media (max-width: 374.98px) {
   .c-btn.--l {
      font-size: 1.2rem;
   }
}
@media (hover: hover) {
   :where(.c-btn).--white:hover {
      background-color: rgba(255,255,255,var(--hover-opacity));
   }
   :where(.c-btn).--yellow:hover {
      background-color: rgba(var(--color-yellow-rgb),var(--hover-opacity));
   }
   :where(.c-btn).--green:hover {
      background-color: rgba(var(--color-green-rgb),var(--hover-opacity));
   }
   :where(.c-btn).--modal:hover {
      color: rgba(var(--color-green-rgb),var(--hover-opacity));
   }
}
.c-arrow {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 20px;
   height: 20px;
   border-radius: 50%;
}
.c-arrow__icon {
   width: 14px;
   height: 12px;
   margin-top: -2px;
   margin-right: -1px;
   mask-image: url('../images/common/icon-link-arrow.svg');
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
}
.c-arrow__icon.--anchor {
   width: 10px;
   height: 12px;
   margin-top: 0;
   margin-right: 0;
   mask-image: url('../images/common/icon-anchor-arrow.svg');
}
.c-arrow.--white {
   background-color: #FFF;  
}
.c-arrow.--white .c-arrow__icon {
   background-color: var(--color-green);  
}
.c-arrow.--green {
   background-color: var(--color-green);  
}
.c-arrow.--green .c-arrow__icon {
   background-color: #FFF;
}
.c-btn__arrow {
   position: absolute;
   right: 18px;
}
.c-btn__icon {
   background-color: currentColor;
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
}
.c-btn__icon.--reserve {
   mask-image: url('../images/common/icon-reserve.svg');
}
.c-btn__icon.--form {
   mask-image: url('../images/common/icon-form.svg');
}
.c-btn__icon.--tel {
   mask-image: url('../images/common/icon-tel.svg');
}
.c-btn__icon.--line {
   mask-image: url('../images/common/icon-line.svg');
}
.c-btn__icon.--report {
   mask-image: url('../images/common/icon-report.svg');
}
.c-btn.is-disabled {
   background-color: var(--color-beige);
   color: var(--color-black);
   pointer-events: none;
}
.c-btn.is-disabled i {
   background-color: var(--color-black);
}
.c-txt-link {
   color: inherit;
   transition: opacity var(--animation-sec);
}
@media (hover: hover) {
   .c-txt-link:hover {
      opacity: var(--hover-opacity);
   }
}
.c-link-blank {
   display: inline-block;
   position: relative;
   width: 1.6rem;
   height: 1.3rem;
   margin-left: .8rem;
   background-color: currentColor;
   mask-image: url('../images/common/icon-blank.svg');
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
   vertical-align: middle;
}
.c-link-blank.--green {
   background-color: var(--color-green);  
}
.c-slide-dots {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 0 26px;
}
.c-slide-dots:has(li:only-child) {
   display: none;
}
.c-slide-dots li {
   font-size: 0;
}
.c-slide-dots button {
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background-color: #A0A0A0;
}
.c-slide-dots li.slick-active button {
   background-color: var(--color-dark-green);
}
@media (max-width: 767.98px) {
   .c-slide-dots {
      gap: 0 15px;
      margin-top: 10px;
   }
   .c-slide-dots button {
      width: 5px;
      height: 5px;
   }
}
.c-lower-lead {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   position: relative;
   min-height: 8rem;
   padding-top: 0.25em;
   padding-right: 1em;
   padding-bottom: 0.25em;
   padding-left: 1em;
   border-radius: 20px;
   background-color: #FFF;
   background-image: url('../images/common/bg-heading-left.webp'),url('../images/common/bg-heading-right.webp');
   background-repeat: no-repeat;
   background-position: left top, right bottom;
   background-size: auto 100%;
   font-weight: var(--fontweight-bold);
   text-align: center;
}
.c-lower-lead__s {
   margin-bottom: 2px;
   color: var(--color-green);
   font-size: 1.6rem;

}
.c-lower-lead__s.--en {
   text-transform: uppercase;
}
.c-lower-lead__m {
   color: #000;
   font-size: 2.6rem;
   line-height: 1.15;
}
@media (max-width: 767.98px) {
   .c-lower-lead {
      background-image: url('../images/common/bg-heading-left-sp.webp'),url('../images/common/bg-heading-right-sp.webp');
   }
   .c-lower-lead__s {
      font-size: 1.1rem;
   }
   .c-lower-lead__s.--en {
      font-size: 1.6rem;
   }
   .c-lower-lead__m {
      font-size: 2rem;
   }
}
.c-lower-mv {
  width: 100%;
  height: 17rem;
  object-fit: cover;
  margin-bottom: 3rem;
  border-radius: 20px;
}
.c-lower-heading {
   margin-bottom: 4rem;
   font-size: 2.6rem;
   font-weight: var(--fontweight-bold);
   text-align: center;
   line-height: 1.3;
}
.c-lower-heading__s {
   display: block;
   margin-bottom: .25em;
}
.c-lower-heading__m {
   display: block;
   font-size: 4.2rem;
   word-break: keep-all;
}
@media (max-width: 767.98px) {
   .c-lower-heading {
      font-size: 2rem;
   }
   .c-lower-heading__s {
      font-size: 1.6rem;
   }
   .c-lower-heading__m {
      font-size: 2.6rem;
   }
}
.c-lower-title {
   position: relative;
   margin-bottom: 5rem;
}
.c-lower-title__img>img {
   width: 100%;
   height: 14rem;
   object-fit: cover;
   border-top-left-radius: 100px;
   border-top-right-radius: 100px;
}
.c-lower-title__txt {
   display: flex;
   align-items: center;
   gap: 0 16px;
   position: relative;
   min-height: 8.8rem;
   padding-top: .5em;
   padding-right: 116px;
   padding-bottom: .5em;
   padding-left: 116px;
   border-bottom-right-radius: 20px;
   border-bottom-left-radius: 20px;
   background-color: var(--color-green);
   color: #FFF;
   font-size: 1.8rem;
}
.c-lower-title__txt::before {
   font-weight: var(--fontweight-medium);
   font-size: 5rem;
   font-family: var(--font-en);
   line-height: 1;
   counter-increment: lower-number 1;
   content: counter(lower-number);
}
.c-lower-title__txt::after {
   position: absolute;
   top: 50%;
   left: 0;
   translate: 0 -50%;
   width: 105px;
   height: 1px;
   background-color: currentColor;
   content: '';
}
.c-lower-title__m {
   display: block;
   margin-top: .125em;
   font-size: 2.6rem;
   line-height: 1.25;
}
.c-lower-title.--noimg {
   margin-bottom: 0;
}
.c-lower-title.--noimg .c-lower-title__txt {
   min-height: 14rem;
   overflow: hidden;
   border-top-left-radius: 100px;
   border-top-right-radius: 100px;
   border-bottom-right-radius: 0;
   border-bottom-left-radius: 0;
   font-weight: var(--fontweight-bold);
}
.c-lower-title.--noimg .c-lower-title__m {
   margin-top: 0;
}
@media (max-width: 767.98px) {
   .c-lower-title {
      margin-bottom: 8rem;
   }
   .c-lower-title__img>img {
      aspect-ratio: 39 / 20;
      width: 100%;
      height: auto;
      min-height: 20rem;
      border-top-left-radius: 20px;
      border-top-right-radius: 20px;
      border-bottom-left-radius: 20px;
   }
   .c-lower-title__txt {
      position: absolute;
      right: 0;
      translate: 0 -45%; 
      width: calc(100% - 50px);
      padding-right: 25px;
      padding-left: 30px;
      border-top-left-radius: 20px;
      border-bottom-right-radius: 0;
      font-size: 1.2rem;
   }
   .c-lower-title__txt::after {
      width: 20px;
   }
   .c-lower-title__m {
      font-size: 2rem;
   }
   .c-lower-title.--noimg {
      margin-right: -25px;
   }
   .c-lower-title.--noimg .c-lower-title__txt {
      position: relative;
      z-index: 1010;
      translate: 0; 
      width: 100%;
      min-height: 10rem;
      border-top-left-radius: 20px;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 20px;
   }
}
.c-section-title {
   margin-bottom: 3.125em;
   font-size: 1.6rem;
   text-align: center;
}
.c-section-title.--bg-offset {
   text-align: left;
}
.c-section-title.--pt {
   padding-top: 4em;
}
.c-section-title__en {
   display: block;
   color: #000;
   font-weight: var(--fontweight-bold);
   font-size: 4.6rem;
   font-family: var(--font-en);
   line-height: 1;
   text-transform: uppercase;
}
.c-section-title__l {
   display: block;
   color: var(--color-black);
   font-weight: var(--fontweight-bold);
   font-size: 3.2rem;
   line-height: 1.15;
}
.c-section-title__num {
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.75em;
   font-family: var(--font-en);
   line-height: 1;
}
.c-section-title__marker {
   display: inline;
   background: linear-gradient(transparent 60%, var(--color-yellow) 0%);
}
.c-section-title__m {
   display: block;
   color: var(--color-black);
   font-weight: var(--fontweight-bold);
   font-size: 2.6rem;
   line-height: 1.25;
}
.c-section-title__s {
   display: block;
   color: var(--color-black);
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
   line-height: 1.25;
}
.c-section-title__s.--white {
   color: #FFF;
}
.c-section-title__s.--green {
   color: var(--color-green);
}
.c-section-title__s+.c-section-title__l {
   margin-top: .375em;
}
.c-section-title__s+.c-section-title__l:has(.c-section-title__num) {
   margin-top: .25em;
}
.c-section-title__en+.c-section-title__s {
   margin-top: .25em;
}
.c-section-subTitle {
   margin-top: 2.3em;
   margin-bottom: 1.84em;
   color: #000;
   font-size: 2.6rem;
   text-align: center;
}
.c-section-subTitle__txt {
   display: inline;
   background: linear-gradient(transparent 60%, var(--color-yellow) 0%);
   font-weight: var(--fontweight-bold);
   word-break: keep-all;
}
.c-section-subHeading {
   margin-top: 2.25em;
   margin-bottom: 1.2em;
   font-weight: var(--fontweight-bold);
   font-size: 2rem;
   text-align: center;
}
.c-title-btmLine {
   display: flex;
   align-items: center;
   gap: 10px;
   margin-top: 7rem;
   margin-bottom: 2rem;
   padding-bottom: 1rem;
   border-bottom: 1px solid #E1E1E1; 
   font-weight: var(--fontweight-bold);
   font-size: 2.2rem;
   line-height: 1.5;
}
.c-title-btmLine__label {
   display: flex;
   justify-content: center;
   align-items: center;
   flex: 0 0 5rem;
   min-height: 3rem;
   background-color: var(--color-black);
   color: #FFF;
   font-size: 1.4rem;
   line-height: 1.1;
   text-align: left;
}
.c-title-btmLine.--green {
   border-bottom-color: inherit;
   color: var(--color-green);
}
.c-title-btmLine.--green .c-title-btmLine__label {
   background-color: var(--color-green);
}
.c-title-btmLine-s {
   position: relative;
   margin-top: 2.692em;
   margin-bottom: 1.538em;
   padding-bottom: .769em;
   font-weight: var(--fontweight-bold);
   font-size: 2.6rem;
   line-height: 1.5;
   text-align: center;
}
.c-title-btmLine-s::before {
   position: absolute;
   right: 50%;
   bottom: 0;
   translate: 50% 0;
   width: 5rem;
   height: 1px;
   background-color: var(--color-green);
   content: '';
}
.c-title-leftLine {
   display: flex;
   gap: 0 1rem;
   margin-top: 3rem;
   margin-bottom: 2rem;
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
   line-height: 1.5;
}
.c-title-leftLine::before {
   flex: 0 0 .4rem;
   border-top-right-radius: 3px;
   border-bottom-right-radius: 3px;
   background-color: var(--color-light-green);
   content: '';
}
.c-title-leftLine__txt {
   display: flex;
   align-items: center;
   padding-top: .375em;
   padding-bottom: .375em;
}
@media (max-width: 767.98px) {
   .c-section-title {
      margin-bottom: 2.875em;
   }
   .c-section-title.--bg-offset {
      padding-top: 5.8rem;
   }
   .c-section-title__l {
      font-size: 2.6rem;
   }
   .c-section-title__num {
      font-size: 1.92em;
   }
   .c-section-title__s {
      font-size: 1.6rem;
   }
   .c-section-subTitle {
      margin-top: 2.45em;
      margin-bottom: 1.9em;
      font-size: 2.2rem;
   }
   .c-section-subHeading {
      margin-top: 1.6em;
      margin-bottom: 1.5em;
   }
   .c-title-btmLine-s {
      margin-top: 2em;
      margin-bottom: 1.5em;
      padding-bottom: .5em;
      font-size: 2rem;
   } 
}
.c-accBtn {
   display: flex;
   justify-content: center;
   align-items: center;
   position: relative;
   width: 100%;
   max-width: 29rem;
   min-height: 5rem;
   margin-top: 4rem;
   margin-right: auto;
   margin-left: auto;
   padding-right: 40px;
   padding-left: 40px;
   border-radius: 9999px;
   background-color: var(--color-green);
   color: #FFF;
   font-weight: var(--fontweight-bold);
   font-size: 1.4rem;
   transition: background-color var(--animation-sec);
}
.c-accBtn__icon {
   display: flex;
   position: absolute;
   right: 20px;
   width: 2rem;
}
.c-accBtn.is-active .c-accBtn__icon>*::after {
    opacity: 0;
}
@media (max-width: 767.98px) {
   .c-accBtn {
      margin-top: 3.5rem;
   }
}
@media (hover: hover) {
   .c-accBtn:hover {
      background-color: rgba(var(--color-green-rgb),var(--hover-opacity));
   }
}
.c-accIcon {
   flex: 0 0 2rem;
   position: relative;     
   height: 2rem;
   border-radius: 50%;
   transition: background-color var(--animation-sec);
}
.c-accIcon::before,
.c-accIcon::after {
   position: absolute;
   top: 50%;
   right: 0;
   width: 1rem;
   height: 2px;
   border-radius: 9999px;
   translate: -50% -50%;
   content: '';
}
.c-accIcon::after {
   rotate: 90deg;
}
.c-accIcon.--white {
   background-color: #FFF;
}
.c-accIcon.--white::before,
.c-accIcon.--white::after {
   background-color: var(--color-green);
}
.c-accIcon.--green {
   background-color: var(--color-green);
}
.c-accIcon.--green::before,
.c-accIcon.--green::after {
   background-color: #FFF;
}
.c-card {
   position: relative;
   display: flex;
   flex-direction: column;
   width: 100%;
   height: 100%;
   border-radius: 20px;  
   background-color: var(--color-beige);
   padding-top: 20px;
   padding-right: 20px;
   padding-bottom: 20px;
   padding-left: 20px;
   color: var(--color-black);
   text-decoration: none;
   transition: background-color var(--animation-sec);
}
.c-card.--white {
   background-color: #FFF;
}
.c-card.--beige {
    background-color: var(--color-beige);
}
.c-card.--light-blue {
    background-color: var(--color-light-blue);
}
.c-card__title {
   padding-bottom: .85em;
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.6rem;
   line-height: 1.3;
}
.c-card__title.--under-img {
   padding-top: 1em;
   padding-bottom: .75em;
   color: inherit;
}
.c-card.--new {
   overflow: hidden;
}
.c-card.--new::before {
   display: flex;
   justify-content: center;
   align-items: flex-end;
   position: absolute;
   top: -36px;
   right: -60px;
   rotate: 45deg;
   width: 120px;
   height: 74px;
   padding-bottom: .375em;
   background-color: var(--color-green);
   color: var(--color-yellow);
   font-size: 14px;
   text-align: center;
   line-height: 1;
   font-family: var(--fontweight-medium);
   content: 'NEW';
}
.c-card.--new .c-card__title {
   padding-right: 1em;
}
.c-card__labels {
   display: inline-flex;
   flex-wrap: wrap;
   gap: 5px;
}
.c-card__labels+.c-card__title {
   margin-top: .625em;
}
.c-card__label {
   display: flex;
   justify-content: center;
   align-items: center;
   min-height: 22px;
   padding-right: .83em;
   padding-left: .83em;
   border-radius: 9999px;
   background-color: #FFF;
   font-weight: var(--fontweight-bold);
   font-size: 12px;
   line-height: 1.25;
}
.c-card.--white .c-card__label {
   background-color: var(--color-beige);
}
.c-card.--voices-noimg .c-card__label {
   font-size: 11px;
}
.c-card__label.--green {
   color: var(--color-green);
}
.c-card__comment {
   display: flex;
   align-items: center;
   gap: 0 5px;
   margin-top: 1rem;
   color: var(--color-green);
   font-weight: var(--fontweight-medium);
   font-family: var(--font-en);
}
.c-card__text {
   margin-top: 0;
   margin-bottom: 1rem;
   display: -webkit-box;          
   -webkit-box-orient: vertical;
   overflow: hidden;
   text-overflow: ellipsis;
   -webkit-line-clamp: 4;
   line-height: 1.5;
}
.c-card__text.is-active {
   display: block;
   overflow: visible;
   -webkit-line-clamp: unset;
}
.c-card__link {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 0 8px;
   margin-top: auto;
   margin-bottom: 0;
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.4rem;
   text-transform: uppercase;
}
.c-card__arrow {
   width: 15px;
   height: 15px;
}
.c-card__icon {
   width: 8px;
   height: 8px;
   margin-top: -1px;
   margin-right: -1px;
}
.c-card__cols {
   display: flex;
   gap: 10px;
   margin-bottom: .5em;
}
.c-card__img {
   overflow: hidden;
   border-radius: 10px;
}
.c-card__img>img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.c-card:has(.c-card__cols) .c-card__img {
   flex: 0 0 90px;
   height: 90px;
   border-radius: 5px;
}
.c-card__meta {
   flex: 1;
}
.c-card__age {
   margin-bottom: .25em;
   font-size: 14px;
}
.c-card__school {
   font-weight: var(--fontweight-bold);
   font-size: 12px;
}
.c-card__name {
   margin-top: 4px;
   font-weight: var(--fontweight-bold);
   font-size: 16px;
   line-height: 1.15;
}
.c-card__kana {
   display: inline-block;
   font-weight: var(--fontweight-bold);
   font-size: 10px;
}
.c-card__name+.c-card__tb {
   margin-top: 6px;
}
.c-card__tb {
   display: flex;
   flex-wrap: wrap;
}
.c-card__tb+.c-card__tb {
   margin-top: 4px;
}
.c-card__tb.--column {
   flex-direction: column;
}
.c-card__th,
.c-card__td {
   font-size: 14px;
   line-height: 1.5;
}
.c-card__th {
   font-weight: var(--fontweight-bold);
   text-align: left;
}
.c-card__td {
   flex: 1;
}
.c-card:not(.--recruit) .c-card__th:after {
   position: absolute;
   content: '：';
}
.c-card.--staff .c-card__tb:not(.--column) .c-card__th {
   width: 3em;
}
.c-card.--staff .c-card__td.--ellipis,
.c-card.--program .c-card__td.--ellipis {
   display: -webkit-box;          
   -webkit-box-orient: vertical;
   overflow: hidden;
   text-overflow: ellipsis;
   -webkit-line-clamp: 3;
}
.c-card.--staff.--manager .c-card__cols {
   margin-bottom: 0;
}
.c-card.--staff.--manager .c-card__title {
   padding-bottom: 0;
}
.c-card.--staff.--manager .c-card__text {
   margin-top: 1em;
}
.c-card.--voices .c-card__th {
   width: 4em;
   text-align-last: justify;
}
.c-card.--voices .c-card__td {
   padding-left: 1em;
}
.c-card.--voices-noimg .c-card__th {
   width: 7em;
   text-align-last: justify;
}
.c-card.--voices-noimg .c-card__td {
   padding-left: 1em;
}
.c-card.--recruit .c-card__cols {
   padding-top: .5em;
   border-top: 1px solid #E1E1E1;
}
.c-card.--recruit:has(.c-card__cols) .c-card__img {
   flex: 0 0 60px;
   height: 60px;
}
.c-card.--recruit .c-card__label {
   color: var(--color-green);
   font-weight: var(--fontweight-medium);
}
.c-card.--recruit .c-card__tb {
   gap: 0 8px;
}
.c-card.--recruit .c-card__th {
   width: 5em;
}
.c-card.--recruit .c-card__tb.--l .c-card__th {
   width: 7.625em;
}
.c-card__more {
   display: none;
}
@media (min-width: 768px) {
   .c-card.--staff.--manager {
      margin-top: 5.6rem;
      padding-top: 25px;
      padding-right: 30px;
      padding-bottom: 25px;
      padding-left: 30px;
   }
   .c-card.--staff.--manager .c-card__meta {
      display: flex;
      flex-direction: column;
   }
   .c-card.--staff.--manager .c-card__tb {
      margin-top: auto;
   }
}
@media (max-width: 767.98px) {
   .c-card__text {
      font-size: 1.4rem;
   }
}
@media (hover: hover) {
   .c-card.--staff:hover,
   .c-card.--voices:hover,
   .c-card.--info:hover {
      background-color: rgba(var(--color-beige-rgb),var(--hover-opacity));
   }
}
.c-slider-arrow {
   position: absolute;
   top: calc(50% - 1.5rem);
   z-index: 1000;
   translate: 0 -50%;
   width: 48px;
   height: 32px;
   background-color: var(--color-green);
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
   font-size: 0;
   cursor: pointer;
   transition: opacity var(--animation-sec);
}
.c-slider-arrow.--prev {
   left: 0;
   mask-image: url('../images/common/icon-carousel-arrow-left.svg');
}
.c-slider-arrow.--next {
   right: 0;
   mask-image: url('../images/common/icon-carousel-arrow-right.svg');
}
@media (max-width: 767.98px) {
   .c-slider-arrow.--prev {
      left: 18px;
   }
   .c-slider-arrow.--next {
      right: 18px;
   }
}
.c-slider-pagination {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: 26px;
   height: 10px;
   margin-top: 2rem;
}
.c-slider-pagination .swiper-pagination-bullet {
   display: block;
   width: 10px;
   height: 10px;
   border-radius: 50%;
   background-color: #A0A0A0;
   cursor: pointer;
   transition: opacity var(--animation-sec);
}
.c-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
   background-color: var(--color-dark-green);
}
@media (max-width: 767.98px) {
   .c-slider-pagination {
      gap: 8px 15px;
      height: 5px;
   }
   .c-slider-pagination .swiper-pagination-bullet {
      width: 5px;
      height: 5px;
   }
}
@media (hover: hover) {
   .c-slider-arrow:hover,
   .c-slider-pagination .swiper-pagination-bullet:hover {
      opacity: var(--hover-opacity);
   }
}
.c-list {
   list-style-type: none;
}
.c-list.--indent {
   padding-left: 2em;
    text-indent: -2em;
}
.c-list.--space>*+* {
   margin-top: 1em;
}
.c-catch {
   overflow-x: hidden;
   margin-right: -25px;
   margin-left: -25px;
}
.c-catch__txt {
   position: relative;
   width: fit-content;
   margin-top: 4rem;
   margin-bottom: 4rem;
   margin-right: auto;
   margin-left: auto;
   font-weight: var(--fontweight-bold);
   font-size: 1.6rem;
   text-align: center;
   line-height: 1.5;
   word-break: keep-all;
}
.c-catch__txt::before,
.c-catch__txt::after {
   position: absolute;
   top: 50%;
   width: 1px;
   height: 48px;
   background-color: #707070;
   content: '';
}
.c-catch__txt::before {
   left: 0;
   translate: -1.5em -50%;
   rotate: -32deg;
}
.c-catch__txt::after {
   right: 0;
   translate: 1.5em -50%;
   rotate: 32deg;
}
.c-catch__txt.--s {
   margin-bottom: 2em;
   font-weight: var(--fontweight-bold);
   font-size: 1.4rem;
}
@media (max-width: 767.98px) {
   .c-catch__txt {
      margin-top: 1.6rem;
      margin-bottom: 1.6rem;
   }
   .c-catch__txt.--s {
      margin-top: 5rem;
   }
}
.c-check {
   display: block;
   background: url('../images/common/icon-check.svg') no-repeat left top / 2rem;
   padding-left: calc(2rem - -20px);
    line-height: 2rem;
}

.c-check.--title {
   background-position: left center;
}


@media (max-width: 767.98px) {
   .c-check {
      font-size: 1.4rem;
   }
}
.c-note {
   display: block;
   padding-left: 1em;
   text-indent: -1em;
   font-weight: var(--fontweight-regular);
   color: #707070;
   font-size: 1.4rem;
}
.c-noteMark {
   font-size: max(.538em,1rem);
}
.c-txt {
   margin-top: 1.5em;
}
.c-iconText {
   display: flex;
   align-items: center;
   gap: 0 20px;
}
.c-iconText+.c-iconText {
   margin-top: 1rem;
}
.c-iconText__img {
   flex: 0 0 90px;
}
.c-iconText__txt {
   flex: 1;
   font-weight: var(--fontweight-bold);
}
@media (max-width: 767.98px) {
   .c-iconText__txt {
      font-size: 1.4rem;
   }
}
.c-label {
   display: inline-flex;
   justify-content: center;
   align-items: center;
   min-width: 11rem;
   min-height: 3rem;
   padding-right: .83em;
   padding-left: .83em;
   border-radius: 9999px;
   background-color: var(--color-beige);
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
   line-height: 1.25;
}
@media (max-width: 767.98px) {
   .c-label {
      min-width: 10rem;
      min-height: 2.4rem;
      font-size: 1.6rem;
   }
}
.c-map {
   aspect-ratio: 485 / 285;
   overflow: hidden;
   border-radius: 10px;
}
.c-map>iframe {
   width: 100%;
   height: 100%;
}
.c-rounded-10 {
   border-radius: 10px;
}
.c-rounded-20 {
   border-radius: 20px;
}
.c-arrow__icon.--back {
    transform: scaleX(-1);
    margin-right: 1px;
}
.c-btn__arrow.--left {
    right: auto;
    left: 18px;
}
.c-pagetop {
   position: absolute;
   width: 100%;
   min-width: 360px;
   translate: 0 -48px;
}
.c-pagetop__inner {
   max-width: 100rem;
   margin-right: auto;
   margin-left: auto;
   padding-right: 32px;
   padding-left: 32px;
   box-sizing: content-box;
}
.c-pagetop__btn {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 50px;
   height: 48px;
   margin-left: auto;
   border-top-left-radius: 50%;
   border-top-right-radius: 50%;
   background-color: var(--color-green); 
   transition: background-color var(--animation-sec); 
}
.c-pagetop__icon {
   width: 10px;
   height: 6px;
   margin-top: 8px;
   background-color: #FFF;
   mask-image: url('../images/common/icon-pagetop.svg');
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
}
@media (max-width: 767.98px) {
   .c-pagetop__inner {
      padding-right: 25px;
      padding-left: 25px;
   }
}
@media (hover: hover) {
   .c-pagetop__btn:hover {
      background-color: rgba(var(--color-green-rgb),var(--hover-opacity));
   }
}
/* # =================================================================
   # Project
   # ================================================================= */
.p-head {
   position: absolute;
   width: 100%;
   min-width: 360px;
   height: 120px;
   overflow: hidden;
}
.p-head__bgc {
   position: absolute;
   top: -96px;
   left: -29px;
   background-color: var(--color-green);
   width: calc(100% - -58px);
   height: 220px;
   border-radius: 100%;
   content: '';
}
.p-header {
   position: fixed;
   z-index: 9010;
   top: 0;
   width: 100%;
   min-width: 360px;
   transition: background-color var(--animation-sec);
}
.p-header__inner {
   display: flex;
   justify-content: space-between;
   align-items: center;
   height: 60px;
   gap: 0 1rem;
}
.p-header__btns {
   display: flex;
   justify-content: space-between;
   align-items: center;
   gap: 0 15px;
}
.p-header__cta {
   width: 11rem;
   min-height: 35px;
   padding-right: .375em;
   padding-left: .375em;
   font-size: 1.8rem;
}
.p-header__menu {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 4px;
   position: relative;
   background-color: transparent;
   color: #FFF;
   font-size: 1rem;
   font-family: var(--font-en);
   line-height: 1;
   transition: opacity var(--animation-sec);
}
.p-header__bar {
   display: flex;
   justify-content: center;
   align-items: center;
   position: relative;
   width: 26px;
   height: 24px;
}
.p-header__bar::before,
.p-header__bar::after,
.p-header__bar>span {
   display: block;
   opacity: 1;
   width: 100%;
   height: 2px;
   border-radius: 9999px;
   background-color: #FFF;
   transition: opacity var(--animation-sec), translate var(--animation-sec), rotate var(--animation-sec);
}
.p-header__bar::before,
.p-header__bar::after {
   transform-origin: center;
   position: absolute;
   content: '';
}
.p-header__bar::before {
   top: 0;
}
.p-header__bar::after {
   bottom: 0;
}
.p-header__conts {
   display: none;
   position: absolute;
   z-index: 9000;
   top: 0;
   width: 100%;
   height: 100dvh;
   padding-top: 60px;
   padding-bottom: 60px;
   background-color: var(--color-green);
   overflow-y: scroll;
}
.p-header.is_active {
   background-color: var(--color-green);
}
.p-header__inner.is-active {
   position: relative;
   z-index: 9010;
}
.p-header__menu.is-active .p-header__bar::before {
   translate: 0 11px;
   rotate: 45deg;
}
.p-header__menu.is-active .p-header__bar::after {
   translate: 0 -11px;
   rotate: -45deg;
}
.p-header__menu.is-active .p-header__bar>span {
   opacity: 0;
}
@media (max-width: 767.98px) {
   .p-head__bgc {
      left: -42px;
      width: calc(100% - -84px);
   }
   .p-header__inner {
      height: 45px;
   }
   .p-header__logo {
      width: 144px;
   }
   .p-header__cta {
      width: 7rem;
      min-height: 30px;
      font-size: 1.3rem;
   }
   .p-header__conts {
      padding-top: 45px;
      padding-bottom: 25px;
   }
   .p-header__bar {
      height: 14px;
   }
   .p-header__menu.is-active .p-header__bar::before {
      translate: 0 6px;
   }
   .p-header__menu.is-active .p-header__bar::after {
      translate: 0 -6px;
   }
}
@media (hover: hover) {
   .p-header__menu:hover {
      opacity: var(--hover-opacity);
   }
}
.p-nav a {
   transition: color var(--animation-sec);
}
.p-nav .c-accIcon {
   margin-right: 4px;
   margin-left: 4px;
}
.p-nav[open] .c-accIcon::after {
   opacity: 0;
}
.p-nav__link {
   font-weight: var(--fontweight-medium);
   color: #FFF;
   text-decoration: none;
}
.p-nav__title {
   word-break: keep-all;
}
.p-nav__title,
.p-nav__link.--main {
   display: flex;
   justify-content: space-between;
   align-items: center;
   width: 100%;
   min-height: 48px;
   padding-top: .625em;
   padding-bottom: .625em;
   border-bottom : 1px solid #FFF;
   background-color: transparent;
   font-weight: var(--fontweight-bold);
   color: #FFF;
   text-align: left;
}
.p-nav__link.--main::after {
   flex: 0 0 2.8rem;
   height: 1.2rem;
   background-color: currentColor;
   mask-image: url('../images/common/icon-arrow.svg');
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
   content: '';
}
.p-nav__link.--main.--blank::after {
   flex: 0 0 1.6rem;
   height: 1.3rem;
   margin-right: .5rem;
   mask-image: url('../images/common/icon-blank.svg');
}
.p-nav__inner {
   display: flex;
   flex-direction: column;
   gap: 10px;
   width: 100%;
   padding-top: 15px;
   padding-bottom: 15px;
   padding-left: 10px;
}
.p-nav__sub {
   flex: 1;
}
.p-nav__inner.--footer {
   flex-direction: row;
   gap: 0 88px;
   padding-left: 0;
}
.p-nav__inner.--footer .p-nav__sub {
   padding-left: 20px;
}
.p-nav__link.--sub {
   display: block;
   color: #E1E1E1;
}
.p-nav__item.--sub+.p-nav__item.--sub {
   margin-top: 10px;
}
.p-nav__link.--border-top,
.p-nav__item.--border-top {
   margin-top: -1px;
   border-top: 1px solid #FFF;
}
.p-nav__bnr {
   width: 100%;
   margin-top: 10px;
   margin-bottom: 20px;
}
.p-nav-other {
   margin-top: 5px;
   border-radius: 10px;
   background-color: var(--color-light-green);
   color: #FFF;
   text-align: center;
}
.p-nav-other__title {
   display: flex;
   justify-content: center;
   align-items: center;
   min-height: 5.2rem;
   padding-right: 20px;
   padding-left: 20px;
   border-bottom: 1px solid;
   font-weight: var(--fontweight-bold);
   text-align: center;
}
.p-nav-other__text {
   margin-top: 0.357em;
   margin-bottom: .857em;
   font-size: 1.4rem;
}
.p-nav-other__body {
   padding-right: 20px;
   padding-bottom: 20px;
   padding-left: 20px;
}
.p-nav-other__list {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 0 10px;
}
.p-nav-other__img {
   width: 100%;
   transition: opacity var(--animation-sec);
}
.p-nav__title .c-accIcon {
   display: none;
}
.p-nav__list+.p-nav__title {
   margin-top: 24px;
}
@media (min-width:768px){
   .p-nav+.p-nav {
      margin-top: 24px;
   }
   .p-nav__title {
      pointer-events: none;
   }
}
@media (max-width: 767.98px) {
   .p-nav__link.--main {
      font-size: 1.4rem;
   }
   .p-nav__link.--sub {
      display: flex;
      align-items: center;
      font-size: 1.2rem;
   }
   .p-nav__inner {
      flex-direction: row;
      padding-left: 25px;
   }
   .p-nav-bnr {
      width: 100%;
      margin-top: 15px; 
   }
   .p-nav__inner.--footer {
      gap: 0;
   }
   .p-nav-other {
      margin-top: 15px;
   }
   .p-nav__title .c-accIcon {
      display: block;
   }
}
@media (hover: hover) {
   .p-nav a:hover {
      color: rgba(255,255,255,var(--hover-opacity));
   }
}
@media (max-width: 767.98px) and (hover: hover) {
   .p-nav__title:hover .c-accIcon {
      background-color: rgba(255,255,255,var(--hover-opacity));
   }
}
.p-breadcrumb {
   padding-top: 10px;
   padding-bottom: 38px;
}
.p-breadcrumb__inner {
   display: flex;
   flex-wrap: nowrap;
   overflow-x: auto;
}
.p-breadcrumb__list,
.p-breadcrumb__item {
   display: flex;
   align-items: center;
   color: inherit;
   text-decoration: none;
   white-space: nowrap;
}
.p-breadcrumb__item {
   transition: opacity var(--animation-sec);
}
.p-breadcrumb__list:not(:last-child)::after {
   width: .6rem;
   height: 1.2rem;
   margin-right: 8px;
   margin-left: 8px;
   background-color: #868686;
   mask-image: url('../images/common/icon-breadcrumb-arrow.svg');
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
   content: '';
}
.p-breadcrumb__home {
   width: 1.8rem;
   height: 1.6rem;
   background-color: var(--color-green);
   mask-image: url('../images/common/icon-home.svg');
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
   text-indent: -9999px;
   overflow: hidden;
   white-space: nowrap;
}
@media (max-width: 767.98px) {
   .p-breadcrumb {
      font-size: 1.4rem;
   }
}
@media (hover: hover) {
   a.p-breadcrumb__item:hover {
      opacity: var(--hover-opacity);
   }
}
.p-cta {
   display: flex;
   gap: 6px;
   translate: 50% 0;
   position: fixed;
   right: 50%;
   bottom: 0;
   z-index: 9000; 
   width: 46rem;  
   max-width: 100%;
   padding-top: 8px;
   padding-right: 10px;
   padding-bottom: 8px;
   padding-left: 10px;
   border-top-left-radius: 10px;
   border-top-right-radius: 10px;
   background-color: var(--color-green);
   list-style-type: none;
}
.p-cta__item {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   height: 100%;
   min-height: 6.5rem;
   border-radius: 10px;
   background-color: #FFF;
   padding-top: .25em;
   padding-bottom: .25em;
   color: var(--color-dark-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.4rem;
   text-decoration: none;
   text-align: center;
   line-height: 1.15;
   transition: background-color var(--animation-sec);
}
.p-cta__list {
   flex: 1;
}
.p-cta__icon {
   width: 2.14em;
   height: 2em;
   background-color: currentColor;
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
}
.p-cta__icon.--reserve {
   mask-image: url('../images/common/icon-reserve.svg');
}
.p-cta__icon.--form {
   mask-image: url('../images/common/icon-form.svg');
}
.p-cta__icon.--tel {
   mask-image: url('../images/common/icon-tel.svg');
}
.p-cta__icon.--report {
   mask-image: url('../images/common/icon-report.svg');
}
@media (max-width: 767.98px) {
   .p-cta {
      translate: 0;
      left: 0;
      width: 100%;
      min-width: 360px;
      padding-top: 5px;
      padding-right: 5px;
      padding-bottom: 5px;
      padding-left: 5px;
      border-radius: 0;
   }
   .p-cta__item {
      gap: 2px;
      width: 100%;
      min-height: 6rem;
      font-size: 1.1rem;
   }
   .p-cta__icon {
      width: 2.72em;
      height: 2.54em;
   }
}
@media (hover: hover) {
   .p-cta__item:hover {
      background-color: rgba(255,255,255,var(--hover-opacity));
   }
}
.p-anchor {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: .8rem 1.4rem;
   position: absolute;
   right: 0;
   left: 0;
   translate: 0 -50%;
   z-index: 1020;
   width: 100%;
   min-width: 310px;
   max-width: 62rem;
   min-height: 4.7rem;
   padding-top: 1rem;
   padding-right: 1.5rem;
   padding-bottom: 1rem;
   padding-left: 1.5rem;
   margin-right: auto;
   margin-left: auto;
   border-radius: 9999px;
   background-color: var(--color-green);
}
.p-anchor__item {
   display: flex;
   align-items: center;
   gap: 8px;
   position: relative;
   font-weight: var(--fontweight-bold);
   color: #FFF;
   text-decoration: none;
   transition: var(--animation-sec);
}
.p-anchor__item::before {
   width: 1.2rem;
   height: 1.2rem;
   background-color: var(--color-yellow);
   mask-image: url('../images/common/icon-anchor-arrow.svg');
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
   content: '';
}
@media (max-width: 767.98px) {
   .p-anchor {
      justify-content: flex-start;
      gap: .8rem;
      right: 0;
      translate: 0 -50%;
      width: calc(100% - 50px);
      max-width: none;
      padding-left: 2.8rem;
      margin-left: 50px;
      border-top-left-radius: 9999px;
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 9999px;      
   }
   .p-anchor__item {
      gap: 0 4px;
      font-size: 1.4rem;
   }
}
@media (hover: hover) {
   .p-anchor__item:hover {
      opacity: var(--hover-opacity);
   }
}
.p-modal {
   width: 100%;
   max-width: calc(90rem - -50px);
   padding-right: 25px;
   padding-left: 25px;
   border: 0;
   background-color: transparent;
}
.p-modal__iframe {
   width: 100%;
   aspect-ratio: 16 / 9;
}
.p-modal[open]::backdrop {
   background: rgba(186, 186, 182, .86);
}
.p-modal.--conts {
   max-width: calc(76.8rem - -50px);
}
.p-modal__conts {
   padding-top: 5rem;
   padding-right: 50px;
   padding-bottom: 5rem;
   padding-left: 50px;
   border-radius: 20px;
   background-color: #FFF;
}
.p-modal__title {
   margin-top: 0;
   color: var(--color-green);
}
.p-modal__inner {
   display: flex;
   gap: 2rem;
}
.p-modal__left {
   flex: 0 0 340px;
}
.p-modal__right {
   flex: 1;
}
.p-modal__cols {
   gap: 0 15px;
}
.p-modal__icon {
   flex: 0 0 70px;
}
.p-modal__dt {
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
}
.p-modal__dd {
   font-weight: var(--fontweight-medium);
   font-size: 1.8rem;
   word-break: keep-all;
}
.p-modal__icon+.p-modal__icon {
   margin-top: 10px;
}
.p-modal__note {
   display: block;
   margin-top: .714em;
   font-size: 1.4rem;
   text-align: right;
}
.p-modal__btn {
   margin-top: 4rem;
}
@media (max-width: 767.98px) {
   .p-modal__conts {
      padding-top: 2.5rem;
      padding-right: 25px;
      padding-bottom: 2.5rem;
      padding-left: 25px;
   }
   .p-modal__title {
      margin-bottom: 1.27em;
   }
   .p-modal__inner {
      flex-direction: column;
   }
   .p-modal__left {
      flex: 1;
   }
   .p-modal__dt {
      font-size: 1.2rem;
   }
   .p-modal__dd {
      font-size: 1.4rem;
   }
   .p-modal__note {
      font-size: 1.2rem;
   }
}
.p-footer {
   padding-top: 6rem;
   padding-bottom: 12rem;
   background-color: var(--color-dark-green);
}
.p-footer__logo {
   margin-right: auto;
   margin-left: auto;
   margin-bottom: 30px;
}
.p-footer__cp {
   display: block;
   margin-top: 4em;
   color: #FFF;
   font-size: 1.3rem;
   text-align: center;
}
@media (max-width: 767.98px) {
   .p-footer {
      padding-bottom: 10rem;
   }
   .p-footer__logo {
      width: 190px;
      margin-bottom: 56px;
   }
   .p-footer__cp {
      margin-top: 2.3em;
   }
}
.p-section-btn {
   margin-top: 4rem;
   margin-bottom: 0;
}
@media (max-width: 767.98px) {
   .p-section-btn {
      margin-top: 3rem;
   }
}
.p-section-btns {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 0 30px;
   margin-top: 4rem;
}
.p-section-btns__item {
   width: 100%;
   max-width: 29rem;
}
.p-section-btns__catch .c-catch__txt {
   margin-top: 0;
   margin-bottom: 1.5rem;
}
.p-section-btns__catch.--noline .c-catch__txt::before,
.p-section-btns__catch.--noline .c-catch__txt::after {
   display: none;
}
.p-section-btns .c-btn {
   margin-right: 0;
   margin-left: 0;
}
@media (min-width: 768px) {
   .p-section-btns__catch {
      margin-right: -15px;
      margin-left: -15px;
   }
   .p-section-btns .c-btn {
      width: 29rem;
   }
   .p-section-btns__item .c-btn {
      width: 100%;
   }
}
@media (max-width: 767.98px) {
   .p-section-btns {
      flex-direction: column;
      gap: 10px 0;
   }
   .p-section-btns__item+.p-section-btns__item {
      margin-top: 30px;
   }
}
.p-rate__cols {
   display: flex;
   gap: 38px;
   margin-top: 48px;
}
.p-rate__col {
   flex: 1;
}
.p-rate__head {
   display: flex;
   justify-content: center;
   align-items: center;
   min-height: 5.8rem;
   margin: 0;
   background-color: var(--color-yellow);
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 2rem;
   text-align: center;
   line-height: 1.1;
}
.p-rate__txt {
   margin-top: 1em;
   color: #707070;
   font-weight: var(--fontweight-bold);
   text-align: center;
   line-height: 1.15;
   word-break: keep-all;
}
.p-rate__head.--s {
   font-size: 1.8rem;
}
.p-rate__body {
   padding-top: 30px;
   padding-right: 10px;
   padding-left: 10px;
}
.p-rate__foot {
   margin-top: 10px;
}
@media (max-width: 767.98px) {
   .p-rate__note {
      font-size: 1rem;
   }
}
.p-circle {
   position: relative;
   width: 100%;
   aspect-ratio: 1;
}
.p-circle__inner {
   width: 100%;
   height: 100%;
   overflow: hidden;
   border-radius: 100%;
   }
.p-circle__item {
   fill: none;
   stroke-width: 20px;
   transform: rotate(-90deg);
   transform-origin: center;
}
.p-circle__item.--bg {
   stroke: var(--color-light-green);
   stroke-dasharray: calc(2 * 3.14159 * 40);
   stroke-dashoffset: 0;
}
.p-circle__item.--front {
   stroke: var(--color-green);
   stroke-dasharray: calc(2 * 3.14159 * 40);
   stroke-dashoffset: calc(2 * 3.14159 * 40);
   transition: stroke-dashoffset 3s;
}
.p-circle__item.--center {
   fill: #fff;
   stroke-width: 0;
}
.p-circle__txt {
   position: absolute;
   top: 50%;
   left: 50%;
   translate: -50% -50%;
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 18px;
   font-family: var(--font-en);
   line-height: 1;
   white-space: nowrap;
}
.p-circle__num {
   font-size: 28px;
}
.p-rate.--top {
   padding-right: 116px;
   padding-left: 116px;
}
@media (max-width: 991.98px) {
   .p-rate.--top {
      padding-right: 0;
      padding-left: 0;
   }
}
@media (max-width: 797.98px) {
   .p-rate__cols {
      gap: 10px;
      margin-top: 40px;
   }
   .p-rate__head {
      min-height: 2.8rem;
      font-size: 1.3rem;
   }
   .p-rate__head.--s {
      font-size: 1.1rem;
   }
   .p-rate__body {
      padding-top: 14px;
      padding-right: 5px;
      padding-left: 5px;
   }
   .p-rate__note {
      font-size: 1rem;
   }
   .p-circle__txt {
      font-size: 14px;
   }
   .p-circle__num {
      font-size: 20px;
   }
   .p-rate__txt {
      font-size: 1rem;
   }
}
@media (max-width: 374.98px) {
   .p-rate__cols {
      flex-wrap: wrap;
      gap: 20px 10px;
   }
   .p-rate__col {
      flex: 0 0 calc((100% - 10px)/2);
   }
}
.p-rateWrapper {
   margin-top: 4rem;
   padding-top: 24px;
   padding-bottom: 12px;
   border-radius: 20px;
   background-color: #FFF;
}
.p-rateWrapper__inner {
   padding-right: 116px;
   padding-left: 116px;
}
.p-rateWrapper__item {
   margin-top: 0;
}
@media (max-width: 992.98px) {
   .p-rateWrapper__inner {
      padding-right: 38px;
      padding-left: 38px;
   }
}
@media (max-width: 767.98px) {
   .p-rateWrapper {
      margin-top: 2rem;
      padding-top: 16px;
   }
   .p-rateWrapper__inner {
      padding-right: 10px;
      padding-left: 10px;
   }
}
.p-reason {
   margin-top: 4rem;
   counter-reset: number 0;
}
.p-reason__item {
   max-width: 64rem;
   background-repeat: no-repeat;
   background-position: center;
   background-size: cover;
   color: #FFF;
   text-decoration: none;
   transition: opacity var(--animation-sec);
}
.p-reason__item+.p-reason__item {
   margin-top: 30px;
}
.p-reason__item:nth-of-type(even) {
   margin-left: auto;
}
.p-reason__item {
   display: flex;
   align-items: center;
   gap: 0 16px;
   position: relative;
   min-height: 16rem;
   padding-top: .5em;
   padding-right: 36px;
   padding-bottom: .5em;
   padding-left: 50px;
   border-radius: 20px;
}
.p-reason__item::before {
   font-weight: var(--fontweight-medium);
   font-size: 5rem;
   font-family: var(--font-en);
   line-height: 1;
   counter-increment: number 1;
   content: counter(number);
} 
.p-reason__item::after {
   position: absolute;
   top: 50%;
   left: 0;
   translate: 0 -50%;
   width: 30px;
   height: 1px;
   background-color: currentColor;
   content: '';
}
.p-reason__txt {
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem; 
}
.p-reason__txt>span {
   display: block;
   margin-top: .125em;
   font-weight: var(--fontweight-bold);
   font-size: 2.6rem; 
   line-height: 1.25;
}
.p-reason__definition {
   font-weight: var(--fontweight-bold);
   line-height: 1.5;
   word-break: keep-all;
}
.p-reason__term {
   font-size: 2.6rem;
}
.p-reason__desc {
   font-size: 1.6rem;
}
.p-reason__arrow {
   flex: 0 0 30px;
   height: 30px;
   margin-left: auto;
}
.p-reason__item.--01 {
   background-image: url('../images/common/bg-reason-01.webp');
}
.p-reason__item.--02 {
   background-image: url('../images/common/bg-reason-02.webp');
}
.p-reason__item.--03 {
   background-image: url('../images/common/bg-reason-03.webp');
}
.p-reason__item.--04 {
   background-image: url('../images/common/bg-reason-04.webp');
}
.p-reason__item.--05 {
   background-image: url('../images/common/bg-reason-05.webp');
}
.p-reason__item.--desc.--01 {
    background-image: url('../images/family/bg-reason-01.webp');
}
.p-reason__item.--desc.--02 {
    background-image: url('../images/family/bg-reason-02.webp');
}
.p-reason__item.--desc.--03 {
    background-image: url('../images/family/bg-reason-03.webp');
}
.p-reason__item.--desc.--04 {
    background-image: url('../images/family/bg-reason-04.webp');
}
@media (max-width: 767.98px) {
   .p-reason  {
      margin-right: -25px;
      margin-left: -25px;
   }
   .p-reason__item {
      width: calc(100% - 50px);
      max-width: none;
      padding-right: 20px;
   }
   .p-reason__item:nth-of-type(odd) {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0;
   }
   .p-reason__item:nth-of-type(even) {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
   }
   .p-reason__txt {
      font-size: 1.2rem; 
   }
   .p-reason__txt>span {
      font-size: 2rem; 
   }
   .p-reason__definition {
      line-height: 1.4;
   }
   .p-reason__term {
      font-size: 2rem;
   }
   .p-reason__desc {
      margin-top: .5em;
      font-size: 1.2rem;
   }
}
@media (hover: hover) {
   a.p-reason__item:hover {
      opacity: var(--hover-opacity) !important;
   }
}
.p-employer {
   margin-top: 1rem;
}
.p-employer__box {
   padding-top: 20px;
   padding-right: 20px;
   padding-bottom: 20px;
   padding-left: 20px;
   border-radius: 20px;
   border: 1px solid var(--color-green);
   background-color: #FFF;
}
.p-employer__ttl {
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
}
.p-flow {
   display: flex;
   counter-reset: number 0;
}
.p-flow__period {
   flex: 0 0 50px;
   display: flex;
   align-items: center;
   clip-path: polygon(0 0,100% 0,100% calc(100% - 14px),50% 100%,0 calc(100% - 14px));
   padding-top: 15px;
   border-top-left-radius: 10px;
   background: linear-gradient(var(--color-green) 50px, #69c686 100%); 
   color: var(--color-yellow);
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
   writing-mode: vertical-rl;
   text-orientation: upright;
}
.p-flow__desc {
   flex: 1;
}
.p-flow__title {
   display: flex;
   justify-content: center;
   align-items: center;
   min-height: 50px;
   border-top-right-radius: 10px;
   border-bottom-right-radius: 10px;
   background-color: var(--color-green);
   color: #FFF;
   font-weight: var(--fontweight-bold);
   font-size: 2rem;
   text-align: center;
}
.p-flow__list {
   position: relative;
   margin-left: 56px;
   padding-top: 2rem;
   padding-bottom: 5.4rem;
}
.p-flow__list::before {
   position: absolute;
   top: 0;
   left: 19px;
   width: 2px;
   height: 100%;
   background-color: var(--color-light-green);
   content: '';
}
.p-flow__list.--full {
   margin-left: 0;
   padding-top: 2rem;
   padding-left: 2rem;
}
.p-flow__list.--full::before {
   display: none;
}
.p-flow__list.--full::after {
   position: absolute;
   top: 0;
   right: 50%;
   translate: -50% 0;
   width: 2px;
   height: 100%;
   background-color: var(--color-light-green);
   content: '';
}
.p-flow__item {
   display: flex;
   gap: 0 12px;
}
.p-flow__item::before {
   display: flex;
   justify-content: center;
   align-items: center;
   position: relative;
   flex: 0 0 40px;
   height: 40px;
   border-radius: 50%;
   background-color: #FFF;
   color: var(--color-green);
   font-size: 2.5rem;
   line-height: 1;
   font-family: var(--font-en);
   counter-increment: number 1;
   content: counter(number);
}
.p-flow__inner {
   flex: 1;
   margin-bottom: 2rem;
}
.p-flow__item:last-child .p-flow__inner {
   margin-bottom: 0;
} 
.p-flow__head {
   display: flex;
   align-items: center;
   min-height: 40px;
   margin-top: -.1em;
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
}
.p-flow__box {
   position: relative;
   z-index: 1010;
   padding-top: 2rem;
   padding-right: 20px;
   padding-bottom: 2rem;
   padding-left: 20px;
   border-radius: 10px;
   background-color: #FFF;
}
.p-flow__box+.p-flow__box {
   margin-top: 30px;
}
.p-flow__iconText {
   margin-bottom: 1.6rem;
}
.p-flow__iconText .c-iconText__img {
   flex: 0 0 70px;
}
.p-flow__stepNum {
   display: block;
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.4rem;
   font-family: var(--font-en);
}
.p-flow__stepText {
   display: block;
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
}
.p-flow__txt {
   font-weight: var(--fontweight-bold);
   font-size: 1.4rem;
}
.p-flow__s {
   display: block;
   font-weight: var(--fontweight-medium);
   font-size: 1.1rem;
}
.p-flow__sub {
   margin-top: 2.4rem;
}
.p-flow__subList {
   margin-top: 10px;
}
.p-flow__subList.--txt {
   position: relative;
   margin-top: 3.2rem;
   margin-bottom: 1rem;
}
.p-flow__subList.--txt::before {
   position: absolute;
   top: .25em;
   left: -32px;
   translate: -50% 0;
   width: 20px;
   height: 20px;
   border-radius: 50%;
   background-color: var(--color-green);
   content: '';
}
.p-flow__link {
   display: inline-flex;
   flex-wrap: wrap;
   gap: .375em 1em;
}
.p-flow__linkTxt {
   display: flex;
   align-items: center;
   gap: 4px;
   position: relative;
   font-weight: var(--fontweight-bold);
   color: var(--color-green);
   text-decoration: none;
   transition: opacity var(--animation-sec);
}
.p-flow__linkTxt::before {
   width: 12px;
   height: 10px;
   background-color: currentColor;
   mask-image: url('../images/common/icon-link-arrow-right.svg');
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
   content: '';
}
@media (max-width: 767.98px) {
   .p-flow__period {
      flex: 0 0 25px;
      font-size: 1.2rem;
   }
   .p-flow__title {
      padding-right: 25px;
   }
   .p-flow__list {
      margin-left: 20px;
   }
   .p-flow__link {
      gap: .375em .769em;
   }
   .p-flow__iconText {
     gap: 0 12px;
   }
}
@media (max-width: 374.98px) {
   .p-flow__title {
      font-size: 1.8rem;
   }
}
@media (hover: hover) {
   .p-flow__linkTxt:hover {
      opacity: var(--hover-opacity);
   }
}
.p-accordion {
   border-radius: 10px;
   background-color: #FFF;
}
.p-accordion[open] .c-accIcon::after {
    opacity: 0;
}
.p-accordion__head {
   display: flex;
   gap: 0 10px;
   position: relative;
   width: 100%;
   padding-top: 1.2rem;
   padding-right: 10px;
   padding-bottom: 1.2rem;
   padding-left: 10px;
   background-color: transparent;
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
   text-align: left;
}
.p-accordion__head .c-accIcon {
   margin-top: .375em;
   margin-left: auto;
}
.p-accordion__body {
    padding-top: 1rem;
    padding-right: 20px;
    padding-bottom: 1rem;
    padding-left: 20px;
    border-top: 1px solid #EBEBE4;
}
.p-accordion .c-btn {
   max-width: 21rem;
   margin-top: 2rem;
   margin-bottom: 1rem;
}
.p-accordion.--beige {
   background-color: var(--color-beige);
}
.p-accordion.--beige .p-accordion__body {
    border-top-color: #FFF; 
}
.p-accordion__head.--list::before {
   position: absolute;
   top: 1em;
   left: -32px;
   translate: -50% 0;
   width: 20px;
   height: 20px;
   border-radius: 50%;
   background-color: var(--color-green);
   content: '';
}
@media (max-width: 767.98px) {
   .p-accordion__head {
      font-size: 1.5rem;
   }
   .p-accordion__body {
      font-size: 1.3rem;
   }
   .p-accordion .c-btn {
      max-width: none;
   }
}
@media (hover: hover) {
   .p-accordion__head:hover .c-accIcon.--green {
      background-color: rgba(var(--color-green-rgb),var(--hover-opacity));
   }
}
.p-campuses {
   padding-top: 26px;
   padding-right: 50px;
   padding-left: 50px;
   border-radius: 20px;
   background-color: #FFF;
}
.p-campuses__head {
   margin-bottom: 1.36em;
   border-bottom: 1px solid #E1E1E1;
   font-weight: var(--fontweight-bold);
   font-size: 2.2rem;
}
.p-campuses__body+.p-campuses__head {
   margin-top: 26px;
}
.p-campuses__list {
   display: flex;
   flex-wrap: wrap;
   gap: 20px;
}
.p-campuses__item {
   flex: 0 0 135px;
}
.p-campuses__item.--s .c-btn {
   font-size: 1.2rem;
}
.p-campuses__labels {
   display: flex;
   align-items: center;
   gap: 0 3px;
   position: absolute;
   top: 0;
   left: 0;
   translate: 0 -50%;
}
.p-campuses__label {
   display: flex;
   justify-content: center;
   align-items: center;
   min-height: 20px;
   border-radius: 9999px;
   line-height: 1;
   text-align: center;
}
.p-campuses__label.--new {
   width: 3.833em;
   background-color: var(--color-yellow);
   font-weight: var(--fontweight-bold);
   color: var(--color-green);
   font-size: 1.2rem;
   font-family: var(--font-en);
}
.p-campuses__label.--b {
   width: 5.45em;
   background-color: var(--color-light-green);
   font-weight: var(--fontweight-bold);
   color: #FFF;
   font-size: 1.1rem;
}
.p-campuses__desc {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   margin-top: 1.125em;
}
.p-campuses__btns {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: center;
   gap: 20px;
   margin-top: 2em;
}
.p-campuses__btns .c-btn {
   margin-right: 0;
   margin-left: 0;
}
.p-campuses__body {
   padding-right: 32px;
   padding-left: 32px;
}
@media (max-width: 767.98px) {
   .p-campuses {
      padding-right: 25px;
      padding-left: 25px;
   }
   .p-campuses__body,
   .p-campuses__btns {
      padding-right: 0;
      padding-left: 0;
   }
   .p-campuses__desc {
      font-size: 1.2rem;
   }
   .p-campuses__btns {
      gap: 10px;
   }
}

.p-faq__item {
   border-radius: 10px;
   background-color: #FFF;
   overflow: hidden;
}
.p-faq__item[open] .c-accIcon::after {
   opacity: 0;
}
.p-faq__list+.p-faq__list {
   margin-top: 2rem;
}
.p-faq__btn,
.p-faq__body {
   display: flex;
   gap: 0 10px;
   background-color: #FFF;
   padding-top: 1rem;
   padding-right: 35px;
   padding-left: 35px;
}
.p-faq__btn {
   width: 100%;
   padding-bottom: 1rem;
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.6rem;
   text-align: left;
}
.p-faq__btn .c-accIcon {
   margin-top: .57em;
   margin-left: auto;
}
.p-faq__btn.is-active .c-accIcon::after {
   opacity: 0;
}
.p-faq__q,
.p-faq__a {
   flex: 0 0 1.458em;
   display: flex;
   justify-content: center;
   align-items: center;
   height: 1.458em;
   border-radius: 50%;
   font-weight: var(--fontweight-medium);
   font-size: 2.4rem;
   line-height: 1;
   font-family: var(--font-en);
}
.p-faq__q {
   background-color: var(--color-green);
   color: #FFF;
}
.p-faq__a {
   background-color: var(--color-yellow);
   color: var(--color-green);
}
.p-faq__body {
   padding-bottom: 2rem;
   border-top: 1px solid #E1E1E1;
}
.p-faq__txt {
   margin-top: .5rem;
}
.p-faq__desc {
   font-weight: var(--fontweight-medium);
   font-size: 1.4rem;
}
.p-faq__desc a{
   color:var(--color-green);
}

.p-faq__desc>*:first-child {
   margin-top: 0;
}
.p-faq__desc>*:last-child {
   margin-bottom: 0;
}
@media (max-width: 767.98px) {
   .p-faq__btn,
   .p-faq__body {
      padding-right: 10px;
      padding-left: 10px;
   }
}
@media (hover: hover) {
   .p-faq__btn:hover .c-accIcon.--green {
      background-color: rgba(var(--color-green-rgb),var(--hover-opacity));
   }
}
.p-support__title {
   position: relative;
   width: fit-content;
   margin-right: auto;
   margin-top: 1em;
   margin-left: auto;
}
.p-support__bg {
   position: absolute;
   top: 50%;
}
.p-support__bg.--left {
   left: 0;
   translate: -65% -50%;
}
.p-support__bg.--right {
   right: 0;
   translate: 65% -50%;
}
.p-support__img>img {
   margin-right: auto;
   margin-bottom: 30px;
   margin-left: auto;
}
@media (max-width: 991.98px) {
   .p-support__img {
      margin-top: -1.5em;
   }
   .p-support__img>img {
      width: 100px;
      margin-bottom: 25px;
   }
   .p-support__bg.--left {
      translate: -65% -50%;
   }
   .p-support__bg.--right {
      translate: 65% -50%;
   }
}
.p-safePoint {
   display: flex;
   align-items: flex-start;
   gap: 0 15px;
   margin-top: 2.5em;
   margin-bottom: 2.5em;
}
.p-safePoint__item {
   flex: 1;
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   font-size: 1.6rem;
}
.p-safePoint__inner {
   width: 8.5rem;
}
.p-safePoint__label {
   display: flex;
   justify-content: center;
   align-items: center;
   min-height: 50px;
   border-radius: 9999px;
   background-color: var(--color-light-green);
   font-weight: var(--fontweight-bold);
   font-size: 1.4rem;
   line-height: 1;
}
.p-safePoint__num {
   position: relative;
   top: 2px;
   margin-left: 3px;
   font-weight: var(--fontweight-medium);
   font-size: 3rem;
   font-family: var(--font-en);
}
.p-safePoint__txt {
   max-width: 27.5rem;
   display: flex;
   align-items: center;
   min-height: 50px;
}
@media (max-width: 767.98px) {
   .p-safePoint {
      flex-direction: column;
      align-items: flex-start;
      gap: 20px 0;
      margin-top: 2.142em;
      margin-bottom: 2.142em;
   }
   .p-safePoint__item {
      flex-wrap: nowrap;
   }
   .p-safePoint__inner {
      width: 6rem;
   }
   .p-safePoint__label {
      justify-content: flex-start;
      margin-left: -100vw;
      padding-left: 100vw;
   }
   .p-safePoint__txt {
      width: auto;
      flex: 1;
   }
}
.p-carousel {
   position: relative;
   margin-top: 5.6rem;
   padding-right: 28.5px;
   padding-left: 28.5px;
}
.p-carousel .swiper-slide {
   height: auto;
}
@media (max-width: 767.98px) {
   .p-carousel {
      margin-top: 4rem;
      padding-right: 0;
      padding-left: 0;
   }
   .p-carousel .swiper-slide {
      width: 290px;
   }
}
.p-heading-noteMark {
   margin-left: .25em;
   font-size: 1.4rem;
}
.p-heading-note {
   display: block;
   margin-top: .714em;
   font-size: 1.4rem;
   text-align: center;
}
@media (max-width: 767.98px) {
   .p-heading-noteMark {
      font-size: 1rem;
   }
   .p-heading-note {
      margin-top: 1em;
      font-size: 1rem;
   }
}
.p-box {
   margin-top: 4rem;
   padding-right: 2.5rem;
   padding-bottom: 2.5rem;
   padding-left: 2.5rem;
   border-radius: 20px;
   background-color: #FFF;
}
.p-box__title {
   display: flex;
   justify-content: center;
   align-items: center;
   min-height: 8.6rem;
   position: relative;
   padding-top: .5em;
   padding-right: 1.5em;
   padding-bottom: .5em;
   padding-left: 1.5em;
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 2rem;
   line-height: 1.5;
   text-align: center;
   word-break: keep-all;
}
.p-box__title::before,
.p-box__title::after {
   position: absolute;
   top: 50%;
   display: block;
   translate: 0 -50%;
   width: 1px;
   height: 48px;
   background-color: #707070;
   content: '';
}
.p-box__title::before {
   left: 0;
   transform-origin: top left;
   rotate: -32deg;
}
.p-box__title::after {
   right: 0;
   transform-origin: top right;
   rotate: 32deg;
}
.p-box__txt {
   margin-bottom: 1em;
}
.p-box__item {
   padding-top: 1em;
   padding-bottom: 1em;
   border-top: 1px dashed #EBEBE6;
}
.p-box.--blue {
   background-color: var(--color-light-blue);
}
.p-box.--blue .p-box__item {
   border-top-color: #FFF;
}
.p-box.--beige {
   background-color: var(--color-beige);
}
.p-box.--beige .p-box__item {
   border-top-color: #FFF;
}
.p-box.--pt {
   padding-top: 2.5rem;
}
.p-box.--post {
   margin-bottom: 4rem;
}
.p-box__label {
   display: flex;
   padding-top: .625em;
   padding-bottom: .625em;
}
.p-box__label::before {
   flex: 0 0 1em;
   font-weight: var(--fontweight-bold);
   counter-increment: toc-number 1;
   content: counter(toc-number) '.';
}
.p-box__body {
   flex: 1;
}
.p-box__note {
   display: block;
   font-weight: inherit;
   color: var(--color-black);
}
.p-box__anchor {
   display: block;
   color: inherit;
   font-weight: var(--fontweight-bold);
   text-decoration: none;
   transition: opacity var(--animation-sec);
}
.p-box>.c-title-btmLine:first-of-type {
   margin-top: 0;
}
.p-box .c-title-leftLine {
   margin-top: 0;
   margin-bottom: 1rem;
   font-size: 1.5rem;
}
.p-box.--toc {
   margin-top: 4rem;
   background-image: url('../images/common/bg-toc-left.webp'), url('../images/common/bg-toc-right.webp');
   background-repeat: no-repeat;
   background-position: left top -9.2rem, right -8.8rem bottom -8rem;
   background-size: 20.1rem auto, 21rem auto;
   counter-reset: toc-number 0;
}
.p-box.--toc .p-box__title {
   min-height: 6.6rem;
   padding-right: 0;
   padding-left: 0;
   color: var(--color-black);
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
}
.p-box.--toc .p-box__title::before,
.p-box.--toc .p-box__title::after {
   display: none;
}
.p-box.--toc .p-box__item {
   padding-top: 0;
   padding-bottom: 0;
}
.p-box.--toc-cols {
   width: 100%;
   margin-top: 4rem;
   background-image: url('../images/common/bg-toc-left.webp'), url('../images/common/bg-toc-right.webp');
   background-repeat: no-repeat;
   background-position: left top -9.2rem, right -8.8rem bottom -8rem;
   background-size: 20.1rem auto, 21rem auto;
}
.p-box.--toc-cols .p-box__title {
   min-height: 6.6rem;
   padding-right: 0;
   padding-left: 0;
   color: var(--color-black);
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
}
.p-box.--toc-cols .p-box__title::before,
.p-box.--toc-cols .p-box__title::after {
   display: none;
}
.p-box.--toc-cols .p-box__list {
   display: flex;
   flex-wrap: wrap;
}
.p-box.--toc-cols .p-box__item {
   width: 25%;
   position: relative;
   border-top: 0;
   padding-top: 0;
   padding-bottom: 0;
   word-break: keep-all;
   line-height: 1.15;
}
.p-box.--toc-cols .p-box__label {
   height: 100%;
}
.p-box.--toc-cols .p-box__label::before {
   display: none;
}
.p-box.--toc-cols .p-box__anchor {
   display: flex;
   align-items: center;
   gap: 0 8px;
   width: 100%;
   height: 100%;
}
.p-box.--toc-cols .p-box__anchor::before {
   flex: 0 0 .8em;
   height: .8em;
   background-color: var(--color-green);
   mask-image: url('../images/common/icon-anchor-arrow.svg');
   mask-repeat: no-repeat;
   mask-position: center;
   mask-size: contain;
   content: '';
}
.p-box.--checklist {
   padding-top: 2.5rem;
   background-image: url('../images/common/bg-checklist-yellow.webp'), url('../images/common/bg-checklist-green.webp');
   background-repeat: no-repeat;
   background-position: left -12rem top -4.8rem, right -7.8rem bottom -8rem;
   background-size: 22.8rem auto, 20rem auto;
}
@media (min-width: 992px) {
   .p-box.--toc-cols .p-box__item:nth-of-type(4n+1)::before {
      position: absolute;
      width: 400%;
      height: 1px;
      background-image: repeating-linear-gradient(to right,#EBEBE6 0,#EBEBE6 4px,transparent 4px,transparent 8px);
      content: '';
   }
}
@media (max-width: 991.98px) {
   .p-box.--toc-cols .p-box__item {
      width: 50%;
   }
   .p-box.--toc-cols .p-box__item:nth-of-type(2n+1)::before {
      position: absolute;
      width: 200%;
      height: 1px;
      background-image: repeating-linear-gradient(to right,#EBEBE6 0,#EBEBE6 4px,transparent 4px,transparent 8px);
      content: '';
   }
}
@media (max-width: 767.98px) {
   .p-box {
      margin-top: 2.8rem;
      padding-right: 25px;
      padding-left: 25px;
   }
   .p-box__title {
      font-size: 1.6rem;
   }
   .p-box__title::before,
   .p-box__title::after {
      height: 40px;
   }
   .p-box.--post {
      margin-bottom: 2.8rem;
   }
   .p-box.--toc {
      background-image: url('../images/common/bg-toc-left-sp.webp'), url('../images/common/bg-toc-right-sp.webp');
      background-position: left -22px top -98px, right -84px bottom;
      background-size: 202px auto, 213px auto;
   }
   .p-box__item {
      padding-top: .625em;
      padding-bottom: .625em;
   }
   .p-box__label {
      padding-top: .714em;
      padding-bottom: .714em;
      font-size: 1.4rem;
   }
   .p-box__note {
      font-size: 1.2rem;
   }
   .p-box .c-title-btmLine {
      margin-top: 2rem;
      font-size: 1.6rem;
   }
   .p-box.--checklist  {
      background-image: url('../images/common/bg-checklist-yellow-sp.webp'), url('../images/common/bg-checklist-green-sp.webp');
      background-position: left -13.2rem top, right -9rem bottom -11.2rem;
      background-size: 23.7rem auto, 24.3rem auto;
   }
}
@media (hover: hover) {
   .p-box__anchor:hover{
      opacity: var(--hover-opacity);
   }
}
.p-point .c-iconText__img {
   flex:  0 0 60px;
}
@media (max-width: 767.98px) {
   .p-point {
      gap: 0 12px;
      font-size: 1.4rem;
   }
}
.p-dlBox {
   margin-top: 2.4rem;
}
.p-dlBox__head {
   display: inline-flex;
   align-items: center;
   position: relative;
   translate: 25px 50%;
   max-width: calc(100% - 25px);
   min-height: 3.8rem;
   padding-right: 1.222em;
   padding-left: .777em;
   border-radius: 10px;
   background-color: #FFF;
   font-weight: var(--fontweight-bold);
   font-size: 1.8rem;
}
.p-dlBox__head::before {
   position: absolute;
   bottom: 1px;
   translate: 0 100%;
   clip-path: polygon(0 0, 50% 100%, 100% 0);
   width: .9rem;
   height: .8rem;
   background-color: #FFF;
   content: '';
}
.p-dlBox__body {
   padding-top: 3.5rem;
   padding-right: 25px;
   padding-bottom: 25px;
   padding-left: 25px;
   border-radius: 10px;
   background-color: var(--color-green);
   color: #FFF;
   font-weight: var(--fontweight-bold);
   font-size: 2rem;
}
@media (max-width: 767.98px) {
   .p-dlBox {
      margin-top: 2rem;
   }
   .p-dlBox__head {
      min-height: 3.2rem;
      padding-right: 1.428em;
      padding-left: 1em;
      font-size: 1.4rem;
   }
   .p-dlBox__body {
      padding-top: 3rem;
      font-size: 1.6rem;
   }
}
.p-aboutBox {
   margin-top: 4rem;
   padding-top: 2.4rem;
   padding-right: 4.4rem;
   padding-bottom: 3rem;
   padding-left: 4.4rem;
   border-radius: 20px;
   background-color: #FFF;
}
.p-aboutBox__title {
   position: relative;
   margin-bottom: 1.538em;
   color: var(--color-green);
   font-weight: var(--fontweight-bold);
   font-size: 2.6rem;
   line-height: 1.5;
}
.p-aboutBox__title::before {
   position: absolute;
   top: 50%;
   left: -4.4rem;
   translate: 0 -50%;
   width: 2.5rem;
   height: .2rem;
   background-color: var(--color-beige);
   content: '';
}
.p-aboutBox.--beige {
   background-color: var(--color-beige);
}
.p-aboutBox__title::before {
   background-color: var(--color-beige);  
}
.p-aboutBox.--beige .p-aboutBox__title::before {
   background-color: #FFF;
}
.p-aboutBox__media {
   display: flex;
   gap: 0 30px;
   margin-top: 4rem;
}
.p-aboutBox__media.--rev {
   flex-direction: row-reverse;
}
.p-aboutBox__img {
   flex: 0 0 324px;
}
.p-aboutBox__img>img {
   width: 100%;
   border-radius: 10px;
}
.p-aboutBox__txt {
   flex: 1;
}
@media (max-width: 991.98px) {
   .p-aboutBox__media,
   .p-aboutBox__media.--rev {
      display: block;
      margin-top: 3rem;
   }
   .p-aboutBox__img {
      margin-right: -44px;
      margin-bottom: 20px;
   }
   .p-aboutBox__img>img {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0;
   }
}
@media (max-width: 767.98px) {
   .p-aboutBox {
      padding-top: 2.2rem;
      padding-right: 25px;
      padding-bottom: 2.5rem;
      padding-left: 25px;
   }
   .p-aboutBox__title {
      margin-bottom: 1.15em;
      padding-left: 1rem;
      font-size: 2rem;
   }
   .p-aboutBox__title::before {
      left: -25px;
   }
   .p-aboutBox__img {
      margin-right: -25px;
   }
}
.p-table {
   width: 100%;
   margin-top: 7rem;
   background-color: #FFF;
   text-align: left;
}
.p-table__head,
.p-table__cell {
   padding-right: 20px;
   padding-left: 20px;
   border: 1px solid #707070;
}
.p-table__head {
   padding-top: .375em;
   padding-bottom: .375em;
   background-color: var(--color-black);
   color: #FFF;
   font-weight: var(--fontweight-bold);
   line-height: 1.25;
   text-align: center;
   vertical-align: middle;
   white-space: nowrap;
   word-break: keep-all;
}
.p-table__cell {
   padding-top: .625em;
   padding-bottom: .625em;
}
.p-table__cell.--head {
   background-color: var(--color-light-green);
   font-weight: var(--fontweight-bold);
   color: #FFF;
   white-space: nowrap;
}
@media (max-width: 767.98px) {
   .p-table {
      margin-top: 6rem;
   }
   .p-table__head,
   .p-table__cell {
      padding-right: 10px;
      padding-left: 10px;
   }
   .p-table__head {
      padding-top: .625em;
      padding-bottom: .625em;
      font-size: 1.2rem;
   }
   .p-table__cell {
      padding-top: .75em;
      padding-bottom: .75em;
      font-size: 1.4rem;
   }
   .p-table .c-note {
      font-size: 1.2rem;
   }
}
.p-ctaBlock {
   padding-top: 2.5rem;
   padding-bottom: 12rem;
   background: url('../images/common/bg-ctablock.webp') no-repeat center / cover;
}
.p-ctaBlock.--next-txt {
   padding-bottom: 21rem;
}
.p-ctaBlock.--next-img {
   padding-bottom: 21.6rem;
}
.p-ctaBlock__lead {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 10px 20px;
}
.p-ctaBlock__txt {
   display: flex;
   justify-content: center;
   align-items: center;
   width: 16rem;
   height: 10.8rem;
   background: url('../images/common/bg-ctablock-txt.webp') no-repeat center / contain;
   color: #FFF;
   font-weight: var(--fontweight-bold);
   text-align: center;
}
.p-ctaBlock__title {
   display: flex;
   justify-content: center;
   align-items: center;
   max-width: 46.4rem;
   min-height: 10.6rem;
   margin-top: 0.769em;
   margin-right: auto;
   margin-left: auto;
   padding-top: 0.25em;
   padding-right: 1em;
   padding-bottom: 0.25em;
   padding-left: 1em;
   border-radius: 10px;
   border: 1px solid;
   color: #FFF;
   font-weight: var(--fontweight-bold);
   font-size: 2.6rem;
   text-align: center;
   line-height: 1.5;
}
.p-ctaBlock .c-btn {
   padding-right: 8px;
   padding-left: 8px;
   border: 0;
   filter: drop-shadow(0px 0px 20px rgba(0, 0, 0, 0.4));
   font-size: 1.5rem;
}
.p-ctaBlock .c-btn.--icon {
   gap: 0 8px;
}
.p-ctaBlock .c-btn__icon {
    flex: 0 0 2em;
    height: 1.866em;
}
.p-ctaBlock__mainBtn {
   margin-top: 3.2rem;
}
.p-ctaBlock__subBtn {
   display: flex;
   justify-content: center;
   flex-wrap: wrap;
   gap: 1rem 3rem;
   margin-top: 2.2rem;
}
.p-ctaBlock__subBtn>* {
   width: 16.5rem;
}
.p-ctaBlock__subBtn .c-btn {
   height: 100%;
}
@media (max-width: 767.98px) {
   .p-ctaBlock {
      padding-top: 1.6rem;
      background-image: url('../images/common/bg-ctablock-sp.webp');
   }
   .p-ctaBlock.--next-img {
      padding-bottom: 25.8rem;
   }
   .p-ctaBlock__lead {
      gap: 0px 4px;
      margin-right: -25px;
      margin-left: -25px;
   }
   .p-ctaBlock__txt {
      width: 12.6rem;
      height: 8.5rem;
      font-size: 1.2rem;
   }
   .p-ctaBlock__title {
      max-width: 28.8rem;
      margin-top: 0.461em;
   }
   .p-ctaBlock__mainBtn {
      margin-top: 2.6rem;
   }
   .p-ctaBlock__subBtn {
      gap: 1rem;
      max-width: 34rem;
      margin-top: 1.2rem;
      margin-right: auto;
      margin-left: auto;
   }
   .p-ctaBlock__subBtn>* {
      flex: 0 0 calc((100% - 1rem) / 2);
   }
}
.p-movie-wrap iframe{
   width: 100%;
   aspect-ratio: 16 / 9;

}
/* # =================================================================
   # Utility
   # ================================================================= */
.u-relative {
   position: relative !important;
}
.u-relative.--front {
   z-index: 1010 !important;
}
.u-overflow-hidden {
   overflow: hidden !important;
}
.u-overflow-x-hidden {
   overflow-x: hidden !important;
}
.u-sp-overflow-x-hidden {
   overflow-x: hidden !important;
}
@media (min-width: 768px) {
   .u-sp-overflow-x-hidden {
      overflow-x: visible !important;
   }
}
.u-block {
   display: block !important;
}
.u-md-block {
   display: none !important;
}
@media (min-width: 768px) {
   .u-md-block {
      display: block !important;
   }
   .u-md-hidden {
      display: none !important;
   }
}
@media (min-width: 992px) {
   .u-lg-block {
      display: block !important;
   }
   .u-lg-hidden {
      display: none !important;
   }
}
.u-inline-block {
   display: inline-block !important;
}
.u-w-full {
   width: 100% !important;
}
.u-mt-0 {
   margin-top: 0 !important;
}
.u-mt-2xs {
   margin-top: .625em !important;
}
.u-mt-xs {
   margin-top: .75em !important;
}
.u-mt-sm {
   margin-top: .875em !important;
}
.u-mt-lg {
   margin-top: 1.125em !important;
}
.u-mt-xl {
   margin-top: 1.25em !important;
}
.u-mt-2xl {
   margin-top: 1.5em !important;
}
.u-mt-10 { 
   margin-top: 1rem !important;
}
.u-mt-20 { 
   margin-top: 2rem !important;
}
.u-mt-30 { 
   margin-top: 3rem !important;
}
.u-mt-40 { 
   margin-top: 4rem !important;
}
.u-mb-0 {
   margin-bottom: 0 !important;
}
.u-mb-2xs {
   margin-bottom: .625em !important;
}
.u-mb-xs {
   margin-bottom: .75em !important;
}
.u-mb-sm {
   margin-bottom: .875em !important;
}
.u-mb-lg {
   margin-bottom: 1.125em !important;
}
.u-mb-xl {
   margin-bottom: 1.25em !important;
}
.u-mb-2xl {
   margin-bottom: 1.5em !important;
}
.u-mb-10 { 
   margin-bottom: 1rem !important;
}
.u-mb-20 { 
   margin-bottom: 2rem !important;
}
.u-mb-30 { 
   margin-bottom: 3rem !important;
}
.u-mb-40 { 
   margin-bottom: 4rem !important;
}
.u-pt-0 {
   padding-top: 0 !important;
}
.u-pb-0 {
   padding-bottom: 0 !important;
}
@media (max-width: 767.98px) {
   .u-sm-mt-0 {
      margin-top: 0 !important;
   }
   .u-sm-mb-0 {
      margin-bottom: 0 !important;
   }
   .u-sm-pt-0 {
      padding-top: 0 !important;
   }
   .u-sm-pb-0 {
      padding-bottom: 0 !important;
   }
}
@media (min-width: 768px) {
   .u-md-mt-0 {
      margin-top: 0 !important;
   }
   .u-md-mt-2xs {
      margin-top: .625em !important;
   }
   .u-md-mt-xs {
      margin-top: .75em !important;
   }
   .u-md-mt-sm {
      margin-top: .875em !important;
   }
   .u-md-mt-lg {
      margin-top: 1.125em !important;
   }
   .u-md-mt-xl {
      margin-top: 1.25em !important;
   }
   .u-md-mt-2xl {
      margin-top: 1.5em !important;
   }
   .u-md-mt-10 { 
      margin-top: 1rem !important;
   }
   .u-md-mt-20 { 
      margin-top: 2rem !important;
   }
   .u-md-mt-30 { 
      margin-top: 3rem !important;
   }
   .u-md-mt-40 { 
      margin-top: 4rem !important;
   }
   .u-md-mb-0 {
      margin-bottom: 0 !important;
   }
   .u-md-mb-2xs {
      margin-bottom: .625em !important;
   }
   .u-md-mb-xs {
      margin-bottom: .75em !important;
   }
   .u-md-mb-sm {
      margin-bottom: .875em !important;
   }
   .u-md-mb-lg {
      margin-bottom: 1.125em !important;
   }
   .u-md-mb-xl {
      margin-bottom: 1.25em !important;
   }
   .u-md-mb-2xl {
      margin-bottom: 1.5em !important;
   }
   .u-md-mb-10 { 
      margin-bottom: 1rem !important;
   }
   .u-md-mb-20 { 
      margin-bottom: 2rem !important;
   }
   .u-md-mb-30 { 
      margin-bottom: 3rem !important;
   }
   .u-md-mb-40 { 
      margin-bottom: 4rem !important;
   }
   .u-md-pt-0 {
      padding-top: 0 !important;
   }
   .u-md-pb-0 {
      padding-bottom: 0 !important;
   }
}
.u-mx-auto {
   margin-right: auto !important;
   margin-left: auto !important;
}
.u-bgc-white {
   background-color: #FFF !important;
}
.u-bgc-beige {
   background-color: var(--color-beige) !important;
}
.u-bgc-light-green {
   background-color: var(--color-light-green) !important;
}
.u-bgc-light-blue {
   background-color: var(--color-light-blue) !important;
}
.u-bg-grid {
   background: var(--color-beige) url('../images/common/bg-grid.webp') repeat center top / 70px !important;
}
.u-text-inherit {
   color: inherit !important;
}
.u-text-white {
   color: #FFF !important;
}
.u-text-green {
   color: var(--color-green) !important;
}
.u-text-red {
   color: red !important;
}
.u-font-regular {
   font-weight: var(--fontweight-regular) !important;
}
.u-font-medium {
   font-weight: var(--fontweight-medium) !important;
}
.u-font-bold {
   font-weight: var(--fontweight-bold) !important;
}
.u-text-xs {
   font-size: .75em !important;
}
.u-text-sm {
   font-size: .875em !important;
}
.u-text-lg {
   font-size: 1.125em !important;
}
.u-text-xl {
   font-size: 1.25em !important;
}
.u-text-2xl {
   font-size: 1.5em !important;
}
.u-text-10 {
   font-size: 1rem !important;
}
.u-text-12 {
   font-size: 1.2rem !important;
}
@media (max-width: 767.98px) {
   .u-sm-text-xs {
      font-size: .75em !important;
   }
   .u-sm-text-sm {
      font-size: .875em !important;
   }
   .u-sm-text-lg {
      font-size: 1.125em !important;
   }
   .u-sm-text-xl {
      font-size: 1.25em !important;
   }
   .u-sm-text-2xl {
      font-size: 1.5em !important;
   }
   .u-sm-text-10 {
      font-size: 1rem !important;
   }
   .u-sm-text-12 {
      font-size: 1.2rem !important;
   }
}
.u-tracking-normal {
   letter-spacing: 0 !important;
}
.u-tracking-wide {
   letter-spacing: .025em !important;
}
.u-tracking-wider {
   letter-spacing: .05em !important;
}
.u-tracking-widest {
   letter-spacing: .1em !important;
}
.u-font-feature-palt {
   font-feature-settings: "palt" !important;
}
@media (max-width: 767.98px) {
   .u-sm-tracking-normal {
      letter-spacing: 0 !important;
   }
   .u-sm-tracking-wide {
      letter-spacing: .025em !important;
   }
   .u-sm-tracking-wider {
      letter-spacing: .05em !important;
   }
   .u-sm-tracking-widest {
      letter-spacing: .1em !important;
   }
   .u-sm-font-feature-palt {
      font-feature-settings: "palt" !important;
   }
}
.u-text-center {
   text-align: center !important;
}
.u-text-right {
   text-align: right !important;
}
.u-text-left {
   text-align: left !important;
}
.u-break-keep {
   word-break: keep-all !important;
}
.u-hover-img img {
   transition: opacity var(--animation-sec);
}
@media (hover: hover) {
   .u-hover-img:hover img {
      opacity: var(--hover-opacity);
   }
}
