@charset "UTF-8";
:root {
  --_logo-deepgreen: 0 105 52;
  --_logo-lightgreen: 34 172 56;
  --_logo-palegreen: 0 162 154;
  --_bg-lightgreen: 240 245 241;
  --_bg-lightgray: 245 245 245;
  --_bg-lightwhite: 253 253 253;
  --_text-currentblack: 68 68 68;
  --_text-lightgray: 187 187 187;
  --_color-white: 255 255 255;
  --_color-lightwhite: 221 221 221;
  --_color-lightgray: 204 204 204;
  --_color-darkgray: 153 153 153;
}

:target {
  scroll-margin-top: 100px; /* ヘッダーの高さぶん調整 */
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1rem;
  font-size: clamp(1rem, 0.771rem + 0.47vw, 1.125rem);
  font-weight: 500;
  line-height: 1.75;
  color: rgb(var(--_text-currentblack)/1);
}

.l-sitemain {
  padding-block: 0 10rem;
}
.l-sitemain[data-page=index] {
  padding-block: 0;
}

.c-header {
  display: block grid;
  grid-template-columns: 1fr auto auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  block-size: 60px;
  padding-inline: 1rem 0.5rem;
  background-color: rgb(var(--_color-white)/0.8);
  backdrop-filter: blur(5px);
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  position: sticky;
  top: 0;
  z-index: 50;
}
@media screen and (min-width: 768px) {
  .c-header {
    block-size: 80px;
    padding-inline: 1rem;
  }
}
@media screen and (min-width: 992px) {
  .c-header {
    gap: 2rem;
    block-size: 90px;
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-header {
    block-size: 100px;
    padding-inline: 3rem;
  }
}

.c-header__logo {
  display: block;
  inline-size: 200px;
}
@media screen and (min-width: 576px) {
  .c-header__logo {
    inline-size: 220px;
  }
}
@media screen and (min-width: 768px) {
  .c-header__logo {
    inline-size: 240px;
  }
}
@media screen and (min-width: 992px) {
  .c-header__logo {
    inline-size: 270px;
  }
}
@media screen and (min-width: 1200px) {
  .c-header__logo {
    inline-size: 290px;
  }
}

.c-header__nav {
  display: none;
  grid-template-columns: repeat(4, auto);
  gap: 1rem;
}
@media screen and (min-width: 992px) {
  .c-header__nav {
    display: block grid;
  }
}

.c-header__nav-link {
  display: block;
  padding: 0.75rem;
  font-weight: 500;
  position: relative;
}
.c-header__nav-link::before {
  content: "";
  inline-size: 0;
  height: 2px;
  background-color: rgb(var(--_logo-deepgreen)/1);
  position: absolute;
  bottom: 0.25rem;
  left: 50%;
  translate: -50%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-header__nav-link:hover::before {
  content: "";
  inline-size: 100%;
}

.c-hamburger {
  display: block grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  inline-size: 60px;
  aspect-ratio: 1/1;
  margin-inline: auto 0;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 768px) {
  .c-hamburger {
    inline-size: 60px;
  }
}
@media screen and (min-width: 992px) {
  .c-hamburger {
    inline-size: 70px;
  }
}
@media screen and (min-width: 1200px) {
  .c-hamburger {
    inline-size: 90px;
  }
}

.c-hamburger__button {
  --_iconheight: 10px;
  display: block grid;
  grid-template-rows: var(--_iconheight) auto;
  gap: 0.625rem;
  place-content: center;
  place-items: center;
  block-size: 100%;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 0;
  position: relative;
}
@media screen and (min-width: 768px) {
  .c-hamburger__button {
    --_iconheight: 12px;
    gap: 0.75rem;
  }
}
@media screen and (min-width: 992px) {
  .c-hamburger__button {
    --_iconheight: 14px;
  }
}
@media screen and (min-width: 1200px) {
  .c-hamburger__button {
    --_iconheight: 16px;
  }
}

.c-hamburger__icon {
  display: block grid;
  block-size: 100%;
  inline-size: 100%;
}
.c-hamburger__icon::before, .c-hamburger__icon::after {
  content: "";
  block-size: 2px;
  inline-size: 40px;
  background-color: rgb(var(--_logo-lightgreen)/1);
  position: absolute;
  left: 50%;
}
.c-hamburger__icon::before {
  translate: -50% 0;
}
.c-hamburger__icon::after {
  translate: -50% 10px;
}
@media screen and (min-width: 476px) {
  .c-hamburger__icon::before, .c-hamburger__icon::after {
    inline-size: 45px;
  }
  .c-hamburger__icon::after {
    translate: -50% 12px;
  }
}
@media screen and (min-width: 768px) {
  .c-hamburger__icon::before, .c-hamburger__icon::after {
    inline-size: 50px;
  }
  .c-hamburger__icon::after {
    translate: -50% 12px;
  }
}
@media screen and (min-width: 992px) {
  .c-hamburger__icon::before, .c-hamburger__icon::after {
    inline-size: 55px;
  }
  .c-hamburger__icon::after {
    translate: -50% 14px;
  }
}
@media screen and (min-width: 1200px) {
  .c-hamburger__icon::after {
    translate: -50% 16px;
  }
}

.c-hamburger__readtext {
  display: none;
}

.c-hamburger__displaytext {
  font-family: "Figtree", sans-serif;
  font-size: clamp(0.813rem, 0.59rem + 0.46vw, 0.938rem);
  font-weight: 500;
  color: rgb(var(--_text-currentblack)/1);
}

.c-megamenu {
  display: block;
  inline-size: 80%;
  block-size: unset;
  max-inline-size: unset;
  max-block-size: unset;
  margin: unset;
  margin-inline: auto 0;
  padding: unset;
  border: unset;
  background-color: rgb(255, 255, 255);
  position: fixed;
  inset: 0;
  -webkit-transform: translateX(100%);
          transform: translateX(100%); /* スライドアウト */
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  outline: 0;
  z-index: 80;
}
.c-megamenu::-ms-backdrop {
  -ms-transition-property: opacity;
  transition-property: opacity;
  transition-duration: inherit;
}
.c-megamenu::backdrop {
  -webkit-transition-property: opacity;
  transition-property: opacity;
  -webkit-transition-duration: inherit;
          transition-duration: inherit;
}
.c-megamenu[open]::-ms-backdrop {
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(5px);
}
.c-megamenu[open]::backdrop {
  background: rgba(0, 0, 0, 0.8);
  backdrop-filter: blur(5px);
}
@media screen and (min-width: 768px) {
  .c-megamenu {
    inline-size: 50%;
  }
}

.c-megamenu__button {
  block-size: 60px;
  aspect-ratio: 1;
  margin-inline: auto 0;
}
@media screen and (min-width: 576px) {
  .c-megamenu__button {
    block-size: 60px;
  }
}
@media screen and (min-width: 768px) {
  .c-megamenu__button {
    block-size: 70px;
  }
}
@media screen and (min-width: 992px) {
  .c-megamenu__button {
    block-size: 80px;
  }
}

.c-megamenu__close {
  block-size: 100%;
  inline-size: 100%;
  border: unset;
  position: relative;
}
.c-megamenu__close::before, .c-megamenu__close::after {
  content: "";
  block-size: 2px;
  inline-size: 50px;
  block-size: 2px;
  inline-size: 40px;
  background-color: rgb(var(--_logo-lightgreen)/1);
  position: absolute;
  top: 50%;
}
.c-megamenu__close::before {
  left: 50%;
  rotate: 45deg;
  translate: -50% 0;
}
.c-megamenu__close::after {
  right: 50%;
  rotate: -45deg;
  translate: 50% 0;
}

.c-megamenu__readtext {
  display: none;
}

.c-megamenu__nav {
  display: block grid;
  border-top: 1px solid rgb(var(--_color-lightgray)/1);
}

.c-megamenu__nav-item {
  border-bottom: 1px solid rgb(var(--_color-lightgray)/1);
}

.c-megamenu__nav-link {
  display: block flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  block-size: 60px;
  padding-inline: 1.5rem;
  font-size: clamp(1.125rem, 0.681rem + 0.93vw, 1.375rem);
  font-weight: bold;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-megamenu__nav-link::before {
  content: "";
  inline-size: 17px;
  block-size: 100%;
  background-image: url(../img/common/arrow-r-blk.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: 2rem;
  top: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-megamenu__nav-link:hover {
  background-color: rgb(var(--_color-lightwhite)/0.3);
}
.c-megamenu__nav-link:hover::before {
  right: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-megamenu__nav-link {
    block-size: 80px;
    padding-inline: 2rem;
  }
}

.c-headline {
  display: block grid;
  gap: 1rem;
  font-size: 6.5vw;
  font-weight: bold;
  line-height: 1.4;
}
.c-headline::after {
  content: attr(data-enttl) "";
  display: block;
  font-family: "Figtree", sans-serif;
  font-size: clamp(1rem, 0.556rem + 0.93vw, 1.25rem);
  font-weight: 500;
  color: rgb(var(--_text-lightgray)/1);
  letter-spacing: 2px;
  line-height: 1;
  text-indent: 0.2em;
  text-transform: uppercase;
}
@media screen and (min-width: 476px) {
  .c-headline {
    font-size: 6vw;
  }
}
@media screen and (min-width: 576px) {
  .c-headline {
    font-size: 5.5vw;
  }
}
@media screen and (min-width: 768px) {
  .c-headline {
    font-size: clamp(1.75rem, 0.639rem + 2.31vw, 2.375rem);
  }
  .c-headline::after {
    font-size: clamp(1rem, 0.556rem + 0.93vw, 1.25rem);
    letter-spacing: 4px;
  }
}

.c-news__list {
  display: block grid;
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
  border-top: solid rgb(var(--_color-lightwhite)/1);
}
@media screen and (min-width: 768px) {
  .c-news__list {
    display: block grid;
    grid-template-columns: auto auto 1fr;
  }
}

.c-news__list-item {
  display: block flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 1.5rem;
  padding-block: 1.5rem;
  padding-inline: 0 4rem;
  border-bottom: 1px solid rgb(var(--_color-lightwhite)/1);
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-news__list-item::before {
  content: "";
  inline-size: 17px;
  block-size: 100%;
  background-image: url(../img/common/arrow-r-blk.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  right: 1rem;
  top: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-news__list-item:hover {
  background-color: rgb(var(--_color-lightwhite)/0.3);
}
.c-news__list-item:hover::before {
  right: 0.5rem;
}
@media screen and (min-width: 768px) {
  .c-news__list-item {
    display: block grid;
    grid-template-columns: subgrid;
    grid-column: span 3;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    padding-inline: 0 5rem;
  }
}

.c-news__list-date {
  font-size: 1rem;
  position: relative;
  top: 0.25rem;
}

.c-news__list-category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-block: 0.25rem;
  padding-inline: 0.75rem;
  font-size: clamp(0.875rem, 0.764rem + 0.23vw, 0.938rem);
  color: rgb(var(--_logo-palegreen)/1);
  line-height: 1.2;
  border: 1px solid rgb(var(--_logo-palegreen)/1);
  background-color: rgb(var(--_color-white)/1);
  position: relative;
  top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .c-news__list-category {
    padding-inline: 1rem;
  }
}

.c-news__list-title {
  inline-size: 100%;
  font-size: clamp(1rem, 0.556rem + 0.93vw, 1.25rem);
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .c-news__list-title {
    inline-size: auto;
  }
}

.c-contactbanner .c-headline {
  grid-area: headline;
  margin-block: 0 2rem;
  color: rgb(var(--_color-white)/1);
}
.c-contactbanner .c-headline::after {
  color: rgb(var(--_color-white)/1);
}
@media screen and (min-width: 992px) {
  .c-contactbanner .c-headline {
    margin-block: 0 3rem;
  }
}

.c-contactbanner__link {
  display: block;
  position: relative;
}
.c-contactbanner__link:hover .c-contactbanner__icon::before {
  inline-size: 100%;
  background-color: rgb(var(--_color-white)/1);
}
.c-contactbanner__link:hover .c-contactbanner__icon::after {
  background-image: url(../img/common/arrow2-r-blk.svg);
}
.c-contactbanner__link:hover .c-contactbanner__fig img {
  scale: 1.05;
}

.c-contactbanner__main {
  display: block grid;
  grid-template-rows: repeat(2, auto);
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-areas: "headline" "sumamry" "icon";
  -webkit-column-gap: 3rem;
     -moz-column-gap: 3rem;
          column-gap: 3rem;
  inline-size: 100%;
  max-inline-size: 870px;
  padding-inline: 2rem;
  position: absolute;
  left: 50%;
  top: 50%;
  translate: -50% -50%;
  z-index: 20;
}
@media screen and (min-width: 576px) {
  .c-contactbanner__main {
    grid-template-columns: 1fr 120px;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    grid-template-areas: "headline icon" "sumamry icon";
  }
}
@media screen and (min-width: 768px) {
  .c-contactbanner__main {
    grid-template-columns: 1fr 130px;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
    max-inline-size: 750px;
    padding-inline: 3rem;
  }
}
@media screen and (min-width: 992px) {
  .c-contactbanner__main {
    grid-template-columns: 1fr 140px;
    max-inline-size: 800px;
  }
}
@media screen and (min-width: 1200px) {
  .c-contactbanner__main {
    grid-template-columns: 1fr 150px;
    max-inline-size: 870px;
  }
}

.c-contactbanner__summary {
  grid-area: sumamry;
  max-inline-size: 480px;
  margin-block: 0 2rem;
  font-size: clamp(1rem, 0.778rem + 0.46vw, 1.125rem);
  color: rgb(var(--_color-white)/1);
  line-height: 2.2;
}
@media screen and (min-width: 576px) {
  .c-contactbanner__summary {
    margin-block: 0;
  }
}

.c-contactbanner__icon {
  grid-area: icon;
  inline-size: 120px;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 3px solid rgb(var(--_color-white)/1);
  position: relative;
}
.c-contactbanner__icon::before {
  content: "";
  inline-size: 10%;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgb(var(--_color-white)/0);
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.c-contactbanner__icon::after {
  content: "";
  inline-size: 18px;
  block-size: 100%;
  background-image: url(../img/common/arrow2-r-wht.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 44%;
}
@media screen and (min-width: 576px) {
  .c-contactbanner__icon {
    inline-size: auto;
  }
  .c-contactbanner__icon::after {
    inline-size: 20px;
  }
}
@media screen and (min-width: 768px) {
  .c-contactbanner__icon::after {
    inline-size: 22px;
  }
}
@media screen and (min-width: 992px) {
  .c-contactbanner__icon {
    border: 4px solid rgb(var(--_color-white)/1);
  }
  .c-contactbanner__icon::after {
    inline-size: 26px;
    left: 44%;
  }
}

.c-contactbanner__fig {
  overflow: clip;
  inline-size: 100%;
  block-size: 400px;
}
.c-contactbanner__fig img {
  -o-object-fit: cover;
     object-fit: cover;
  inline-size: 100%;
  block-size: 100%;
  scale: 1;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (min-width: 768px) {
  .c-contactbanner__fig {
    block-size: 400px;
  }
}
@media screen and (min-width: 992px) {
  .c-contactbanner__fig {
    block-size: 400px;
  }
}
@media screen and (min-width: 1200px) {
  .c-contactbanner__fig {
    block-size: 500px;
  }
}

.c-secheader {
  display: block grid;
  gap: 2rem;
  padding-block: 4rem 5rem;
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .c-secheader {
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .c-secheader {
    gap: 1rem;
    padding-block: 7rem 5rem;
  }
}

.c-pagetitle {
  display: block grid;
  gap: 0.5rem;
  margin: 0;
  padding-inline: 1.375rem 0;
  font-size: clamp(1.5rem, -0.5rem + 4.17vw, 2.625rem);
  font-weight: bold;
  line-height: 1.4;
  position: relative;
}
.c-pagetitle::before {
  content: "";
  inline-size: 12px;
  block-size: 4px;
  background-color: rgb(var(--_logo-lightgreen)/1);
  position: absolute;
  top: 0.7em;
  left: 0;
}
.c-pagetitle::after {
  content: attr(data-enttl) "";
  font-family: "Figtree", sans-serif;
  font-size: clamp(1rem, 0.542rem + 0.94vw, 1.25rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media screen and (min-width: 768px) {
  .c-pagetitle {
    gap: 1rem;
  }
}

.c-breadcrumb-list {
  display: block flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.5rem;
}
.c-breadcrumb-list li {
  display: block grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.c-breadcrumb-list li:last-of-type span {
  color: rgb(var(--_text-currentblack)/1);
}
.c-breadcrumb-list li:not(:last-of-type) {
  grid-template-columns: auto 12px;
  gap: 0.5rem;
}
.c-breadcrumb-list li:not(:last-of-type)::after {
  content: "";
  inline-size: 100%;
  block-size: 2px;
  background-color: rgb(var(--_logo-lightgreen)/1);
  position: relative;
  top: 2px;
}

.c-breadcrumb__link {
  color: rgb(var(--_color-lightgray)/1);
  font-size: clamp(0.813rem, 0.584rem + 0.47vw, 0.938rem);
  font-weight: 500;
}
.c-breadcrumb__link span {
  display: inline-block;
  vertical-align: middle;
  max-width: 120px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c-contents {
  max-inline-size: 1000px;
  margin-inline: auto;
  padding-inline: 4vw;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (min-width: 576px) {
  .c-contents {
    padding-inline: 2rem;
  }
}

.c-subheadline {
  display: block grid;
  gap: 1rem;
  padding-block: 0 3rem;
  font-size: clamp(1.125rem, 0.667rem + 0.94vw, 1.375rem);
  font-weight: bold;
  line-height: 1.2;
}
.c-subheadline::before {
  content: attr(data-enttl) "";
  font-family: "Figtree", sans-serif;
  font-size: clamp(1.875rem, -0.413rem + 4.72vw, 3.125rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
@media screen and (min-width: 576px) {
  .c-subheadline {
    padding-block: 0 5rem;
  }
}
@media screen and (min-width: 768px) {
  .c-subheadline {
    padding-block: 0 6rem;
  }
}

.c-section-title {
  margin: 0;
  padding: 0;
  margin-block: 0 3rem;
  padding-block: 0 1rem;
  font-size: clamp(1.5rem, 0.585rem + 1.89vw, 2rem);
  line-height: 1.4;
  position: relative;
}
.c-section-title::before, .c-section-title::after {
  content: "";
  width: 100%;
  block-size: 3px;
  inline-size: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}
.c-section-title::before {
  background-color: rgb(var(--_logo-palegreen)/1);
}
.c-section-title::after {
  inline-size: 15%;
  background-color: rgb(var(--_text-lightgray)/1);
}

.c-section-subtitle {
  margin-block: 0 2rem;
  padding-inline: 1rem 0;
  font-size: clamp(1.375rem, 0.689rem + 1.42vw, 1.75rem);
  font-weight: bold;
  line-height: 1.4;
  position: relative;
}
.c-section-subtitle::before {
  content: "";
  block-size: 24px;
  inline-size: 4px;
  background-color: rgb(var(--_logo-deepgreen)/1);
  position: absolute;
  top: 0.2em;
  left: 0;
}

.c-block-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(1.375rem, 0.689rem + 1.42vw, 1.75rem);
  font-weight: bold;
}

.c-block-note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: clamp(1.125rem, 0.896rem + 0.47vw, 1.25rem);
  font-weight: bold;
}

.c-media {
  display: grid;
  gap: 4rem;
}
.c-media[data-figsize=large] {
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .c-media {
    gap: 5rem;
  }
  .c-media[data-figsize=large] {
    gap: 7rem;
  }
  .c-media[data-figsize=large] .c-media__item {
    grid-template-columns: 1fr 40%;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
  .c-media[data-figsize=large] .c-media__item[data-position=reverse] {
    grid-template-columns: 40% 1fr;
  }
}
@media screen and (min-width: 992px) {
  .c-media[data-figsize=large] {
    gap: 8rem;
  }
}

.c-media__item {
  display: grid;
  row-gap: 1rem;
  grid-template-areas: "fig" "title" "summary";
}
.c-media__item[data-position=reverse] {
  grid-template-areas: "fig" "title" "summary";
}
@media screen and (min-width: 768px) {
  .c-media__item {
    grid-template-columns: 1fr 300px;
    grid-template-rows: auto 1fr;
    gap: 1rem 3rem;
    grid-template-areas: "title fig" "summary fig";
  }
  .c-media__item[data-position=reverse] {
    grid-template-areas: "fig title" "fig summary";
  }
}

.c-media__title {
  grid-area: title;
  font-size: clamp(1.25rem, 0.792rem + 0.94vw, 1.5rem);
}

.c-media__summary {
  grid-area: summary;
}

.c-media__fig {
  grid-area: fig;
}
.c-media__fig img {
  inline-size: 100%;
}

.c-feature {
  display: grid;
  row-gap: 3rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .c-feature {
    grid-template-columns: auto auto -webkit-fit-content;
    grid-template-columns: auto auto fit-content;
    row-gap: 2rem;
  }
}
@media screen and (min-width: 992px) {
  .c-feature {
    row-gap: 3rem;
  }
}

.c-feature__item {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .c-feature__item {
    grid-template-areas: "num title" "num summary";
    grid-template-columns: 50px 1fr;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media screen and (min-width: 768px) {
  .c-feature__item {
    grid-template-columns: subgrid;
    grid-column: span 3;
    gap: 0;
  }
}

.c-feature__num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  inline-size: 50px;
  block-size: 50px;
  aspect-ratio: 1;
  font-family: "Figtree", sans-serif;
  font-size: clamp(2rem, 1.085rem + 1.89vw, 2.5rem);
  font-weight: 600;
  color: rgb(var(--_color-white)/1);
  background-color: rgb(var(--_logo-palegreen)/1);
}
@media screen and (max-width: 767px) {
  .c-feature__num {
    grid-area: num;
  }
}
@media screen and (min-width: 768px) {
  .c-feature__num {
    inline-size: 60px;
    block-size: 60px;
  }
}
@media screen and (min-width: 992px) {
  .c-feature__num {
    inline-size: 70px;
    block-size: 70px;
  }
}

.c-feature__title {
  font-size: clamp(1.25rem, 0.792rem + 0.94vw, 1.5rem);
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-feature__title {
    grid-area: title;
    padding-block: 0 1rem;
  }
}
@media screen and (min-width: 768px) {
  .c-feature__title {
    padding-inline: 1.5rem 0;
  }
}
@media screen and (min-width: 992px) {
  .c-feature__title {
    padding-inline: 2rem 0;
  }
}

.c-feature__summary {
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .c-feature__summary {
    grid-area: summary;
  }
}
@media screen and (min-width: 768px) {
  .c-feature__summary {
    padding-inline: 3rem 0;
  }
}
@media screen and (min-width: 992px) {
  .c-feature__summary {
    padding-inline: 4rem 0;
  }
}

.c-card {
  display: grid;
  gap: 1rem;
}
@media screen and (min-width: 768px) {
  .c-card {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
}
@media screen and (min-width: 992px) {
  .c-card {
    gap: 2rem;
  }
}

.c-card__item {
  padding-block: 1.5rem;
  padding-inline: 2rem;
  border: 1px solid rgb(var(--_color-lightgray)/1);
  border-radius: 10px;
}

.c-card__title {
  padding-block: 0 1rem;
  font-size: clamp(1.125rem, 0.896rem + 0.47vw, 1.25rem);
  font-weight: bold;
  line-height: 1.4;
}

.c-bracket {
  display: grid;
  row-gap: 2rem;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .c-bracket {
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 992px) {
  .c-bracket {
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}

.c-bracket__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 2rem;
  padding-block: 1.5rem;
  padding-inline: 2.5rem;
  border: 3px solid rgb(var(--_logo-deepgreen)/1);
  position: relative;
}
.c-bracket__box::before, .c-bracket__box::after {
  content: "";
  inline-size: calc(100% - 30px);
  block-size: 3px;
  background-color: rgb(var(--_color-white)/1);
  position: absolute;
  top: -3px;
  left: 50%;
  translate: -50% 0;
  z-index: 1;
}
.c-bracket__box::after {
  top: auto;
  bottom: -3px;
}
@media screen and (min-width: 768px) {
  .c-bracket__box {
    padding-block: 1rem;
    padding-inline: 1.5rem;
  }
}
@media screen and (min-width: 992px) {
  .c-bracket__box {
    padding-block: 1.5rem;
    padding-inline: 2.5rem;
  }
}

.c-bracket__title {
  font-size: clamp(1.25rem, 0.792rem + 0.94vw, 1.5rem);
  font-weight: 500;
  line-height: 1;
}

.c-bracket__list {
  display: grid;
  gap: 0.75rem;
  inline-size: 100%;
  padding-inline: 1rem 0;
}
@media screen and (min-width: 768px) {
  .c-bracket__list {
    inline-size: 100%;
  }
}

.c-bracket__listitem {
  line-height: 1.4;
  list-style: disc;
}

.c-footer {
  display: block grid;
  grid-template-columns: 1fr auto;
  grid-template-areas: "sitemap" "info" "copy";
  padding-block: 3rem 3rem;
}
@media screen and (min-width: 768px) {
  .c-footer {
    padding-block: 6rem 3rem;
  }
}
@media screen and (min-width: 992px) {
  .c-footer {
    grid-template-areas: "info sitemap" "copy copy";
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-footer {
    padding-inline: 3rem;
  }
}

.c-footer__info {
  grid-area: info;
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-block: 4rem;
}
@media screen and (min-width: 576px) {
  .c-footer__info {
    padding-block: 5rem;
  }
}
@media screen and (min-width: 992px) {
  .c-footer__info {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-block: 0 6rem;
  }
}

.c-footer__headline {
  margin-block: 0 4rem;
  font-size: clamp(1.375rem, 0.919rem + 0.95vw, 1.75rem);
  font-weight: bold;
}
@media screen and (min-width: 992px) {
  .c-footer__headline {
    margin-block: 0;
  }
}

.c-footer__logo {
  inline-size: 260px;
}
@media screen and (min-width: 1200px) {
  .c-footer__logo {
    inline-size: 300px;
  }
}

.c-footer__sitemap {
  grid-area: sitemap;
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-top: 1px solid rgb(var(--_color-lightgray)/1);
}
@media screen and (min-width: 768px) {
  .c-footer__sitemap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    padding-block: 0 6rem;
    border-top: 0;
  }
}
@media screen and (min-width: 992px) {
  .c-footer__sitemap {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    padding-block: 3rem 6rem;
  }
}
@media screen and (min-width: 1200px) {
  .c-footer__sitemap {
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
    padding-block: 3rem 6rem;
  }
}

.c-footer__sitemap-list {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
}
@media screen and (min-width: 768px) {
  .c-footer__sitemap-list {
    gap: 1rem;
  }
}

.c-footer__sitemap-item {
  width: 100%;
}
.c-footer__sitemap-item br {
  display: none;
}
.c-footer__sitemap-item > a {
  display: block;
  padding-block: 1rem;
  padding-inline: 1rem;
  font-size: 0.9375rem;
  font-weight: bold;
  line-height: 1.4;
  border-bottom: 1px solid rgb(var(--_color-lightgray)/1);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-footer__sitemap-item > a:hover {
  opacity: 0.5;
}
@media screen and (min-width: 576px) {
  .c-footer__sitemap-item > a {
    padding-block: 1.5rem;
    font-size: clamp(1rem, 0.392rem + 0.98vw, 1.25rem);
  }
}
@media screen and (min-width: 768px) {
  .c-footer__sitemap-item br {
    display: block;
  }
  .c-footer__sitemap-item > a {
    padding-block: 0;
    padding-inline: 0;
    border-bottom: 0;
  }
}

.c-footer__sitemap-sublist {
  display: none;
  gap: 0.5rem;
  padding-block: 1rem 0;
}
@media screen and (min-width: 768px) {
  .c-footer__sitemap-sublist {
    display: block grid;
  }
}

.c-footer__sitemap-subitem {
  display: block grid;
  grid-template-columns: 10px 1fr;
  gap: 0.5rem;
}
.c-footer__sitemap-subitem > a {
  font-size: clamp(0.875rem, 0.723rem + 0.25vw, 0.938rem);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-footer__sitemap-subitem > a:hover {
  opacity: 0.5;
}
.c-footer__sitemap-subitem::before {
  content: "";
  width: 100%;
  height: 2px;
  background-color: rgb(var(--_logo-palegreen)/1);
  position: relative;
  top: 0.48lh;
}

.p-footer__copy {
  grid-area: copy;
  padding-block: 3rem 0;
  font-size: clamp(0.875rem, 0.764rem + 0.23vw, 0.938rem);
  font-weight: normal;
  text-align: center;
  border-top: 1px solid rgb(var(--_color-lightgray)/1);
}

.u-bg__gray {
  padding-block: 6rem;
  background-color: rgb(var(--_bg-lightgray)/1);
}
@media screen and (min-width: 768px) {
  .u-bg__gray {
    padding-block: 7rem;
  }
}
@media screen and (min-width: 992px) {
  .u-bg__gray {
    padding-block: 8rem;
  }
}

.u-mbs-xs {
  -webkit-margin-before: 32px;
          margin-block-start: 32px;
}

.u-mbs-sm {
  -webkit-margin-before: 48px;
          margin-block-start: 48px;
}

.u-mbs-md {
  -webkit-margin-before: 64px;
          margin-block-start: 64px;
}

.u-mbs-lg {
  -webkit-margin-before: 80px;
          margin-block-start: 80px;
}

.u-mbs-xl {
  -webkit-margin-before: 96px;
          margin-block-start: 96px;
}

.u-mbs-xxl {
  -webkit-margin-before: 128px;
          margin-block-start: 128px;
}

.u-mbs-xxll {
  -webkit-margin-before: 160px;
          margin-block-start: 160px;
}

.u-mbe-xs {
  -webkit-margin-after: 32px;
          margin-block-end: 32px;
}

.u-mbe-sm {
  -webkit-margin-after: 48px;
          margin-block-end: 48px;
}

.u-mbe-md {
  -webkit-margin-after: 64px;
          margin-block-end: 64px;
}

.u-mbe-lg {
  -webkit-margin-after: 80px;
          margin-block-end: 80px;
}

.u-mbe-xl {
  -webkit-margin-after: 96px;
          margin-block-end: 96px;
}

.u-mbe-xxl {
  -webkit-margin-after: 128px;
          margin-block-end: 128px;
}

.u-mbe-xxll {
  -webkit-margin-after: 160px;
          margin-block-end: 160px;
}

.u-mb-xs {
  margin-block: 64px;
}

.u-mi-sm {
  margin-inline: 48px;
}

.u-pbs-xs {
  -webkit-padding-before: 32px;
          padding-block-start: 32px;
}

.u-pbs-sm {
  -webkit-padding-before: 48px;
          padding-block-start: 48px;
}

.u-pbs-md {
  -webkit-padding-before: 64px;
          padding-block-start: 64px;
}

.u-pbs-lg {
  -webkit-padding-before: 80px;
          padding-block-start: 80px;
}

.u-pbs-xl {
  -webkit-padding-before: 96px;
          padding-block-start: 96px;
}

.u-pbs-xxl {
  -webkit-padding-before: 128px;
          padding-block-start: 128px;
}

.u-pbs-xxll {
  -webkit-padding-before: 160px;
          padding-block-start: 160px;
}

.u-pbe-xs {
  -webkit-padding-after: 32px;
          padding-block-end: 32px;
}

.u-pbe-sm {
  -webkit-padding-after: 48px;
          padding-block-end: 48px;
}

.u-pbe-md {
  -webkit-padding-after: 64px;
          padding-block-end: 64px;
}

.u-pbe-lg {
  -webkit-padding-after: 80px;
          padding-block-end: 80px;
}

.u-pbe-xl {
  -webkit-padding-after: 96px;
          padding-block-end: 96px;
}

.u-pbe-xxl {
  -webkit-padding-after: 80px;
          padding-block-end: 80px;
}
@media screen and (min-width: 992px) {
  .u-pbe-xxl {
    -webkit-padding-after: 96px;
            padding-block-end: 96px;
  }
}
@media screen and (min-width: 1200px) {
  .u-pbe-xxl {
    -webkit-padding-after: 128px;
            padding-block-end: 128px;
  }
}

.u-pbe-xxll {
  -webkit-padding-after: 160px;
          padding-block-end: 160px;
}

.c-button {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  grid-template-columns: 1fr auto;
  block-size: 50px;
  inline-size: 240px;
  padding-inline: 1.25rem 0.625rem;
  font-size: clamp(1rem, 0.778rem + 0.46vw, 1.125rem);
  font-weight: bold;
  color: rgb(var(--_logo-deepgreen)/1);
  border: 2px solid rgb(var(--_logo-deepgreen)/1);
  border-radius: 30px;
  background-color: rgb(var(--_color-white)/1);
  -webkit-transition: ease-in-out 0.3s;
  transition: ease-in-out 0.3s;
}
.c-button span {
  inline-size: 28px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgb(var(--_logo-deepgreen));
  -webkit-transition: ease-in-out 0.3s;
  transition: ease-in-out 0.3s;
  position: relative;
}
.c-button span::before {
  content: "";
  inline-size: 100%;
  block-size: 100%;
  background-image: url(../img/common/arrow-r-wht.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 14px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-button:hover {
  color: rgb(var(--_color-white)/1);
  background-color: rgb(var(--_logo-deepgreen)/1);
}
.c-button:hover span {
  background-color: rgb(var(--_color-white)/1);
}
.c-button:hover span::before {
  background-image: url(../img/common/arrow-r-grn.svg);
}
@media screen and (min-width: 768px) {
  .c-button {
    block-size: 55px;
    inline-size: 260px;
    padding-inline: 1.5rem 0.75rem;
  }
  .c-button span {
    inline-size: 30px;
  }
  .c-button span::before {
    background-size: 14px;
  }
}
@media screen and (min-width: 992px) {
  .c-button {
    block-size: 60px;
    inline-size: 280px;
    padding-inline: 1.75rem 1rem;
  }
}

.p-topintro {
  container-type: inline-size;
  position: relative;
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-topintro {
    padding-inline: 2rem;
  }
}

.p-topintro__inner {
  max-inline-size: 1000px;
  margin-inline: auto;
}

.p-topintro__headline {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  block-size: calc(100vh - 60px);
  inline-size: 100%;
  padding-block: 0 10rem;
  font-size: 6.5vw;
  font-weight: bold;
  text-shadow: 0 0 10px #fff, 0 0 15px #fff, 0 0 15px #fff;
  position: relative;
  z-index: 20;
}
@media screen and (min-width: 476px) {
  .p-topintro__headline {
    font-size: 6vw;
  }
}
@media screen and (min-width: 576px) {
  .p-topintro__headline {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 5.5vw;
  }
}
@media screen and (min-width: 768px) {
  .p-topintro__headline {
    block-size: 80vh;
    padding-block: 0;
    font-size: clamp(2.375rem, -0.514rem + 6.02vw, 4rem);
  }
}
@media screen and (min-width: 1200px) {
  .p-topintro__headline {
    block-size: 85vh;
  }
}

.p-topintro__detail {
  display: block grid;
  gap: 1lh;
  padding-block: 4rem;
  padding-inline: 1.5rem;
  font-size: clamp(1rem, 0.778rem + 0.46vw, 1.125rem);
  border-radius: 30px;
  background-color: rgb(var(--_bg-lightgreen)/1);
  position: relative;
}
@media screen and (min-width: 576px) {
  .p-topintro__detail {
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-topintro__detail {
    padding-block: 6rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-topintro__detail {
    margin-inline: calc((1000px - 100cqi) / 2) 0;
    padding-block: 7rem;
    padding-inline: calc((100cqi - 1000px) / 2) 0;
  }
}

.p-topintro__subheadline {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 6.5vw;
  font-weight: 700;
}
@media screen and (min-width: 476px) {
  .p-topintro__subheadline {
    font-size: 6vw;
  }
}
@media screen and (min-width: 576px) {
  .p-topintro__subheadline {
    font-size: 5.5vw;
  }
}
@media screen and (min-width: 768px) {
  .p-topintro__subheadline {
    font-size: clamp(1.75rem, 0.194rem + 3.24vw, 2.625rem);
  }
}

.p-topintro__par {
  line-height: 2;
}
.p-topintro__par br {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-topintro__par {
    inline-size: 55cqi;
    line-height: 2.2;
  }
}
@media screen and (min-width: 1200px) {
  .p-topintro__par {
    max-inline-size: 665px;
  }
  .p-topintro__par br {
    display: block;
  }
}

.p-topintro__button {
  padding-block: 2rem 0;
}

.p-intro__hand {
  block-size: calc(100vh - 60px + 4rem + 2lh);
  font-size: clamp(1.75rem, 0.194rem + 3.24vw, 2.625rem);
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (min-width: 476px) {
  .p-intro__hand {
    block-size: calc(100vh - 60px + 4rem + 3lh);
  }
}
@media screen and (min-width: 768px) {
  .p-intro__hand {
    block-size: 100%;
  }
}

.p-intro__hand-inner {
  display: block flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  inline-size: 70cqi;
  max-inline-size: 300px;
  block-size: 90vh;
  padding-block: 0 2rem;
  position: sticky;
  top: 0;
  right: 0;
}
@media screen and (min-width: 476px) {
  .p-intro__hand-inner {
    inline-size: 60cqi;
  }
}
@media screen and (min-width: 992px) {
  .p-intro__hand-inner {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    inline-size: 40cqi;
    max-inline-size: 600px;
    block-size: 85vh;
  }
}
@media screen and (min-width: 1200px) {
  .p-intro__hand-inner {
    inline-size: 40cqi;
    block-size: 90vh;
  }
}

.p-tc {
  overflow: clip;
  container-type: inline-size;
  padding-block: 5rem 0;
  position: relative;
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-tc {
    padding-inline: 2rem;
  }
}
.p-tc .c-headline {
  margin-block: 0 1.5rem;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 576px) {
  .p-tc {
    padding-block: 6rem 0;
  }
  .p-tc .c-headline {
    margin-block: 0 20cqi;
  }
}
@media screen and (min-width: 768px) {
  .p-tc {
    padding-block: 7rem 0;
  }
  .p-tc .c-headline {
    margin-block: 0 20cqi;
  }
}
@media screen and (min-width: 992px) {
  .p-tc {
    padding-block: 8rem 0;
  }
  .p-tc .c-headline {
    margin-block: 0 13rem;
  }
}

.p-tc__inner {
  max-inline-size: 1000px;
  margin-inline: auto;
}

.p-tc__subheadline {
  padding-block: 0 2rem;
  font-size: clamp(1.5rem, 0.611rem + 1.85vw, 2rem);
  font-weight: bold;
  position: relative;
  z-index: 10;
}

.p-tc__summary {
  max-inline-size: 650px;
  margin-block: 0 5rem;
  font-size: clamp(1rem, 0.778rem + 0.46vw, 1.125rem);
  line-height: 2.2;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 768px) {
  .p-tc__summary {
    margin-block: 0 6rem;
  }
}
@media screen and (min-width: 992px) {
  .p-tc__summary {
    margin-block: 0 7rem;
  }
}

.p-tc__features-headline {
  display: block flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-block: 0 1.5rem;
  font-size: clamp(1.375rem, 0.708rem + 1.39vw, 1.75rem);
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  .p-tc__features-headline {
    margin-block: 0 2rem;
  }
}

.p-tc__features-list {
  display: block grid;
  row-gap: 1.5rem;
  max-inline-size: 450px;
  margin-inline: auto;
  margin-block: 0 5rem;
}
@media screen and (min-width: 768px) {
  .p-tc__features-list {
    grid-template-columns: repeat(3, 1fr);
    row-gap: 0;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    max-inline-size: 100%;
  }
}
@media screen and (min-width: 992px) {
  .p-tc__features-list {
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}

.p-tc__features-item {
  display: block grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  grid-template-areas: "fig" "headline" "summary";
}

.p-tc__features-subheadline {
  grid-area: headline;
  margin-block: 0 0.75rem;
  font-size: clamp(1rem, 0.778rem + 0.46vw, 1.125rem);
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
}

.p-tc__features-summary {
  grid-area: summary;
}

.p-tc__features-fig {
  grid-area: fig;
  margin-block: 0 1.5rem;
}
.p-tc__features-fig img {
  width: 100%;
}

.p-tc__button {
  display: block flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-tc_deco {
  margin-inline: auto -3rem;
  inline-size: 110cqi;
  z-index: 0;
}
@media screen and (min-width: 576px) {
  .p-tc_deco {
    inline-size: 80cqi;
    position: absolute;
    top: 8.5rem;
    right: -4rem;
  }
}
@media screen and (min-width: 768px) {
  .p-tc_deco {
    inline-size: 80cqi;
    top: 7rem;
    right: -4rem;
  }
}
@media screen and (min-width: 992px) {
  .p-tc_deco {
    inline-size: 700px;
    top: 6rem;
    right: -3rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-tc_deco {
    inline-size: 800px;
    right: 0;
  }
}
@media screen and (min-width: 1400px) {
  .p-tc_deco {
    inline-size: 900px;
    right: auto;
    left: 45cqi;
  }
}

.p-service {
  container-type: inline-size;
  padding-block: 4rem 5rem;
  position: relative;
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-service {
    padding-inline: 2rem;
  }
}
.p-service .c-headline {
  margin-block: 0 3rem;
}
.p-service::before {
  content: "";
  block-size: 45cqb;
  inline-size: 100%;
  background-color: rgb(var(--_bg-lightgreen)/1);
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-service::after {
  content: "";
  block-size: 1px;
  inline-size: 100cqi;
  background-color: rgb(var(--_color-lightgray)/1);
  position: absolute;
  top: 4rem;
  left: 50%;
  translate: -50%;
  z-index: -1;
}
@media screen and (min-width: 476px) {
  .p-service {
    padding-block: 5rem 5rem;
  }
  .p-service::before {
    block-size: 45cqb;
  }
  .p-service::after {
    top: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-service {
    padding-block: 7rem 5rem;
  }
  .p-service::after {
    top: 7rem;
  }
}
@media screen and (min-width: 992px) {
  .p-service {
    padding-block: 9rem 5rem;
  }
  .p-service::before {
    block-size: 30cqi;
  }
  .p-service::after {
    top: 9rem;
  }
}

.p-service__inner {
  max-inline-size: 1000px;
  margin-inline: auto;
  padding-block: 3rem 0;
  z-index: 20;
}

.p-service__intro {
  margin-block: 0 8rem;
}

.p-service__list {
  display: block grid;
  -webkit-column-gap: 2rem;
     -moz-column-gap: 2rem;
          column-gap: 2rem;
  row-gap: 6rem;
  margin-block: 0 5rem;
}
@media screen and (min-width: 768px) {
  .p-service__list {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 6rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-service__list {
    grid-template-columns: repeat(4, 1fr);
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    margin-inline: calc((1000px - 100cqi) / 2);
  }
}
@media screen and (min-width: 1400px) {
  .p-service__list {
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}

.p-service__item {
  display: block grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  padding-block: 1.5rem 1rem;
  border: 1px solid rgb(var(--_logo-palegreen)/1);
  border-radius: 20px;
  background-color: rgb(var(--_color-white)/1);
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-service__item::before {
  content: "";
  inline-size: 1px;
  block-size: 36px;
  background-color: rgb(var(--_color-darkgray)/1);
  position: absolute;
  top: 0;
  left: 50%;
  translate: 0 -50%;
  z-index: 10;
}
.p-service__item:hover {
  -webkit-box-shadow: 4px 4px 15px rgb(var(--_logo-deepgreen)/0.2);
          box-shadow: 4px 4px 15px rgb(var(--_logo-deepgreen)/0.2);
}
.p-service__item:hover .p-service__item-more {
  gap: 1rem;
}
@media screen and (min-width: 992px) {
  .p-service__item {
    padding-block: 2rem 1.5rem;
  }
  .p-service__item::before {
    block-size: 40px;
  }
}
@media screen and (min-width: 1200px) {
  .p-service__item {
    padding-block: 3rem 1.5rem;
  }
  .p-service__item::before {
    block-size: 50px;
  }
}

.p-service__item-headline {
  display: block flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  inline-size: 100%;
  margin-block: 0 1rem;
  padding-inline: 1rem;
  font-size: clamp(1.125rem, 0.903rem + 0.46vw, 1.25rem);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 476px) {
  .p-service__item-headline br {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-service__item-headline br {
    display: block;
  }
}
@media screen and (min-width: 1200px) {
  .p-service__item-headline {
    margin-block: 0 1.5rem;
  }
}

.p-service__item-summary {
  inline-size: 100%;
  font-size: 1rem;
  margin-block: 0 1rem;
  padding-inline: 1.5rem;
  line-height: 2;
}
@media screen and (min-width: 1200px) {
  .p-service__item-summary {
    margin-block: 0 1.5rem;
  }
}

.p-service__item-more {
  display: block flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  font-weight: bold;
  color: rgb(var(--_logo-deepgreen)/1);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-service__item-more span {
  inline-size: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgb(var(--_logo-deepgreen)/1);
  position: relative;
}
.p-service__item-more span::before {
  content: "";
  inline-size: 100%;
  block-size: 100%;
  background-image: url(../img/common/arrow-r-wht.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 12px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.p-service__item-num {
  inline-size: 100%;
  font-family: "Figtree", sans-serif;
  font-size: clamp(2rem, 1.111rem + 1.85vw, 2.5rem);
  color: rgb(var(--_logo-palegreen)/1);
  text-align: center;
  position: absolute;
  top: -1em;
  left: 0;
  translate: 0 -1.2em;
}
@media screen and (min-width: 992px) {
  .p-service__item-num {
    top: -1em;
    translate: 0 -1em;
  }
}
@media screen and (min-width: 1200px) {
  .p-service__item-num {
    top: -1em;
    translate: 0 -1.2em;
  }
}

.p-service__button {
  display: block flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 20;
}

.p-news {
  padding-block: 9rem;
  background-color: rgb(var(--_bg-lightwhite)/1);
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-news {
    padding-inline: 2rem;
  }
}
.p-news .c-headline {
  margin-block: 0 3rem;
}
.p-news .c-news__list {
  margin-block: 0 5rem;
}

.p-news__inner {
  max-inline-size: 1000px;
  margin-inline: auto;
}

.p-mvv {
  padding-block: 0 5rem;
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-mvv {
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-mvv {
    padding-block: 0 6rem;
  }
}

.p-mvv__inner {
  max-inline-size: 1000px;
  margin-inline: auto;
}

.p-mvv__head {
  display: grid;
  gap: 0.5rem;
  padding-block: 0 3rem;
  line-height: 1.2;
}
.p-mvv__head span:first-of-type {
  font-family: "Figtree", sans-serif;
  font-size: clamp(2rem, 4.17vw, 3.125rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.p-mvv__head span:last-of-type {
  font-size: clamp(1.25rem, 1.028rem + 0.46vw, 1.375rem);
  letter-spacing: 0.2em;
}
@media screen and (min-width: 768px) {
  .p-mvv__head {
    gap: 1rem;
    padding-block: 0 4rem;
  }
}

.p-mvv__mission span:first-of-type {
  color: rgb(var(--_logo-deepgreen));
}

.p-mvv__vision span:first-of-type {
  color: rgb(var(--_logo-lightgreen));
}

.p-mvv__detail {
  display: grid;
  padding-block: 0 6rem;
  font-size: clamp(1.75rem, 0.417rem + 2.78vw, 2.5rem);
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-mvv__detail {
    padding-block: 0 7rem;
  }
}
@media screen and (min-width: 992px) {
  .p-mvv__detail {
    padding-block: 0 8rem;
  }
}

.p-mvv__par {
  font-size: clamp(1rem, 0.542rem + 0.94vw, 1.25rem);
  line-height: 2;
}
.p-mvv__par .pcbr {
  display: none;
}
.p-mvv__par:not(:last-of-type) {
  padding-bottom: 1.5em;
}
@media screen and (min-width: 768px) {
  .p-mvv__par .pcbr {
    display: block;
  }
}

.p-slider {
  padding-block: 0 6rem;
}
.p-slider .swiper-wrapper {
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
}
.p-slider .swiper-slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-slider {
    padding-block: 0 8rem;
  }
}
@media screen and (min-width: 992px) {
  .p-slider {
    padding-block: 0 10rem;
  }
}

.p-slider__basis {
  padding-block: 1rem 2rem;
}

.p-slider__top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.p-slider__bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

.p-slider__center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-ceo {
  padding-block: 0 6rem;
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-ceo {
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-ceo {
    padding-block: 0 8rem;
  }
}
@media screen and (min-width: 992px) {
  .p-ceo {
    padding-block: 0 10rem;
  }
}

.p-ceo__inner {
  display: grid;
  grid-template-areas: "philosophy" "fig" "info";
  row-gap: 3rem;
  font-size: clamp(1.75rem, 1.306rem + 0.93vw, 2rem);
  max-inline-size: 1000px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .p-ceo__inner {
    grid-template-rows: auto 1fr;
    grid-template-areas: "philosophy fig" "info fig";
    -webkit-column-gap: 4rem;
       -moz-column-gap: 4rem;
            column-gap: 4rem;
    font-size: clamp(1.5rem, -0.33rem + 3.77vw, 2.5rem);
  }
}

.p-ceo__philosophy {
  grid-area: philosophy;
  display: grid;
  font-size: inherit;
  font-weight: bold;
  line-height: 1.6;
}

.p-ceo__info {
  grid-area: info;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.p-ceo__position {
  font-size: clamp(0.875rem, 0.208rem + 1.39vw, 1.25rem);
  line-height: 1.4;
}

.p-ceo__name {
  padding-block: 0 2rem;
  font-size: clamp(1.5rem, 0.611rem + 1.85vw, 2rem);
  font-weight: bold;
  line-height: 1.4;
}

.p-ceo__data {
  font-size: 1rem;
}

.p-ceo__fig {
  grid-area: fig;
  margin-inline: 0 -4vw;
}
@media screen and (min-width: 576px) {
  .p-ceo__fig {
    margin-inline: 0 -2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-ceo__fig {
    padding-block: 3.5em 0;
  }
}

.p-overview {
  padding-block: 0 6rem;
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-overview {
    padding-inline: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .p-overview {
    padding-block: 0 8rem;
  }
}
@media screen and (min-width: 992px) {
  .p-overview {
    padding-block: 0 10rem;
  }
}

.p-overview__inner {
  max-inline-size: 1000px;
  margin-inline: auto;
}

.p-overview__list {
  display: grid;
  border-top: 1px solid rgb(var(--_color-lightgray)/1);
}
@media screen and (min-width: 576px) {
  .p-overview__list {
    grid-template-columns: auto 1fr;
  }
}

.p-overview__item {
  display: grid;
  row-gap: 0.5rem;
  padding-block: 1rem;
  padding-inline: 0 1rem;
  font-size: clamp(1rem, 0.771rem + 0.47vw, 1.125rem);
  border-bottom: 1px solid rgb(var(--_color-lightgray)/1);
}
@media screen and (min-width: 576px) {
  .p-overview__item {
    grid-template-columns: subgrid;
    grid-column: span 2;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}
@media screen and (min-width: 768px) {
  .p-overview__item {
    -webkit-column-gap: 6rem;
       -moz-column-gap: 6rem;
            column-gap: 6rem;
    padding-block: 2rem;
  }
}

.p-overview__item-head {
  font-weight: bold;
}
@media screen and (min-width: 576px) {
  .p-overview__item-head {
    font-weight: 500;
  }
}

.p-access {
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-access {
    padding-inline: 2rem;
  }
}

.p-access__inner {
  max-inline-size: 1000px;
  margin-inline: auto;
}

.p-access__map {
  inline-size: 100%;
  block-size: 300px;
  padding-block: 0 3rem;
}
.p-access__map iframe {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  border: none;
}
@media screen and (min-width: 768px) {
  .p-access__map {
    block-size: 400px;
  }
}

.p-access__info {
  display: grid;
  gap: 2rem;
  font-size: clamp(1rem, 0.771rem + 0.47vw, 1.125rem);
}

.l-sitemain[data-page=humanoid] {
  padding-block: 0;
}

.p-service-index {
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-service-index {
    padding-inline: 2rem;
  }
}

.p-service-index__inner {
  max-inline-size: 1000px;
  margin-inline: auto;
}

.p-service-index__intro {
  padding-block: 0 5rem;
  font-size: clamp(1rem, 0.771rem + 0.47vw, 1.125rem);
}
@media screen and (min-width: 768px) {
  .p-service-index__intro {
    padding-block: 0 7rem;
  }
}

.p-service-index__box {
  display: block grid;
  row-gap: 2rem;
  grid-template-areas: "fig" "title" "summary" "link";
}
.p-service-index__box:not(:last-of-type) {
  margin-block: 0 4rem;
  padding-block: 0 4rem;
  border-bottom: 1px solid rgb(var(--_color-lightgray)/1);
}
@media screen and (min-width: 768px) {
  .p-service-index__box {
    grid-template-columns: auto 300px;
    gap: 1rem 4rem;
    padding-block: 0 5rem;
    grid-template-areas: "title fig" "summary fig" "link fig";
  }
  .p-service-index__box:not(:last-of-type) {
    margin-block: 0 5rem;
    padding-block: 0 5rem;
  }
}
@media screen and (min-width: 992px) {
  .p-service-index__box {
    grid-template-columns: auto 330px;
    gap: 2rem 5rem;
  }
}

.p-service-index__box-title {
  grid-area: title;
  font-size: clamp(1.5rem, 0.585rem + 1.89vw, 2rem);
  line-height: 1.4;
}
.p-service-index__box-summary {
  grid-area: summary;
  font-size: clamp(1rem, 0.771rem + 0.47vw, 1.125rem);
}
.p-service-index__box-link {
  grid-area: link;
  display: block flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.p-service-index__box-button {
  display: block flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0.5rem;
  margin-block: -1rem;
  margin-inline: -1rem;
  padding-inline: 1rem;
  padding-block: 1rem;
  font-weight: bold;
  color: rgb(var(--_logo-deepgreen)/1);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-service-index__box-button span {
  inline-size: 24px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgb(var(--_logo-deepgreen)/1);
  position: relative;
}
.p-service-index__box-button span::before {
  content: "";
  inline-size: 100%;
  block-size: 100%;
  background-image: url(../img/common/arrow-r-wht.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 12px;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.p-service-index__box-button:hover {
  gap: 1rem;
}

.p-service-index__box-fig {
  grid-area: fig;
}

.p-service-detail {
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-service-detail {
    padding-inline: 2rem;
  }
}

.p-service-detail__inner {
  max-inline-size: 1000px;
  margin-inline: auto;
}

.p-service__hero-title {
  display: block grid;
  padding-block: 0 2rem;
  font-size: clamp(1.75rem, 0.835rem + 1.89vw, 2.25rem);
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .p-service__hero-title {
    padding-block: 0 4rem;
  }
}

.p-service__hero-description {
  padding-block: 0 6rem;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-service__hero-description {
    padding-block: 0 7rem;
  }
}
@media screen and (min-width: 992px) {
  .p-service__hero-description {
    padding-block: 0 8rem;
  }
}

.p-service__lead {
  display: block grid;
  grid-template-rows: auto 1fr;
  row-gap: 1rem;
  grid-template-areas: "fig" "title" "summary";
  padding-block: 0 6rem;
}
@media screen and (min-width: 768px) {
  .p-service__lead {
    grid-template-columns: 1fr 350px;
    gap: 3rem 4rem;
    grid-template-areas: "title fig" "summary fig";
    padding-block: 0 7rem;
  }
}
@media screen and (min-width: 992px) {
  .p-service__lead {
    grid-template-columns: 1fr 450px;
    gap: 4rem 5rem;
    padding-block: 0 8rem;
  }
}

.p-service__lead-title {
  grid-area: title;
  display: block grid;
  font-size: clamp(1.5rem, 0.585rem + 1.89vw, 2rem);
  line-height: 1.6;
}

.p-service__lead-summary {
  grid-area: summary;
  line-height: 2;
}

.p-service__lead-fig {
  grid-area: fig;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-service__lead-fig img {
  inline-size: 100%;
  max-inline-size: 400px;
}

.p-service__features {
  display: block grid;
  row-gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-service__features {
    grid-template-columns: repeat(3, 1fr);
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
  }
}
@media screen and (min-width: 992px) {
  .p-service__features {
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}

.p-service__features-item {
  display: block grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  row-gap: 1.5rem;
}

.p-service__features-icon {
  display: block flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-service__features-icon img {
  inline-size: 100px;
}

.p-service__features-title {
  font-size: clamp(1.125rem, 0.667rem + 0.94vw, 1.375rem);
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.p-reaal__outline {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  row-gap: 3rem;
}
@media screen and (min-width: 768px) {
  .p-reaal__outline {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-column-gap: 3rem;
       -moz-column-gap: 3rem;
            column-gap: 3rem;
  }
}
@media screen and (min-width: 992px) {
  .p-reaal__outline {
    -webkit-column-gap: 6rem;
       -moz-column-gap: 6rem;
            column-gap: 6rem;
  }
}

.p-reaal__detail {
  display: block grid;
  gap: 2rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-reaal__detail {
    gap: 3rem;
  }
}
@media screen and (min-width: 992px) {
  .p-reaal__detail {
    gap: 4rem;
  }
}

.p-reaal__detail-item {
  padding-inline: 1rem 0;
}
.p-reaal__detail-item[data-detail=training] {
  border-left: 4px solid rgb(var(--_logo-lightgreen)/1);
}
.p-reaal__detail-item[data-detail=training] .p-reaal__detail-title {
  color: rgb(var(--_logo-lightgreen)/1);
}
.p-reaal__detail-item[data-detail=management] {
  border-left: 4px solid rgb(var(--_logo-palegreen)/1);
}
.p-reaal__detail-item[data-detail=management] .p-reaal__detail-title {
  color: rgb(var(--_logo-palegreen)/1);
}
.p-reaal__detail-item[data-detail=engine] {
  border-left: 4px solid rgb(var(--_logo-deepgreen)/1);
}
.p-reaal__detail-item[data-detail=engine] .p-reaal__detail-title {
  color: rgb(var(--_logo-deepgreen)/1);
}
@media screen and (min-width: 992px) {
  .p-reaal__detail-item {
    padding-inline: 1.5rem 0;
  }
}

.p-reaal__detail-title {
  margin: 0;
  font-size: clamp(1.125rem, 0.667rem + 0.94vw, 1.375rem);
  font-weight: bold;
  line-height: 1.4;
  padding-block: 0 0.5rem;
}
@media screen and (min-width: 992px) {
  .p-reaal__detail-title {
    padding-block: 0 1rem;
  }
}

.p-reaal__detail-list {
  display: grid;
  row-gap: 0.75rem;
  padding-inline: 1em 0;
}

.p-reaal__detail-listitem {
  font-size: 1rem;
  line-height: 1.4;
  list-style: disc;
}

.p-reaal__outline-fig {
  max-inline-size: 400px;
}
@media screen and (min-width: 768px) {
  .p-reaal__outline-fig {
    max-inline-size: 500px;
  }
}

.p-service-tc__lead {
  display: grid;
  grid-template-areas: "fig" "title" "summary";
  row-gap: 2rem;
  padding-block: 0 6rem;
}
@media screen and (min-width: 768px) {
  .p-service-tc__lead {
    grid-template-columns: 1fr 350px;
    gap: 2rem 3rem;
    grid-template-areas: "title fig" "summary fig";
    padding-block: 0 7rem;
  }
}
@media screen and (min-width: 992px) {
  .p-service-tc__lead {
    grid-template-columns: 1fr 420px;
    padding-block: 0 8rem;
  }
}
@media screen and (min-width: 1200px) {
  .p-service-tc__lead {
    grid-template-columns: 1fr 490px;
  }
}

.p-service-tc__lead-title {
  grid-area: title;
  display: block grid;
  font-size: clamp(1.5rem, 1.056rem + 0.93vw, 1.75rem);
  line-height: 1.6;
}

.p-service-tc__lead-summary {
  grid-area: summary;
  line-height: 2;
}

.p-service-tc__lead-fig {
  grid-area: fig;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-service-tc__lead-fig img {
  inline-size: 100%;
  max-inline-size: 450px;
}
@media screen and (min-width: 768px) {
  .p-service-tc__lead-fig {
    margin-inline: 0 -2rem;
  }
  .p-service-tc__lead-fig img {
    max-inline-size: 100%;
  }
}
@media screen and (min-width: 1200px) {
  .p-service-tc__lead-fig {
    margin-inline: 0 -4rem;
  }
}

.p-service-tc__entry {
  display: grid;
  row-gap: 1.5rem;
  max-inline-size: 800px;
  margin-inline: auto;
  padding-block: 2rem;
  padding-inline: 2rem;
  background-color: rgb(var(--_color-white)/1);
  border: 3px solid rgb(var(--_logo-lightgreen)/1);
  border-radius: 10px;
}

.p-service-tc__entry-title {
  font-size: clamp(1.5rem, 1.042rem + 0.94vw, 1.75rem);
  font-weight: bold;
  line-height: 1.4;
}

.p-service-tc__entry-summary {
  font-weight: 500;
}

.p-news-detail {
  padding-inline: 4vw;
}
@media screen and (min-width: 576px) {
  .p-news-detail {
    padding-inline: 2rem;
  }
}

.p-news-detail___inner {
  max-inline-size: 1000px;
  margin-inline: auto;
}

.p-news-detail___header {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  grid-template-areas: "time category" "title title";
  padding-block: 0 3rem;
}
@media screen and (min-width: 768px) {
  .p-news-detail___header {
    padding-block: 0 5rem;
  }
}

.p-news-detail___header-title {
  grid-area: title;
  margin: 0;
  font-size: clamp(1.25rem, 0.335rem + 1.89vw, 1.75rem);
}

.p-news-detail___header-time {
  grid-area: time;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-news-detail___header-category {
  grid-area: category;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-news-detail___header-category p {
  inline-size: -webkit-max-content;
  inline-size: -moz-max-content;
  inline-size: max-content;
  padding-inline: 1rem;
  font-size: 0.875rem;
  color: rgb(var(--_logo-palegreen)/1);
  border: 1px solid rgb(var(--_logo-palegreen)/1);
  background-color: rgb(var(--_color-white)/1);
}

.p-news-detail___main {
  padding-block: 3rem;
  font-size: clamp(1rem, 0.771rem + 0.47vw, 1.125rem);
  line-height: 2;
  border-top: 1px solid rgb(var(--_text-lightgray)/1);
  border-bottom: 1px solid rgb(var(--_text-lightgray)/1);
}
@media screen and (min-width: 768px) {
  .p-news-detail___main {
    padding-block: 5rem;
  }
}

.p-news-detail__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-block: 3rem 0;
}
@media screen and (min-width: 768px) {
  .p-news-detail__button {
    padding-block: 5rem;
  }
}

.p-form {
  display: block grid;
  gap: 3rem;
  max-inline-size: 1000px;
  margin-inline: auto;
  padding-inline: 4vw;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}
@media screen and (min-width: 576px) {
  .p-form {
    padding-inline: 2rem;
  }
}

.p-form__intro {
  line-height: 2;
}

.p-form__main {
  display: block grid;
  row-gap: 3rem;
}

.p-form__item {
  display: block grid;
  row-gap: 1rem;
}

.p-form__item-label {
  display: block flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 0.75rem;
     -moz-column-gap: 0.75rem;
          column-gap: 0.75rem;
}
.p-form__item-label label {
  font-size: clamp(1rem, 0.771rem + 0.47vw, 1.125rem);
  font-weight: bold;
}
.p-form__item-label strong {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-block: 0.125rem;
  padding-inline: 0.5rem;
  font-size: 0.75rem;
  border-radius: 5px;
  background-color: rgb(var(--_color-lightwhite)/1);
}
@media screen and (min-width: 768px) {
  .p-form__item-label {
    -webkit-column-gap: 1rem;
       -moz-column-gap: 1rem;
            column-gap: 1rem;
  }
  .p-form__item-label strong {
    padding-block: 0.25rem;
    padding-inline: 0.75rem;
  }
}

.p-form__item-input input[type=text], .p-form__item-input input[type=tel], .p-form__item-input input[type=email],
.wpcf7-acceptance input[type=text],
.wpcf7-acceptance input[type=tel],
.wpcf7-acceptance input[type=email] {
  block-size: 40px;
  inline-size: 100%;
  padding-inline: 0.75rem;
  font-size: clamp(1rem, 0.771rem + 0.47vw, 1.125rem);
  border: 1px solid rgb(var(--_text-lightgray)/1);
  border-radius: 5px;
}
.p-form__item-input input[type=radio],
.wpcf7-acceptance input[type=radio] {
  display: inline grid;
  grid-template-areas: "stack";
  inline-size: 20px;
  block-size: 20px;
  padding: 2px;
  border: 2px solid rgb(var(--_text-lightgray)/1);
  border-radius: 50%;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
  position: relative;
  top: 1px;
}
.p-form__item-input input[type=radio]:checked,
.wpcf7-acceptance input[type=radio]:checked {
  border-color: rgb(var(--_logo-palegreen)/1);
  background-color: rgb(var(--_logo-palegreen)/1);
}
.p-form__item-input input[type=checkbox],
.wpcf7-acceptance input[type=checkbox] {
  display: inline grid;
  grid-template-areas: "stack";
  inline-size: 20px;
  block-size: 20px;
  padding: 2px;
  border: 2px solid rgb(var(--_text-lightgray)/1);
  border-radius: 2px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: border-color 0.3s;
  transition: border-color 0.3s;
  position: relative;
  top: 2px;
}
.p-form__item-input input[type=checkbox]:checked,
.wpcf7-acceptance input[type=checkbox]:checked {
  border-color: rgb(var(--_logo-palegreen)/1);
  background-color: rgb(var(--_logo-palegreen)/1);
}
.p-form__item-input textarea,
.wpcf7-acceptance textarea {
  inline-size: 100%;
  padding-block: 0.75rem;
  padding-inline: 0.75rem;
  font-size: clamp(1rem, 0.771rem + 0.47vw, 1.125rem);
  border: 1px solid rgb(var(--_text-lightgray)/1);
  border-radius: 5px;
}
.p-form__item-input .wpcf7-radio,
.wpcf7-acceptance .wpcf7-radio {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  row-gap: 0.75rem;
  font-size: clamp(1rem, 0.771rem + 0.47vw, 1.125rem);
}
.p-form__item-input .wpcf7-radio label,
.wpcf7-acceptance .wpcf7-radio label {
  display: grid;
  -webkit-column-gap: 1rem;
     -moz-column-gap: 1rem;
          column-gap: 1rem;
  grid-template-columns: -webkit-max-content 1fr;
  grid-template-columns: max-content 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  inline-size: -webkit-fit-content;
  inline-size: -moz-fit-content;
  inline-size: fit-content;
  line-height: 1.4;
}
.p-form__item-input .wpcf7-radio label:hover .wpcf7-list-item-label,
.wpcf7-acceptance .wpcf7-radio label:hover .wpcf7-list-item-label {
  text-decoration: underline;
}
.p-form__item-input .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .p-form__item-input input[type=text], .p-form__item-input input[type=tel], .p-form__item-input input[type=email],
  .wpcf7-acceptance input[type=text],
  .wpcf7-acceptance input[type=tel],
  .wpcf7-acceptance input[type=email] {
    block-size: 50px;
  }
}

.p-form__acceptance {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-form__acceptance .wpcf7-form-control-wrap {
  padding-inline: 0 1rem;
}

.p-form__acceptance-text a {
  color: rgb(var(--_logo-palegreen)/1);
  text-decoration: underline;
}
.p-form__acceptance-text a:hover {
  text-decoration: none;
}

.p-form__note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-form__button {
  display: block flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  row-gap: 1rem;
}
.p-form__button .wpcf7-submit {
  display: block flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  block-size: 50px;
  inline-size: 240px;
  padding-inline: 1.25rem 0.625rem;
  font-size: clamp(1rem, 0.778rem + 0.46vw, 1.125rem);
  font-weight: bold;
  color: rgb(var(--_logo-deepgreen)/1);
  text-align: center;
  border: 2px solid rgb(var(--_logo-deepgreen)/1);
  border-radius: 30px;
  background-color: rgb(var(--_color-white)/1);
  -webkit-transition: ease-in-out 0.3s;
  transition: ease-in-out 0.3s;
}
.p-form__button .wpcf7-submit:hover {
  color: rgb(var(--_color-white)/1);
  background-color: rgb(var(--_logo-deepgreen)/1);
}
.p-form__button .wpcf7-submit:disabled {
  pointer-events: none;
  opacity: 0.3;
}
@media screen and (min-width: 768px) {
  .p-form__button .wpcf7-submit {
    block-size: 55px;
    inline-size: 260px;
  }
}
@media screen and (min-width: 992px) {
  .p-form__button .wpcf7-submit {
    block-size: 60px;
    inline-size: 280px;
  }
}

.p-form__turnstile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.wp-block-list {
  padding-inline: 1.25rem 0;
}
.wp-block-list li {
  list-style: disc;
}