@charset "UTF-8";
@keyframes btnOnTop {
  0% {
    top: -1rem;
    transform: rotate(0deg);
  }
  75% {
    top: 0;
    transform: rotate(0deg);
  }
  100% {
    top: 0;
    transform: rotate(45deg);
  }
}
@keyframes btnOnBottom {
  0% {
    top: 1rem;
    transform: rotate(0deg);
  }
  75% {
    top: 0;
    transform: rotate(0deg);
  }
  100% {
    top: 0;
    transform: rotate(-45deg);
  }
}
@keyframes btnOffTop {
  0% {
    top: 0;
    transform: rotate(45deg);
  }
  25% {
    top: 0;
    transform: rotate(0deg);
  }
  100% {
    top: -1rem;
    transform: rotate(0deg);
  }
}
@keyframes btnOffBottom {
  0% {
    top: 0;
    transform: rotate(-45deg);
  }
  25% {
    top: 0;
    transform: rotate(0deg);
  }
  100% {
    top: 1rem;
    transform: rotate(0deg);
  }
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(15%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-10%);
  }
}
/*--------------------
number
---------------------*/
/*--------------------
area
---------------------*/
.mv {
  padding-top: 7.8rem;
}
@media screen and (min-width: 750px) {
  .mv {
    padding-top: 8.2rem;
  }
}

.mv__top {
  margin-bottom: 2.2rem;
}
@media screen and (min-width: 750px) {
  .mv__top {
    position: relative;
    top: 3.4rem;
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0 1.4rem 0 6.2rem;
    z-index: 10;
  }
}

.mv__top-catch {
  padding: 0 2.5rem;
  margin-bottom: 2.34rem;
  width: 100%;
}
@media screen and (min-width: 750px) {
  .mv__top-catch {
    margin-bottom: 0;
    width: 57vw;
    max-width: 988px;
  }
}

.mv__top-box {
  display: flex;
}

.mv__top-insta {
  padding: 1rem;
  width: 4rem;
  height: -moz-fit-content;
  height: fit-content;
  transform: translateY(-0.87rem);
}
@media screen and (min-width: 750px) {
  .mv__top-insta {
    margin-left: 1rem;
    width: 5rem;
    transform: translateY(0rem);
  }
}
@media screen and (min-width: 1366px) {
  .mv__top-insta {
    width: 5rem;
    transform: translateY(1rem);
  }
}

.mv__top-shop {
  margin-left: auto;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Shippori Mincho", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 750px) {
  .mv__top-shop {
    padding-top: 1rem;
    font-size: 2.4rem;
  }
}
@media screen and (min-width: 1366px) {
  .mv__top-shop {
    padding-top: 2rem;
  }
}

.mv__top-shop::after {
  content: "";
  display: block;
  width: 120%;
  height: 1px;
  background: #000;
  transform: translateY(0.95rem);
}
@media screen and (min-width: 750px) {
  .mv__top-shop::after {
    width: 140%;
    transform: translateY(1.15rem);
  }
}

.mv__swiper {
  margin-bottom: 1.5rem;
}

.mv .mv__swiper-wrapper {
  transition-timing-function: linear;
}

.mv__slide {
  height: 45.3rem;
}
@media screen and (min-width: 750px) {
  .mv__slide {
    height: auto;
  }
}

.mv__slide img {
  transform: scale(1.01);
  aspect-ratio: 3/2;
  -o-object-fit: cover;
     object-fit: cover;
}

.mv__bottom {
  position: relative;
}
@media screen and (min-width: 750px) {
  .mv__bottom {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: space-between;
    margin-right: 3rem;
  }
}

.mv__bottom-swiper-op {
  display: flex;
  gap: 2.3rem;
  margin-bottom: 3.2rem;
  padding: 0 2.5rem;
}
@media screen and (min-width: 750px) {
  .mv__bottom-swiper-op {
    padding: 0;
    margin-bottom: 0;
  }
}

/* ==========================
  fractionのカスタマイズ
========================== */
.mv .swiper-pagination-fraction {
  font-family: "Inter", serif;
  font-weight: 700;
  font-size: min(1.2rem, 12px);
  color: #000;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  position: absolute;
  letter-spacing: 0.01em;
  z-index: 1;
}

.mv .swiper-pagination-total {
  color: rgba(0, 0, 0, 0.3137254902);
}

/* ==========================
ラインアニメーションをCSSで表現
========================== */
.mv .swiper-pagination-fraction .border {
  width: 52px;
  height: 1px;
  margin: 0 8px;
  background-color: #c9c9c9;
  position: relative;
}

.mv .swiper-pagination-fraction .border span {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: #000;
  transform: scaleX(0);
  transform-origin: left center;
  transition-timing-function: linear;
}

.mv .swiper-pagination.is-active .border span {
  transform: scaleX(1);
  transition: transform 3.85s linear;
}

.mv .mv__bottom-swiper-pagination {
  position: static;
}

.mv__bottom-swiper-button {
  display: flex;
  gap: 0.6rem;
}

.mv__bottom-swiper-button-prev,
.mv__bottom-swiper-button-next {
  display: block;
  width: 4.3rem;
  height: 4.3rem;
  background: url(../images/common/arrow_circle-g.png) center center/contain no-repeat;
  cursor: pointer;
  transition: 0.3s;
}

.mv__bottom-swiper-button-prev {
  transform: rotate(180deg);
}

.mv__bottom-news {
  position: relative;
  padding: 1.7rem 4rem 1.7rem 2.5rem;
  width: 30.4rem;
  max-width: 100%;
  color: #fff;
  background: #000;
}
@media screen and (min-width: 750px) {
  .mv__bottom-news {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    padding: 1.8rem 4rem 1.6rem 4rem;
    min-width: 60.8rem;
    width: auto;
  }
}

.mv__bottom-news::after {
  position: absolute;
  top: 50%;
  right: 1.6rem;
  content: "";
  display: block;
  width: 1.062rem;
  height: 1.226rem;
  background: url(../images/common/arrow-w.svg) center center/contain no-repeat;
  transform: translateY(-50%);
}

.mv__bottom-news-date {
  margin-bottom: 0.5rem;
  font-size: 1.3rem;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 750px) {
  .mv__bottom-news-date {
    display: flex;
    align-items: center;
    padding-right: 1.6rem;
    margin-bottom: 0;
    font-size: 1.4rem;
    border-right: 1px solid rgba(255, 255, 255, 0.3137254902);
  }
}

.mv__bottom-news-date span {
  padding: 0.1rem 0.4rem;
  margin-left: 0.2rem;
  background: #fff;
  color: #000;
  font-size: 1.1rem;
  border-radius: 0.3rem;
}
@media screen and (min-width: 750px) {
  .mv__bottom-news-date span {
    display: block;
    padding: 0.4rem 0.6rem;
    margin-left: 0.4rem;
    font-size: 1.4rem;
  }
}

