@charset "utf-8";
/*-------title------*/
.sub-sec-tit {
  font-size: clamp(24px, 2.778vw, 4rem);
  background: #f3f3f3;
  padding: 23px 0;
  margin-bottom: 55px;
}
.larg-tit {
  font-size: clamp(24px, 2.5vw, 3.6rem);
}
/*sub*/
.sub-main-sec {
  background: url(../../uploads/2025/12/sub-main.jpg) no-repeat;
  background-size: cover;
  padding: 205px 0 135px;
}
.sub-main-sec h1 {
  font-size: clamp(32px, 4.444vw, 6.4rem);
  color: #fff;
  text-shadow: 0 0 5px #00000040;
}
.sub-pagewrap .main-menu-container {
  margin-bottom: 80px;
}
/*clinic*/
.sub-clinic-sec1 .cs-sub-inner {
  background: url(../../uploads/2025/12/clinic-img1.jpg) no-repeat;
  background-size: cover;
  padding: 90px 80px;
  margin-bottom: 80px;
}
.sub-clinic-sec1 .sub-desc {
  background: #fff;
  padding: 56.5px 111px;
}
.sub-clinic-sec1 .sub-desc p {
  margin-bottom: 1em;
}
.sub-clinic-sec1 .sub-desc p:last-child {
  margin-bottom: 0;
}
.sub-point-wrap {
  padding-right: 80px;
  justify-content: left;
  gap: 80px;
  margin-bottom: 100px;
}
.re-row.sub-point-wrap {
  padding-left: 80px;
  justify-content: right;
  padding-right: 0;
}
.sub-point-wrap .txt-box {
  width: 48%;
}
.sub-point-wrap .img-box {
  max-width: max(43.33vw, 624px);
  width: 100%;
}
.sub-point-wrap .img-box img {
  width: 100%;
}
.sub-point-wrap .txt-box-tit {
  font-size: clamp(22px, 2.5vw, 3.6rem);
  position: relative;
  z-index: 2;
  margin-bottom: 24px;
}
.sub-point-wrap-st2 {
  padding: 0 80px;
  justify-content: center;
  gap: 92px;
  align-items: stretch;
}
.sub-point-wrap-st2 .point-titen {
  font-size: clamp(18px, 1.667vw, 2.4rem);
  color: #4fa1eb;
  margin-bottom: 18px;
  position: relative;
  z-index: 2;
}
.sub-point-wrap-st2 .point-titja {
  font-size: clamp(24px, 2.5vw, 3.6rem);
  margin-bottom: 26px;
}
.vertical-flex-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: max(43.33vw, 582px);
  width: 100%;
}
.sub-point-wrap-st2 .img-box img {
  width: 100%;
}
.sub-point-wrap-st2 .point-titen::before {
  font-size: clamp(68px, 6.667vw, 9.6rem);
  font-weight: 500;
  position: absolute;
  z-index: -1;
  letter-spacing: 0;
  line-height: 1;
  transform: translate(-50%, 0%);
  bottom: 0;
  left: 50%;
  color: #f1efeb;
  font-style: italic;
  font-family: "EB Garamond", serif;
}
.sub-point-wrap .txt-box-tit::before {
  font-size: clamp(68px, 6.667vw, 9.6rem);
  font-family: "EB Garamond", serif;
  font-weight: 500;
  position: absolute;
  z-index: -1;
  letter-spacing: 0;
  line-height: 1;
  transform: translate(-50%, -65%);
  top: 0;
  left: 0;
  color: #f1efeb;
  font-style: italic;
}
.sub-point-wrap .pt1::before {
  content: "01";
}
.sub-point-wrap .pt2::before {
  content: "02";
}
.sub-point-wrap .pt3::before {
  content: "03";
}
.sub-point-wrap-st2 .pt4::before {
  content: "04";
}
.sub-point-wrap-st2 .pt5::before {
  content: "05";
}
.sub-clinic-sec2 .cs-sub-inner {
  padding-bottom: 80px;
}
.sub-clinic-sec3 .larg-tit {
  margin-bottom: 16px;
}
.sub-clinic-sec3 .cs-sub-inner {
  padding: 0 273px 80px;
}
.sub-clinic-sec4 .cs-sub-inner {
  padding: 0 160px 80px;
}
/* サムネイルの幅を調整 */
.thum-slider .splide__track--nav > .splide__list > .splide__slide {
  width: 100% !important;
}
.thum-slider .splide__track--nav > .splide__list > .splide__slide.is-active {
  width: 100% !important;
  border: none;
}
/* サムネイルをグリッド表示 */
#thumbnail-carousel .splide__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
}
/* 選択されていないサムネイルは薄くする */
.thum-slider .splide__slide {
  opacity: 0.6;
}
/* 選択されているサムネイルだけ透過しない */
.thum-slider .splide__slide.is-active {
  opacity: 1;
}
/* 画像サイズ調整 */
.thum-slider .splide__slide img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.ga-slider .splide__slide img {
  max-width: 1120px;
  margin: 0 auto;
  width: 100%;
  height: auto;
}
.ga-slider .splide__slide {
  text-align: center;
}
.ga-slider .splide__arrow {
  background: none;
}
.ga-slider .splide__arrow--prev {
  left: -70px;
}
.ga-slider .splide__arrow--next {
  right: -70px;
}
.ga-slider .splide__arrow svg {
  fill: #0a3990;
  width: 25px;
  height: 43px;
}
.sub-clinic-sec5 .cs-sub-inner {
  padding: 0 80px 80px;
}
.grid-wrap.equipment-ga {
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 15px;
}
.equipment-ga .equipment-tit {
  color: #fff;
  background: #0a3990;
  padding: 10px 0;
}
.sub-clinic-sec6 .cs-sub-inner {
  padding: 0 80px 80px;
}
.sub-clinic-sec6 .img-box {
  position: relative;
  max-width: max(30.34vw, 437px);
  width: 100%;
  border: 1px solid #3b2c1b;
}
.sub-clinic-sec6 .img-box img {
  max-width: max(30.34vw, 437px);
  width: 100%;
  margin-top: -24px;
  margin-left: -24px;
  margin-bottom: 24px;
}
.sub-clinic-sec6 .flex-st1 {
  gap: 110px;
  margin-bottom: 80px;
}
.name-box-st1.name-box {
  right: auto;
  left: 0;
  transform: translate(-25%, 50%);
}
.name-box-st1 .co-name {
  line-height: 1.16;
}
.name-box-st1 .wrap {
  gap: 10px;
}
.name-box-st1 .co-name-en {
  line-height: 1;
  margin-top: 10px;
}
.sub-clinic-sec6 .hi-wrap {
  background: #f3f3f3;
  flex: 1;
  padding: 40px 30px 60px;
}
.sub-clinic-sec6 .hi-wrap ul li span {
  margin-right: 1em;
}
.sub-clinic-sec6 .hi-wrap ul li {
  padding-left: 25px;
  position: relative;
}
.sub-clinic-sec6 .hi-wrap ul li::before {
  content: "・";
  position: absolute;
  top: 0%;
  left: 0;
}
.sub-clinic-sec6 .flex-st2 {
  align-items: stretch;
  gap: 16px;
}
.sub-clinic-sec6 .hi-tit {
  background: #0a3990;
  color: #fff;
  padding: 10px 0;
  margin-bottom: 30px;
}
.sub-clinic-sec6 .txt-box p {
  margin-bottom: 1em;
}
.sub-clinic-sec6 .txt-box p:last-child {
  margin-bottom: 0;
}
.sub-clinic-sec7 {
  background: #f1f4f8;
}
.sub-clinic-sec7 .sub-sec-tit {
  margin-bottom: 0;
}
.sub-clinic-sec7 .cs-sub-inner {
  padding: 55px 250px 80px;
}
.sub-clinic-sec7 .co {
  background: #fff;
  padding: 35px 40px;
  margin-bottom: 25px;
}
.sub-clinic-sec7 .clinic-ac-txt .ltxt {
  font-size: clamp(24px, 2.222vw, 3.2rem);
}
.sub-clinic-sec7 .clinic-ac-txt .stxt {
  font-size: clamp(1.6rem, 1.389vw, 2rem);
}
.sub-clinic-sec7 .cs-sub-inner .co:last-child {
  margin-bottom: 0;
}
.sub-clinic-sec7 .clinic-ac-tit {
  font-size: clamp(24px, 2.222vw, 3.2rem);
  color: #0a3990;
  border-bottom: 1px solid #0a3990;
  padding-bottom: 7px;
  margin-bottom: 20px;
  display: flex;
  justify-content: left;
  align-items: center;
}
.sub-clinic-sec7 .clinic-ac-txt {
  font-size: clamp(18px, 1.667vw, 2.4rem);
}
.sta-tit::before {
  content: "";
  background-image: url(../../uploads/2025/12/train-icon.png);
  width: 40px;
  height: 40px;
  margin-right: 10px;
}
.par-tit::before {
  content: "";
  background-image: url(../../uploads/2025/12/car-icon.png);
  width: 31px;
  height: 31px;
  margin-right: 13px;
}
.sub-clinic-sec7 .clinic-ac-tit::before {
  display: inline-block;
  background-color: #0a3990;
  border-radius: 100px;
  background-repeat: no-repeat;
  background-position: center;
}
/*medical*/

