@charset "UTF-8";
:root {
  --txt-color-green: #1E9687;
  --border-color: #000;
  interpolate-size: allow-keywords;
}

body {
  font-family: "Noto Sans JP", sans-serif;
}

* {
  box-sizing: border-box;
}

img {
  vertical-align: bottom;
  width: 100%;
}

.ly_wrapper {
  max-width: 750px;
  margin: 0 auto;
  position: relative;
}

.ly_header {
  padding: 4.1025641026%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.ly_header .logo {
  font-size: 1rem;
  margin: 0;
  width: 45.1282051282%;
}

.ly_footer {
  padding: 2.5641025641%;
  text-align: center;
}
.ly_footer .barlow-sc {
  font-size: min(3.5897435897vw, 26.9230769231px);
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: bold;
}

.bl_mv {
  display: grid;
  min-height: 100svh;
  grid-template-rows: 1fr min-content min-content;
}
.bl_mv.is-vertical {
  min-height: auto;
}

.bl_mv_top {
  background: url("../img/mv-bg.jpg") no-repeat top center;
  background-size: 100%;
}

.bl_mv_bottom {
  background: linear-gradient(135deg, #00734E, #003D33);
  padding: 2.0512820513% 4.1025641026%;
}

.bl_mv_txt1 {
  padding-top: 19.2307692308%;
  padding-left: 4.1025641026%;
  width: 41.7948717949%;
}

.bl_mv_txt2 {
  font-size: 1px;
  margin-top: 4.1025641026%;
  margin-bottom: 5.1282051282%;
  width: 45.641025641%;
}

.bl_mv_list {
  color: var(--txt-color-green);
  font-size: min(3.0769230769vw, 23.0769230769px);
  display: flex;
  gap: 2.0512820513%;
  list-style: none;
  margin-bottom: 2.5641025641%;
}
.bl_mv_list li {
  background-color: #fff;
  border: 2px solid var(--txt-color-green);
  border-radius: 10px;
  box-shadow: #003D33 0px 2px 10px;
  flex: 1;
  line-height: 1.2;
  padding: 1em;
  text-align: center;
}

.bl_mv_cta.bl_cta {
  padding-top: 3.8461538462%;
}

.bl_cta {
  padding: 7.6923076923% 0 0;
}
.bl_cta p {
  font-size: 10px;
  margin: auto;
}
.bl_cta .bl_cta_tit {
  width: 66.1538461538%;
}
.bl_cta .bl_cta_txt {
  margin-top: 2.5641025641%;
  width: 92%;
}
.bl_cta .bl_cta_btn {
  margin-top: 2.5641025641%;
}

.bl_sec1 {
  background: url("../img/bg-sec1.jpg") no-repeat center top;
  background-size: cover;
  padding-top: 8.7179487179%;
  padding-bottom: 5.1282051282%;
}
.bl_sec1 .bl_sec_title {
  color: #fff;
  font-size: min(7.6923076923vw, 57.6923076923px);
  text-align: center;
}
.bl_sec1 .bl_sec_txt1 {
  max-width: 58.9743589744%;
  margin: 6.1538461538% auto 0;
}
.bl_sec1 .bl_sec_txt2 {
  max-width: 63.3333333333%;
  margin: 3.0769230769% auto 0;
}
.bl_sec1 .bl_sec_txt3 {
  color: #fff;
  font-size: min(2.5641025641vw, 19.2307692308px);
  line-height: 1.2;
  margin-top: 1.2820512821%;
  text-align: center;
}
.bl_sec1 .bl_sec_txt3 a:link, .bl_sec1 .bl_sec_txt3 a:visited {
  color: #fff;
}
.bl_sec1 .bl_age-button ul {
    display: flex;
    margin: 32px 0;
    padding: 0 16px;
    text-align: center;
    gap: 12px;
}
.bl_sec1 .bl_age-button a {
    text-decoration: none;
    width: 100%;
    color: #fff;
    background-color: #156d63;
    border-radius: 8px;
    box-shadow: 3px 3px 6px rgba(0, 0, 0, 0.3);
    font-size: 20px;
    padding: 6px;
    border: 1px solid #fff;
}
.bl_sec1 .bl_age-button a.active {
    color: #1E9687;
    background: #fff;
}
.bl_sec1 .bl_age-button li {
    list-style: none;
}

.bl_sec3 {
  position: relative;
}
.bl_sec3 .bl_sec3_img {
  position: absolute;
  left: 0;
}
.bl_sec3 .bl_sec3_img1 {
  top: 6%;
}
.bl_sec3 .bl_sec3_img2 {
  top: 23.75%;
}
.bl_sec3 .bl_sec3_img3 {
  bottom: 54%;
}

.bl_sec5 {
  --border-color: #fff;
  background-color: #000;
  color: #fff;
  padding: 10.2564102564% 3.8461538462%;
}
.bl_sec5 .bl_subSec {
  margin-top: 9.2307692308%;
}
.bl_sec5 .bl_subSec_title {
  font-weight: normal;
  font-size: min(3.5897435897vw, 26.9230769231px);
}
.bl_sec5 .bl_subSec_body {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-in-out;
}
.bl_sec5 .is-open .bl_subSec_body {
  height: auto;
}

.bl_sec8 {
  padding-top: 3.8461538462%;
}
.bl_sec8 .bl_sec_title {
  line-height: 1.2;
  text-align: center;
}
.bl_sec8 .bl_sec_title img {
  width: 83.5897435897%;
}
.bl_sec8 .bl_sec_title span {
  background-color: var(--txt-color-green);
  border-radius: 5px;
  color: #fff;
  display: inline-block;
  font-size: min(3.3333333333vw, 25px);
  padding: 0.2em 0.8em;
}
.bl_sec8 .bl_sec_img {
  margin-top: 5.1282051282%;
}
.bl_sec8 .bl_sec_prof {
  margin-top: 3.8461538462%;
  padding: 0 3.8461538462%;
}

.treatmentBox {
  background-color: #fff;
  box-shadow: #003D33 0px 5px 15px;
  height: 100%;
  padding: 4.8275862069%;
}

.treatment-image {
  list-style: none;
}
.treatment-image img {
  vertical-align: bottom;
  width: 100%;
}
.treatment-image li:nth-child(2) {
  display: flex;
}
.treatment-image .ti-before,
.treatment-image .ti-after {
  background: linear-gradient(to right, #007C77, #1E9687);
  color: #fff;
  font-weight: bold;
  font-size: min(3.3333333333vw, 25px);
  flex: 1;
  padding: 0.5128205128% 0;
  text-align: center;
}

.treatment__risk {
  border-top: 1px solid var(--txt-color-green);
  margin-top: 0.5em;
  padding-top: 0.5em;
}
.treatment__risk p {
  font-size: min(3.3333333333vw, 25px);
}

.case_title {
  font-size: min(5.641025641vw, 42.3076923077px);
  font-feature-settings: "palt";
  margin-bottom: 2.5641025641%;
  text-align: center;
}

.case__info {
  margin-top: 1em;
}
.case__info ul {
  list-style: none;
}
.case__info .treat_detail,
.case__info .price_detail,
.case__info .price_box_ {
  display: flex;
  font-size: min(3.0769230769vw, 23.0769230769px);
  font-weight: bold;
  gap: 1em;
}
.case__info .treat_detail span,
.case__info .price_detail span,
.case__info .price_box_ span {
  -moz-text-align-last: justify;
       text-align-last: justify;
  width: 4.5em;
}
.case__info a {
  display: none;
}

.bl_slider {
  margin-top: 2.5641025641%;
}
.bl_slider .slick-track {
  display: flex;
  gap: 16px;
  padding-bottom: 20px;
}
.bl_slider .slick-slide {
  height: auto;
}

.bl_clinic {
  padding: 0 3.8461538462%;
  background: #fbfbfb;
  margin-top: 40px;
  padding-bottom: 20px;
}

.clinic_list h2 {
  font-size: min(4.8717948718vw, 36.5384615385px);
  margin-bottom: 2.5641025641%;
}

.clinic__name {
  --border-color: #fff;
  background-color: var(--txt-color-green);
  border-radius: 10px;
  color: #fff;
  cursor: pointer;
  font-size: min(5.1282051282vw, 38.4615384615px);
  padding: 1em;
  position: relative;
}
.clinic__name::before, .clinic__name::after {
  border-bottom: 2px solid var(--border-color);
  content: "";
  display: block;
  height: 0;
  margin-top: -1px;
  width: 1em;
  position: absolute;
  right: 1em;
  top: 50%;
  transform-origin: center center;
  transition: rotate 0.2s;
}
.clinic__name::before {
  rotate: 90deg;
}
.is-open .clinic__name::before, .is-open .clinic__name::after {
  rotate: 180deg;
}

.clinic__body {
  height: 0;
  overflow: hidden;
  transition: height 0.3s ease-in-out;
}
.is-open .clinic__body {
  height: auto;
}

.clinic__inner {
  background-color: #def1ec;
  padding: 2.5641025641% 5.1282051282%;
}

.clinic__contens--detail {
  margin-bottom: 2.5641025641%;
}

.clinic__list {
  font-size: min(4.1025641026vw, 30.7692307692px);
  list-style: none;
  margin-bottom: 5.1282051282%;
}
.clinic__list li {
  border-bottom: 1px solid #162c3f;
  padding: 2.5641025641% 0;
}
.clinic__list li.keireki {
  padding-left: 0.5em;
  text-indent: -0.5em;
}

.clinic__tel {
  color: #58bba2;
  text-decoration: underline;
}

.clinic__detail img {
  margin-bottom: 5.1282051282%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 2/1;
}

.clinic__gmap {
  aspect-ratio: 30/35;
}
.clinic__gmap iframe {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}

.openBox {
  padding-top: 6.4102564103%;
}

form {
  font-weight: bold;
  z-index: 10;
  position: relative;
}

.form {
  background-color: #75c5d0;
  font-size: min(3.5897435897vw, 26.9230769231px);
  line-height: 1.75;
  padding: 7.6923076923% 3.8461538462%;
}
.form .section__title {
  position: relative;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 0;
  text-align: center;
  font-size: min(7.6923076923vw, 57.6923076923px);
  text-shadow: 1px 1px 1px #fff;
}

.form .section__title--ja {
  display: block;
}
.form .section__title--en {
  background: linear-gradient(to top, #f9d200 0.52em, transparent 0.52em, transparent 100%);
  font-size: min(4.1025641026vw, 30.7692307692px);
  margin-left: -25.641025641%;
  padding: 0 1.2820512821%;
}
.form .barlow-sc {
  font-family: "Barlow Semi Condensed", sans-serif;
  font-weight: bold;
}
.form .form__caution {
  font-size: min(2.6666666667vw, 20px);
  font-weight: normal;
  text-align: left;
  margin-bottom: 0.7692307692%;
}

.form__note {
  text-align: center;
  margin-bottom: 5.1282051282%;
}

.form .form__star::after {
  content: "★";
  color: #f9d200;
}

.form__subtitle {
  display: block;
  margin-bottom: 2.5641025641%;
}

.form__contents > div {
  margin-top: 2.5641025641%;
}

.form__name input,
.form__tel input,
.form__mail input,
.form__remark textarea,
.form__inner {
  background: #fff;
  font-size: min(4.1025641026vw, 30.7692307692px);
  padding: 1.2820512821% 2.5641025641%;
  width: 100%;
}

.form__online input[type=checkbox],
.form__clinic input[type=radio],
.form__privacy input[type=checkbox] {
  display: none;
}

.form__online input[type=checkbox] + label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding-left: 50px;
  line-height: 40px;
  width: 100%;
}

.form__online input[type=checkbox] + label::before {
  content: "";
  position: absolute;
  background: #fff;
  left: 0;
  padding-top: 40px;
  width: 40px;
}

.form__online input[type=checkbox]:checked + label::after {
  content: "";
  position: absolute;
  border-width: 0 0 5px 5px;
  border-style: solid;
  border-color: transparent transparent #f9d200 #f9d200;
  transform: rotate(-45deg);
  top: 5px;
  left: 5px;
  padding-top: 15px;
  width: 30px;
}

.form__clinic > br {
  display: none;
}

.form__clinic input[type=radio] + label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  margin-right: 20px;
  margin-bottom: 15px;
  padding-left: 50px;
  line-height: 40px;
}

.form__clinic input[type=radio] + label::before {
  content: "";
  background: #fff;
  border-radius: 100%;
  position: absolute;
  left: 0;
  width: 40px;
  height: 40px;
}

.form__clinic input[type=radio]:checked + label::after {
  content: "";
  background: #f9d200;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -15px;
  margin-left: 5px;
  height: 30px;
  width: 30px;
}

.form__inner .form__txt {
  font-size: min(4.1025641026vw, 30.7692307692px);
  margin-top: 2.5641025641%;
}

.form__privacy .form__txts {
  font-size: min(3.5897435897vw, 26.9230769231px);
  height: 160px;
  padding-right: 2.5641025641%;
  overflow-y: auto;
}

.form__inner {
  margin-bottom: 5.1282051282%;
}

.form__privacy {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.form__privacy input[type=checkbox] + label {
  display: inline-block;
  position: relative;
  cursor: pointer;
  padding-left: 60px;
  line-height: 40px;
}

.form__privacy input[type=checkbox] + label::before {
  content: "";
  background: #fff;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -20px;
  height: 40px;
  width: 40px;
}

input[type=checkbox]:checked + label::after {
  content: "";
  position: absolute;
  border-width: 0 0 5px 5px;
  border-style: solid;
  border-color: transparent transparent #f9d200 #f9d200;
  transform: rotate(-45deg);
  top: 8px;
  left: 5px;
  height: 15px;
  width: 30px;
}

.form__contents .form__button {
  position: relative;
  margin-top: 7.6923076923%;
}

.form__button::before,
.form__button::after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 1;
  pointer-events: none;
}

.form__button button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #f9d200;
  cursor: pointer;
  display: block;
  margin: 0 auto;
  font-weight: 900;
  text-align: center;
  position: relative;
  transition: 0.3s all ease;
  font-size: min(5.641025641vw, 42.3076923077px);
  height: min(17.9487179487vw, 134.6153846154px);
  width: 100%;
}

.form__button button::before,
.form__button button::after {
  content: "";
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  transform: translateY(-50%);
}

.form__button button::before {
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2040.32%2029.48'%3e%3cpath%20d='M39.1,0H1.22A1.22,1.22,0,0,0,0,1.22V3.61L20.16,17.12,40.32,3.61V1.22A1.22,1.22,0,0,0,39.1,0Z'%20style='fill:%23162c3f'/%3e%3cpath%20d='M0,8.6v16a4.87,4.87,0,0,0,4.87,4.86H35.45a4.87,4.87,0,0,0,4.87-4.86V8.6L20.16,22.11Z'%20style='fill:%23162c3f'/%3e%3c/svg%3e");
  padding-top: 8.3333333333%;
  width: 9.4444444444%;
  left: 20px;
}

.form__button button::after {
  background-image: url("data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.0.1,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='レイヤー_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2049%2049'%20style='enable-background:new%200%200%2049%2049;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23162C3F;}%20%3c/style%3e%3cpath%20class='st0'%20d='M47,2v45H2V2H47%20M49,0H0v49h49V0z'/%3e%3crect%20x='10.3'%20y='25.4'%20class='st0'%20width='28'%20height='1.4'/%3e%3crect%20x='32'%20y='14.8'%20transform='matrix(0.6428%20-0.766%200.766%200.6428%20-5.0008%2032.8187)'%20class='st0'%20width='1.4'%20height='14'/%3e%3c/svg%3e");
  padding-top: 13.6111111111%;
  width: 10.8333333333%;
  right: 20px;
}

.el_list {
  margin-left: 1em;
}

.el_list_text {
  list-style: none;
}

.el_list_kome {
  list-style: none;
  color: #fff;
  font-size: min(2.0512820513vw, 15.3846153846px);
  counter-reset: number 0;
}
.el_list_kome li::before {
  counter-increment: number 1;
  content: "※" counter(number) ": ";
}
.el_list_kome a:link,
.el_list_kome a:visited {
  color: #fff;
}

.el_dl dt {
  border-bottom: 1px solid #fff;
  font-size: min(3.0769230769vw, 23.0769230769px);
  padding-top: 2.5641025641%;
}
.el_dl dd {
  font-size: min(3.0769230769vw, 23.0769230769px);
  padding-top: 1.2820512821%;
}

.el_dl_prof {
  display: flex;
  font-size: min(4.1025641026vw, 30.7692307692px);
  flex-wrap: wrap;
  -moz-column-gap: 1em;
       column-gap: 1em;
  row-gap: 0.5em;
}
.el_dl_prof dt,
.el_dl_prof dd {
  width: 100%;
}
.el_dl_prof dt:nth-of-type(1),
.el_dl_prof dd:nth-of-type(1) {
  width: auto;
}
.el_dl_prof dt {
  font-weight: bold;
}

.el_btn_plus {
  display: block;
  position: relative;
  text-align: left;
  width: 100%;
}
.el_btn_plus::before, .el_btn_plus::after {
  border-bottom: 2px solid var(--border-color);
  content: "";
  display: block;
  height: 0;
  margin-top: -1px;
  width: 1em;
  position: absolute;
  right: 0;
  top: 50%;
  transform-origin: center center;
  transition: rotate 0.2s;
}
.el_btn_plus::before {
  rotate: 90deg;
}
.is-open .el_btn_plus::before, .is-open .el_btn_plus::after {
  rotate: 180deg;
}

.bl_cta-fixed {
  display: flex;
  bottom: 0;
  left: 0;
  width: 100%;
  left: 50%; 
  transform: translateX(-50%); 
  max-width: 750px;
  margin: 0 auto;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 1000;
}

.bl_cta-fixed.is-visible {
  opacity: 1;
  visibility: visible;
}

.bl_cta_btn {
  width: 100%;
}
.bl_top_btn {
  margin-top: 4%;
  width: 20%;
  padding-right: 4%;
}
