@charset "utf-8";
#index .s-heading .en {
  margin-bottom: 0.1em;
}
/* ボタン */
.index_btn {
  display: flex;
  justify-content: center;
  width: 24.31vw;
  min-width: 350px;
  margin: 0 auto;
  padding: 0;
  background: none;
  border: none;
  outline: none;
  position: relative;
  cursor: pointer;
}
.index_btn:before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 11.43%;
  left: 2.29%;
  width: 100%;
  height: 100%;
  background-color: #000;
}
.index_btn span {
  font-size: max(20px, 1.39vw);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 1.05em 8.57%;
  background: #fff;
  border: solid 2px #000;
  position: relative;
  z-index: 1;
  transition: all 0.2s ease;
}
.index_btn span::after {
  content: "";
  width: 0.7em;
  height: 1.15em;
  background: url(../imgs/common/btn_arrow_bk.svg) no-repeat center / contain;
  position: relative;
  left: -0.5em;
  transition: all 0.2s ease;
}
.index_btn:hover {
  border-color: transparent;
}
.index_btn:hover span {
  color: #00675b;
  transform: translate(2.29%, 11.43%);
}
.index_btn:hover span::after {
  background: url(../imgs/common/btn_arrow_gn.svg) no-repeat center / contain;
}

/* ======================
mv
========================= */
.mv {
  width: 100vw;
  height: 52.08vw;
  max-height: 100svh;
}
.mv .mv__heading-Wrap {
  position: absolute;
  top: 50%;
  transform: translate(7%, -50%);
}
.mv__heading {
  width: min(38vw, 80vh);
  height: min(31vw, 64.91vh);
  opacity: 0;
  transform: scale(0.98);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.mv__heading.show {
  opacity: 1;
  transform: scale(1);
  transition-delay: 0.3s;
}
.scrolldown {
  height: 80px;
  position: absolute;
  left: 0;
  bottom: 18px;
}
.scrolldown span {
  font-size: max(16px, 1.11vw);
  line-height: 1.25;
  letter-spacing: 0.16em;
  position: absolute;
  left: 10px;
  top: 0;
}
.scrolldown:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -4px;
  width: 10px;
  height: 10px;
  display: block;
  border-radius: 50%;
  background: #fff;
  animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}
@keyframes circlemove {
  0% {
    bottom: 80px;
  }
  100% {
    bottom: -5px;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
.scrolldown:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 80px;
  background: #fff;
}
/* ======================
akan
========================= */
.akan {
  padding: max(60px, 4.17vw) 0 max(75px, 5.21vw);
  overflow-x: clip;
}
.akan__inner {
  flex-wrap: nowrap;
  gap: 20px;
}
.akan .flex_l {
  width: 36.83%;
  /* 1200 → 442px */
}
.akan .s-heading-img {
  width: 78.05%;
  /* 442 → 345px */
  position: relative;
  left: -2%;
}
.akan .s-heading {
  font-size: max(30px, 2.08vw);
  /* 1440 → 30px */
  font-weight: 700;
  line-height: 1.47;
  letter-spacing: 0.05em;
  padding: 0.7em 0 1em;
}
.akan .txtbk p {
  font-size: max(17px, 1.18vw);
  line-height: 1.647;
  letter-spacing: 0.02em;
  padding-bottom: 1.647em;
}

.akan .txtbk p span {
  display: inline-block;
}
.akan .flex_r {
  width: 58.33%;
  /* 1200 → 700px */
}
.akan .flex_r__inner {
  height: 100%;
}
.akan .flex_r .deco {
  position: absolute;
}
.akan .flex_r .deco.img1 {
  width: 57.14%;
  /* 700 → 400px */
  top: 0;
  right: 0;
  transform: translate(-4%, -4%);
}
.akan .flex_r .deco.img2 {
  width: 50%;
  /* 700 → 350px */
  top: 50%;
  left: 0;
  transform: translate(0, -45%);
}
.akan .flex_r .deco.img3 {
  width: 40%;
  /* 700 → 280px */
  bottom: 0;
  right: 0;
  transform: translate(-4%, 3%);
}
/* ======================
about
========================= */
.about {
  padding: max(80px, 5.56vw) 0 max(508px, 35.28vw);
}
.about .s-headingBk {
  margin-bottom: max(52px, 3.61vw);
}

.about .s-heading__logo {
  width: 26.88vw;
  min-width: 387px;
  position: absolute;
  top: 0%;
  right: 16%;
  transform: translate(60%, 7%);
}
.about .s-heading__logo.inv_mov.mov {
  animation: popIn 0.6s ease-out forwards;
}
@keyframes popIn {
  0% {
    opacity: 0;
    transform: translate(60%, 7%) scale(0.8);
  }
  60% {
    opacity: 1;
    transform: translate(60%, 7%) scale(1.03);
  }
  100% {
    opacity: 1;
    transform: translate(60%, 7%) scale(1);
  }
}

.about__list {
  margin-bottom: max(70px, 4.86vw);
}
.about__heading-Wrap {
  padding-top: 0.7em;
}
.about__heading {
  display: inline-block;
  margin-bottom: 0.7em;
}
.about__heading-txt {
  letter-spacing: 0.01em;
}
.about__heading-num {
  font-size: max(80px, 5.56vw);
  line-height: 1;
  letter-spacing: 0.1em;
  transform: translateY(-15%);
}
.about__heading span {
  display: block;
}
.about__heading .fs-sml {
  font-size: max(13px, 1.04vw);
  /* 1440→15px 980→13px */
  line-height: 1.4;
  letter-spacing: 0;
  margin-bottom: 0.2em;
}
.about__heading .fs-lg {
  font-size: max(30px, 2.08vw);
  line-height: 1.47;
  letter-spacing: 0;
  min-width: 5.3em;
  padding-bottom: 0.25em;
  border-bottom: 1px solid #fff;
}
.about__heading-txt {
  font-size: max(17px, 1.18vw);
  line-height: 1.77;
  letter-spacing: 0.01em;
}
.about_cont {
  display: flex;
  justify-content: space-between;
}
/* -------------
about-1
----------------  */
.about-1 {
  align-items: flex-start;
  margin-bottom: max(36px, 2.5vw);
}
.about-1 .txtbk {
  width: 47.5%;
}
.about-1 .about__heading-Wrap {
  padding-bottom: 1.5em;
}
.about-1 .about__heading-txt {
  line-height: 2.06;
}
.about-1 .about__heading-txt:not(:last-child) {
  margin-bottom: 2.06em;
}
.about-1 .imgbk {
  width: 46.67%;
  aspect-ratio: 14 / 13;
}
.about-1 .imgbk .img1 {
  width: 116%;
  position: absolute;
  top: 0;
  right: 0;
  transform: translateX(-4.6%);
}
.about-1 .imgbk .img2 {
  width: 57.14%;
  position: absolute;
  bottom: 0;
  right: 0;
}
.about-1 .temp-graph {
  position: absolute;
  top: 100%;
  right: 0;
}
.about-1 .temp-graph::after {
  content: "";
  width: 19.24vw;
  /* min-width: 277px; */
  aspect-ratio: 277 / 123;
  background: url(../imgs/index/after_01.svg) no-repeat center / contain;
  position: absolute;
  right: 50%;
  top: 100%;
}
.about-1 .temp-graph .notes {
  font-size: max(16px, 1.11vw);
  display: flex;
  justify-content: flex-end;
  padding-top: 0.6em;
}
/* -------------
about-2
----------------  */
.about-2 {
  align-items: flex-start;
  width: 43.19vw;
  min-width: 622px;
  margin-bottom: max(67px, 4.65vw);
}
.about-2::after {
  content: "";
  width: 22.01vw;
  /* min-width: 223px; */
  aspect-ratio: 317 / 223;
  background: url(../imgs/index/after_02.svg) no-repeat center / contain;
  position: absolute;
  left: 15%;
  top: 96%;
}
.about-2 .imgbk {
  width: 49.84%;
  aspect-ratio: 310 /370;
  overflow: hidden;
}
.about-2 .txtbk {
  width: 45%;
  padding-top: 2.2em;
}
/* -------------
about-3
----------------  */
.about-3 {
  flex-direction: row-reverse;
  align-items: flex-end;
  width: 51.39vw;
  min-width: 740px;
  margin: 0 0 0 auto;
}
.about-3 .imgbk {
  width: 33.78%;
  height: 100%;
  aspect-ratio: 250 / 337;
}
.about-3 .imgbk .img1 {
  width: 128%;
  aspect-ratio: 32 / 43;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-78%, -45%);
}
.about-3 .imgbk .img2 {
  position: absolute;
  bottom: 0;
  right: 0;
}
.about-3 .txtbk {
  width: 59%;
}
/* -------------
slider
----------------  */
.slider_bk {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
}