.mv__bottom-news-ttl {
  font-size: 1.3rem;
  letter-spacing: 0.12em;
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  .mv__bottom-news-ttl {
    font-size: 1.4rem;
  }
}

.top__fixed-nav {
  width: 100vw;
  border-bottom: 1px solid #c3c3c3;
}
@media screen and (min-width: 750px) {
  .top__fixed-nav {
    position: absolute;
    z-index: 10;
    width: 22.8rem;
    height: -moz-fit-content;
    height: fit-content;
    top: 42%;
    right: 4rem;
    opacity: 1;
    pointer-events: all;
    border-bottom: none;
  }
}

.top__fixed-nav-ttl {
  margin-bottom: 0.6rem;
  color: #000;
  font-family: "Inter", serif;
  font-weight: 700;
  font-size: 2.6rem;
  letter-spacing: 0.02em;
}

.top__fixed-nav-ttl-sub {
  font-size: 1.5rem;
  letter-spacing: 0.08em;
}

.news__wrap {
  padding: 4rem 2.5rem 3rem;
  overflow: hidden;
}
@media screen and (min-width: 750px) {
  .news__wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin: 0 auto;
    padding: 8rem 0 4rem;
    width: 118.6rem;
    gap: 6rem;
  }
}
.news__box {
  margin-top: 4rem;
}
@media screen and (min-width: 750px) {
  .news__box {
    width: calc((100% - 6rem) / 2);
    margin-top: 0;
  }
}
.news__box-head {
  position: relative;
}
.news__box-head .section__ttl-sub {
  font-size: 1.3rem;
}
@media screen and (min-width: 750px) {
  .news__box-head .section__ttl-sub {
    font-size: 1.3rem;
  }
}
.news__box-head .section__ttl-main {
  font-size: 2rem;
}
@media screen and (min-width: 750px) {
  .news__box-head .section__ttl-main {
    font-size: 2.4rem;
  }
}
.news__box-head .btn-view-more {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: auto;
  height: auto;
  text-decoration: none;
  position: absolute;
  bottom: 0;
  right: 0;
}
.news__box-head .btn-view-more__text {
  width: 6.8rem;
  margin-right: 0.8rem;
}
@media screen and (min-width: 750px) {
  .news__box-head .btn-view-more__text {
    width: 8rem;
  }
}
.news__box-head .btn-view-more__icon {
  position: relative;
  width: 3.2rem;
  height: 3.2rem;
  margin-left: auto;
  margin-right: 0;
  background-image: url("../../img/common/btn-view-more-arrow.svg");
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (min-width: 750px) {
  .news__box-head .btn-view-more__icon {
    width: 4.8rem;
    height: 4.8rem;
  }
}
.news__box-head .btn-view-more__icon svg {
  width: 3.2rem;
  height: 3.2rem;
}
@media screen and (min-width: 750px) {
  .news__box-head .btn-view-more__icon svg {
    width: 4.8rem;
    height: 4.8rem;
  }
}
.news__box-head .btn-view-more .icon-circle-progress .circle-base {
  stroke: #f2d8d8;
}
.news__box-head .btn-view-more .icon-circle-progress .circle-progress {
  stroke: #e10001;
  transition: all 0.5s ease-in-out;
  stroke-dashoffset: 175px;
}
@media (hover: hover) {
  .news__box-head .btn-view-more:hover .icon-circle-progress .circle-progress {
    stroke-dashoffset: 0px;
  }
}
.news__box-list {
  margin-top: 1.6rem;
}
.news__box-list .no-post {
  font-size: 1.4rem;
  padding: 1.6rem 0;
  border-top: 1px solid #ddd;
}
@media screen and (min-width: 750px) {
  .news__box-list .no-post {
    font-size: 1.6rem;
    padding: 1.6rem 0.8rem;
  }
}
.news__box-item {
  margin-top: 0;
  padding: 0;
  border-bottom: 1px solid #ddd;
}
.news__box-item .card-post-works {
  display: block;
  padding: 1.2rem 0;
  position: relative;
  transition: all 0.3s ease 0s;
}
@media screen and (min-width: 750px) {
  .news__box-item .card-post-works {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.6rem 0.8rem;
    gap: 2rem;
  }
}
.news__box-item .card-post-works:before {
  content: "";
  display: block;
  position: absolute;
  right: 12px;
  top: calc((100% - 10px) / 2);
  display: block;
  width: 11px;
  height: 10px;
  background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211.26%22%20height%3D%229.75%22%20viewBox%3D%220%200%2011.26%209.75%22%3E%20%3Cpath%20d%3D%22M11.26%200%205.63%202.44%200%200l5.63%209.75Z%22%20fill%3D%22%23646464%22%2F%3E%3C%2Fsvg%3E);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transform: rotateZ(-90deg);
  transition: right 0.3s ease 0s;
}
.news__box-item .card-post-works time {
  display: block;
  font-size: 1.2rem;
  color: #717171;
  width: auto;
}
@media screen and (min-width: 750px) {
  .news__box-item .card-post-works time {
    display: inline-block;
    font-size: 1.4rem;
    width: 8.6rem;
  }
}
.news__box-item .card-post-works__title {
  width: calc(100% - 2.4rem);
  font-size: 1.4rem;
  line-height: 1.3;
  margin-bottom: 0;
  margin-top: 0.6rem;
}
@media screen and (min-width: 750px) {
  .news__box-item .card-post-works__title {
    width: calc(100% - 8.6rem - 2rem);
    font-size: 1.6rem;
    margin-top: 0;
  }
}
@media (hover: hover) {
  .news__box-item .card-post-works:hover {
    opacity: 1;
    background-color: #f4f4f4;
  }
  .news__box-item .card-post-works:hover:before {
    right: 0.8rem;
  }
}
.news__box-item:first-of-type {
  border-top: 1px solid #ddd;
}
.news__box.-news {
  margin-top: 0;
}

.intro__wrap {
  padding: 6rem 2.5rem 5rem;
  overflow: hidden;
}
@media screen and (min-width: 750px) {
  .intro__wrap {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin: 0 auto;
    padding: 8rem 0 10rem;
    width: 118.6rem;
  }
}

.intro__box {
  margin-bottom: 4rem;
}

.intro__catch {
  margin-bottom: 2rem;
  font-family: "Shippori Mincho", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: 2.9rem;
  letter-spacing: 0.24em;
  line-height: 1.3;
}
@media screen and (min-width: 750px) {
  .intro__catch {
    margin-bottom: 5rem;
    font-size: 4.3rem;
  }
}