.sub-medical-page .sub-inner {
  padding: 0 80px 80px;
}
.sub-medical-page .img-box {
  max-width: max(32.36vw, 466px);
  width: 100%;
}
.sub-medical-page .txt-box {
  flex: 1;
}
.sub-medical-page .flex-row {
  gap: 30px;
}

/*price*/
.sub-price-page .sub-inner {
  padding: 0 80px 50px;
}
.price-tit {
  background: #0a3990;
  color: #fff;
  font-size: clamp(20px, 1.667vw, 2.4rem);
  padding: 10px 0;
  margin-bottom: 15px;
}
.sub-price-page table {
  display: block;
  margin-bottom: 30px;
}
.sub-price-page table tbody {
  display: flex;
}
.sub-price-page table tr {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.sub-price-page table tr:first-child {
  flex: 1.5;
}
.sub-price-page .sub-price-sec-last table tr {
  flex: 1;
}
.sub-price-page .sub-price-sec-last table tr:last-child {
  flex: 1.3;
}
.sub-price-page table tr:first-child th,
.sub-price-page table tr:first-child td {
  border-width: 1px 1px 1px 1px;
}
.sub-price-page table th {
  background: #4fa1eb;
  color: #fff;
  font-weight: 400;
  line-height: 2;
  padding: 10px 0;
  font-size: clamp(18px, 1.667vw, 2.4rem);
  border: solid #64513b;
  border-width: 1px 1px 1px 0;
}
.sub-price-page table td {
  display: block;
  text-align: center;
  font-size: clamp(18px, 1.667vw, 2.4rem);
  line-height: 2;
  padding: 10px 0;
  font-weight: 400;
  border: solid #3b2c1b;
  border-width: 1px 1px 1px 0;
}
.sub-price-page .sub-price-sec-last .sub-inner {
  padding: 0 80px 90px;
}
.sub-recruit-sec1 .sub-inner {
  padding: 0 80px 80px 0;
}
.sub-recruit-sec1 .flex-row {
  justify-content: left;
  align-items: flex-start;
  gap: 80px;
}
.sub-recruit-sec1 .img-box {
  max-width: max(43.33vw, 624px);
  width: 100%;
}
.sub-recruit-sec1 .txt-box {
  width: 48%;
}
.sub-recruit-sec1 h2 {
  font-size: clamp(22px, 2.5vw, 3.6rem);
  margin-bottom: 24px;
}
.sub-recruit-sec2 .sub-inner {
  padding: 0 80px calc(120px - 8px);
}
.sub-recruit-sec2 h3 {
  font-size: clamp(20px, 2.222vw, 3.2rem);
  padding: 10px 0;
  background: #f1f4f8;
  position: relative;
  margin-bottom: calc(24px - 8px);
}
.sub-recruit-sec2 h3:before,
.sub-recruit-sec2 h3:after {
  content: "";
  width: 32px;
  height: 32px;
  position: absolute;
}
.sub-recruit-sec2 h3:before {
  left: 12px;
  top: 12px;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
}
.sub-recruit-sec2 h3:after {
  right: 12px;
  bottom: 12px;
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
}
.sub-recruit-sec2 table {
  border-collapse: separate;
  border-spacing: 0 8px;
}
.sub-recruit-sec2 table th {
  font-size: clamp(18px, 1.667vw, 2.4rem);
  font-weight: 400;
  line-height: 2;
  color: #fff;
  background: #0a3990;
  padding: 50px 0;
  text-align: center;
  width: 30%;
}
.sub-recruit-sec2 table td {
  font-size: clamp(18px, 1.667vw, 2.4rem);
  font-weight: 400;
  border: 1px solid #000;
  padding-left: 24px;
  line-height: 1.4;
}
.single-inner {
  padding: 80px 120px;
}
@media screen and (max-width: 1180px) {
  .sub-clinic-sec5 .cs-sub-inner {
    padding: 0 40px 40px;
  }
  .sub-clinic-sec3 .cs-sub-inner {
    padding: 0 80px 80px;
  }
  .sub-clinic-sec7 .cs-sub-inner {
    padding: 0 80px 80px;
  }
  .sub-point-wrap .txt-box {
    width: 80%;
  }
  .sub-recruit-sec1 .txt-box {
    width: 80%;
  }
}
@media screen and (max-width: 820px) {
  .sub-clinic-sec6 .flex-st1 {
    flex-direction: column;
  }
  .name-box-st1.name-box {
    transform: translate(0%, 50%);
  }
  .sub-medical-page .img-box {
    flex: 1;
  }
  .sub-medical-page .sub-inner {
    padding: 0 3% 50px;
  }
}
@media screen and (max-width: 680px) {
  .sub-main-sec {
    padding: 150px 0 150px;
  }
  .sub-sec-tit {
    margin-bottom: 50px;
  }
  .sub-main-sec {
    margin-bottom: 30px;
  }
  .sub-clinic-sec1 .cs-sub-inner {
    padding: 30px 3% 50px;
    margin-bottom: 50px;
  }
  .sub-clinic-sec1 .sub-desc {
    padding: 30px 3%;
  }
  .sub-point-wrap {
    padding-right: 0;
    margin-bottom: 80px;
    gap: 30px;
    flex-direction: column-reverse;
  }
  .sub-point-wrap .txt-box {
    width: 95%;
    margin: 0 auto;
  }
  .sub-point-wrap .txt-box-tit::before {
    transform: translate(0%, -65%);
  }
  .re-row.sub-point-wrap {
    padding-left: 0;
    flex-direction: column-reverse;
  }
  .sub-point-wrap-st2 {
    padding: 0;
    gap: 80px;
  }
  .sub-point-wrap-st2 .co-text-wrap {
    width: 95%;
    margin: 0 auto;
  }
  .sub-clinic-sec2 .cs-sub-inner {
    padding-bottom: 50px;
  }
  .sub-clinic-sec3 .cs-sub-inner {
    padding: 0 3% 50px;
  }
  .sub-clinic-sec4 .cs-sub-inner {
    padding: 0 3% 50px;
  }
  .ga-slider .splide__arrow--next {
    right: 0;
  }
  .ga-slider .splide__arrow--prev {
    left: 0;
  }
  #thumbnail-carousel .splide__list {
    grid-template-columns: repeat(3, 1fr);
  }
  .grid-wrap.equipment-ga {
    grid-template-columns: 1fr;
  }
  .sub-clinic-sec5 .cs-sub-inner {
    padding: 0 3% 50px;
  }
  .sub-clinic-sec6 .cs-sub-inner {
    padding: 0 3% 50px;
  }
  .sub-clinic-sec6 .flex-st1 {
    gap: 50px;
  }
  .sub-clinic-sec6 .img-box img {
    margin-top: -7px;
    margin-left: -7px;
    margin-bottom: 7px;
  }
  .name-box-st1.name-box {
    transform: translate(-50%, 50%);
    left: 50%;
  }
  .sub-clinic-sec6 .hi-wrap {
    padding: 30px 3%;
  }
  .sub-clinic-sec7 .cs-sub-inner {
    padding: 50px 3% 30px;
  }
  .sub-medical-page .flex-row {
    flex-direction: column-reverse;
  }
  .sub-price-page .sub-inner,
  .sub-price-page .sub-price-sec-last .sub-inner {
    padding: 0 3% 50px;
  }
  .sub-price-page table tbody {
    flex-direction: column;
  }
  .sub-price-page table tr th,
  .sub-price-page table tr td {
    border-width: 1px 1px 1px 1px;
  }
  .sub-recruit-sec1 .sub-inner {
    padding: 0 0 50px;
  }
  .sub-recruit-sec1 .flex-row {
    flex-direction: column-reverse;
    gap: 30px;
  }
  .sub-recruit-sec1 .txt-box {
    width: 95%;
    margin: 0 auto;
  }
  .sub-recruit-sec2 .sub-inner {
    padding: 0 3% 50px;
  }
  .sub-recruit-sec2 h3:before,
  .sub-recruit-sec2 h3:after {
    width: 12px;
    height: 12px;
  }
  .sub-recruit-sec2 table tr {
    display: flex;
    flex-direction: column;
  }
  .sub-recruit-sec2 table th {
    width: 100%;
    padding: 10px;
  }
  .sub-recruit-sec2 table td {
    padding: 30px;
  }
}