.slider_bk::before {
  content: "";
  height: 276.67%;
  min-height: 620px;
  aspect-ratio: 400 / 249;
  background: url(../imgs/index/sl_bg.svg) no-repeat center / contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -54%);
  transform-origin: center;
}
.slider_bk.inv_mov::before {
  opacity: 0;
}
.slider_bk.inv_mov.mov::before {
  animation: poyon 0.9s ease-out forwards;
}
@keyframes poyon {
  0% {
    opacity: 0;
    transform: translate(-50%, -54%) scale(0.8);
  }
  60% {
    opacity: 1;
    transform: translate(-50%, -54%) scale(1.03);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -54%) scale(1);
  }
}

.slide__heading {
  width: 32.08vw;
  min-width: 462px;
  position: absolute;
  top: -13%;
  left: 50%;
  transform: translate(-50%, -100%);
}
.slider__txt {
  font-size: max(17px, 1.18vw);
  line-height: 1.59;
  letter-spacing: 0;
  width: 92vw;
  position: absolute;
  bottom: -11%;
  left: 50%;
  transform: translate(-50%, 100%);
}
/* ======================
facility
========================= */
.facility {
  padding: max(500px, 34.72vw) 0 max(232px, 16.11vw);
}
.facility .s-headingBk {
  padding-bottom: 2.5em;
}
.facility .s-headingBk::before {
  content: "";
  display: block;
  width: 74%;
  aspect-ratio: 1777 / 1028;
  background: url(../imgs/index/facility.png) no-repeat center/contain;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(14%, -13%);
  z-index: -1;
}
.facility .s-heading {
  margin-bottom: 0.45em;
}
.facility .s-heading-txt {
  width: 53%;
}
.facility__bnr {
  height: 31.25vw;
  min-height: 450px;
}
.facility__bnr-left {
  width: 54.86%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.facility__bnr-right {
  width: 54.86%;
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}

.facility__bnr-left .imgbk {
  height: 100%;
  clip-path: polygon(0 0, 100% 0, 80.8% 100%, 0 100%);
}
.facility__bnr-right .imgbk {
  height: 100%;
  clip-path: polygon(19.2% 0, 100% 0, 100% 100%, 0 100%);
}
.facility__bnr-item .imgbk {
  overflow: hidden;
}
.facility__bnr-item .imgbk::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  z-index: 2;
  transition: 0.2s;
  opacity: 0;
}
.facility__bnr-item:hover .imgbk::before {
  opacity: 1;
}
.facility__bnr-item .imgbk img {
  transition: 0.3s;
  position: relative;
}
.facility__bnr-item:hover .imgbk img {
  scale: 1.1;
}
.facility__heading {
  font-size: max(45px, 3.31vw);
  line-height: 1;
  letter-spacing: 0.07em;
  position: absolute;
  top: 50%;
  transition: 0.2s;
  z-index: 2;
  opacity: 0;
}
.facility__bnr-item:hover .facility__heading {
  opacity: 1;
}
.facility__bnr-left .facility__heading {
  left: 50%;
  transform: translate(-61%, -50%);
}
.facility__bnr-right .facility__heading {
  right: 50%;
  transform: translate(60%, -50%);
}
/* ボタン */
.facility__bnr .index_btn-wrap {
  position: absolute;
  bottom: 0;
}
.facility__bnr-left .index_btn-wrap {
  left: 50%;
  transform: translate(-61%, 50%);
}
.facility__bnr-right .index_btn-wrap {
  right: 50%;
  transform: translate(60%, 50%);
}
/* ======================
personalize
========================= */
.personalize .s-headingBk {
  margin-bottom: max(20px, 1.39vw);
}
.personalize .bg_yl {
  border-radius: 10.42vw 10.42vw 0 0;
  padding: max(54px, 3.75vw) 0 max(40px, 2.78vw);
}
.personalize .inner__head-txt {
  font-size: max(18px, 1.25vw);
  line-height: 1.94;
  letter-spacing: 0.02em;
  width: 60%;
  margin-bottom: 1.56em;
}
.personalize .inner__head-img {
  width: 42.42%;
  position: absolute;
  right: 0;
  top: 0;
  transform: translate(10%, -42%);
}
/* ----------------------
point
------------------------- */
.point__heading {
  font-size: max(30px, 2.08vw);
  line-height: 1.47;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  gap: 0.3em;
  margin-bottom: 0.33em;
}
.point__heading::before {
  content: "";
  width: 1.1em;
  height: 1.89em;
  background: url(../imgs/index/personalize_point.png) no-repeat center / contain;
}
.point__heading .en {
  font-size: 1.67em;
  letter-spacing: 0;
}
.point__list {
  margin-bottom: max(40px, 2.78vw);
}
.point__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2em;
  background: #fff;
  border: 3px solid #000;
  padding: 2em 4.17%;
}
.point__item:not(:last-child) {
  margin-bottom: max(30px, 2.08vw);
}
.point__item dt {
  font-size: max(20px, 1.39vw);
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  gap: 0.75em;
  flex-shrink: 0;
  width: 11.75em;
}
.point__item dt::before {
  content: "";
  width: 3em;
  height: 3em;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.item1 dt::before {
  background-image: url(../imgs/index/personalize_ic1.png);
}
.item2 dt::before {
  background-image: url(../imgs/index/personalize_ic2.png);
}
.item3 dt::before {
  background-image: url(../imgs/index/personalize_ic3.png);
}
.point__item dd {
  width: 73%;
}
.personalize .point .index_btn {
  margin-bottom: max(132px, 9.17vw);
}
.comment {
  padding: max(33px, 2.29vw) 0;
  border: 3px solid #000;
}
.comment__heading-Wrap {
  width: 48.61vw;
  min-width: 700px;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
.comment__heading {
  font-size: max(25px, 1.74vw);
  line-height: 1.44;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 3.6em;
  padding: 0 1em;
  border-radius: max(30px, 2.08vw);
}
.comment__flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.comment .imgbk {
  width: 45.83%;
}
.comment .txtbk {
  width: 50.83%;
}
.comment .txtbk .namebk {
  padding: 3.8em 0 1.2em;
  margin-bottom: 1.2em;
  border-bottom: 2px solid #000;
}
.comment .txtbk .namebk-job {
  font-size: max(16px, 1.11vw);
  line-height: 1.5;
  letter-spacing: 0;
  display: block;
}
.comment .txtbk .namebk-name {
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 0.77em;
}
.comment .txtbk .namebk-name .fs_lg {
  font-size: max(32px, 2.22vw);
  line-height: 1.44;
  letter-spacing: 0.08em;
}
.comment .txtbk .namebk-name .fs_sml {
  line-height: 1.46;
  letter-spacing: 0.1em;
}
.comment .txtbk p {
  font-size: max(17px, 1.18vw);
  line-height: 1.88;
  letter-spacing: 0.02em;
  width: 94%;
}
/* ======================
results
========================= */
.results {
  padding: max(50px, 3.47vw) 0 max(80px, 5.56vw);
}
.results__heading {
  font-size: max(33px, 2.29vw);
  line-height: 1.46;
  letter-spacing: 0.1em;
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 0 0.73em;
  margin-bottom: 0.9em;
}
.results__heading.inv_mov {
  opacity: 0;
  transform: translateY(20px);
}

.results__heading.inv_mov.mov {
  animation: jumpSimple 0.4s ease-out forwards;
}
@keyframes jumpSimple {
  0% {
    opacity: 0;
    transform: translateY(20px) scale(0.95);
  }
  50% {
    opacity: 1;
    transform: translateY(-15px) scale(1.05); /* ぴょんと跳ねる頂点 */
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1); /* 着地 */
  }
}

.results__heading::before,
.results__heading::after {
  content: "";
  width: 0.67em;
  height: 0.76em;
  display: block;
  background: url(../imgs/index/results_ttldeco.svg) no-repeat center/contain;
}
.results__heading::after {
  transform: scale(-1, 1);
  position: relative;
  left: -0.1em;
}
.results__list {
  display: flex;
  flex-wrap: wrap;
  gap: max(75px, 5.21vw) 6.245%;
  margin-bottom: max(75px, 5.21vw);
}
.results__item {
  width: 29.17%;
  position: relative;
  padding-bottom: max(52px, 3.61vw);
}
.results__item .imgbk {
  width: 100%;
  aspect-ratio: 35 / 27;
  overflow: hidden;
}
.results__item .item__heading {
  font-size: max(25px, 1.74vw);
  line-height: 1.2;
  padding-top: 0.7em;
}
.results__item .index_btn {
  transform-origin: left bottom;
  scale: 0.543;
  position: absolute;
  bottom: 0;
}
.results__item .index_btn span {
  padding: 1.05em 3.57%;
  border-width: 3px;
}
.results .btn-area .index_btn span::after {
  transform: rotate(90deg);
}
.results .btn-area .index_btn.close span::after {
  transform: rotate(270deg);
}

/* == results-modal == */
.results-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 9999;
  background: rgba(0, 0, 0, 50%);
}
.results-modal .modal-bg {
  position: absolute;
  height: 100vh;
  width: 100vw;
}
.results-modal .modal-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.results-modal .white_box {
  width: auto;
  max-width: 1200px;
  min-width: 612px;
  height: 90svh;
  aspect-ratio: 1 / 1.1;
  padding: clamp(40px, 4.86vw, 70px) 8.33% max(2em, 7.5%) 5.83%;
  background-color: #fff;
  border-radius: 20px;
  overflow-y: auto;
}