.intro__catch-l {
  margin-left: -1.2rem;
  letter-spacing: 0;
}
@media screen and (min-width: 750px) {
  .intro__catch-l {
    margin-left: -2.2rem;
  }
}

.intro__catch-r {
  margin-right: -1.2rem;
  margin-left: -0.6rem;
  letter-spacing: 0;
}

.intro__txt {
  margin-bottom: 2rem;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 2;
}
@media screen and (min-width: 750px) {
  .intro__txt {
    margin-bottom: 3rem;
  }
}

.intro__insta {
  width: -moz-fit-content;
  width: fit-content;
  background: #000;
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  line-height: 1.5;
  border-radius: 0.5rem;
}

.intro__insta-link {
  display: flex;
  align-items: center;
  gap: 0.82rem;
  padding: 1.3rem 1.77rem 1.3rem 1.37rem;
}

.intro__insta-link::before {
  content: "";
  display: block;
  width: 1.837rem;
  height: 1.837rem;
  background: url(../images/common/icon_insta-w.png) center center/cover no-repeat;
}

.intro__pic {
  position: relative;
  top: 0;
  right: -10rem;
  width: 26.8rem;
}
@media screen and (min-width: 750px) {
  .intro__pic {
    right: -8rem;
    width: 65.4rem;
  }
}

.intro__pic::after {
  content: "";
  position: absolute;
  bottom: -5rem;
  left: -10rem;
  display: block;
  width: 14rem;
  height: 14.3rem;
  background: url(../images/top/intro/sub.jpg) center center/cover no-repeat;
}
@media screen and (min-width: 750px) {
  .intro__pic::after {
    bottom: -10rem;
    left: -18.5rem;
    width: 34rem;
    height: 34.8rem;
  }
}

.event__wrap {
  padding-top: 6.46rem;
}
@media screen and (min-width: 750px) {
  .event__wrap {
    margin: 0 auto;
    padding-top: 11.8rem;
    width: 118.6rem;
  }
}

.section__top {
  position: relative;
  margin: 0 0 3rem 2.5rem;
}
@media screen and (min-width: 750px) {
  .section__top {
    margin: 0 0 4.3rem;
  }
}

.section__ttl-sub {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin-bottom: 1rem;
  color: #E10000;
  font-family: "Inter", serif;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 750px) {
  .section__ttl-sub {
    margin-bottom: 1.2rem;
  }
}

.section__ttl-sub::before {
  content: "";
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  background: #E10000;
  border-radius: 5rem;
}

.section__ttl-main {
  font-family: "Shippori Mincho", serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0.24em;
}
@media screen and (min-width: 750px) {
  .section__ttl-main {
    font-size: 3.6rem;
  }
}

.section__ttl-deco {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50.4rem;
}
@media screen and (min-width: 750px) {
  .section__ttl-deco {
    bottom: -1rem;
    right: -8rem;
    left: initial;
    width: 93.7rem;
  }
}

.event__inner {
  padding: 0 2.5rem 4rem;
}
@media screen and (min-width: 750px) {
  .event__inner {
    padding: 0 0 6rem;
  }
}

.event__caontainer {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-bottom: 4rem;
}
@media screen and (min-width: 750px) {
  .event__caontainer {
    flex-direction: row;
    gap: 2.7rem;
    margin-bottom: 5rem;
  }
}

.event__list-pic {
  width: 100%;
  height: 21rem;
  margin-bottom: 2rem;
}
@media screen and (min-width: 750px) {
  .event__list-pic {
    height: 24.4rem;
  }
}

.event__list-pic img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.event__list-box {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  margin-bottom: 1rem;
}

.event__list-place,
.event__list-tag {
  padding: 0.5rem 0.7rem;
  background: #f4f4f4;
  color: #777777;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
  border-radius: 0.4rem;
}

.event__list-tag {
  background: #575A6A;
  color: #fff;
}

.event__list-tag.-event {
  background: #E10000;
}

.event__list-date {
  display: flex;
  align-items: center;
  gap: 0.57rem;
  margin-bottom: 1rem;
  color: #575A6A;
  font-size: 1.4rem;
  font-weight: 300;
  letter-spacing: 0.1em;
}

.event__list-date::before {
  content: "";
  display: block;
  width: 1.7rem;
  height: 1.7rem;
  background: url(../images/common/icon_calendar.png) center center/contain no-repeat;
}

.event__list-ttl {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.about {
  padding-bottom: 34.6rem;
  background: #F4F4F4;
}
@media screen and (min-width: 750px) {
  .about {
    padding-bottom: 31.3rem;
  }
}

.about__wrap {
  position: relative;
  padding: 4rem 2.5rem 11.7rem;
  background: url(../images/top/about/bg_sp.jpg) center center/contain;
}
@media screen and (min-width: 750px) {
  .about__wrap {
    padding: 7rem 0 26.4rem;
    background: url(../images/top/about/bg_pc.jpg) center center/contain;
  }
}

@media screen and (min-width: 750px) {
  .about__inner {
    margin: 0 auto;
    width: 118.6rem;
  }
}

.about__top {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 4rem;
}
@media screen and (min-width: 750px) {
  .about__top {
    margin-bottom: 4.2rem;
  }
}

.about__ttl-sub {
  color: #fff;
  font-size: 1.6rem;
}
@media screen and (min-width: 750px) {
  .about__ttl-sub {
    margin-bottom: 2.4rem;
  }
}

.about__ttl-sub::before {
  background: #fff;
}

.about__ttl-main {
  width: 24.7rem;
}
@media screen and (min-width: 750px) {
  .about__ttl-main {
    width: 45.4rem;
  }
}

.about__youtube {
  width: 100%;
  margin: 0 auto 5.2rem;
  aspect-ratio: 16/9;
}
@media screen and (min-width: 750px) {
  .about__youtube {
    width: 60%;
    margin: 0 auto 7.2rem;
  }
}

.about__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (min-width: 750px) {
  .about__content {
    flex-direction: row;
    justify-content: center;
  }
}

.about__content-box {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: -2rem;
  width: 27.3rem;
  height: 27.3rem;
  color: #fff;
  border: 2px solid #fff;
  border-radius: 50%;
}
@media screen and (min-width: 750px) {
  .about__content-box {
    margin-right: -3rem;
    margin-bottom: 0;
    width: 38.3rem;
    height: 38.3rem;
  }
}

.about__content-box:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 750px) {
  .about__content-box:last-child {
    margin-right: 0;
  }
}

.about__content-icon {
  margin-bottom: 0.9rem;
  height: 5rem;
}
@media screen and (min-width: 750px) {
  .about__content-icon {
    margin-bottom: 2rem;
    height: 7.5rem;
  }
}

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

