h2, h3, h4, h5, h6 {
  font-weight: 400;
}
.p-about-ttl {
  display: grid;
  gap: 2.8rem 0;
}
@media screen and (max-width: 768px) {
  .p-about-ttl {
    gap: 2.4rem 0;
  }
}

.p-about-top {
  padding-block: 8rem 13.9rem;
}
@media screen and (max-width: 768px) {
  .p-about-top {
    padding-block: 13.3rem 14.5rem;
  }
}
.p-about-top .l-subInner {}

@media screen and (max-width: 1024px) {
  .p-about-top .l-subInner {
    padding-inline: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about-top .l-subInner {
    padding-inline: 1.5rem;
  }
}
.p-about-top__overflow-box {
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 768px) {
  .p-about-top__overflow-box {
    margin-right: 0;
  }
}
.p-about-top__inner {
  max-width: 119rem;
  display: grid;
  grid-template-columns: calc(509 / 1190 * 100%) 1fr;
  grid-template-rows: max-content 1fr;
  grid-template-areas: 
    "head-texts img"
    "text img";
}
@media screen and (max-width: 768px) {
  .p-about-top__inner {
    grid-template-columns: 1fr;
    grid-template-areas: 
      "head-texts"
      "img"
      "text";
  }
}
.p-about-top__texts-wrap {
  padding-top: 18.4rem;
}
.p-about-top__img-box {
  grid-area: img;
  padding-block: 11.6rem 5.6rem;
  height: 81rem;
  position: sticky;
  top: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-about-top__img-box {
    position: static;
    height: auto;
    padding-block: 0;
  }
}
.p-about-top__img {
  position: absolute;
  top: 11.6rem;
  right: 0;
  width: calc(960 / 683 * 100%);
  aspect-ratio: 960 / 640;
}
@media screen and (max-width: 768px) {
  .p-about-top__img {
    position: static;
    width: 100%;
    aspect-ratio: unset;
    border-radius: 0.5rem;
    overflow: hidden;
    margin-top: 4rem;
  }
}
.p-about-top__head-texts {
  grid-area: head-texts;
  margin-top: 18.4rem;
  display: grid;
  gap: 6.4rem 0;
}
@media screen and (max-width: 768px) {
  .p-about-top__head-texts {
    margin-top: 0;
    margin-left: 1rem;
    gap: 3.7rem 0;
  }
}
.p-about-top__ttl {
  font-weight: 500;
  display: grid;
  gap: 3rem 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-about-top__ttl {
    gap: 2.6rem 0;
  }
}
.p-about-top__ttl::before {
  content: "";
  display: block;
  width: 4.4rem;
  height: auto;
  aspect-ratio: 44 / 38;
  background: url("../img/about/comma.svg") no-repeat center center / contain;
  position: absolute;
  bottom: calc(100% + 3.2rem);
  right: calc(100% + 4.1rem);
}
@media screen and (max-width: 1024px) {
  .p-about-top__ttl::before {
    right: calc(100% - 0.9rem);
  }
}
@media screen and (max-width: 768px) {
  .p-about-top__ttl::before {
    width: 3.4rem;
  }
}
.p-about-top__ttl .small {
  font-size: 2.6rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-block: var(--leading-trim);
}
@media screen and (max-width: 768px) {
  .p-about-top__ttl .small {
    font-size: 2rem;
  }
}
.p-about-top__ttl .main {
  font-size: 4rem;
  color: #927A43;
  line-height: 1.3;
  letter-spacing: 0.06em;
  margin-block: var(--leading-trim);
}
@media screen and (max-width: 768px) {
  .p-about-top__ttl .main {
    font-size: 3.6rem;
  }
}

.p-about-top__name-wrap {
  display: grid;
  grid-template-columns: repeat(2, max-content);
}
.p-about-top__name {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 0 1.4rem;
  align-items: center;
  line-height: 1;
}
.p-about-top__name:nth-child(1) {
  padding-right: 1.8rem;
}
.p-about-top__name:nth-child(2) {
  padding-left: 1.8rem;
  border-left: 1px solid #D9D9D9;
}
.p-about-top__name .role {
  font-size: 1.4rem;
  color: #8B8475;
}
@media screen and (max-width: 768px) {
  .p-about-top__name .role {
    font-size: 1.2rem;
  }
}
.p-about-top__name .name {}

.p-about-top__text {
  grid-area: text;
  display: grid;
  gap: 6rem 0;
  font-size: 1.8rem;
  line-height: 2.4;
  letter-spacing: 0.05em;
  padding-bottom: 8.9rem;
  margin-block: 8rem 0;
}
@media screen and (max-width: 768px) {
  .p-about-top__text {
    margin-top: 5.4rem;
    padding: 0 1rem;
    font-size: 1.4rem;
    gap: 4.5rem 0;
  }
}
.p-about-top__text span {
  margin-block: var(--leading-trim);
}

.p-philosophy {
  overflow: clip;
  position: relative;
  z-index: 1;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-philosophy {
  }
}
.p-philosophy__bg {
  position: sticky;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-image: url("../img/front/pro_bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.p-philosophy__bg-text {
  position: absolute;
  top: 9rem;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-philosophy__bg-text {
    top: 4.9rem;
  }
}
.p-philosophy__bg-text .--item {
  width: 118rem;
  padding-left: 3.6rem;
}
@media screen and (max-width: 768px) {
  .p-philosophy__bg-text .--item {
    width: 60.7rem;
    padding-left: 2.4rem;
  }
}
.p-philosophy__inner {
  margin-top: -100vh;
  padding-top: 21.5rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-philosophy__inner {
    padding-top: 11.9rem;
  }
}
.p-philosophy__ttl {
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-philosophy__ttl {
    gap: 2.4rem 0;
  }
}
.p-philosophy__ttl .--sub {
  font-size: 2rem;
  line-height: 1.5;
  letter-spacing: 0.02em;
  margin-block: var(--leading-trim);
}
@media screen and (max-width: 768px) {
  .p-philosophy__ttl .--sub {
    font-size: 1.6rem;
  }
}
.p-philosophy__ttl .--main {
  font-size: 3.2rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .p-philosophy__ttl .--main {
    font-size: 2.2rem;
    line-height: 1.3;
  }
}
.p-philosophy__path-area {
  margin-top: 8rem;
  padding-bottom: calc(445 / 1440 * 100vw);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-philosophy__path-area {
    margin-top: 6.5rem;
    padding-bottom: calc(150 / 375 * 100vw + 6.3rem);
  }
}
.p-philosophy__path-area::before {
  content: "";
  display: block;
  width: calc(100% + (50vw - 50%));
  height: calc(100% - 4.5rem);
  background: url("../img/about/philosophy-bg-path.svg") no-repeat left top / calc(1389 / 1315 * 100%) auto;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -1;
}
@media screen and (max-width: 800px) {
  .p-philosophy__path-area::before {
    background-size: auto 100%;
  }
}
@media screen and (max-width: 768px) {
  .p-philosophy__path-area::before {
    display: none;
  }
}
.p-philosophy__list {
  --padding-inline: 1.5rem;

  width: min(100%, calc(102rem + var(--padding-inline) * 2));
  margin-inline: auto;
  padding-inline: var(--padding-inline);
}

@media screen and (max-width: 1024px) {
  .p-philosophy__list {
    --padding-inline: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-philosophy__list {
    padding-inline: 0;
  }
}
.p-philosophy__list-item {
  padding-block:  9.6rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  display: grid;
  grid-template-columns: 1fr calc(595 / 1020 * 100%);
  align-items: start;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 768px) {
  .p-philosophy__list-item {
    padding: 2.8rem 1.5rem 4.8rem;
    grid-template-columns: 1fr;
    gap: 8.6rem 0;
  }
}
.p-philosophy__list-item:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}
.p-philosophy__list-item-ttl-en {
  height: 2.8rem;

  > img {
    height: 100%;
    width: auto;
  }
}
@media screen and (max-width: 768px) {
  .p-philosophy__list-item-ttl-en {
    height: 2rem;
  }
}
.p-philosophy__list-item-cont {
}
.p-philosophy__list-item-ttl{
  line-height: 1;
  font-weight: 400;
}
.p-philosophy__list-item-lead {
  font-size: 2.8rem;
  line-height: 1.6;
  letter-spacing: 0.02em;
  margin-top: 2.8rem;
}
@media screen and (max-width: 768px) {
  .p-philosophy__list-item-lead {
    font-size: 2rem;
    margin-top: 3rem;
  }
}
.p-philosophy__list-item-lead.--list {
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .p-philosophy__list-item-lead.--list {
    font-size: 2rem;
  }
}
.p-philosophy__list-item-lead.--list .item {
  margin-block: var(--leading-trim);
  display: grid;
  grid-template-columns: 1.2rem 1fr;
  align-items: start;
  gap: 0 1.9rem;
}
@media screen and (max-width: 768px) {
  .p-philosophy__list-item-lead.--list .item {
    gap: 0 0.8rem;
  }
}
.p-philosophy__list-item-lead.--list .item::before {
  content: "";
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #fff;
  margin-top: 0.5lh;
  transform: translateY(-50%);
  mask: url("../img/common/icon_diamond.svg") no-repeat center center / cover;
}
.p-philosophy__list-item-lead.--list .item + .item {
  margin-top: calc(var(--leading-trim) + 2.7rem);
  
}
.p-philosophy__list-item-text {
  margin-top: calc(var(--leading-trim) + 6rem);
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-philosophy__list-item-text {
    margin-top: calc(var(--leading-trim) + 3.5rem);
  }
}
.p-philosophy__exterior {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  aspect-ratio: 1440 / 480;
  z-index: 2;
}
.p-feature {
  background: #F7F4F0;
  padding-block: 14rem 19.6rem;
  border-radius: 5rem;
  z-index: 2;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-feature {
    padding-block: 9rem 13.5rem;
    border-radius: 2.5rem;
  }
}
.p-feature__inner {
  /* height: 100vh; */
}
.p-feature__ttl {
  text-align: center;
}
.p-feature__ttl .--sub {
  text-transform: uppercase;
}
.p-feature__ttl .--main {

}
.p-feature__list-nav-wrap {
  margin-top: 6rem;
}
@media screen and (max-width: 768px) {
  .p-feature__list-nav-wrap {
    margin-top: 4rem;
  }
}
.p-feature__list-wrap {
  margin-right: calc(50% - 50vw);
  /* overflow: hidden; */
  padding-top: 1.4rem;
  container-type: inline-size;
}
@media screen and (max-width: 768px) {
  .p-feature__list-wrap {
    margin-right: 0;
  }
}
.p-feature__list {
  counter-reset: item;
  width: max-content;
  display: flex;
  gap: 0 16.8rem;
}
@media screen and (max-width: 768px) {
  .p-feature__list {
    gap: 0 0.8rem;
    align-items: start;
  }
}
.p-feature__list-item {
  counter-increment: item;
  width: 102rem;
  display: grid;
  padding: 5rem 0 5rem 7.2rem;
  grid-template-columns: calc(536 / 948 * 100%) 1fr;
  align-items: center;
  gap: 0 calc(72 / 948 * 100%);
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-feature__list-item {
    width: 100cqw;
    padding: 6rem 2.4rem 0;
    grid-template-columns: 1fr;
    align-items: start;
    gap: 3.4rem 0;
  }
}
.p-feature__list-item::before,
.p-feature__list-item::after {
  content: "";
  display: block;
}
.p-feature__list-item::before {
  width: calc(978 / 1020 * 100%);
  height: 100%;
  background: #fff;
  border-radius: 1rem;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-feature__list-item::before {
    width: 100%;
    height: calc(100% - 12.6rem);
  }
}
.p-feature__list-item::after {
  content: "Feature " counter(item, decimal-leading-zero);
  text-transform: uppercase;
  position: absolute;
  top: 0;
  left: 1.5rem;
  transform: translateY(-50%);
  font-family: "Montserrat", sans-serif;
  font-size: 1.4rem;
  line-height: 1;
  letter-spacing: 0.03em;
  color: #927A43;
}
.p-feature__list-item-texts {
  display: grid;
  gap: 3.5rem 0;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-feature__list-item-texts {
    position: relative;
    gap: 0;
  }
}
.p-feature__list-item-ttl {
  font-size: 2.8rem;
  color: #927A43;
  font-weight: 500;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-feature__list-item-ttl {
    font-size: 2.2rem;
  }
}
.p-feature__list-item-text {
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .p-feature__list-item-text {
    margin-top: calc(var(--leading-trim) + 3.6rem);
    overflow: hidden;
    max-height: 6lh;
    line-height: 1.8;
    transition: max-height 0.3s ease-in-out;
  }
  .p-feature__list-item-text.is-open {
    max-height: unset;
    overflow: visible;
  }
}
.p-feature__list-item-img {
  border-radius: 0.5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-feature__list-item-img {
    width: 27.6rem;
    justify-self: center;
  }
}
.p-feature__list-item-sp-btn-wrap {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-feature__list-item-sp-btn-wrap {
    display: block;
    padding-top: 2.4rem;
    text-align: center;
    line-height: 1;
  }
}
.p-feature__list-item-sp-btn {
  display: inline-grid;
  grid-template-columns: max-content 0.9rem;
  align-items: center;
  gap: 0 1.6rem;
  line-height: 1;
}
.p-feature__list-item-sp-btn .text {
  font-family: "Montserrat", sans-serif;
  font-size: 1.3rem;
  color: #927A43;
  line-height: 1;
}
.p-feature__list-item-sp-btn .icon {
  height: auto;
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
}
.p-feature__list-item-sp-btn .icon::before,
.p-feature__list-item-sp-btn .icon::after {
  content: "";
  grid-column: 1;
  grid-row: 1;
  background: #927A43;
}
.p-feature__list-item-sp-btn .icon::before {
  width: 100%;
  height: 0.1rem;
}
.p-feature__list-item-sp-btn .icon::after {
  width: 0.1rem;
  height: 100%;
  transition: transform 0.3s;
}
.p-feature__list-item-sp-btn.is-open .icon::after {
  transform: rotate(90deg);
}

.p-feature__list-nav {
  display: grid;
  grid-template-columns: repeat(4, 4px);
  justify-content: center;
  align-items: center;
  gap: 0 1.6rem;
  margin-top: 3.2rem;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-feature__list-nav {
    visibility: hidden;
  }
}
.p-feature__list-nav .dot {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: #927A434C;
  border-radius: 50%;
  transition: background 0.3s;
}
.p-feature__list-nav .dot.is-active {
  background: #927A43;
}

.p-double {
  margin-top: -5rem;
  padding-block: 19rem 21rem;
  background: #FCFBF9;
}
@media screen and (max-width: 768px) {
  .p-double {
    margin-top: -2.5rem;
    padding-block: 12rem 13.5rem;
  }
}
.p-double__ttl {
  gap: 2.6rem 0;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-double__ttl {
    gap: 2.2rem 0;
  }
}
.p-double__ttl .--sub {
  font-size: 2rem;
  line-height: 1.5;
  margin-block: var(--leading-trim);
}
@media screen and (max-width: 768px) {
  .p-double__ttl .--sub {
    font-size: 1.7rem;
  }
}
.p-double__ttl .--main {
  line-height: 1.6;
  margin-block: var(--leading-trim);
}
.p-double__bg-ttl-box {
  position: relative;
  margin-top: 7.7rem;
  height: 40rem;
  display: grid;
  grid-template-columns: 1fr 33.8rem 1fr;
  justify-items: center;
  align-items: center;
  grid-template-areas: 
    "ttl1 ... ttl2";
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-double__bg-ttl-box {
    height: auto;
    padding-block: 7.2rem 7.8rem;
    grid-template-columns: 1fr;
    grid-template-rows: auto 18.5rem auto;
    grid-template-areas: 
      "ttl1"
      "..."
      "ttl2";
      gap: 3.35rem;
    
  }
}
.p-double__bg-ttl-box::before {
  content: "";
  display: block;
  width: calc(1105 / 1020 * 100%);
  aspect-ratio: 1105 / 400;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url("../img/about/double-bg.webp") no-repeat center center / 100% auto;
  z-index: -1;
}
@media screen and (max-width: 860px) {
  .p-double__bg-ttl-box::before {
    width: calc(100% + 3rem);
  }
}
@media screen and (max-width: 768px) {
  .p-double__bg-ttl-box::before {
    width: 30rem;
    aspect-ratio: 300 / 600;
    background-image: url("../img/about/double-bg-sp.webp");
  }
}

.p-double__bg-ttl {
  display: grid;
  gap: 3.5rem 0;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-double__bg-ttl {
    gap: 1.8rem 0;
  }
}
.p-double__bg-ttl.adult {
  grid-area: ttl1;
}
.p-double__bg-ttl.child {
  grid-area: ttl2;
}
.p-double__bg-ttl .--sub {
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.03em;
  color: #927A43;
}
@media screen and (max-width: 768px) {
  .p-double__bg-ttl .--sub {
    font-size: 1.3rem;
  }
}
.p-double__bg-ttl .--main {
  display: grid;
  gap: 2rem 0;
  font-size: 2.8rem;
  letter-spacing: 0.04em;
  line-height: 1;
}

.p-double__bg-ttl .--main .small {
  font-size: 1.8rem;
  line-height: 1.6;
  margin-block: var(--leading-trim);
}
@media screen and (max-width: 768px) {
  .p-double__bg-ttl .--main .small {
    font-size: 1.6rem;
  } 
}
.p-double__bg-ttl .--main .large {
  font-size: 2.8rem;
  line-height: 1;  
}
@media screen and (max-width: 768px) {
  .p-double__bg-ttl .--main .large {
    font-size: 2.2rem;
  }
}
.p-double__list {
  margin-top: 12rem;
}
@media screen and (max-width: 768px) {
  .p-double__list {
    margin-top: 8.2rem;
    padding-inline: 1.5rem;
  }
}
.p-double__list-item {
  display: grid;
  grid-template-columns: 1fr calc(312 / 1020 * 100%);
  grid-template-areas: 
    "ttl img"
    "text img";
  gap: 5.2rem 12rem;
  align-items: start;
  padding-bottom: 10rem;
  letter-spacing: 0.05em;
}
.p-double__list-item:nth-child(2) {
  grid-template-columns: calc(312 / 1020 * 100%) 1fr;
  grid-template-areas: 
    "img ttl"
    "img text";
  padding-bottom: 0;
  padding-top: 10rem;
  border-top: 1px solid #EED9C2;
}

@media screen and (max-width: 768px) {
  .p-double__list-item,
  .p-double__list-item:nth-child(2) {
    grid-template-columns: 1fr;
    grid-template-areas: 
      "ttl"
      "text"
      "img";
    gap: 4rem 0;
  }
  .p-double__list-item {
    padding-bottom: 7rem;
  }
  .p-double__list-item:nth-child(2) {
    padding-top: 7rem;
  }
}
.p-double__list-item-ttl {
  grid-area: ttl;
  display: grid;
  grid-template-columns: 1.2rem 1fr;
  align-items: center;
  gap: 0 1.6rem;
  font-size: 2.4rem;
  color: #433C2C;
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-double__list-item-ttl{
    font-size: 2rem;
  }
}
.p-double__list-item-ttl::before {
}
.p-double__list-item-text-wrap {
  grid-area: text;
  display: grid;
  gap: 3.5rem 0;
}
.p-double__list-item-subttl {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  color: #927A43;
}
@media screen and (max-width: 768px) {
  .p-double__list-item-subttl {
    font-size: 1.7rem;
  }
}
.p-double__list-item-text {
  line-height: 2;
}
.p-double__list-item-img {
  grid-area: img;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-double__list-item-img {
    width: 24.7rem;
    justify-self: center;
  }
}

.p-facility-bg-area {
  padding-bottom: 6rem;
  background: #F6EDE3;
  position: relative;
  z-index: 1;
}
.p-facility {
  padding-top: 20.8rem;
  position: relative;
  z-index: 1;
}
.p-facility::before {
  content: "";
  display: block;
  width: 91.1rem;
  height: auto;
  aspect-ratio: 887 / 146;
  position: absolute;
  top: 9rem;
  left: 1.7rem;
  background: url("../img/about/facilities.svg") no-repeat top left / 100% auto;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .p-facility::before {
    width: calc(100% - 2rem);
  }
}
.p-facility__overflow-box {
  margin-right: calc(50% - 50vw);
}
@media screen and (max-width: 768px) {
  .p-facility__overflow-box {
    margin-right: 0;
  }
}
.p-facility__swiper-area-inner {
  --slide-padding-inline: 2.8rem;
  --swiper-area-left-width: (34rem - var(--slide-padding-inline));

  /* 画面幅2560pxまでは画面いっぱいまで表示 */
  max-width: 187.5rem;
  display: flex;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .p-facility__swiper-area-inner {
    flex-direction: column;
    align-items: stretch;
  }
}
.p-facility__swiper-area-left {
  flex-shrink: 0;
  width: calc(34rem - var(--slide-padding-inline));
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  gap: 7.7rem 0;
}
@media screen and (max-width: 768px) {
  .p-facility__swiper-area-left {
    display: contents;
  }
}

.p-facility__ttl {
  display: grid;
  gap: 2.9rem 0;
}
@media screen and (max-width: 768px) {
  .p-facility__ttl {
    gap: 2.4rem 0;
  }
}
.p-facility__ttl .--sub {
  text-transform: uppercase;
}
.p-facility__swiper-btns {
  position: relative;
  height: 2.4rem;
  display: grid;
  grid-template-columns: repeat(2, 4.85rem);
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-facility__swiper-btns {
    order: 3;
    margin-top: 4rem;
    justify-content: center;
  }
}
.swiper-button-prev,
.swiper-button-next {
  position: static;
  display: block;
  width: unset;
  height: 100%;
  margin: 0;
  background: url("../img/common/icon_arrow.svg") no-repeat top right / 2.4rem auto;
}
.swiper-button-prev {
  padding-right: 2.4rem;
  background-position: top left;
  background-image: url("../img/about/icon_arrow_left.svg");
}
.swiper-button-next {
  padding-left: 2.4rem;
  border-left: 1px solid #EED9C2;
}
.swiper-button-prev svg,
.swiper-button-next svg {
  display: none;
}
.p-facility__swiper {
  flex: 1 1 auto;
}
@media screen and (max-width: 768px) {
  .p-facility__swiper {
    margin-top: 6rem;
    flex: 0 1 auto;
    width: 100%;
  }
}
.p-facility__swiper-wrapper {
}
.p-facility__swiper-slide {
  width: 63.8rem;
  letter-spacing: 0.05em;
  padding-inline: 2.8rem;
}
@media screen and (max-width: 768px) {
  .p-facility__swiper-slide {
    width: 30rem;
    padding-inline: 0.75rem;
  }
}
.p-facility__swiper-img {
  width: 100%;
  aspect-ratio: 638 / 424;
  border-radius: 0.5rem;
  overflow: hidden;

  > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.p-facility__swiper-slide-ttl {
  font-size: 2rem;
  color: #927A43;
  font-weight: 500;
  line-height: 1.6;
  margin-top: calc(var(--leading-trim) + 2.9rem);
}
.p-facility__swiper-slide-text {
  font-size: 1.4rem;
  line-height: 2;
  margin-top: calc(var(--leading-trim) + 2rem);
}
.p-facility__equipment-box {
  margin-top: 15.5rem;
}
@media screen and (max-width: 768px) {
  .p-facility__equipment-box {
    margin-top: 10.5rem;
  }
}
.p-facility__equipment-list {
  margin-top: 4.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4.6rem 4.1rem;
}
@media screen and (max-width: 768px) {
  .p-facility__equipment-list {
    margin-top: 4rem;
    grid-template-columns: 1fr 1fr;
    gap: 3rem 1.5rem;
  }
}
.p-facility__equipment-item {
  display: flex;
  flex-direction: column-reverse;
  gap: 1.7rem 0;

}
.p-facility__equipment-item-ttl {
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.p-facility__equipment-item-img {
  aspect-ratio: 313 / 212;
  border-radius: 0.5rem;
  overflow: hidden;

  > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}

.p-about-link-list {
  margin-top: 20rem;
}
@media screen and (max-width: 768px) {
  .p-about-link-list {
    margin-top: 13.5rem;
  }
}
.p-about-link-list__list {
  padding-block: 10.1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 4.1rem;
  z-index: 1;
  position: relative;
  background: url("../img/about/link-list-bg.webp") no-repeat center center / 100% auto;
}
@media screen and (max-width: 768px) {
  .p-about-link-list__list {
    grid-template-columns: 1fr;
    padding: 7rem 1.7rem;
    gap: 6rem 0;
  }
}
.p-about-link-list__list::before {
  content: "";
  display: block;
  width: min(calc(1190 / 1020 * 100%), 119rem);
  height: 100%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: url("../img/about/link-list-bg.webp") no-repeat center center / 100% auto;
  z-index: -1;
}
@media screen and (max-width: 1024px) {
  .p-about-link-list__list::before {
    width: min(119rem, 100vw - 2rem);
  }
}
@media screen and (max-width: 768px) {
  .p-about-link-list__list::before {
    width: calc(100vw - 3rem);
    background-image: url("../img/about/link-list-bg-sp.webp");
    background-size: auto 100%;
  }
}

.p-about-link-list__item {
}
.p-about-link-list__link {
  height: 100%;
  padding: 1.2rem 4.8rem 1.2rem 1.6rem;
  background: #F6EDE3;
  border-radius: 1rem;
  display: grid;
  grid-template-columns: 16rem 1fr;
  grid-template-areas: 
    "img texts";
  align-items: center;
  gap: 0 4rem;
}
@media screen and (max-width: 768px) {
  .p-about-link-list__link {
    padding: 2rem 2rem 2rem 1.5rem;
    grid-template-columns: 10rem 1fr;
    gap: 0 2rem;
  }
}
.p-about-link-list__item-texts {
  grid-area: texts;
}
.p-about-link-list__item-ttl {
  font-size: 2rem;
  font-weight: 500;
  color: #927A43;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .p-about-link-list__item-ttl {
    font-size: 1.7rem;
  }
}
.p-about-link-list__item-text {
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
  margin-top: calc(var(--leading-trim) + 2rem);
}
@media screen and (max-width: 768px) {
  .p-about-link-list__item-text {
    font-size: 1.2rem;
  }
}
.p-about-link-list__item-img-box {
  grid-area: img;
  height: 20.6rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-about-link-list__item-img-box {
    height: 100%;
  }
}
.p-about-link-list__item-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 160 / 232;
  border-radius: 0.5rem;
  overflow: hidden;
  transform: translateY(-2.6rem);

  > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
}
.p-about-link-list__more {
  margin-top: 3.2rem;
  width: 11.5rem;
  overflow: hidden;
}


.p-about-link-list__more .text {
  width: calc(100% + 1.6rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
  /* gap: 0 0.8rem; */
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  font-family: "Montserrat", sans-serif;
  text-transform: uppercase;
  translate: -1.6rem;
  transition: 0.7s cubic-bezier(0.54, 0.01, 0.04, 0.98);

}
@media screen and (max-width: 768px) {
  a:hover .p-about-link-list__more .text {
    margin-top: 2.8rem;
  }
}
@media (hover: hover) {
  a:hover .p-about-link-list__more .text {
    translate: 0;
  }
}

/* .p-about-link-list__more::before {
  content: "";
  width: 100%;
  aspect-ratio: 1 / 1;
  background: url("../img/common/icon_arrow.svg") no-repeat center center / cover;
} */
.p-about-link-list__more .text::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("../img/common/icon_arrow.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  translate: -1.6rem;
  -webkit-transition: 0.7s cubic-bezier(0.54, 0.01, 0.04, 0.98);
  transition: 0.7s cubic-bezier(0.54, 0.01, 0.04, 0.98);
}
@media (hover: hover) {
  a:hover .p-about-link-list__more .text::before {
    translate: 0;
  }
}
.p-about-link-list__more .text::after {
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background-image: url("../img/common/icon_arrow.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
}
@media (hover: hover) {
  a:hover .p-about-link-list__more .text::after {
    translate: 0;
  }
}

.l-footer_wrap {
  background: #F6EDE3;
  position: relative;
}
.l-footer_wrap::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(247, 244, 240, 0) 0%, #F8E9D9 100%);
}