.results-modal .white_box::before,
.results-modal .white_box::after {
  content: "";
  width: 100%;
  height: 1.8em;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.results-modal .white_box::after {
  top: auto;
  bottom: 0;
}
.results-modal .white_box .page {
  width: 100%;
}
.results-modal .close_btn {
  width: 3.88%;
  max-width: 40px;
  min-width: 30px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 2.67%;
  right: 1.67%;
  z-index: 5;
  cursor: pointer;
}

.results-modal .modal-imgbk {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 6%;
}

.results-modal .modal__slider-item {
  width: 82.52%;
}
.results-modal .modal__slider-item li {
  aspect-ratio: 17 / 12;
  overflow: hidden;
}

.results-modal .modal__slider-nav {
  width: 14.56%;
  height: auto;
  max-height: 500px;
}
.results-modal .modal__slider-nav .slick-list {
  height: auto !important;
}
.results-modal .modal__slider-nav .slick-track {
  width: 100% !important;
  transform: unset !important;
}
.results-modal .modal__slider-nav li {
  width: 100% !important;
  aspect-ratio: 75 / 53;
  overflow: hidden;
  margin-bottom: 10px;
  cursor: pointer;
}
.results-modal .modal__slider-nav .slick-current {
  display: none;
}
.results-modal .modal-txtbk {
  width: 100%;
  max-width: 850px;
}
.results-modal .modal-txtbk .m_ttl {
  font-size: clamp(20px, 2.35vw, 23px);
  line-height: 1.48;
  letter-spacing: 0.02em;
  margin-bottom: 0.9em;
}
.results-modal .modal-txtbk dl {
  border-top: 1px solid #000;
}
.results-modal .modal-txtbk dl > div {
  display: flex;
  gap: 0.8em;
  padding: 0.8em 0;
  border-bottom: 1px solid #000;
}
.results-modal .modal-txtbk dl dt {
  flex-shrink: 0;
  width: 6em;
}
/* ======================
review
========================= */
.review {
  padding: max(85px, 5.9vw) 0 max(155px, 10.76vw);
}

.review .s-headingBk {
  position: absolute;
  top: 50%;
  transform: translateY(-60%);
  z-index: 2;
}
/* == review_slide == */
.slick-prev,
.slick-next,
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  width: max(30px, 2.78vw);
  height: max(30px, 2.78vw);
  background: url(../imgs/index/sl_btn.svg) no-repeat center/contain;
  top: 40%;
  z-index: 2;
}
.slick-prev {
  left: -3px;
  transform: translate(-100%, -50%);
}
.slick-next,
.slick-next:hover,
.slick-next:focus {
  right: auto;
  left: 50%;
  transform: translate(23vw, -50%) rotate(180deg);
}
.slick-prev:before,
.slick-next:before {
  content: none;
}