.about__content-ttl {
  margin-bottom: 1rem;
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 750px) {
  .about__content-ttl {
    margin-bottom: 1.5rem;
    font-size: 2.1rem;
  }
}

.about__content-txt {
  width: 20.6rem;
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
@media screen and (min-width: 750px) {
  .about__content-txt {
    width: 21.4rem;
  }
}

.about__relationship {
  position: absolute;
  bottom: -35rem;
  left: 0;
}
@media screen and (min-width: 750px) {
  .about__relationship {
    bottom: -31.3rem;
    left: 50%;
    width: 118.6rem;
    transform: translateX(-50%);
  }
}

.plan__wrap {
  padding: 4.48rem 0 2rem;
  background: #F4F4F4;
}
@media screen and (min-width: 750px) {
  .plan__wrap {
    padding: 10rem 0 6rem;
  }
}

.plan .section__ttl-deco {
  right: 0;
  left: initial;
  width: 17.5rem;
}
@media screen and (min-width: 750px) {
  .plan .section__ttl-deco {
    top: 0;
    right: -8rem;
    width: 32.4rem;
  }
}

.plan__inner {
  padding: 0 2.5rem;
}
@media screen and (min-width: 750px) {
  .plan__inner {
    position: relative;
    margin: 0 auto;
    padding: 0;
    width: 118.6rem;
  }
}

.plan__swiper {
  margin-bottom: 1rem;
}
@media screen and (min-width: 750px) {
  .plan__swiper {
    margin-bottom: 1.5rem;
  }
}

.plan__slide {
  padding: 0.9rem 1.7rem 1.92rem;
  background: #fff;
  cursor: pointer;
}
@media screen and (min-width: 750px) {
  .plan__slide {
    padding: 1rem 2.05rem 1.26rem;
  }
}

.plan__slide::after {
  position: absolute;
  right: 1.72rem;
  bottom: 1.92rem;
  content: "";
  display: block;
  width: 2.58rem;
  height: 2.58rem;
  background: url(../images/common/icon_modal.png) center center/contain no-repeat;
  pointer-events: none;
}
@media screen and (min-width: 750px) {
  .plan__slide::after {
    right: 2.25rem;
    bottom: 1.26rem;
    width: 3rem;
    height: 3rem;
  }
}

.plan__slide-type {
  margin-bottom: 2.2rem;
  margin-left: -1rem;
  color: #E10000;
  font-family: "Inter", serif;
  font-weight: 700;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
@media screen and (min-width: 750px) {
  .plan__slide-type {
    margin-bottom: 2.5rem;
    margin-left: -1.2rem;
    font-size: 1.6rem;
  }
}

.plan__slide-name {
  margin-bottom: 1.23rem;
  height: 4.3rem;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 750px) {
  .plan__slide-name {
    margin-bottom: 1.65rem;
    height: 5.3rem;
    font-size: 1.8rem;
  }
}

.plan__slide-box {
  padding: 1.47rem 0 1.36rem;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
}
@media screen and (min-width: 750px) {
  .plan__slide-box {
    padding: 1.65rem 0;
  }
}

.plan__slide-tsubo {
  margin-bottom: 0.4rem;
  font-size: 1.4rem;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 750px) {
  .plan__slide-tsubo {
    margin-bottom: 0.7rem;
    font-size: 1.7rem;
  }
}

.plan__slide-price {
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 750px) {
  .plan__slide-price {
    font-size: 1.2rem;
  }
}

.plan__slide-price span {
  margin: 0 0.4rem;
  font-size: 2.3rem;
  letter-spacing: 0;
}
@media screen and (min-width: 750px) {
  .plan__slide-price span {
    font-size: 2.7rem;
  }
}

.plan__slide-exterior {
  padding: 1.6rem 0 0;
  height: 18rem;
}
@media screen and (min-width: 750px) {
  .plan__slide-exterior {
    padding: 1.9rem 0 0;
    height: 25rem;
  }
}

.plan__slide-exterior img {
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.plan__slide-floor {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.6rem 1rem 0;
  height: 15.5rem;
}
@media screen and (min-width: 750px) {
  .plan__slide-floor {
    padding: 1.9rem 1rem 0;
    height: 31rem;
  }
}

.plan__slide-floor img {
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.plan__swiper-op {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 750px) {
  .plan__swiper-op {
    margin-bottom: 0;
  }
}

.plan .plan__swiper-pagination {
  position: static;
}

.plan .plan__swiper-button,
.staff .staff__swiper-button {
  display: flex;
  gap: 0.3rem;
}
@media screen and (min-width: 750px) {
  .plan .plan__swiper-button,
  .staff .staff__swiper-button {
    position: absolute;
    top: -7.4rem;
    right: 0;
    gap: 0.5rem;
  }
}

.works .works__swiper-button {
  display: flex;
  gap: 0.3rem;
}

.plan .plan__swiper-button-prev,
.plan .plan__swiper-button-next,
.staff .staff__swiper-button-prev,
.staff .staff__swiper-button-next,
.works .works__swiper-button-next,
.works .works__swiper-button-prev {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 4.8rem;
  height: 4.8rem;
  background: #fff;
  cursor: pointer;
  border-radius: 50%;
  transition: 0.3s;
}
@media screen and (min-width: 750px) {
  .plan .plan__swiper-button-prev,
  .plan .plan__swiper-button-next,
  .staff .staff__swiper-button-prev,
  .staff .staff__swiper-button-next,
  .works .works__swiper-button-next,
  .works .works__swiper-button-prev {
    width: 6.1rem;
    height: 6.1rem;
  }
}

.works .works__swiper-button-next,
.works .works__swiper-button-prev {
  width: 3.6rem;
  height: 3.6rem;
  background: #53595D;
  opacity: 0.6;
}
@media screen and (min-width: 750px) {
  .works .works__swiper-button-next,
  .works .works__swiper-button-prev {
    width: 3.6rem;
    height: 3.6rem;
  }
}

.plan .plan__swiper-button-prev:hover,
.plan .plan__swiper-button-next:hover,
.staff .staff__swiper-button-prev:hover,
.staff .staff__swiper-button-next:hover {
  background: #53595D;
}

.works .works__swiper-button-next:hover,
.works .works__swiper-button-prev:hover {
  background: #fff;
}

.plan .plan__swiper-button-prev:hover::after,
.plan .plan__swiper-button-next:hover::after,
.staff .staff__swiper-button-prev:hover::after,
.staff .staff__swiper-button-next:hover::after {
  background: url(../images/common/arrow-w.svg) center center/contain no-repeat;
}

.works .works__swiper-button-next:hover::after,
.works .works__swiper-button-prev:hover::after {
  background: url(../images/common/arrow-g.svg) center center/contain no-repeat;
}

.plan .plan__swiper-button-prev::after,
.plan .plan__swiper-button-next::after,
.staff .staff__swiper-button-prev::after,
.staff .staff__swiper-button-next::after,
.works .works__swiper-button-next::after,
.works .works__swiper-button-prev::after {
  position: absolute;
  content: "";
  display: block;
  width: 0.828rem;
  height: 0.956rem;
  background: url(../images/common/arrow-g.svg) center center/contain no-repeat;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (min-width: 750px) {
  .plan .plan__swiper-button-prev::after,
  .plan .plan__swiper-button-next::after,
  .staff .staff__swiper-button-prev::after,
  .staff .staff__swiper-button-next::after,
  .works .works__swiper-button-next::after,
  .works .works__swiper-button-prev::after {
    width: 1.062rem;
    height: 1.226rem;
  }
}

.works .works__swiper-button-next::after,
.works .works__swiper-button-prev::after {
  width: 0.753rem;
  height: 0.87rem;
  background: url(../images/common/arrow-w.svg) center center/contain no-repeat;
}
@media screen and (min-width: 750px) {
  .works .works__swiper-button-next::after,
  .works .works__swiper-button-prev::after {
    width: 0.753rem;
    height: 0.87rem;
  }
}

.plan .plan__swiper-button-prev,
.staff .staff__swiper-button-prev,
.works .works__swiper-button-prev {
  transform: rotate(180deg);
}

.plan .swiper-pagination-fraction,
.works .swiper-pagination-fraction {
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Inter", serif;
  font-weight: 700;
  font-size: max(1.4rem, 14px);
  color: #000;
  letter-spacing: 0.01em;
}

.works .swiper-pagination-fraction {
  color: #fff;
}

.plan .centerBorder,
.works .centerBorder {
  display: inline-block;
  margin: 0 8px;
  width: 1px;
  height: 12px;
  background: rgba(0, 0, 0, 0.3137254902);
}

.works .centerBorder {
  background: rgba(255, 255, 255, 0.3137254902);
}

.plan .swiper-pagination-total {
  color: rgba(0, 0, 0, 0.3137254902);
}

.works .swiper-pagination-total {
  color: rgba(255, 255, 255, 0.3137254902);
}

.standard__wrap {
  padding: 5rem 0 2rem;
}
@media screen and (min-width: 750px) {
  .standard__wrap {
    padding: 12rem 0 6rem;
  }
}

@media screen and (min-width: 750px) {
  .section__top {
    margin: 0 auto 3rem;
    width: 118.6rem;
  }
}

.standard .section__ttl-deco {
  top: 0;
  width: 62rem;
}
@media screen and (min-width: 750px) {
  .standard .section__ttl-deco {
    right: -8rem;
    width: 115rem;
  }
}

.section__lead {
  margin: 0 2.5rem 3rem;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.725;
}
@media screen and (min-width: 750px) {
  .section__lead {
    margin: 0 auto 4.6rem;
    width: 118.6rem;
  }
}

@media screen and (min-width: 750px) {
  .standard__inner {
    margin: 0 auto;
    width: 136.6rem;
  }
}

.standard__swiper {
  margin-bottom: 2rem;
}
@media screen and (min-width: 750px) {
  .standard__swiper {
    margin-bottom: 3.2rem;
  }
}

.standard__swiper-wrapper {
  transition-timing-function: linear;
}

.standard__swiper-slide {
  cursor: pointer;
}

.standard__slide {
  position: relative;
}

.standard__slide-pic img {
  transform: scale(1.001);
}

.standard__slide-box {
  position: absolute;
  bottom: 1.7rem;
  left: 2rem;
  color: #fff;
}

.standard__slide-item-en {
  margin-bottom: 0.6rem;
  font-family: "Inter", serif;
  font-weight: 700;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}

.standard__slide-item-jp {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}

.method__wrap {
  padding: 3.45rem 0 2rem;
  background: #53595D;
  color: #fff;
}
@media screen and (min-width: 750px) {
  .method__wrap {
    padding: 8rem 0 6rem;
  }
}

.method .section__ttl-sub {
  color: #fff;
}

.method .section__ttl-sub::before {
  background: #fff;
}

.method .section__ttl-deco {
  top: 0.4rem;
  right: 0;
  left: initial;
  width: 31.4rem;
}
@media screen and (min-width: 750px) {
  .method .section__ttl-deco {
    top: -2.6rem;
    right: -8rem;
    width: 58.3rem;
  }
}

.section__catch {
  margin: 0 2.3rem 1.4rem 2.5rem;
  font-size: 2rem;
  letter-spacing: 0.1em;
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  .section__catch {
    margin: 0 auto 2rem;
    width: 118.6rem;
  }
}

.method__inner {
  padding: 0 2.5rem;
}
@media screen and (min-width: 750px) {
  .method__inner {
    position: relative;
    margin: 0 auto;
    padding: 0;
    width: 118.6rem;
  }
}

@media screen and (min-width: 750px) {
  .method__container {
    display: flex;
    gap: 3.2rem;
    margin: 0 auto 3.2rem;
    width: 118.6rem;
  }
}

.mothod__card {
  margin-bottom: 2rem;
}
@media screen and (min-width: 750px) {
  .mothod__card {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 750px) {
  .mothod__card:nth-of-type(even) {
    transform: translateY(-8rem);
  }
}

.method__card-pic {
  height: 17.8rem;
}
@media screen and (min-width: 750px) {
  .method__card-pic {
    height: 31.7rem;
  }
}

.method__card-pic img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.method__card-box {
  padding: 1.14rem 1.1rem 1.92rem;
  background: #363636;
}
@media screen and (min-width: 750px) {
  .method__card-box {
    padding: 2.9rem 3.3rem 3.75rem;
  }
}

.method__card-top {
  display: flex;
  gap: 0.6rem;
  margin-bottom: 1rem;
}
@media screen and (min-width: 750px) {
  .method__card-top {
    gap: 1.2rem;
    margin-bottom: 2.25rem;
  }
}

.method__card-num {
  font-family: "Inter", serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 750px) {
  .method__card-num {
    padding-top: 0.2rem;
  }
}

.method__card-ttl {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 750px) {
  .method__card-ttl {
    font-size: 2.5rem;
  }
}

.method__card-list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}

.method__card-item {
  display: flex;
  align-items: center;
  width: 14rem;
  height: 6.6rem;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 750px) {
  .method__card-item {
    width: 24.2rem;
    height: 10.7rem;
  }
}

.method__card-item-container {
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
@media screen and (min-width: 750px) {
  .method__card-item-container {
    gap: 1.92rem;
  }
}

.method__card-item-icon {
  flex-shrink: 0;
  width: 2.8rem;
}
@media screen and (min-width: 750px) {
  .method__card-item-icon {
    width: 5rem;
  }
}

.method__card-item-efficacy {
  margin-bottom: 0.3rem;
  font-size: 0.87rem;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  .method__card-item-efficacy {
    margin-bottom: 0.5rem;
    font-size: 1.2rem;
  }
}

.method__card-item-txt {
  font-size: 0.99rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  .method__card-item-txt {
    font-size: 1.5rem;
    line-height: 1.6;
  }
}

.guarantee__wrap {
  padding: 4rem 0 0;
}
@media screen and (min-width: 750px) {
  .guarantee__wrap {
    padding: 12.7rem 0 0;
  }
}

.guarantee .section__catch {
  margin-bottom: 3rem;
}
@media screen and (min-width: 750px) {
  .guarantee .section__catch {
    margin-bottom: 4.2rem;
  }
}

.guarantee .section__ttl-deco {
  width: 42rem;
}
@media screen and (min-width: 750px) {
  .guarantee .section__ttl-deco {
    top: -2.2rem;
    right: -8rem;
    width: 80.4rem;
  }
}

.guarantee__inner {
  padding: 0 2.5rem;
}
@media screen and (min-width: 750px) {
  .guarantee__inner {
    margin: 0 auto;
    padding: 0;
    width: 118.6rem;
  }
}

.guarantee__container {
  background: rgb(242, 242, 242);
  background: linear-gradient(20deg, rgb(242, 242, 242) 0%, rgb(211, 211, 211) 100%);
}
@media screen and (min-width: 750px) {
  .guarantee__container {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 5rem;
  }
}

@media screen and (min-width: 750px) {
  .guarantee__pic {
    flex-shrink: 0;
    width: 57.7rem;
  }
}

.guarantee__content {
  margin-bottom: 2rem;
  padding: 2rem 1.7rem;
}
@media screen and (min-width: 750px) {
  .guarantee__content {
    margin-bottom: 0;
    padding: 0 4rem 0 0;
  }
}

.guarantee__list {
  position: relative;
  margin-bottom: 1.6rem;
  padding-bottom: 1.6rem;
  border-bottom: 1px solid #e3adad;
}

.guarantee__list:last-of-type {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: none;
}

.guarantee__lsit-year {
  margin-bottom: 0.75rem;
  font-size: 1.8rem;
  letter-spacing: 0.12em;
  line-height: 1.6;
}
@media screen and (min-width: 750px) {
  .guarantee__lsit-year {
    margin-bottom: 0.3rem;
  }
}

.guarantee__lsit-year span {
  padding: 0 0.3rem;
  color: #E10000;
  font-size: 3rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.guarantee__lsit-year-sub {
  margin-bottom: 0.8rem;
  color: #8b8b8b;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
}

.guarantee__lsit-txt {
  font-size: 1.3rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.4;
}

.guarantee__lsit-logo {
  position: absolute;
  top: 1.2rem;
  right: 0;
  width: 9rem;
}

.works__wrap {
  padding: 5.7rem 0 3rem;
}
@media screen and (min-width: 750px) {
  .works__wrap {
    padding: 11.7rem 0 6rem;
  }
}

.works .section__ttl-deco {
  right: 0;
  left: initial;
  width: 24.6rem;
}
@media screen and (min-width: 750px) {
  .works .section__ttl-deco {
    right: -8rem;
    width: 47.8rem;
  }
}

@media screen and (min-width: 750px) {
  .works__inner {
    margin: 0 auto;
    width: 127.6rem;
  }
}

.works__container {
  margin-bottom: 2rem;
}
@media screen and (min-width: 750px) {
  .works__container {
    display: flex;
    margin-bottom: 3rem;
    align-items: stretch;
    justify-content: space-between;
    transform: translateX(-4.5rem);
  }
}

.works__swiper {
  margin-bottom: 3rem;
}
@media screen and (min-width: 750px) {
  .works__swiper {
    flex-shrink: 0;
    margin-bottom: 0;
    width: 70rem;
  }
}

@media screen and (min-width: 750px) {
  .works__slide {
    height: 100%;
  }
}

.works__slide-pic {
  height: 47.5rem;
}
@media screen and (min-width: 750px) {
  .works__slide-pic {
    height: 100%;
  }
}

.works__slide-pic img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.works__slide-box {
  position: absolute;
  bottom: 7rem;
  left: 0;
  margin-bottom: 1.6rem;
  padding: 0 2.5rem;
  color: #fff;
}

.works__slide-ttl {
  margin-bottom: 0.3rem;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.45;
}

.works__slide-tags {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
}

.works__slide-tag {
  display: flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
}

.works__slide-tag::before {
  content: "";
  display: block;
  width: 0.4rem;
  height: 0.4rem;
  background: #fff;
  opacity: 0.5;
}

.works__swiper-op {
  position: absolute;
  bottom: 1.2rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 2.5rem;
  width: 100%;
  z-index: 1;
}

.works__box {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8rem;
  padding: 0 2.5rem;
}
@media screen and (min-width: 750px) {
  .works__box {
    gap: 3.2rem;
    justify-content: flex-end;
    padding: 0;
    height: 100%;
  }
}

.works__list {
  position: relative;
  width: 47%;
  height: 17.2rem;
}
@media screen and (min-width: 750px) {
  .works__list {
    width: 25.6rem;
    height: 31.4rem;
  }
}

.works__slide-pic::after,
.works__list-pic::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 5rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(0, 0, 0) 100%);
}
@media screen and (min-width: 750px) {
  .works__slide-pic::after,
  .works__list-pic::after {
    height: 7rem;
  }
}

.works__slide-pic::after {
  height: 20rem;
}
@media screen and (min-width: 750px) {
  .works__slide-pic::after {
    height: 17rem;
  }
}

.works__list-pic {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.works__list-pic:hover img {
  transform: scale(1.06);
}

.works__list-pic img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.5s;
}

.works__list-ttl {
  position: absolute;
  bottom: 1rem;
  left: 0.68rem;
  width: 14rem;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
}
@media screen and (min-width: 750px) {
  .works__list-ttl {
    left: 1.4rem;
    bottom: 1.3rem;
  }
}

.works .swiper-pagination-fraction .border {
  position: absolute;
  bottom: 4.4rem;
  left: 1.4rem;
  width: 32rem;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.3137254902);
  overflow: hidden;
}
@media screen and (min-width: 750px) {
  .works .swiper-pagination-fraction .border {
    left: 2.64rem;
    width: 64.5rem;
  }
}

.works .swiper-pagination-fraction .border span {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  width: 100%;
  height: 100%;
  background-color: white;
  transform: scaleX(0);
  transform-origin: left center;
}

.works .works__swiper-pagination.is-active .border span {
  transform: scaleX(1);
  transition: transform 3.85s linear;
}

.voice__wrap {
  padding: 4rem 0 2.5rem;
  background: #F4F4F4;
}
@media screen and (min-width: 750px) {
  .voice__wrap {
    padding: 8rem 0;
  }
}

.voice .section__ttl-deco {
  right: 0;
  left: initial;
  width: 22rem;
}
@media screen and (min-width: 750px) {
  .voice .section__ttl-deco {
    right: -8rem;
    width: 40.7rem;
  }
}

.voice__inner {
  padding: 0 2.5rem;
}
@media screen and (min-width: 750px) {
  .voice__inner {
    margin: 0 auto;
    padding: 0;
    width: 118.6rem;
  }
}

.voice__container {
  margin-bottom: 1.8rem;
}
@media screen and (min-width: 750px) {
  .voice__container {
    position: relative;
    display: flex;
    margin-bottom: 4rem;
  }
}

.voice__box {
  margin-bottom: 3rem;
}
@media screen and (min-width: 750px) {
  .voice__box {
    margin: 0;
    width: 54.3rem;
  }
}

.voice__lsit {
  display: flex;
  gap: 1.7rem;
  padding: 1.6rem 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3137254902);
}
@media screen and (min-width: 750px) {
  .voice__lsit {
    align-items: center;
    padding: 2.8rem 0;
  }
}

.voice__lsit:first-of-type {
  padding-top: 0;
}

.voice__list-pic {
  flex-shrink: 0;
  width: 12.7rem;
  height: 8.4rem;
}
@media screen and (min-width: 750px) {
  .voice__list-pic {
    width: 21.3rem;
    height: 14rem;
  }
}

.voice__list-pic img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.voice__list-owner {
  margin-bottom: 0.8rem;
  color: #E10000;
  font-size: 1.1rem;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 750px) {
  .voice__list-owner {
    margin-bottom: 1.4rem;
    font-size: 1.4rem;
  }
}

.voice__list-ttl {
  margin-bottom: 0.5rem;
  height: 3.8rem;
  overflow: hidden;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.5;
}
@media screen and (min-width: 750px) {
  .voice__list-ttl {
    margin-bottom: 0.7rem;
    height: 5rem;
    font-size: 1.6rem;
  }
}

.voice__list-date {
  color: #7c7c7c;
  font-size: 1.1rem;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 750px) {
  .voice__list-date {
    font-size: 1.4rem;
  }
}

.voice__pic {
  width: 100%;
  height: 20.4rem;
}
@media screen and (min-width: 750px) {
  .voice__pic {
    position: absolute;
    right: -8rem;
    width: 66.7rem;
    height: 57rem;
  }
}

.voice__pic img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: opacity 0.3s ease-in-out;
}

.staff__wrap {
  padding: 3.4rem 0 2rem;
  background: #E10000;
  color: #fff;
}
@media screen and (min-width: 750px) {
  .staff__wrap {
    padding: 8rem 0 8.4rem;
  }
}

.staff .section__ttl-sub {
  color: #fff;
}

.staff .section__ttl-sub::before {
  background: #fff;
}

.staff .section__ttl-deco {
  right: 0;
  left: initial;
  width: 18rem;
}
@media screen and (min-width: 750px) {
  .staff .section__ttl-deco {
    right: -8rem;
    width: 36.7rem;
  }
}

.staff__inner {
  padding: 0 2.5rem;
}
@media screen and (min-width: 750px) {
  .staff__inner {
    position: relative;
    width: 118.6rem;
    margin: 0 auto;
    padding: 0;
  }
}

.staff__swiper {
  margin-bottom: 1rem;
}
@media screen and (min-width: 750px) {
  .staff__swiper {
    padding-top: 2rem;
    margin-bottom: 0;
  }
}

@media screen and (min-width: 750px) {
  .staff__swiper-slide {
    transition: transform 0.4s ease-in-out;
  }
}

@media screen and (min-width: 750px) {
  .staff__swiper-slide.is-active {
    transform: translateY(-2rem);
  }
}

.staff__slide {
  cursor: pointer;
}

.staff__slide-pic::after {
  position: absolute;
  bottom: 0;
  content: "";
  display: block;
  width: 100%;
  height: 7rem;
  background: #000;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(0, 0, 0) 100%);
}
@media screen and (min-width: 750px) {
  .staff__slide-pic::after {
    height: 9rem;
  }
}

.staff__slide-pic img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.staff__slide-box {
  position: absolute;
  left: 1.3rem;
  bottom: 1.3rem;
}
@media screen and (min-width: 750px) {
  .staff__slide-box {
    left: 1.6rem;
    bottom: 1.4rem;
  }
}

.staff__slide-name {
  margin-bottom: 0.8rem;
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 750px) {
  .staff__slide-name {
    font-size: 2.4rem;
  }
}

.staff__slide-department {
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 750px) {
  .staff__slide-department {
    font-size: 1.2rem;
  }
}

.staff__swiper-button {
  justify-content: right;
}

#staff-modal.is-open .modal__overlay,
#staff-modal.is-open .modal__container {
  opacity: 1;
  pointer-events: all;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  inset: 0;
  background: #d8d8d8;
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 9998;
  pointer-events: none;
}
@media screen and (min-width: 750px) {
  .modal__overlay {
    background: rgba(0, 0, 0, 0.6784313725);
    cursor: pointer;
  }
}

.modal__container {
  position: fixed;
  background: #fff;
  width: 32.5rem;
  height: 85vh;
  height: 85dvh;
  max-width: 500px;
  border-radius: 1rem;
  box-sizing: border-box;
  box-shadow: 0px 3px 6px -1px #777777;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  z-index: 9999;
  pointer-events: none;
  overflow-y: auto;
}
@media screen and (min-width: 750px) {
  .modal__container {
    width: 100.6rem;
    max-width: 100%;
    height: auto;
    max-height: 70vh;
  }
}

.modal__close {
  position: absolute;
  width: 3rem;
  height: 3rem;
  top: 1rem;
  right: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}
@media screen and (min-width: 750px) {
  .modal__close {
    width: 5rem;
    height: 5rem;
  }
}

.modal__close::before,
.modal__close::after {
  position: absolute;
  content: "";
  display: block;
  width: 2rem;
  height: 1px;
  background: #000;
  transform: rotate(45deg);
}
@media screen and (min-width: 750px) {
  .modal__close::before,
  .modal__close::after {
    width: 3rem;
  }
}

.modal__close::after {
  transform: rotate(-45deg);
}

.staff__modal-slide {
  padding: 3.8rem 1.8rem;
  color: #000;
}
@media screen and (min-width: 750px) {
  .staff__modal-slide {
    display: flex;
    justify-content: space-between;
    gap: 4.8rem;
    padding: 5.1rem 5.5rem 5.1rem 6.2rem;
  }
}

.staff__modal-slide-pic {
  margin-bottom: 1.2rem;
  width: 100%;
  height: 29rem;
}
@media screen and (min-width: 750px) {
  .staff__modal-slide-pic {
    flex-shrink: 0;
    margin-bottom: 0;
    width: 31.2rem;
    height: auto;
  }
}

.staff__modal-slide-pic img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}
@media screen and (min-width: 750px) {
  .staff__modal-slide-pic img {
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: initial;
       object-position: initial;
  }
}