.review__list {
  left: 22vw;
}
.review__item {
  width: 20.83vw;
  margin: 0 1.74vw;
}
.review__item .imgbk {
  width: 100%;
  aspect-ratio: 2 / 1;
  overflow: hidden;
}

.review__item > .imgbk:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  z-index: 2;
  transition: 0.2s;
  opacity: 0;
}
/* .review__item:hover > .imgbk:before {
  opacity: 1;
} */
.review__item > .imgbk img {
  object-position: center top;
  -o-object-position: center top;
  transition: 0.2s;
}
/* .review__item:hover > .imgbk img {
  object-position: center top;
  -o-object-position: center top;
  scale: 1.1;
} */
.review__item .item__heading {
  font-size: max(20px, 2.22vw);
  line-height: 1.44;
  letter-spacing: 0.02em;
  padding: 0.4em 0 0.3em;
}
.review__item .item__heading > span {
  font-size: max(16px, 1.25vw);
  display: block;
}
/* == ボタン == */
.review__item .index_btn {
  transform-origin: left top;
  scale: 0.543;
}
.review__item .index_btn span {
  padding: 1.05em 3.57%;
  border-width: 3px;
}

/* == review-modal == */
.review-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  z-index: 9999;
  background: url(../imgs/index/modal_bg.jpg) no-repeat center/cover;
}
.review-modal .modal-bg {
  position: absolute;
  height: 100vh;
  width: 100vw;
}
.review-modal .modal-wrap {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.review-modal .white_box {
  width: 92vw;
  max-width: 1200px;
  height: auto;
  max-height: 90svh;
  padding: clamp(40px, 4.86vw, 70px) 5.83% max(2em, 5.83%);
  background-color: #fff;
  border-radius: 20px;
  overflow-x: clip;
  overflow-y: auto;
}
.review-modal .white_box::before,
.review-modal .white_box::after {
  content: "";
  width: 100%;
  height: 1.8em;
  background-color: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.review-modal .white_box::after {
  top: auto;
  bottom: 0;
}
.review-modal .white_box .page {
  width: 100%;
}
.review-modal .close_btn {
  width: 3.88%;
  max-width: 40px;
  min-width: 30px;
  aspect-ratio: 1/1;
  position: absolute;
  top: 2.67%;
  right: 1.67%;
  z-index: 5;
  cursor: pointer;
}
.review-modal .modal-cont {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.review-modal .modal-imgbk {
  width: 28.3%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.review-modal .modal-txtbk {
  width: 67%;
}
.review-modal .modal-txtbk .m_ttl {
  font-size: clamp(29px, 3.27vw, 32px);
  line-height: 1.44;
  letter-spacing: 0.02em;
  padding-bottom: 0.9em;
  margin-bottom: 0.9em;
  border-bottom: 2px solid #000;
}
.review-modal .modal-txtbk .m_ttl span {
  font-size: clamp(17px, 1.84vw, 18px);
  display: block;
}

/* ======================
interview
========================= */
.interview {
  padding: max(44px, 3.06vw) 0 max(80px, 5.56vw);
}
.interview::before,
.interview::after {
  content: "";
  width: 100%;
  height: 20vw;
  background: #fff;
  position: absolute;
  top: 0;
  transform: skewY(4deg) translateY(-18%);
  z-index: 1;
}
.interview::after {
  top: auto;
  bottom: 0;
  transform: skewY(4deg) translateY(35%);
}
.interview-in {
  position: relative;
  z-index: 2;
}
.interview .s-headingBk {
  width: 29.25%;
}
.interview .s-heading {
  margin-bottom: 0.4em;
}
.interview .s-heading-txt {
  font-size: max(18px, 1.25vw);
  line-height: 1.94;
  letter-spacing: 0.02em;
}
.interview .s-heading-txt span {
  display: inline-block;
}
.interview__video {
  width: 66.67%;
  aspect-ratio: 25 / 13;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-62.5%);
}
/* ======================
refresh
========================= */
.refresh {
  padding-top: max(160px, 11.11vw);
  background: url(../imgs/index/refresh_bg.jpg) no-repeat top center / max(1082px, 100%);
}
.refresh .s-headingBk {
  margin-bottom: max(70px, 4.86vw);
}
.refresh .s-heading {
  font-size: max(40px, 2.78vw);
  line-height: 1.38;
  letter-spacing: 0.1em;
  margin-bottom: 0.35em;
}
.refresh .s-heading-txt {
  font-size: max(16px, 1.11vw);
  line-height: 1.88;
  letter-spacing: 0.02em;
  width: 24%;
  min-width: 310px;
  margin-bottom: 1.4em;
}
.refresh .s-heading-txt span {
  display: inline-block;
}
.refresh .index_btn {
  margin: 0;
}
.refresh__list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.refresh__item {
  width: calc((100% - 12px) / 4);
}
.refresh__item .imgbk {
  aspect-ratio: 179 / 120;
  overflow: hidden;
}
.refresh__item .txtbk {
  font-size: max(16px, 1.11vw);
  line-height: 1.44;
  letter-spacing: 0.02em;
  padding: 1.5em 10% 2em;
}
.refresh__item .item__heading {
  font-size: max(23px, 1.6vw);
  line-height: 1;
  letter-spacing: 0.07em;
  margin-bottom: 0.6em;
}
/* ======================
question
========================= */
.question {
  padding: max(100px, 6.94vw) 0 max(80px, 5.56vw);
}
.question .s-headingBk {
  margin-bottom: 1.7em;
}
.question__list {
  counter-reset: number 0;
  font-size: max(20px, 1.39vw);
  line-height: 1.45;
  letter-spacing: 0;
}
.question__item {
  margin-bottom: max(30px, 2.08vw);
  transition: 0.3s;
  cursor: pointer;
}
.question__item dt {
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.2em;
  padding: 1.23em 4.17% 1.23em 5%;
  border: 3px solid #000;
  border-radius: max(50px, 3.47vw);
  transition: 0.3s;
}
.question__item dt .q_txt {
  display: flex;
  align-items: baseline;
  gap: 0.8em;
  transition: 0.2s;
}
.question__item dt .q_txt::before,
.question__item dd span::before {
  font-family: "rl-aqva",  sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: max(40px, 2.78vw);
  line-height: 0.75;
  letter-spacing: 0.02em;
  color: #00675b;
  width: max(80px, 5.56vw);
  flex-shrink: 0;
  position: relative;
  top: 0.17em;
}
.question__item dt .q_txt::before {
  counter-increment: number 1;
  content: "Q" counter(number) " ";
  transition: 0.2s;
}
.question__item dt .more {
  font-size: max(17px, 1.18vw);
  font-weight: 900;
  line-height: 1.47;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0.59em;
}
.question__item dt .more::after {
  content: "";
  display: inline-block;
  width: 2.647em;
  height: 2.647em;
  background: url(../imgs/index/question_view_gr.svg) no-repeat center/contain;
  transition: 0.3s;
}
.question__item dd {
  display: none;
}
.question__item dd span {
  display: flex;
  align-items: baseline;
  gap: 0.9em;
  padding: 1.5em 4.17% 2.5em 5%;
}
.question__item dd span::before {
  content: "A.";
}
/* == hover,close == */
.question__item:hover dt,
.question__item.close dt {
  color: #fff;
  background: #00675b;
}
.question__item:hover dt .q_txt::before,
.question__item.close dt .q_txt::before {
  color: #fff;
}
.question__item:hover dt .more::after,
.question__item.close dt .more::after {
  background: url(../imgs/index/question_view_yl.svg) no-repeat center/contain;
}
.question__item.close dt .more::after {
  transform: rotate(45deg);
}
/* == ボタン == */
.question .btn-area {
  padding-top: max(20px, 1.39vw);
}
.question .btn-area .index_btn span::after {
  transform: rotate(90deg);
  transition: 0.3s;
}
.question .btn-area .index_btn span::after {
  transform: rotate(90deg);
  transition: 0.3s;
}
.question .btn-area .index_btn.close span::after {
  transform: rotate(270deg);
}

/* ======================
access
========================= */
.access .s-headingBk {
  margin-bottom: 1.7em;
}
.access .txtbk {
  width: 45%;
}
.access .map {
  width: 50%;
  height: 34.51vw;
  min-height: 497px;
  position: absolute;
  top: 0;
  right: 0;
}
.access .access-time__heading-Wrap {
  font-size: max(19px, 1.32vw);
  line-height: 1.42;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.44em;
  margin-bottom: 0.8em;
  padding: 0.45em;
}
.access .access-time {
  width: 83.33%;
  margin-bottom: 1.2em;
}
.access .access-time__heading-Wrap::after {
  content: "";
  width: 2.63em;
  height: 1.32em;
  background: url(../imgs/index/access_car.png) no-repeat center / contain;
}
.access .access-time__heading {
  font-size: max(19px, 1.32vw);
  line-height: 1.42;
  letter-spacing: 0.1em;
}
.access .access-time__heading .fw_9 {
  font-size: 1.053em;
  line-height: 1.45;
}
.access .access-time__heading .en {
  font-size: 1.5em;
  line-height: 1.07;
}
.access .access-time__list > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 0.48em 0;
  position: relative;
}
.access .access-time__list > div:not(:last-child) {
  border-bottom: 1px solid #00675b;
}
.access .access-time__list > div::before {
  content: "";
  width: 90%;
  height: 3px;
  background-image: linear-gradient(to right, #00675b, #00675b 3px, transparent 3px, transparent 12px);
  background-size: 12px 3px;
  background-repeat: repeat-x;
  position: absolute;
  top: 56%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 0;
}
.access .access-time__list dt,
.access .access-time__list dd {
  background-color: #fff;
  position: relative;
}
.access .access-time__list dt {
  font-size: max(17px, 1.18vw);
  line-height: 1.47;
  padding-right: 10px;
}
.access .access-time__list dd {
  font-size: max(20px, 1.39vw);
  line-height: 1.45;
  letter-spacing: 0.1em;
  padding-left: 10px;
}
.access .access-time__list dd .en {
  font-size: 1.5em;
  line-height: 1.06;
}
.access .index_btn {
  margin: 0;
}

@media screen and (max-width: 1440px) {
  /* ======================
	akan
	========================= */
  .akan .flex_l {
    width: 442px;
    flex-shrink: 0;
  }
  .akan .flex_r .deco.img1 {
    width: 75%;
    max-width: 400px;
    min-width: 260px;
  }
  .akan .flex_r .deco.img2 {
    width: 70%;
    max-width: 350px;
    min-width: 227px;
  }
  .akan .flex_r .deco.img3 {
    width: 60%;
    max-width: 280px;
    min-width: 182px;
  }
  /* ======================
	about
	========================= */
  .about__heading-num {
    font-size: clamp(60px, 6.12vw, 80px);
    /* 980→60px */
  }

  /* ======================
	personalize
	========================= */
  .comment__heading-Wrap {
    width: 90%;
    max-width: 700px;
    min-width: initial;
  }
  /* ======================
	refresh
	========================= */
  .refresh .s-heading {
    font-size: clamp(33px, 3.37vw, 40px);
  }
  .refresh .s-heading-txt {
    width: 100%;
    max-width: 310px;
    min-width: initial;
  }
  /* ======================
	question
	========================= */
  .question__item dt .q_txt::before,
  .question__item dd span::before {
    font-size: clamp(33px, 3.37vw, 40px);
    width: clamp(60px, 6.12vw, 80px);
  }
  /* ======================
	access
	========================= */
  .access .access-time {
    width: 100%;
    max-width: 450px;
  }
}
@media screen and (max-width: 1320px) {
  /* ======================
	results
	========================= */
  .results__list {
    gap: 75px calc((100% - 1050px) / 2);
  }
  .results__item {
    width: 350px;
  }
}
@media screen and (max-width: 1230px) {
  /* ======================
	about
	========================= */
  .about .s-heading__logo {
    width: 31.46vw;
    max-width: 387px;
    min-width: initial;
  }
  /* -------------
	about-1
	----------------  */
  .about-1 .imgbk {
    width: calc(95% - 537px);
    max-width: 528px;
  }
  .about-1 .txtbk {
    width: 537px;
  }
  /* -------------
	about-2
	----------------  */
  .about-2 {
    width: 55%;
    max-width: 622px;
    min-width: initial;
  }
  .about-2 .imgbk {
    width: calc(95% - 280px);
    max-width: 310px;
  }
  .about-2 .txtbk {
    width: 280px;
  }
  /* -------------
	about-3
	----------------  */
  .about-3 {
    width: 66%;
    max-width: 740px;
    min-width: initial;
  }
  .about-3 .imgbk {
    width: calc(93% - 437px);
    max-width: 250px;
    min-width: 210px;
    height: 100%;
  }
  .about-3 .txtbk {
    width: 437px;
  }
}
@media screen and (max-width: 1200px) {
  /* ======================
	results
	========================= */
  .results__list {
    gap: min(75px, 7.65vw) 2.45%;
    margin-bottom: min(75px, 7.65vw);
  }
  .results__item {
    width: 31.7%;
  }
}
@media screen and (max-width: 980px) {
  /* ボタン */
  .index_btn {
    width: 90%;
    max-width: 350px;
    min-width: initial;
  }
  .index_btn span {
    font-size: clamp(18px, 2.04vw, 20px);
  }
  .scrolldown {
    display: none;
  }
  /* ======================
	akan
	========================= */
  .akan {
    padding: clamp(30px, 6.12vw, 60px) 0 clamp(40px, 7.65vw, 75px);
  }
  .akan .s-heading {
    font-size: clamp(27px, 3.06vw, 30px);
  }
  /* ======================
	about
	========================= */
  .about {
    padding: clamp(40px, 5.56vw, 80px) 0 clamp(380px, 56.44vw, 508px);
  }
  .about .pcbr {
    display: none;
  }
  .about__heading .fs-lg {
    font-size: clamp(27px, 3.06vw, 30px);
  }
  .about__list {
    margin-bottom: clamp(40px, 7.14vw, 70px);
  }
  /* -------------
	about-1
	----------------  */
  .about-1 {
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: initial;
    position: relative;
  }
  .about-1 .imgbk {
    width: 100%;
    max-width: 740px;
    position: relative;
    aspect-ratio: initial;
    margin-bottom: 1.2em;
  }
  .about-1 .imgbk .img1 {
    width: 68%;
    max-width: 612px;
    position: static;
    transform: translateX(-7%);
  }
  .about-1 .imgbk .img2 {
    width: 43%;
    max-width: 302px;
    position: absolute;
    bottom: 0;
    right: 0;
    transform: translate(0, 30%);
  }
  .about-1 .txtbk {
    width: 100%;
    max-width: 694px;
  }
  .about-1 .temp-graph {
    max-width: 537px;
    margin: 0 auto;
    position: static;
  }
  .about-1 .temp-graph::after {
    content: none;
  }
  /* -------------
	about-2
	----------------  */
  .about-2 {
    width: 100%;
    max-width: 740px;
    margin: 0 auto 67px;
  }
  .about-2::after {
    content: none;
  }
  .about-2 .imgbk {
    width: 45%;
    max-width: 310px;
  }
  .about-2 .txtbk {
    width: 50%;
  }
  .about-2 .txtbk p {
    background-color: transparent;
  }

  /* -------------
	about-3
	----------------  */
  .about-3 {
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 740px;
    margin: 0 auto;
  }
  .about-3 .imgbk {
    width: 74%;
    max-width: 481px;
    min-width: initial;
    aspect-ratio: initial;
    margin-bottom: 1.2em;
  }
  .about-3 .imgbk .img1 {
    width: 100%;
    aspect-ratio: 269 / 185;
    position: static;
    transform: initial;
  }
  .about-3 .imgbk .img2 {
    width: 50%;
    max-width: 240px;
    transform: translate(50%, 50%);
  }
  .about-3 .txtbk {
    width: 100%;
  }
  /* -------------
	slide
	----------------  */
  .slide__heading {
    width: 47.14vw;
    max-width: 462px;
    min-width: 362px;
    top: min(-50px, -13%);
  }

  /* ======================
	facility
	========================= */
  .facility {
    padding: clamp(350px, 51.02vw, 500px) 0 min(23.67vw, 232px);
  }
  .facility .s-headingBk {
    padding-bottom: min(37.76vw, 260px);
  }
  .facility .s-headingBk::before {
    width: 94%;
    max-width: 670px;
    top: auto;
    bottom: 0;
    transform: translate(5vw, 30%);
  }
  .facility .s-heading-txt {
    width: 100%;
  }
  .facility__bnr {
    height: 45.92vw;
    max-height: 450px;
    min-height: initial;
  }
  .facility__bnr .index_btn-wrap {
    width: 70%;
  }
  .facility__bnr .index_btn {
    width: 100%;
  }

  /* ======================
	personalize
	========================= */
  .personalize .bg_yl {
    padding: clamp(40px, 5.51vw, 54px) 0 40px;
  }
  .personalize .inner__head-txt {
    font-size: clamp(17px, 1.84vw, 18px);
  }
  /* ----------------------
	point
	------------------------- */
  .point__heading {
    font-size: clamp(27px, 3.06vw, 30px);
  }
  .point__list {
    margin-bottom: clamp(25px, 4.08vw, 40px);
  }
  .point__item:not(:last-child) {
    margin-bottom: clamp(20px, 3.06vw, 30px);
  }
  .point__item dt {
    font-size: clamp(18px, 2.04vw, 20px);
  }
  .personalize .point .index_btn {
    margin-bottom: clamp(100px, 13.47vw, 132px);
  }
  .comment__heading {
    font-size: clamp(22px, 2.55vw, 25px);
  }
  .comment .txtbk .namebk-name .fs_lg {
    font-size: clamp(29px, 3.27vw, 32px);
  }
  /* ======================
  results
  ========================= */
  .results__heading {
    font-size: clamp(30px, 3.37vw, 33px);
  }
  .results__item .item__heading {
    font-size: clamp(18px, 2.55vw, 25px);
  }
  .results__item .index_btn {
    width: 175%;
  }
  .results-modal .white_box {
    width: 92vw;
    max-width: 700px;
    min-width: initial;
    height: auto;
    max-height: 90svh;
    aspect-ratio: initial;
  }
  /* ======================
  review
  ========================= */
  .review {
    padding: clamp(40px, 8.67vw, 85px) 0 min(15.82vw, 155px);
  }
  .review .s-headingBk {
    position: static;
    transform: initial;
    margin-bottom: 1.2em;
  }
  .review__list {
    left: auto;
  }
  .review__item {
    width: 29.8vw;
  }
  .review__item .index_btn {
    width: 154%;
    min-width: 154%;
  }

  /* == review_slide == */
  .slick-prev,
  .slick-next,
  .slick-prev:hover,
  .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    top: 30%;
    z-index: 2;
  }
  .slick-prev {
    left: 0;
    transform: translate(-50%, -50%);
  }
  .slick-next,
  .slick-next:hover,
  .slick-next:focus {
    right: auto;
    left: 100%;
    transform: translate(-50%, -50%) rotate(180deg);
  }

  /* ======================
  interview
  ========================= */
  .interview {
    padding: 44px 0 40px;
  }
  .interview .s-headingBk {
    width: 100%;
    margin-bottom: 1.2em;
  }
  .interview__video {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    position: static;
    transform: initial;
  }
  .interview .s-heading-txt {
    font-size: clamp(17px, 1.84vw, 18px);
  }
  /* ======================
  refresh
  ========================= */
  .refresh {
    padding-top: min(16.33vw, 160px);
  }
  .refresh__item .item__heading {
    font-size: clamp(20px, 2.35vw, 23px);
  }
  /* ======================
  question
  ========================= */
  .question {
    padding: clamp(50px, 10.2vw, 100px) 0 clamp(60px, 8.16vw, 80px);
  }
  .question__item {
    margin-bottom: clamp(20px, 3.06vw, 30px);
  }
  .question__list {
    counter-reset: number 0;
    font-size: clamp(18px, 2.04vw, 20px);
  }
  .question .btn-area {
    padding-top: min(2.04vw, 20px);
  }
  /* ======================
  access
  ========================= */
  .access .access-time__heading-Wrap,
  .access .access-time__heading {
    font-size: clamp(17px, 1.94vw, 19px);
  }
  .access .txtbk {
    width: 100%;
  }
  .access .map {
    width: 100%;
    height: 50.71vw;
    min-height: 324px;
    position: static;
    margin-bottom: 1.7em;
  }
  .access .access-time {
    max-width: 600px;
    margin: 0 auto 1.2em;
  }
  .access .access-time__list dd {
    font-size: clamp(18px, 2.04vw, 20px);
  }
  .access .index_btn {
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .mv {
    height: calc(52.08vw + 70px);
  }

  /* ======================
	akan
	========================= */
  .akan__inner {
    flex-direction: column;
  }
  .akan .flex_l {
    width: 100%;
  }
  .akan .s-heading {
    font-size: clamp(23px, 5.75vw, 27px);
    /* 400→23px */
  }
  .akan .s-heading-img {
    max-width: 345px;
    margin: 0 auto;
    left: 0;
  }
  .akan .txtbk p span {
    display: inline;
  }
  .akan .flex_r {
    width: 100%;
  }
  .akan .flex_r__inner {
    height: 134.25vw;
    max-height: 537px;
  }
  .akan .flex_r .deco.img1 {
    max-width: 341px;
    min-width: initial;
  }
  .akan .flex_r .deco.img2 {
    max-width: 299px;
    min-width: initial;
  }
  .akan .flex_r .deco.img3 {
    max-width: 239px;
    min-width: initial;
  }
  /* ======================
  about
  ========================= */
  .about__heading-num {
    font-size: clamp(50px, 7.81vw, 60px);
  }
  .about__heading .fs-lg {
    font-size: clamp(23px, 5.75vw, 27px);
    /* 400→20px */
  }
  .slider_bk::before {
    transform: translate(-50%, -50%);
  }
  /* ======================
  facility
  ========================= */
  .pcbr {
    display: none;
  }
  .facility__bnr {
    display: flex;
    flex-direction: column;
    gap: 3em;
    height: auto;
    max-height: initial;
    min-height: initial;
  }
  .facility__bnr-left,
  .facility__bnr-right {
    position: static;
    width: 100%;
  }
  .facility__bnr-left .imgbk,
  .facility__bnr-right .imgbk {
    clip-path: initial;
    height: 45.96vw;
    min-height: 198px;
    max-height: 353px;
    margin-bottom: 1.2em;
  }
  .facility__bnr-left .facility__heading,
  .facility__bnr-right .facility__heading {
    font-size: clamp(35px, 5.86vw, 45px);
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
  }
  .facility__bnr-left .index_btn-wrap,
  .facility__bnr-right .index_btn-wrap {
    width: 82.8%;
    margin: 0 auto;
    position: relative;
    left: 0;
    right: 0;
    transform: initial;
  }
  /* ======================
  personalize
  ========================= */
  .personalize .inner__head-txt {
    width: 100%;
  }
  .personalize .inner__head-txt span {
    display: inline;
  }
  .personalize .inner__head-img {
    top: auto;
    bottom: 100%;
    transform: translate(10%, 4%);
  }
  /* ----------------------
	point
	------------------------- */
  .point__item {
    flex-direction: column;
    align-items: flex-start;
    gap: 1em;
    padding: 1.2em 4.17% 2em;
  }

  .point__item dt {
    width: auto;
  }
  .point__item dd {
    width: 100%;
  }
  .comment {
    padding: 3em 4% 8%;
  }
  .comment__heading {
    border-radius: clamp(20px, 3.91vw, 30px);
  }
  .comment__flex {
    flex-direction: column;
  }
  .comment .imgbk {
    width: 86%;
    max-width: 460px;
  }
  .comment .txtbk {
    width: 100%;
  }
  .comment .txtbk p {
    width: 100%;
  }
  .comment .txtbk .namebk {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.2em 0;
  }
  .comment .txtbk .namebk-name .fs_lg {
    font-size: clamp(24px, 3.78vw, 29px);
  }

  /* ======================
  results
  ========================= */
  .results__heading {
    font-size: clamp(26px, 6.5vw, 30px);
    /* 400→26px */
  }
  /* ======================
  review
  ========================= */
  .review-modal .modal-cont {
    flex-direction: column;
    align-items: center;
    gap: 1.2em;
  }
  .review-modal .modal-imgbk {
    width: 70%;
    max-width: 225px;
  }
  .review-modal .modal-txtbk {
    width: 100%;
  }
  .review-modal .modal-txtbk .m_ttl {
    text-align: center;
  }
  /* ======================
  refresh
  ========================= */
  .refresh .s-heading {
    font-size: clamp(22px, 4.3vw, 33px);
  }
  .refresh__item {
    width: calc((100% - 4px) / 2);
  }
  .refresh__item .item__heading {
    font-size: clamp(16px, 3.75vw, 20px);
    /* 480→18px */
  }
  /* ======================
  question
  ========================= */
  .question__item dt {
    border-radius: clamp(20px, 6.51vw, 50px);
  }
  .question__item dt .q_txt::before,
  .question__item dd span::before {
    font-size: clamp(25px, 4.3vw, 33px);
    width: clamp(48px, 7.81vw, 60px);
  }
  .question__item dt .more {
    font-size: 0;
  }
  .question__item dt .more::after {
    content: "";
    width: 5.73vw;
    min-width: 25px;
    height: 5.73vw;
    min-height: 25px;
    background: url(../imgs/index/question_view_gr.svg) no-repeat center/contain;
  }
}
@media screen and (max-width: 640px) {
  /* ======================
  about
  ========================= */
  /* -------------
	about-2
	----------------  */
  .about-2 {
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 740px;
  }
  .about-2 .txtbk {
    padding-top: 1.2em;
    width: 100%;
  }
  .about-2 .imgbk {
    width: 80%;
    max-width: initial;
    aspect-ratio: 269 / 185;
  }

  /* ======================
  results
  ========================= */
  .results__item {
    width: 48%;
  }
  /* ======================
  review
  ========================= */
  .review__item {
    width: 46vw;
    margin: 0 2vw;
  }
}
@media screen and (max-width: 500px) {
  .index_btn span {
    font-size: clamp(16px, 3.6vw, 18px);
  }
  /* ======================
 about
  ========================= */
  .about .s-headingBk {
    padding-top: 160px;
  }
  .about .s-heading {
    text-align: center;
  }
  .about .s-heading__logo {
    width: 100%;
    max-width: 157px;
    position: absolute;
    top: 0%;
    right: 50%;
  }
  .slide__heading {
    width: 82.8vw;
    max-width: 362px;
    min-width: initial;
  }
  /* ======================
  question
  ========================= */
  .question__list {
    font-size: clamp(16px, 3.6vw, 18px);
  }
}
@media screen and (max-width: 430px) {
  /* ======================
	akan
	========================= */
  .akan .txtbk p {
    font-size: clamp(15px, 3.95vw, 17px);
    /* 430→17px */
  }
  /* ======================
	about
	========================= */
  .about__heading-txt {
    font-size: clamp(15px, 3.95vw, 17px);
    /* 430→17px */
  }
  .about-1 .temp-graph .notes {
    font-size: clamp(14px, 3.26vw, 16px);
    /* 430→16px */
  }
  .slider__txt {
    font-size: clamp(15px, 3.95vw, 17px);
    /* 430→17px */
  }
  /* ======================
	personalize
	========================= */
  .comment__heading {
    font-size: min(5.5vw, 22px);
  }
  .comment .txtbk p {
    font-size: clamp(15px, 3.95vw, 17px);
    /* 430→17px */
  }
  .comment .txtbk .namebk-job {
    font-size: clamp(14px, 3.26vw, 16px);
    /* 430→16px */
  }

  /* ======================
	refresh
	========================= */
  .refresh .s-heading-txt {
    font-size: clamp(14px, 3.26vw, 16px);
    /* 430→16px */
  }
  .refresh__item .txtbk {
    font-size: clamp(14px, 3.26vw, 16px);
    /* 430→16px */
  }

  /* ======================
	.access
	========================= */
  .access .access-time__list dt {
    font-size: clamp(15px, 3.95vw, 17px);
    /* 430→17px */
  }
}