@media screen and (min-width: 750px) {
  .staff__modal-slide-container {
    padding-top: 2.6rem;
  }
}

.staff__modal-slide-ttl {
  margin-bottom: 2rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.5;
}
@media screen and (min-width: 750px) {
  .staff__modal-slide-ttl {
    margin-bottom: 1.3rem;
    font-size: 2rem;
  }
}

.staff__modal-slide-name {
  margin-bottom: 1rem;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.staff__modal-slide-department {
  margin-bottom: 2rem;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
}
@media screen and (min-width: 750px) {
  .staff__modal-slide-department {
    margin-bottom: 3.3rem;
  }
}

.staff__modal-slide-box {
  margin-bottom: 2rem;
}

.staff-modal__title {
  width: 12rem;
  font-size: 1.6rem;
  font-weight: 700;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  line-height: 1.75;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.staff-modal__data {
  font-size: 1.6rem;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
  line-height: 1.75;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.staff__modal-slide-box:last-of-type {
  margin-bottom: 0;
}

.staff__modal-slide-question {
  margin-bottom: 1.4rem;
  padding: 0.4rem 0.8rem 0.4rem 0.6rem;
  width: -moz-fit-content;
  width: fit-content;
  background: #53595D;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.12em;
}

.staff__modal-slide-question span {
  font-family: "Inter", serif;
  font-weight: 700;
  font-size: 1.6rem;
}

.staff__modal-slide-answer {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

@media screen and (min-width: 750px) {
  .staff__modal-swiper-button {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    justify-content: space-between;
    width: 115rem;
    transform: translate(-50%, -50%);
  }
}

@media screen and (min-width: 750px) {
  .staff__modal-swiper-button-prev,
  .staff__modal-swiper-button-next {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5.4rem;
    height: 5.4rem;
    background: #fff;
    cursor: pointer;
    transition: 0.3s;
    border-radius: 50%;
  }
}

@media screen and (min-width: 750px) {
  .staff__modal-swiper-button-prev::after,
  .staff__modal-swiper-button-next::after {
    position: absolute;
    content: "";
    display: block;
    width: 1.13rem;
    height: 1.304rem;
    background: url(../images/common/arrow-g.svg) center center/contain no-repeat;
    transition: 0.3s;
  }
}

@media screen and (min-width: 750px) {
  .staff__modal-swiper-button-prev {
    transform: rotate(180deg);
  }
}

.info__wrap {
  padding: 5.8rem 0 3rem;
}
@media screen and (min-width: 750px) {
  .info__wrap {
    padding: 11.5rem 0 9.6rem;
  }
}

@media screen and (min-width: 750px) {
  .info .section__top {
    margin-bottom: 5rem;
  }
}

.info .section__ttl-deco {
  top: 0.7rem;
  width: 49.6rem;
}
@media screen and (min-width: 750px) {
  .info .section__ttl-deco {
    top: -3rem;
    width: 92rem;
  }
}

.info__inner {
  display: flex;
  flex-direction: column-reverse;
  padding: 0 2.5rem;
}
@media screen and (min-width: 750px) {
  .info__inner {
    align-items: center;
    flex-direction: row;
    gap: 6.8rem;
    margin: 0 auto;
    padding: 0;
    width: 118.6rem;
  }
}

.info__pic {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
@media screen and (min-width: 750px) {
  .info__pic {
    flex-shrink: 0;
    width: 50.7rem;
    height: 61rem;
  }
}
.info__pic img {
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 750px) {
  .info__pic img {
    height: 100%;
  }
}
.info__pic img:first-child {
  width: 100%;
  height: auto;
  aspect-ratio: 50.7/35.15;
  -o-object-fit: cover;
     object-fit: cover;
}
.info__pic img:nth-child(2) {
  width: calc((100% - 1rem) / 2);
  height: calc((100vw - 5rem - 1rem) / 2);
  aspect-ratio: 1/1;
}
@media screen and (min-width: 750px) {
  .info__pic img:nth-child(2) {
    height: 24.85rem;
  }
}
.info__pic img:nth-child(3) {
  width: calc((100% - 1rem) / 2);
  height: calc((100vw - 5rem - 1rem) / 2);
  aspect-ratio: 1/1;
}
@media screen and (min-width: 750px) {
  .info__pic img:nth-child(3) {
    height: 24.85rem;
  }
}

.info__container {
  margin-bottom: 2.4rem;
}
@media screen and (min-width: 750px) {
  .info__container {
    margin-bottom: 0;
    width: 100%;
  }
}

.info__dl {
  display: flex;
  padding: 1.5rem 0;
  border-bottom: 1px solid #cccccc;
}

.info__dl:first-of-type {
  padding: 0 0 1.5rem;
}

.info__dl:last-of-type {
  padding: 1.5rem 0 0;
  border-bottom: none;
}

.info__list {
  flex-shrink: 0;
  width: 10rem;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.6;
}
@media screen and (max-width: 749.98px) {
  .info__list {
    width: 8.6rem;
  }
}

.info__item {
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.6;
}

.info__item-box {
  margin-bottom: 1.6rem;
}

.info__item-access {
  margin-bottom: 0.7rem;
}

.info__item-map {
  padding: 0.5rem 0.8rem;
  background: #f4f4f4;
  color: #626262;
  font-size: 1rem;
  font-weight: 500;
  border-radius: 5rem;
}

@media screen and (max-width: 749.98px) {
  .modal__overlay::after {
    position: fixed;
    content: "";
    background: #fff;
    width: 32.5rem;
    height: 88vh;
    height: 88dvh;
    max-width: 500px;
    border-radius: 1rem;
    box-sizing: border-box;
    box-shadow: 0px 3px 6px -1px #777777;
    border-radius: 1rem;
  }
  .staff-modal__table .staff-modal__table-row:first-child .staff-modal__title:first-child {
    border-top: 1px solid #cccccc;
  }
  .staff-modal__title {
    width: 100%;
    float: left;
    border-top: 0;
    border-bottom: 0;
    padding-bottom: 0;
  }
  .staff-modal__data {
    width: 100%;
    float: left;
    border-top: 0;
    padding-top: 0;
  }
  .staff__modal-slide-container {
    margin-top: 2.5rem;
  }
}