@charset "UTF-8";
*,
::before,
::after {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
}

ul,
ol,
li {
  list-style-type: none;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  background-color: transparent;
  border-style: none;
}

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

.top-body img {
  display: block;
  -o-object-fit: contain;
     object-fit: contain;
}

html {
  font-size: 10px;
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.8;
  color: #342A27;
  background-color: #fff;
}

h1 {
  font-size: 4rem;
  font-weight: 600;
}

h2 {
  font-size: 3.6rem;
  font-weight: 500;
}

h3 {
  font-size: 2.4rem;
  font-weight: 600;
}

@media (max-width: 834px) {
  body {
    font-size: 1.6rem;
  }
  h1 {
    font-size: 3.2rem;
  }
  h2 {
    font-size: 2.4rem;
  }
  h3 {
    font-size: 1.8rem;
  }
}
body.fixed {
  height: 100%;
  overflow-y: hidden;
}

main {
  position: relative;
  z-index: 2;
}

.jp {
  font-family: "Zen Old Mincho", serif;
}

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

.en {
  font-family: "Marcellus", serif;
}

.italic {
  font-style: italic;
}

.txt {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.73;
}

@media (max-width: 834px) {
  .txt {
    font-size: 1.4rem;
  }
}
.f50 {
  font-size: 5rem;
}

.f40 {
  font-size: 4rem;
}

.f36 {
  font-size: 3.6rem;
}

.f30 {
  font-size: 3rem;
}

.f24 {
  font-size: 2.4rem;
}

.f20 {
  font-size: 2rem;
}

.f18 {
  font-size: 1.8rem;
}

.f16 {
  font-size: 1.6rem;
}

@media (max-width: 1200px) {
  .f50 {
    font-size: 4.2rem;
  }
  .f40 {
    font-size: 3.6rem;
  }
  .f36 {
    font-size: 2.8rem;
  }
  .f30 {
    font-size: 2.5rem;
  }
  .f24 {
    font-size: 2.1rem;
  }
  .f20 {
    font-size: 1.9rem;
  }
  .f18 {
    font-size: 1.7rem;
  }
  .f16 {
    font-size: 1.5rem;
  }
}
@media (max-width: 834px) {
  .f50 {
    font-size: 3.6rem;
  }
  .f40 {
    font-size: 3.2rem;
  }
  .f36 {
    font-size: 2.4rem;
  }
  .f24 {
    font-size: 1.8rem;
  }
  .f20 {
    font-size: 1.7rem;
  }
  .f18 {
    font-size: 1.6rem;
  }
  .f16 {
    font-size: 1.4rem;
  }
}
.b {
  font-weight: 700;
}

.sb {
  font-weight: 600;
}

.m {
  font-weight: 500;
}

.r {
  font-weight: 400;
}

.l {
  font-weight: 300;
}

.el {
  font-weight: 200;
}

.lh15 {
  line-height: 1.5;
}

.lh12 {
  line-height: 1.2;
}

.lh1 {
  line-height: 1;
}

.fcw {
  color: #fff;
}

.fcb {
  color: #342A27;
}

.fcr {
  color: #9E2B3C;
}

.fclp {
  color: #FFFAFA;
}

.fcp {
  color: #DB8DAF;
}

.fcgray {
  color: #D2D2D2;
}

.bcw {
  background-color: #fff;
}

.bcb {
  background-color: #342A27;
}

.bcr {
  background-color: #9E2B3C;
}

.bclp {
  background-color: #FFFAFA;
}

.bcp {
  background-color: #DB8DAF;
}

.bcgray {
  background-color: #D2D2D2;
}

.tac {
  text-align: center;
}

.tas {
  text-align: start;
}

.tae {
  text-align: end;
}

.pad {
  padding: 100px 0;
}

.pad-top {
  padding-top: 100px;
}

.pad-bottom {
  padding-bottom: 100px;
}

.under-pad {
  /* padding: 100px 0; */
  padding: 50px 0;
}

.mt20 {
  margin-top: 20px !important;
}

@media (max-width: 1667px) {
  .pad {
    padding: 6.5vw 0;
  }
  .pad-top {
    padding-top: 6.5vw;
  }
  .pad-bottom {
    padding-bottom: 6.5vw;
  }
}
@media (max-width: 834px) {
  .pad {
    padding: 60px 0;
  }
  .pad-top {
    padding-top: 60px;
  }
  .pad-bottom {
    padding-bottom: 60px;
  }
  /* .under-pad {
    padding: 60px 0;
  } */
  .under-pad {
    padding: 30px 0;
  }
}
@media (max-width: 500px) {
  .pad {
    padding: 50px 0;
  }
  .pad-top {
    padding-top: 50px;
  }
  .pad-bottom {
    padding-bottom: 50px;
  }
}
.sec-ttl {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  color: #9E2B3C;
  margin-bottom: 90px;
}

.fcw .sec-ttl {
  color: #fff;
}

.sec-ttl__en {
  font-size: 5rem;
  line-height: 1.1;
  font-family: "Marcellus", serif;
  font-weight: 400;
}

.sec-ttl__jp {
  font-size: 1.6rem;
  font-weight: 500;
}

@media (max-width: 834px) {
  .sec-ttl {
    margin-bottom: 40px;
  }
  .sec-ttl__en {
    font-size: 4rem;
  }
  .sec-ttl__jp {
    font-size: 1.6rem;
  }
}
.sec-mess__wrap {
  display: flex;
  flex-direction: column;
}

.viewmore {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 1.6rem;
  font-family: "Marcellus", serif;
  color: #DB8DAF;
  transition: all 0.3s ease-in-out;
}

.fcw .viewmore,
.fcw.viewmore {
  color: #fff;
}

.fcr .viewmore,
.fcr.viewmore {
  color: #9E2B3C;
}

.viewmore-arrow {
  width: 12px;
}

.viewmore:hover {
  opacity: 0.7;
}

.fcw .btn {
  background-color: rgba(255, 255, 255, 0.1254901961);
}

.h-op {
  transition: all 0.3s ease-in-out;
}

.h-op:hover {
  opacity: 0.7;
  transition: all 0.3s ease-in-out;
}

.h-op-txt {
  -webkit-text-decoration: underline 1px solid #342A27;
          text-decoration: underline 1px solid #342A27;
  transition: all 0.3s ease-in-out;
}

.h-op-txt:hover {
  opacity: 0.7;
}

.ul-dot {
  padding-left: 1.5em;
}

.ul-dot > li {
  list-style-type: disc;
}

.ol-number {
  padding-left: 1.5em;
}

.ol-number li {
  list-style-type: decimal;
}

.inner {
  max-width: 1080px;
  width: 90%;
  margin: 0 auto;
}

.inner-s {
  max-width: 900px;
  width: 90%;
  margin: 0 auto;
}

.min1201 {
  display: block;
}

.max1200 {
  display: none;
}

@media (max-width: 1200px) {
  .min1201 {
    display: none;
  }
  .max1200 {
    display: block;
  }
}
.min1101 {
  display: block;
}

.max1100 {
  display: none;
}

@media (max-width: 1100px) {
  .min1101 {
    display: none;
  }
  .max1100 {
    display: block;
  }
}
.min1001 {
  display: block;
}

.max1000 {
  display: none;
}

@media (max-width: 1000px) {
  .min1001 {
    display: none;
  }
  .max1000 {
    display: block;
  }
}
.max834 {
  display: none;
}

.min835 {
  display: block;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

@media (max-width: 834px) {
  .max834 {
    display: block;
  }
  .min835 {
    display: none;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
.min601 {
  display: block;
}

.max600 {
  display: none;
}

@media (max-width: 600px) {
  .min601 {
    display: none;
  }
  .max600 {
    display: block;
  }
}
.max550 {
  display: none;
}

@media (max-width: 550px) {
  .max550 {
    display: block;
  }
}
.min501 {
  display: block;
}

.max500 {
  display: none;
}

@media (max-width: 500px) {
  .min501 {
    display: none;
  }
  .max500 {
    display: block;
  }
}
.max450 {
  display: none;
}

@media (max-width: 450px) {
  .max450 {
    display: block;
  }
}
.max400 {
  display: none;
}

@media (max-width: 400px) {
  .max400 {
    display: block;
  }
}
.max380 {
  display: none;
}

@media (max-width: 380px) {
  .max380 {
    display: block;
  }
}
.max370 {
  display: none;
}

@media (max-width: 370px) {
  .max370 {
    display: block;
  }
}
.max359 {
  display: none;
}

@media (max-width: 359px) {
  .max359 {
    display: block;
  }
}
.loadin {
  opacity: 0;
  transform: translate(0, 40px);
}

.loadin.show {
  opacity: 1;
  transform: translate(0, 0);
  transition: all 1s 0s ease-in-out;
}

.fadein {
  opacity: 0;
  transform: translate(0, 40px);
}

.fadein.show {
  opacity: 1;
  transform: translate(0, 0);
  transition: all 0.6s ease-in-out;
}

.header {
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 1440/225;
  background: url(../img/common/header_bg.webp) no-repeat center/contain;
}

.header-l {
  position: fixed;
  z-index: 100;
  top: 25px;
  left: 2.5vw;
  display: flex;
  align-items: center;
}

.header.fixed .header-l {
  top: 20px;
  left: 20px;
  height: 80px;
}

.header-l.hidden {
  display: none;
}

.header-logo__wrap {
  line-height: 1;
  width: 330px;
}

.header-nav {
  position: fixed;
  z-index: 90;
  top: 105px;
  left: 2.5vw;
  width: 95vw;
  height: 100px;
}

.header-nav__list {
  display: flex;
  justify-content: center;
  gap: 2px 35px;
}

.header-nav__item a {
  transition: all 0.3s ease-in-out;
}

.header-nav__item.is-current {
  color: #9E2B3C;
}

.header-nav__item a:hover {
  color: #9E2B3C;
  opacity: 1;
}

.header-nav__item-link {
  display: flex;
  align-items: center;
  white-space: nowrap;
}

.header-r {
  position: fixed;
  z-index: 300;
  top: 20px;
  right: 40px;
  display: flex;
  align-items: center;
  gap: 20px;
}

.header-recruit {
  width: 180px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  color: #fff;
  background-color: #6F94E3;
  padding-left: 25px;
}

.header-recruit::before {
  content: "";
  position: absolute;
  top: 52%;
  transform: translate(0, -50%);
  left: 34px;
  width: 20px;
  height: 20px;
  background: url(../img/common/phone.svg) no-repeat center/contain;
}

.header-contact {
  position: relative;
  width: 180px;
  height: 50px;
  line-height: 50px;
  color: #fff;
  background-color: #9E2B3C;
  padding-left: 58px;
}

.header-contact::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  left: 25px;
  width: 20px;
  height: 20px;
  background: url(../img/common/icon_contact.svg) no-repeat center/contain;
}

.header-btn__area {
  display: none;
}

.header-btn {
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 0px;
}

.header-btn:hover {
  cursor: pointer;
}

.header-btn__ham {
  position: relative;
  width: 30px;
  height: 30px;
  margin: auto;
  overflow: hidden;
}

.header-btn__ham span {
  position: absolute;
  top: 30%;
  left: 0%;
  width: 100%;
  height: 1px;
  background-color: #9E2B3C;
  transition: all 0.4s ease;
}

.header-btn__ham span:nth-of-type(1) {
  top: 25%;
}

.header-btn__ham span:nth-of-type(2) {
  top: 50%;
}

.header-btn__ham span:nth-of-type(3) {
  top: 75%;
}

.header-btn.active span:nth-of-type(1) {
  top: 50%;
  transform: rotate(45deg);
}

.header-btn.active span:nth-of-type(2),
.header-btn.active span:nth-of-type(3) {
  top: 50%;
  transform: rotate(-45deg);
}

@media (max-width: 1450px) {
  .header-nav {
    top: 95px;
  }
  .header-nav__list {
    display: flex;
    justify-content: center;
    gap: 2px 20px;
  }
}
@media (max-width: 1300px) {
  .header-l {
    top: 20px;
  }
  .header-nav {
    top: 85px;
  }
  .header-nav__list {
    font-size: 1.5rem;
  }
}
@media (max-width: 1210px) {
  .header-nav__list {
    font-size: 1.38rem;
    gap: 15px;
  }
}
@media (max-width: 1100px) {
  .header {
    width: 100%;
    height: 120px;
    background: url(../img/common/header_bg.webp) no-repeat center bottom/100%;
  }
  .header-l {
    top: 13px;
    left: 2.5vw;
  }
  .header-nav {
    display: none;
  }
  .header-r {
    top: 10px;
    right: 20px;
    gap: 7px;
  }
  .header-recruit,
  .header-contact {
    display: none;
  }
  .header-btn__area {
    display: block;
  }
}
@media (max-width: 834px) {
  .header {
    width: 100%;
    height: 100px;
    background: url(../img/common/header_bg.webp) no-repeat center bottom/100%;
  }
}
@media (max-width: 650px) {
  .header {
    width: 100%;
    height: unset;
    aspect-ratio: 375/58;
    background: url(../img/common/header_bg.webp) no-repeat center bottom/100%;
  }
}
@media (max-width: 600px) {
  .header-l {
    top: 12px;
    left: 15px;
  }
  .header-logo__wrap {
    width: 200px;
  }
  .header-r {
    top: 5px;
    right: 15px;
    gap: 7px;
  }
  .header-btn__ham {
    width: 25px;
    height: 25px;
  }
}
@media (max-width: 400px) {
  .header-l {
    top: 10px;
    left: 15px;
  }
}
.header-info__list-cont {
  display: none;
  position: fixed;
  z-index: 110;
  top: 160px;
  left: 50%;
  transform: translate(-50%, 0);
  max-width: 1058px;
  width: 90%;
  height: calc(100vh - 180px);
  background-color: #fff;
  border-radius: 20px;
  overflow: scroll;
  box-shadow: 0 0 7px 1px rgba(80, 80, 80, 0.1882352941);
  padding: 30px 40px;
}

.header-info__list-cont.active {
  display: block;
}

.header-info__list-cont__inner {
  height: -moz-fit-content;
  height: fit-content;
}

.header-info__list-area {
  display: flex;
  gap: 2%;
  background-color: rgba(255, 255, 255, 0.5647058824);
}

.header-info__list-area:nth-of-type(2) {
  margin-top: 40px;
}

.header-info__list-img__area {
  position: relative;
  width: 20%;
}

.header-info__list-img__txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.header-info__list {
  width: 80%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(5, 1fr);
  gap: 15px;
}

.header-info__item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 1.5;
  border: 1px solid #9E2B3C;
  border-radius: 10px;
  transition: all 0.3s ease-in-out;
}

.header-info__item-link:hover {
  background-color: #FFF4F4;
}

@media (max-width: 1300px) {
  .header-info__list-cont {
    top: 140px;
    height: calc(100vh - 160px);
    padding: 30px 40px;
  }
}
@media (max-width: 1100px) {
  .header-info__list-cont {
    display: none;
  }
}
.menu-back {
  display: none;
  position: fixed;
  z-index: 150;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.3764705882);
}

.menu-back.active {
  display: block;
}

.menu {
  position: fixed;
  z-index: 200;
  top: 1%;
  right: 1%;
  width: 360px;
  max-height: 98%;
  height: -moz-fit-content;
  height: fit-content;
  background: #fff;
  border-radius: 20px;
  overflow-y: auto;
  box-shadow: 0 0 7px 1px rgba(80, 80, 80, 0.1882352941);
  /* display: none; */
  visibility: hidden;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.menu.active {
  /* display: block; */
  visibility: visible;
  opacity: 1;
}

.menu-inner {
  width: 88%;
  height: -moz-fit-content;
  height: fit-content;
  padding: 30px 0;
  margin: 0 auto;
}

.menu-nav__list {
  width: 100%;
  display: flex;
  flex-direction: column;
}

.menu-nav__item {
  line-height: 1.5;
  padding: 6px 0;
}

.menu-nav__item:nth-of-type(1),
.menu-nav__item:nth-of-type(2) {
  padding: 10px 0;
  border-bottom: 1px solid rgba(158, 43, 60, 0.3764705882);
}

.menu-nav__item:nth-of-type(3) {
  padding: 10px 0 6px;
}

.menu-nav__item-children {
  color: #342A27;
  display: flex;
  flex-direction: column;
  margin-top: 3px;
}

.menu-nav__sublist {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7px;
  margin-top: 40px;
}

.menu-nav__subitem {
  width: 100%;
}

.menu-nav__subitem-recruit {
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  text-align: center;
  color: #fff;
  background-color: #6F94E3;
  position: relative;
  padding-left: 22px;
}

.menu-nav__subitem-recruit::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(-31px, -50%);
  width: 20px;
  height: 20px;
  background: url(../img/common/phone.svg) no-repeat center/contain;
}

.menu-nav__subitem-contact {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  text-align: center;
  color: #fff;
  background-color: #9E2B3C;
  padding-left: 32px;
}

.menu-nav__subitem-contact::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(-37px, -50%);
  width: 20px;
  height: 20px;
  background: url(../img/common/icon_contact.svg) no-repeat center/contain;
}

.menu-nav__subitem-instagram {
  position: relative;
  display: block;
  width: 100%;
  height: 50px;
  line-height: 50px;
  text-align: center;
  color: #342A27;
  background-color: rgba(219, 141, 175, 0.5);
  padding-left: 24px;
  border-radius: 5px;
}

.menu-nav__subitem-instagram::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 50%;
  transform: translate(-35px, -50%);
  width: 23px;
  height: 23px;
  background: url(../img/common/instagram.svg) no-repeat center/contain;
}

.menu-nav__subitem:nth-of-type(4) {
  width: 167px;
}

@media (max-width: 600px) {
  .menu {
    top: 0px;
    right: 0px;
    width: 100%;
    max-height: 100%;
    height: 100%;
    border-radius: 0px;
  }
  .menu-inner {
    width: 90%;
    padding: 30px 0;
  }
  .menu-nav__list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 0 0px;
    height: -moz-fit-content;
    height: fit-content;
  }
  .menu-nav__sublist {
    margin-top: 25px;
  }
}
.top-body section {
  position: relative;
  overflow: hidden;
}

.top-bg__circle {
  position: absolute;
  width: 53vw;
  top: 50%;
  left: 55%;
  transform: translate(0, -50%);
}

.z3 {
  position: relative;
  z-index: 3;
}

@media (max-width: 834px) {
  img.top-bg__circle {
    position: absolute;
    width: 90vw;
    top: 0;
    left: 55%;
    transform: translate(0, 0);
  }
}
.top-fv {
  position: relative;
}

.top-fv__img-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.top-fv__mess {
  position: absolute;
  top: 50%;
  right: 67%;
  transform: translate(50%, -45%);
  writing-mode: vertical-rl;
  line-height: 1.8;
  letter-spacing: 0.1em;
  white-space: nowrap;
  opacity: 0;
}

.top-fv__mess.show {
  opacity: 1;
  transform: translate(50%, -50%);
  transition: all 1s 0.7s ease-in-out;
}

.header-other__bl {
  border-radius: 10px;
  margin-top: 15px;
  padding: 20px;
  padding-left: calc(20% + 15px);
}
.header-other__bl .header-info__item-link {
  height: 80px;
}
.header-other__bl .header-info__item {
  width: 244.283px;
}
.header-other__bl .header-info__list {
  grid-template-rows: initial;
}

@media (max-width: 834px) {
  .top-fv {
    padding-bottom: 215px;
  }
  .top-body .top-fv__img-bottom {
    display: none;
  }
  .top-fv__mess {
    position: absolute;
    top: unset;
    bottom: 35px;
    right: 50%;
    transform: translate(50%, 40px);
    writing-mode: horizontal-tb;
    text-align: center;
    line-height: 1.6;
    white-space: nowrap;
  }
  .top-fv__mess.show {
    transform: translate(50%, 0);
  }
}
@media (max-width: 600px) {
  .top-fv {
    padding-bottom: 265px;
  }
}
.top-news {
  padding: 150px 0;
}

.top-news__inner {
  display: flex;
  gap: 10%;
}

.top-news__ttl {
  width: 150px;
}

.top-news__list {
  width: calc(100% - 150px);
}

.top-news__item-link {
  display: flex;
  align-items: center;
  gap: 35px;
  border-bottom: 1px solid #D2D2D2;
  padding: 15px 0;
}

.top-news__item:nth-of-type(1) .top-news__item-link {
  padding-top: 0;
}

@media (max-width: 1200px) {
  .top-news {
    padding: 8vw 0;
  }
}
@media (max-width: 834px) {
  .top-news {
    padding: 60px 0;
  }
  .top-news__inner {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .top-news__ttl {
    width: 100%;
  }
  .top-news__list {
    width: 100%;
  }
}
@media (max-width: 600px) {
  .top-news {
    padding: 50px 0;
  }
  .top-news__item-link {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 0px;
    padding: 15px 0;
  }
}
.top-pickup__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 4%;
}

.top-pickup__item-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5%;
  padding: 10px 10px 10px 25px;
  background-color: #fff;
  box-shadow: 0 0 7px 1px rgba(80, 80, 80, 0.1882352941);
}

.top-pickup__item-img {
  width: 45%;
}

.top-pickup__item-more {
  position: absolute;
  bottom: 0;
  right: 10px;
}

@media (max-width: 1200px) {
  .top-pickup__list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 25px 4%;
    max-width: 600px;
    margin: 0 auto;
  }
}
@media (max-width: 600px) {
  .top-pickup__list {
    max-width: 400px;
    margin: 0 auto;
  }
  .top-pickup__item-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 15px 20px 15px 20px;
  }
  .top-pickup__item-img {
    width: 100%;
  }
  .top-pickup__item-more {
    position: absolute;
    bottom: 8px;
    right: 20px;
  }
}
.top-info {
  background: url(../img/top/info_bg.webp) no-repeat center/cover;
}

.top-info__subject-list {
  display: flex;
  gap: 20px;
}

.top-info__subject-item {
  width: 50%;
  height: 80px;
  line-height: 80px;
  text-align: center;
  background-color: #fff;
  border-radius: 10px 10px 0 0;
}

.top-info__subject-item.active {
  color: #fff;
  background-color: #9E2B3C;
}

.top-info__list-area {
  display: none;
  gap: 2%;
  background-color: rgba(255, 255, 255, 0.5647058824);
  padding: 20px 25px;
  margin-top: 20px;
}

.top-info__list-area.active {
  display: flex;
}

.top-info__list-img__picture {
  width: 34%;
}

.top-info__list {
  width: 66%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(7, 1fr);
  gap: 15px;
}

.top-info__item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
  line-height: 1.5;
  border: 1px solid #9E2B3C;
  border-radius: 10px;
  transition: all 0.3s ease-in-out;
}
.top-info__item-link:hover {
  background-color: #FFF4F4;
}

@media (max-width: 1000px) {
  .top-info__item-ttl {
    font-size: 1.7rem;
  }
}
@media (max-width: 834px) {
  .top-info {
    background: url(../img/top/info_bg_sp.webp) no-repeat center top/contain;
    padding-bottom: 0;
  }
  .top-info__inner {
    width: 100%;
  }
  .top-info__subject-list {
    width: 90%;
    display: flex;
    gap: 10px;
    margin: 0 auto;
  }
  .top-info__subject-item {
    height: 58px;
    line-height: 58px;
  }
  .top-info__list-area {
    background-color: #F5F4F3;
    flex-direction: column;
    padding: 0;
    margin-top: 0;
  }
  .top-info__list-img__picture {
    width: 100%;
  }
  .top-info__list {
    width: 90%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(7, 1fr);
    gap: 10px;
    padding: 20px 0 60px;
    margin: 0 auto;
  }
  .top-info__item-link {
    height: 80px;
  }
  .top-info__item-ttl {
    font-size: 1.6rem;
  }
}
@media (max-width: 500px) {
  .top-info__list {
    width: 92%;
    padding: 20px 0 40px;
  }
}
.top-delivery__list {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.top-delivery__item-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 0 7px 1px rgba(80, 80, 80, 0.1882352941);
  padding: 15px;
}

.top-delivery__item-cont {
  width: 45%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 4% 0 3%;
}

.top-delivery__item-txt {
  margin: 30px auto 25px;
}

.top-delivery__item-img {
  width: 55%;
}

@media (max-width: 1200px) {
  .top-delivery__item-img {
    width: 50%;
  }
  .top-delivery__item-cont {
    padding: 30px 4% 30px 3%;
  }
  .top-delivery__item-txt {
    margin: 20px auto 20px;
  }
}
@media (max-width: 834px) {
  .top-delivery__item-link {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: space-between;
    padding: 15px;
  }
  .top-delivery__item-cont {
    width: 100%;
    padding: 20px 5% 30px 5%;
  }
  .top-delivery__item-img {
    width: 100%;
    max-width: 400px;
  }
  .top-delivery__item-ttl {
    font-size: 2.4rem;
  }
  .top-delivery__item-txt {
    margin: 15px auto 15px;
  }
}
@media (max-width: 500px) {
  .top-delivery__ttl {
    gap: 10px;
  }
}
.top-feature__circle {
  left: 60%;
  top: unset;
  bottom: 100px;
}

img.top-feature__circle02 {
  display: none;
}

.top-feature__list {
  display: flex;
  flex-direction: column;
  gap: 60px;
}

.top-feature__item {
  display: flex;
  align-items: center;
}

.top-feature__item:nth-of-type(even) {
  flex-direction: row-reverse;
}

.top-feature__item-cont {
  width: 50%;
  padding-right: 3%;
}

.top-feature__item:nth-of-type(even) .top-feature__item-cont {
  padding-left: 3%;
  padding-right: 0;
}

.top-feature__item-img {
  width: 50%;
}

.top-feature__item-txt {
  margin-top: 25px;
}

@media (max-width: 1000px) {
  .top-feature__item-cont {
    width: 55%;
    padding-right: 3%;
  }
  .top-feature__item-img {
    width: 45%;
  }
}
@media (max-width: 834px) {
  img.top-feature__circle {
    left: unset;
    right: 50%;
    top: 50px;
  }
  img.top-feature__circle02 {
    display: block;
    top: 50%;
  }
  .top-feature__list {
    gap: 40px;
  }
  .top-feature__item {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 10px;
  }
  .top-feature__item:nth-of-type(even) {
    flex-direction: column-reverse;
  }
  .top-feature__item-cont {
    width: 100%;
    padding-right: 0;
  }
  .top-feature__item:nth-of-type(even) .top-feature__item-cont {
    padding-left: 0;
    padding-right: 0;
  }
  .top-feature__item-img {
    width: 100%;
    max-width: 500px;
  }
  .top-feature__item-num {
    display: inline-block;
    width: 100%;
    text-align: center;
  }
  .top-feature__item-txt {
    margin-top: 15px;
  }
}
.top-doctor__cont {
  display: flex;
}

.top-doctor__img {
  width: 55%;
}

.top-doctor__main {
  padding-left: 4%;
}

.top-doctor__data-dl {
  display: flex;
  flex-direction: column;
}

.top-doctor__data-dt {
  margin-top: 25px;
}

.top-doctor__more {
  margin-top: 40px;
}

@media (max-width: 1000px) {
  .top-doctor__img {
    width: 50%;
  }
}
@media (max-width: 834px) {
  .top-doctor__cont {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }
  .top-doctor__img {
    width: 100%;
    max-width: 600px;
  }
  .top-doctor__main {
    padding-left: 0;
    width: 90%;
    margin: 0 auto;
  }
  .top-doctor__name {
    text-align: center;
  }
  .top-doctor__status {
    text-align: center;
    margin-top: 10px;
  }
  .top-doctor__more {
    justify-content: center;
    margin-top: 30px;
  }
}
@media (max-width: 600px) {
  .top-doctor__inner {
    width: 100%;
  }
}
.top-price__cont {
  padding: 250px 0;
  background-color: #D9D9D9;
}

.top-price__more {
  justify-content: center;
  margin-top: 30px;
}

.top-voice__slider-wrap {
  /* width: 100%; */
}

.top-voice__slider {
  padding: 10px 0;
}

.top-voice__item {
  /* width: 416px; */
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  box-shadow: 0 0 7px 1px rgba(80, 80, 80, 0.1882352941);
  padding: 20px 25px 35px;
}

.top-voice__item-cont {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.top-voice__item-name {
  margin: 20px auto 15px;
}

@media (max-width: 834px) {
  .top-voice__slider .swiper-slide {
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
@media (max-width: 500px) {
  .top-voice__item {
    width: 90vw;
  }
}
.top-link__list {
  display: flex;
  justify-content: center;
  gap: 30px;
}

.top-link__item {
  width: 328px;
}

.top-link__item-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  border: #9E2B3C 1px solid;
  border-radius: 5px;
  padding: 17px 30px 20px;
}

.top-link__item-img {
  width: 64px;
}

.top-link__item:nth-of-type(2) .top-link__item-img {
  width: 69px;
  transform: translate(0, -3%);
}

.top-link__item-cont {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.top-link__item-ttl {
  line-height: 1.4;
}

@media (max-width: 600px) {
  .top-link__list {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 15px;
  }
  .top-link__item {
    width: 268px;
  }
  .top-link__item-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 17px 30px 22px;
  }
  .top-link__item-ttl {
    margin-bottom: 3px;
  }
}
.top-baby {
  background: url(../img/top/baby_bg.webp) no-repeat center/cover;
}

.top-baby__ttl {
  margin-bottom: 10px;
}

.top-baby__more {
  justify-content: center;
}

.top-baby__slider-area {
  position: relative;
  background-color: #fff;
  border-radius: 50px;
  padding: 40px 70px;
  margin-top: 70px;
}

.top-baby__slider img {
  border-radius: 50%;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-baby__slider-area .swiper-button-prev,
.top-baby__slider-area .swiper-button-next {
  z-index: 10;
  width: 30px;
  height: 30px;
}

.top-baby__slider-area .swiper-button-prev {
  top: 50%;
  left: 20px;
}

.top-baby__slider-area .swiper-button-next {
  top: 50%;
  right: 20px;
}

.top-baby__slider-area .swiper-button-next:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/arrow_right.svg) no-repeat center/contain;
}

.top-baby__slider-area .swiper-button-prev:after {
  content: "";
  width: 100%;
  height: 100%;
  background: url(../img/common/arrow_left.svg) no-repeat center/contain;
}

@media (max-width: 834px) {
  .top-baby__slider-area {
    padding: 25px 50px;
    margin-top: 25px;
  }
}
@media (max-width: 500px) {
  .top-baby__slider-area {
    padding: 25px 0;
    margin-top: 25px;
  }
}
.top-blog__circle {
  left: unset;
  right: 55%;
}

.top-blog__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 50px 6%;
}

.top-blog__item {
  display: flex;
  flex-direction: column;
}

.top-blog__item-cont {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.top-blog__item-ttl {
  margin: 20px auto 15px;
}

.top-blog__item-more {
  margin-top: 20px;
}

@media (max-width: 834px) {
  .top-blog__list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 40px;
  }
}
.footer {
  background: url(../img/common/footer_bg.webp) no-repeat center/cover;
  padding: 35px 0 70px;
}

.footer-logo__link {
  display: block;
  width: 478px;
  max-width: 100%;
  margin: 0 auto;
}

.footer-cont {
  display: flex;
  gap: 5%;
  margin-top: 30px;
}

.footer-l {
  width: 54%;
}

.footer-r {
  width: 46%;
}

.footer-map {
  margin-top: 30px;
}

.footer-info {
  background-color: #fff;
  padding: 20px 0 40px;
}

.footer-info__tel {
  width: -moz-fit-content;
  width: fit-content;
  letter-spacing: 0.1em;
  line-height: 1.15;
  margin: 0 auto 15px;
}

.footer-info__tel-link {
  display: inline-block;
  border-bottom: #342A27 1px solid;
}

.footer-info__table {
  font-size: 1.4rem;
  width: 100%;
  border-collapse: collapse;
  margin-top: 30px;
}

.maru {
  position: relative;
}

.maru::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background-color: #DB8DAF;
}

.footer-info__table th {
  font-size: 1.6rem;
  font-weight: 500;
}

.footer-info__table thead th {
  width: calc((100% - 180px) / 7);
}

.footer-info__table th:nth-of-type(1) {
  width: 180px;
  text-align: end;
  padding: 10px 16px 10px 0;
}

.footer-info__table tbody tr:last-of-type {
  background-color: #FFF4F4;
}

.footer-info__table tr td,
.footer-info__table tr th {
  border-bottom: 1px solid rgba(52, 42, 39, 0.3764705882);
}

.footer-info__dl {
  display: flex;
  flex-wrap: wrap;
  padding-left: 10px;
  margin-top: 15px;
}

.footer-info__dt {
  width: 130px;
}

.footer-info__dd {
  width: calc(100% - 130px);
}

.footer-info__line-link {
  display: block;
  width: 167px;
}

.footer-info__insta-link {
  display: block;
  width: 167px;
}

@media (max-width: 834px) {
  .footer {
    background: url(../img/common/footer_bg_sp.webp) no-repeat center top/contain;
    padding: 40px 0 40px;
  }
  .footer-inner {
    width: 100%;
  }
  .footer-logo__link {
    width: 478px;
    max-width: 90%;
  }
  .footer-cont {
    display: flex;
    flex-direction: column-reverse;
    gap: 25px;
    margin-top: 30px;
  }
  .footer-l {
    width: 100%;
  }
  .footer-r {
    width: 100%;
  }
  .footer-info {
    background-color: unset;
    padding: 0px 0 25px;
  }
  .maru::after {
    width: 10px;
    height: 10px;
  }
  .footer-info__dt {
    width: 115px;
  }
  .footer-info__dd {
    width: calc(100% - 115px);
  }
  .footer-info__table th {
    font-size: 1.5rem;
  }
  .footer-info__table thead th {
    width: calc((100% - 155px) / 7);
  }
  .footer-info__table th:nth-of-type(1) {
    width: 155px;
    padding: 10px 10px 10px 0;
  }
}
/* 下層 */
.under-main {
  padding-bottom: 30px;
}

.under-fv {
  position: relative;
}

.under-fv__ttl {
  position: absolute;
  top: 60%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  white-space: nowrap;
  line-height: 1.4;
}

.under-fv__ttl-en {
  font-family: "Marcellus", serif;
  line-height: 1.1;
  margin-bottom: 0.2em;
}

@media (max-width: 600px) {
  .under-fv {
    width: 100%;
    aspect-ratio: 375/194;
  }
  .under-fv__img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.under-sec__ttl {
  color: #9E2B3C;
  text-align: center;
  margin-bottom: 50px;
}

.under-sec__subttl {
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  color: #fff;
  background-color: rgba(158, 43, 60, 0.6666666667);
  padding: 5px 5px;
  margin: 50px 0 40px;
}

@media (max-width: 834px) {
  .under-sec__ttl {
    margin-bottom: 25px;
  }
  .under-sec__subttl {
    margin: 30px 0 20px;
  }
}
.under-info__inner {
  display: flex;
  align-items: center;
  background-color: #fff;
  box-shadow: 0 0 7px 1px rgba(80, 80, 80, 0.1882352941);
  padding: 40px 5%;
}

.under-info__cont {
  width: 57%;
  padding-right: 5%;
}

.under-info__img {
  width: 43%;
}

.under-info__logo {
  display: block;
  width: 90%;
  margin: 0 auto 15px;
}

.top-blog__item-img {
  aspect-ratio: 3/2;
  overflow: hidden;
}
.top-blog__item-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 600px) {
  .under-info__inner {
    display: flex;
    flex-direction: column;
    gap: 30px;
  }
  .under-info__cont {
    width: 100%;
    padding-right: 0;
  }
  .under-info__img {
    width: 100%;
  }
  .under-info__logo {
    width: 100%;
    margin: 0 auto 15px;
  }
}
.labor_analgesia-intro {
  padding-top: 110px;
}

.labor_analgesia-intro__list {
  display: flex;
  justify-content: center;
  gap: 2%;
}

.labor_analgesia-intro__item {
  width: 33%;
  aspect-ratio: 1/1;
  background: url(../img/labor_analgesia/intro_item_bg.webp) no-repeat center/contain;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.5;
}

.labor_analgesia-intro__img {
  display: block;
  max-width: 600px;
  width: 100%;
  margin: 70px auto 0;
}

@media (max-width: 834px) {
  .labor_analgesia-intro {
    padding-top: 60px;
  }
  .labor_analgesia-intro__list {
    display: flex;
    justify-content: center;
    gap: 0;
  }
}
@media (max-width: 500px) {
  .labor_analgesia-intro {
    padding-top: 30px;
  }
  .labor_analgesia-intro__list {
    margin-left: 3%;
  }
  .labor_analgesia-intro__item {
    font-size: 1.5rem;
    width: 38%;
    margin-left: -5%;
  }
}
.under-sec__table {
  border-collapse: collapse;
  width: 100%;
  margin: 40px 0;
}

.under-sec__table th {
  color: #9E2B3C;
}

.under-sec__table th,
.under-sec__table td {
  position: relative;
  font-weight: 500;
  text-align: center;
  padding: 10px 20px;
}

.under-sec__table th::after,
.under-sec__table td::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 5%;
  width: 90%;
  height: 1px;
  background-color: #9E2B3C;
}

.under-sec__table tbody tr:last-of-type th::after,
.under-sec__table tbody tr:last-of-type td::after {
  display: none;
}

.labor_analgesia-about__table thead th:first-of-type:after {
  display: none;
}

.labor_analgesia-about__table thead th:nth-of-type(2),
.labor_analgesia-about__table tbody td:nth-of-type(1) {
  background-color: rgba(219, 141, 175, 0.5019607843);
}

.labor_analgesia-about__table thead th:nth-of-type(3),
.labor_analgesia-about__table tbody td:nth-of-type(2) {
  /* background-color: #342A2720; */
  background: linear-gradient(90deg, transparent 0%, transparent 1%, rgba(52, 42, 39, 0.1254901961) 1%, rgba(52, 42, 39, 0.1254901961) 100%);
}

.fetal_screening-03-04__table th:first-of-type {
  white-space: nowrap;
}

.fetal_screening-03-04__table thead th:nth-of-type(2),
.fetal_screening-03-04__table tbody td:nth-of-type(1) {
  background-color: rgba(219, 141, 175, 0.5019607843);
}

.fetal_screening-03-04__table thead th:nth-of-type(3),
.fetal_screening-03-04__table tbody td:nth-of-type(2) {
  background: linear-gradient(90deg, transparent 0%, transparent 1%, rgba(52, 42, 39, 0.1254901961) 1%, rgba(52, 42, 39, 0.1254901961) 100%);
}

.fetal_screening-03-04__table thead th:nth-of-type(4),
.fetal_screening-03-04__table tbody td:nth-of-type(3) {
  background: linear-gradient(90deg, transparent 0%, transparent 1%, rgba(198, 202, 153, 0.1254901961) 1%, rgba(198, 202, 153, 0.1254901961) 100%);
}

@media (max-width: 834px) {
  .under-sec__table {
    font-size: 1.6rem;
    margin: 35px 0;
  }
  .under-sec__table th,
  .under-sec__table td {
    padding: 10px 10px;
  }
  .fetal_screening-03-04__table {
    font-size: 1.4rem;
  }
}
@media (max-width: 370px) {
  .under-sec__table th,
  .under-sec__table td {
    padding: 10px 5px;
  }
}
.under-sec__table02 {
  border-collapse: collapse;
  width: 100%;
  margin: 40px 0;
}

.under-sec__table02 th {
  color: #333;
  background-color: #fff7f7;
}

.under-sec__table02 th,
.under-sec__table02 td {
  position: relative;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: start;
  border: #9E2B3C 1px solid;
  padding: 10px 10px;
}

.under-sec__table02 thead th {
  font-weight: 700;
  color: #333;
  background-color: rgba(219, 141, 175, 0.5019607843);
}

.under-sec__table02.p2 thead th {
  font-weight: 700;
  color: #525252;
  background-color: #f8d1d1;
  border-right: #9E2B3C 1px solid;
}

.under-sec__table02 thead th:last-of-type {
  border-right: #9E2B3C 1px solid;
}

.oral_contraceptives-type__table tbody th {
  width: 143px;
}

.prenatal_checkup-schedule tbody th,
.prenatal_checkup-schedule tbody td:nth-of-type(1),
.prenatal_checkup-schedule tbody td:nth-of-type(2),
.prenatal_checkup-schedule tbody td:last-of-type {
  white-space: nowrap;
}

.footer__sns-flex {
  display: flex;
  gap: 20px;
  align-items: center;
  margin: 50px auto 0;
  justify-content: center;
}

@media (max-width: 834px) {
  .under-sec__table02 {
    margin: 35px 0;
  }
  .under-sec__table02 th,
  .under-sec__table02 td {
    font-size: 1.3rem;
    padding: 10px 5px;
  }
  .oral_contraceptives-type__table tbody th {
    width: 102px;
  }
}
@media (max-width: 635px) {
  .prenatal_checkup-schedule__table-area {
    overflow: scroll;
  }
  .prenatal_checkup-schedule__table {
    width: 616px;
  }
}
@media (max-width: 370px) {
  .under-sec__table02 th,
  .under-sec__table02 td {
    padding: 10px 5px;
  }
}
.labor_analgesia-flow__subttl {
  color: #9E2B3C;
  border-bottom: 1px solid #9E2B3C;
  padding: 0 25px;
  margin: 50px 0 40px;
}

.labor_analgesia-flow__subttl-mark {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 30px;
}

.labor_analgesia-flow__subttl-mark::after {
  position: absolute;
  content: "";
  top: 75%;
  left: 50%;
  transform: rotate(45deg) translate(-50%, -50%);
  width: 7px;
  height: 7px;
  background-color: #DB8DAF;
}

.mt10 {
  margin-top: 10px !important;
}

.fixed-bar {
  display: none;
}

@media (max-width: 834px) {
  .labor_analgesia-flow__subttl {
    padding: 0 15px;
    margin: 30px 0 30px;
  }
  .labor_analgesia-flow__subttl-num {
    font-size: 2rem;
  }
  .labor_analgesia-flow__subttl-mark {
    display: inline-block;
    position: relative;
    width: 20px;
    height: 20px;
  }
  .labor_analgesia-flow__subttl-mark::after {
    top: 75%;
    left: 50%;
    transform: rotate(45deg) translate(-50%, -50%);
    width: 5px;
    height: 5px;
  }
  .footer__sns-flex {
    margin: 0px auto 20px;
    gap: 10px;
  }
  .fixed-bar {
    position: fixed;
    bottom: -80px;
    left: 0;
    width: 100%;
    height: 76px;
    background-color: #DB8DAF;
    display: flex;
    justify-content: center;
    z-index: 50;
    align-items: center;
    transition: all 0.5s ease-in-out;
  }
  .fixed-bar.active {
    bottom: 0;
  }
  .fixed-flex {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
  }
  .fixed-flex a {
    display: flex;
    flex-direction: column;
    width: 25%;
    justify-content: center;
    align-items: center;
    color: #fff;
    height: 48px;
    border-right: 1px solid #fff;
  }
  .fixed-flex a img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: center;
       object-position: center;
  }
  .fixed-flex a .icon {
    display: block;
    width: 25px;
    aspect-ratio: 1/1;
    margin-bottom: 0;
  }
  .fixed-flex a .txt {
    display: block;
    text-align: center;
    font-size: 13px;
  }
  .fixed-flex a:last-of-type {
    border-right: none;
  }
}
@media (max-width: 410px) {
  .labor_analgesia-flow__subttl {
    padding: 0 0 0 10px;
  }
  .labor_analgesia-flow__subttl-mark {
    width: 15px;
    height: 15px;
  }
  .labor_analgesia-flow__subttl-mark::after {
    top: 75%;
    left: 40%;
    transform: rotate(45deg) translate(-50%, -50%);
    width: 5px;
    height: 5px;
  }
}
@media (max-width: 380px) {
  .labor_analgesia-flow__subttl {
    padding: 0;
  }
}
/* 帝王切開 */
.under-sec__subttl-mini {
  font-size: 2rem;
  color: #9E2B3C;
  border-bottom: 1px solid #9E2B3C;
  padding: 10px 0;
  margin: 50px 0 25px;
}

.caesarean-section__link {
  color: #9E2B3C;
  border-bottom: 1px #9E2B3C solid;
}

.under-sec__img {
  width: 600px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  margin-bottom: 30px;
}

@media (max-width: 834px) {
  .under-sec__subttl-mini {
    font-size: 1.6rem;
    padding: 6px 0;
    margin: 35px 0 15px;
  }
}
/* 子宮筋腫/子宮内膜症 */
@media (max-width: 426px) {
  .under-fv_uterus .under-fv__ttl .under-fv__ttl-en.f50 {
    font-size: 2.2rem;
  }
}
/* PMS */
@media (max-width: 834px) {
  .pms-intro .under-sec__ttl {
    font-size: 2rem;
  }
}
/* その他 */
.under__others-bold {
  font-weight: 600;
}

:root {
  --red:#9E2B3C;
}

.faq__bl {
  margin-top: 50px;
}

.faq__ttl {
  font-size: 2.4rem;
  color: var(--red);
  padding-bottom: 0.5em;
  border-bottom: 1px solid var(--red);
  margin-bottom: 1em;
  padding-left: 2.5em;
  position: relative;
  line-height: 1.6;
}
.faq__ttl .q {
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}

.mt40 {
  margin-top: 40px !important;
}

.under__anchor-list {
  display: flex;
  justify-content: center;
  gap: 15px;
  padding-top: 40px;
  line-height: 1.3;
}
.under__anchor-list li {
  width: 350px;
  padding-bottom: 0.8em;
  border-bottom: 1px solid var(--red);
  text-align: center;
  font-size: 2.4rem;
  color: var(--red);
}

.under__base-btn {
  width: 288px;
  height: 68px;
  border-radius: 60px;
  background-color: var(--red);
  color: #fff;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #DB8DAF;
  margin-left: auto;
  margin-right: auto;
  transition: all 0.3s ease;
}
.under__base-btn .txt {
  padding-right: 20px;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.under__base-btn .txt::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background-image: url("../img/curriculum/arrow.webp");
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  background-position: center;
}
.under__base-btn:hover {
  opacity: 0.8;
}
.under__base-btn.to-archive-btn {
  margin: 40px auto;
}
.under__base-btn.under__base-phone-btn .txt {
  padding-right: 0;
}
.under__base-btn.under__base-phone-btn .txt::after {
  display: none;
}
.under__base-btn.under__base-phone-btn .txt::before {
  display: inline-block;
  margin-right: 6px;
  width: 18px;
  height: 18px;
  content: "";
  background-image: url(../img/common/phone.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(4px);
}

.w90 {
  width: 90%;
  margin: 0 auto;
}

.labor_analgesia-intro__item {
  position: relative;
}
.labor_analgesia-intro__item .float {
  position: absolute;
  font-size: 18px;
  left: 0;
  bottom: 0;
  transform: translateY(calc(100% + 5px));
  text-align: left;
  color: #342A27;
}
.labor_analgesia-intro__item.click-here {
  background-image: url(../img/tulip/current.webp);
}

.mt110 {
  margin-top: 110px !important;
}

.flex-btn-bl {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.flex-btn-bl a {
  margin: 0;
}

.bg-lpink {
  background-color: #FFF4F4;
}

.base__flex-l {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.base__flex-l .cont {
  padding-left: 10%;
}
.base__flex-l .cont .small-ttl {
  font-size: 18px;
  color: #9E2B3C;
  font-weight: 500;
  margin-bottom: 10px;
}

.base__circle-list li {
  position: relative;
  padding-left: 1.1em;
  font-size: 18px;
}
.base__circle-list li::before {
  display: block;
  width: 15px;
  height: 15px;
  background-color: #342A27;
  border-radius: 50%;
  position: absolute;
  left: 0;
  top: 10px;
  content: "";
}

.mb20 {
  margin-bottom: 20px !important;
}

.pre-nuesery__contact-txt {
  border-top: 1px solid #9E2B3C;
  padding: 15px 0 0;
  text-align: center;
  font-size: 18px;
  margin-top: 25px;
}

.staff-card__bl {
  display: flex;
  gap: 8%;
  width: 900px;
  max-width: 100%;
  flex-wrap: wrap;
  margin: 0 auto;
}

.staff-card__item {
  width: 46%;
  background-color: #fff;
  padding: 30px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.1);
}
.staff-card__item .img {
  width: 94px;
  margin: 0 auto 10px;
}

.staff-add {
  margin-bottom: 20px;
}
.staff-add .staff-name {
  display: block;
  text-align: center;
  font-size: 20px;
}
.staff-add .staff-detail {
  display: block;
  text-align: center;
  font-size: 18px;
}

.staff-voice {
  font-size: 18px;
}

.tulip-main {
  padding-bottom: 0 !important;
}

.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.nav-links {
  display: flex;
  gap: 20px;
  width: -moz-fit-content;
  width: fit-content;
  margin: 40px auto 0;
  align-items: center;
}
.nav-links .page-numbers.current {
  color: #DB8DAF;
}
.nav-links .page-numbers.next, .nav-links .page-numbers.prev {
  background-color: #f1bfd5;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  justify-content: center;
  align-items: center;
  line-height: 1;
  display: flex;
  font-size: 14px;
  color: #fff;
}

.price__table thead th:nth-of-type(2), .price__table thead th:nth-of-type(3) {
  background-color: rgba(219, 141, 175, 0.5019607843);
  border-left: 5px solid #fff;
  border-right: 5px solid #fff;
}

.price__table tbody td:nth-of-type(2), .price__table tbody td:nth-of-type(1) {
  background-color: rgba(219, 141, 175, 0.5019607843);
  border-left: 5px solid #fff;
  border-right: 5px solid #fff;
}

.price__table thead th {
  position: relative;
}

.price__table thead th::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 5%;
  width: 90%;
  height: 1px;
  background-color: #9E2B3C;
}

.red-link {
  color: #DB8DAF;
  text-decoration: underline;
}

.base__table {
  border-collapse: collapse;
  width: 100%;
  border-top: #9E2B3C 1px solid;
  font-size: 2rem;
}
.base__table th {
  background-color: #9E2B3C;
  color: #fff;
  padding: 20px 40px;
}
.base__table td {
  background-color: #fff;
  border-bottom: 1px solid #9E2B3C;
  border-right: 1px solid #9E2B3C;
  padding: 20px;
}

.under-sec__bold {
  font-weight: bold;
}

.benefits__flex {
  display: flex;
  justify-content: center;
  gap: 20px 2%;
  flex-wrap: wrap;
  margin-bottom: 30px;
}

.benefits__item {
  width: 49%;
}
.benefits__item.big {
  width: 600px;
  max-width: 100%;
}

.h850 {
  height: 850px;
  width: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
}
.h850 img {
  height: 100%;
  width: auto;
  max-width: initial;
}

.top-info__subject-item {
  cursor: pointer;
}

.treatment-intro .top-info__subject-item {
  border: #9E2B3C solid 1px;
}

.grid.cf {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 30px 25px;
}
.grid.cf article section {
  border-radius: 50%;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.grid.cf article section.center {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  aspect-ratio: initial;
  border-radius: 0;
  margin-top: 7px;
}
.grid.cf article section img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

.list-title.center h4 {
  text-align: center;
  font-size: 36px;
  color: #9E2B3C;
  margin-bottom: 50px;
}

.mt50 {
  margin-top: 50px !important;
}

.main.cf.inner-s {
  padding: 50px 0;
}

.mrl_auto {
  margin-left: auto;
  margin-right: auto;
}

.archive-baby .cont-header {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 40px;
  border-radius: 10px;
  background-color: #e6e6e6;
}
.archive-baby .cont-header::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  z-index: 0;
  background-image: url(../img/baby/select-arrow.png);
  width: 12px;
  height: 18px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
}
.archive-baby .cont-header select {
  border: none;
  background-color: transparent;
  font-size: 16px;
  height: 40px;
  padding: 0 50px 0 20px;
  position: relative;
  z-index: 2;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: none;
}
.archive-baby .cont-header select:focus {
  outline: none;
}

.baby-name {
  text-align: center;
  color: #9E2B3C;
  font-weight: bold;
  font-size: 3.6rem;
  margin: 20px 0 0;
}

.baby-birth {
  text-align: center;
  font-size: 2.4rem;
  color: #9E2B3C;
  margin-bottom: 40px;
}

.entry-thumbnail {
  width: 570px;
  max-width: 100%;
  margin: 0 auto 50px;
}

.baby-comment {
  width: 800px;
  max-width: 100%;
  margin: 0 auto 50px;
  font-size: 18px;
}

.base__red-small-ttl {
  font-size: 1.8rem;
  color: #9E2B3C;
  border-bottom: 1px solid #9E2B3C;
  margin-bottom: 0.5em;
  margin-top: 1em;
  padding-bottom: 0.2em;
}

.top-voice__item .post-none-txt {
  padding-top: 10px;
}

.blog-thumb {
  margin: 30px auto;
  width: 640px;
  max-width: 100%;
}
.blog-thumb img {
  width: 100%;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.tulip__modal-bl {
  display: none;
}
.tulip__modal-bl.active {
  display: block;
}

.labor_analgesia-intro__item {
  cursor: pointer;
}

#modal-bg {
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1001;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
}
#modal-bg.active {
  display: block;
}

.tulip__modal-bl {
  width: 900px;
  max-width: 90%;
  height: auto;
  max-height: 90vh;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1002;
  display: none;
  overflow: scroll;
}
.tulip__modal-bl::-webkit-scrollbar {
  display: none;
}
.tulip__modal-bl.active {
  display: block;
}

.tulip__modal-inner {
  width: 100%;
  height: auto;
  background-color: #fff;
  padding: 50px 5%;
  position: relative;
}

.tulip__modal-ttl-bl {
  margin-bottom: 50px;
}

.tulip__modal-ttl-en {
  text-align: center;
  color: #9E2B3C;
  font-size: 50px;
  line-height: 1.3;
}

.tulip__modal-ttl-ja {
  text-align: center;
  font-size: 16px;
  color: #9E2B3C;
}

.tulip__modal-close {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 30px;
  height: 30px;
}

.tulip__modal-close-btn {
  line-height: 0.9;
  position: relative;
  width: 30px;
  height: 30px;
  background-image: url(../img/tulip/close.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  cursor: pointer;
}

.tulip__modal-cont {
  position: relative;
  padding: 40px 0;
  border-bottom: 1px solid #ccc;
}
.tulip__modal-cont:first-child {
  padding-top: 0;
}

.tulip__modal-ttl-middle {
  font-size: 24px;
  color: #9E2B3C;
  margin-bottom: 25px;
}

.tulip__modal-time-link {
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 16px;
  color: #DB8DAF;
}
.tulip__modal-time-link::after {
  content: " ";
  display: block;
  width: 15px;
  height: 15px;
  background-image: url(../img/clinic/arrow-next.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.tulip__modal-img-list {
  display: flex;
  gap: 20px 2%;
  margin-bottom: 25px;
  justify-content: center;
}
.tulip__modal-img-list li {
  width: 23.5%;
  aspect-ratio: 3/2;
}
.tulip__modal-img-list li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.tulip__modal-voice-bl {
  display: flex;
  gap: 20px;
  border: 1px solid #9E2B3C;
  padding: 20px;
  margin-top: 25px;
}
.tulip__modal-voice-bl .left-bl {
  width: 150px;
}
.tulip__modal-voice-bl .right-bl {
  width: calc(100% - 170px);
}
.tulip__modal-voice-bl .right-bl p {
  font-size: 15px;
}

.tulip__modal-voice-ttl {
  background: #9E2B3C;
  color: #fff;
  margin: 0 auto 7px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 15px;
  border-radius: 30px;
  font-size: 15px;
  font-weight: 500;
}

.insta-iframe {
  width: 400px;
  max-width: 100%;
  margin: 0 auto 30px;
}

.meal__flex-bl {
  display: flex;
  gap: 30px;
  margin-top: 30px;
  flex-wrap: wrap;
  width: 600px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.meal__flex-bl .item {
  width: calc(50% - 15px);
}
.meal__flex-bl .item .img {
  width: 100%;
}

.meal__big-img {
  width: 600px;
  max-width: 100%;
  margin: 0 auto 30px;
}

.bold {
  font-weight: bold;
}

.f80p {
  font-size: 80%;
}

.video-link {
  display: block;
  width: 600px;
  max-width: 100%;
  margin: 0 auto 30px;
  position: relative;
  transition: all 0.3s ease;
}
.video-link::before {
  width: 20%;
  aspect-ratio: 1/1;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  background-image: url(../img/curriculum/video-icon.webp);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.video-link:hover {
  opacity: 0.8;
}

.under-sec__subttl-videottl {
  font-size: 24px;
  text-align: center;
  max-width: 100%;
  margin-bottom: 30px;
}

.video-bnr {
  display: block;
  width: 320px;
  max-width: 100%;
  margin: 0 auto;
}

.mb120 {
  margin-bottom: 120px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

@media (min-width: 835px) {
  .pc-fit {
    width: -moz-fit-content !important;
    width: fit-content !important;
  }
  .pc-fit a {
    padding: 0 20px;
  }
}
@media (max-width: 834px) {
  .faq__ttl {
    font-size: 2rem;
  }
  .under__anchor-list {
    flex-wrap: wrap;
  }
  .under__anchor-list li {
    width: calc(50% - 7.5px);
  }
  .under__anchor-list li a {
    font-size: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
  }
  .smt30 {
    margin-top: 30px !important;
  }
  .labor_analgesia-intro__list.mata {
    flex-wrap: wrap;
    gap: 80px 0px;
    flex-wrap: wrap;
  }
  .labor_analgesia-intro__list.mata li {
    width: 55%;
  }
  .labor_analgesia-intro__item .float {
    font-size: 15px;
    transform: translateY(calc(100% + 3px));
  }
  .smt80 {
    margin-top: 80px !important;
  }
  .flex-btn-bl {
    gap: 10px;
    flex-wrap: wrap;
  }
  .base__flex-l {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .base__flex-l .cont {
    padding-left: 0;
  }
  .base__circle-list li::before {
    width: 12px;
    height: 12px;
    top: 8px;
  }
  .base__flex-l .cont .small-ttl {
    font-size: 16px;
  }
  .base__circle-list li {
    font-size: 16px;
  }
  .pre-nuesery__contact-txt {
    font-size: 16px;
  }
  .staff-card__item {
    width: 100%;
    padding: 25px;
  }
  .staff-card__bl {
    gap: 30px;
    flex-wrap: wrap;
  }
  .staff-add .staff-name {
    font-size: 18px;
  }
  .staff-add .staff-detail {
    font-size: 16px;
  }
  .staff-add {
    margin-bottom: 12px;
  }
  .staff-voice {
    font-size: 16px;
  }
  .under__anchor-list {
    gap: 10px;
    padding-top: 0px;
  }
  .under__anchor-list li {
    padding-bottom: 0.6em;
  }
  .smb60 {
    margin-bottom: 60px !important;
  }
  .base__table {
    font-size: 1.6rem;
  }
  .base__table th {
    background-color: #9E2B3C;
    color: #fff;
    padding: 10px 20px;
  }
  .base__table td {
    padding: 10px;
  }
  .benefits__item {
    width: 100%;
  }
  .benefits__flex {
    gap: 10px;
    margin-bottom: 15px;
  }
  .h850 {
    height: 360px;
  }
  .smt30 {
    margin-top: 30px !important;
  }
  .grid.cf {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
  .grid.cf article section.center {
    font-size: 16px;
  }
  .list-title.center h4 {
    font-size: 24px;
    margin-bottom: 30px;
  }
  .archive-baby .cont-header select {
    font-size: 14px;
  }
  .baby-name {
    font-size: 2.4rem;
  }
  .baby-birth {
    font-size: 1.7rem;
    margin-bottom: 30px;
  }
  .entry-thumbnail {
    margin: 0 auto 25px;
  }
  .baby-comment {
    font-size: 15px;
  }
  .tulip__modal-ttl-en {
    font-size: 30px;
  }
  .tulip__modal-ttl-ja {
    font-size: 13px;
  }
  .tulip__modal-close {
    top: 17px;
    right: 17px;
  }
  .tulip__modal-ttl-bl {
    margin-bottom: 10px;
  }
  .tulip__modal-cont {
    padding: 20px 0;
  }
  .tulip__modal-ttl-middle {
    font-size: 18px;
    margin-bottom: 15px;
  }
  .tulip__modal-img-list {
    margin-bottom: 15px;
  }
  .tulip__modal-img-list li {
    width: 49%;
    flex-wrap: wrap;
  }
  .tulip__modal-voice-bl .left-bl {
    width: 120px;
  }
  .tulip__modal-voice-bl .right-bl {
    width: 100%;
  }
  .tulip__modal-voice-bl {
    gap: 15px;
    margin-top: 20px;
    flex-direction: column;
    align-items: center;
  }
  .meal__flex-bl {
    gap: 20px;
    margin-top: 20px;
  }
  .meal__flex-bl .item {
    width: 100%;
  }
  .meal__big-img {
    margin: 0 auto 20px;
  }
  .under-sec__subttl-videottl {
    font-size: 20px;
    text-align: center;
    max-width: 100%;
    margin-bottom: 25px;
    line-height: 1.6;
  }
  .video-link {
    margin-bottom: 25px;
  }
  .smb20 {
    margin-bottom: 20px !important;
  }
  .smb50 {
    margin-bottom: 50px !important;
  }
  .smb60 {
    margin-bottom: 60px !important;
  }
}
:root {
  --container: 980px;
  --arrow-size: 44px;
  --arrow-gap: 8px;
  --thumb-size: 120px; /* サムネの基準幅 */
  --thumb-gap: 12px;
  --radius: 10px;
}

.facility-gallery {
  max-width: var(--container);
  margin: 0 auto;
}

/* ===== メイン ===== */
.facility-gallery__main {
  position: relative;
  /* 矢印のための余白（はみ出し対策）*/
  padding-inline: calc(var(--arrow-size) + var(--arrow-gap));
  margin-bottom: 20px;
}

.facility-gallery .splide__slide img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
}

/* 矢印を丸ボタンで外側寄せ */
.facility-gallery .splide__arrow {
  width: var(--arrow-size);
  height: var(--arrow-size);
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 9999px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
}
.facility-gallery .splide__arrow svg {
  display: none;
}

.facility-gallery .splide__arrow--prev {
  left: -10px;
  background-image: url(../img/clinic/arrow-prev.png);
}

.facility-gallery .splide__arrow--next {
  right: -10px;
  background-image: url(../img/clinic/arrow-next.png);
}

/* ===== キャプション ===== */
.facility-gallery__caption {
  text-align: center;
  margin: 18px 0 26px;
}

.facility-gallery__title {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 8px;
}

.facility-gallery__desc {
  font-size: 14px;
  color: #333;
  margin: 0;
}

/* ===== サムネグリッド ===== */
.facility-gallery__thumbs {
  list-style: none;
  padding: 0;
  margin: 18px 0 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--thumb-size), 1fr));
  gap: var(--thumb-gap);
}

.facility-gallery__thumbs li {
  aspect-ratio: 3/2;
}

.facility-gallery__thumbs button {
  all: unset; /* ボタンの素の状態に */
  cursor: pointer;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
  border: 2px solid transparent;
}

.facility-gallery__thumbs img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  filter: saturate(0.95);
  transition: transform 0.2s ease, filter 0.2s ease;
}

.facility-gallery__thumbs button:hover img {
  transform: scale(1.02);
  filter: saturate(1);
}

.facility-gallery__thumbs li.is-active button {
  border-color: #db8daf;
  box-shadow: 0 0 0 4px #db8daf inset;
}

.doctor-profile__bl {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
.doctor-profile__bl .under-sec__subttl {
  margin: 50px 0 20px;
}

.doctor-name {
  color: #9e2b3c;
  margin-bottom: 40px;
}
.doctor-name .big {
  display: block;
  text-align: center;
  font-size: 24px;
}
.doctor-name .small {
  display: block;
  text-align: center;
  font-size: 18px;
}

.facility-gallery__no {
  font-size: 24px;
  color: #9e2b3c;
  display: inline-block;
  margin-right: 0.2em;
}

.facility-gallery__name {
  font-size: 24px;
}

.facility-gallery__desc {
  font-size: 18px;
}

/* レスポンシブ微調整 */
@media (max-width: 834px) {
  :root {
    --thumb-size: 100px;
    --arrow-size: 40px;
  }
  .facility-gallery__title {
    font-size: 16px;
  }
  .facility-gallery__desc {
    font-size: 16px;
  }
  .doctor-profile__bl {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .doctor-profile__bl .doctor-profile__item:last-of-type .under-sec__subttl {
    margin-top: 0;
  }
  .facility-gallery__name {
    font-size: 18px;
  }
  .facility-gallery__no {
    font-size: 18px;
  }
}
@media (max-width: 480px) {
  :root {
    --thumb-size: 92px;
    --arrow-size: 28px;
  }
  .facility-gallery__main {
    padding-inline: 0;
  }
}
[id] {
  scroll-margin-top: 250px;
}

.gallery__main {
  margin-top: 30px;
  margin-bottom: 15px;
}
.gallery__main .splide__slide {
  aspect-ratio: 900/675;
  background-color: #f2f2f2;
}
.gallery__main .splide__slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}

.gallery__thumbs .splide__track {
  width: calc(100% - 60px);
  margin-left: auto;
  margin-right: auto;
}
.gallery__thumbs .splide__arrow--prev {
  left: 0;
  background-image: url(../img/clinic/arrow-prev.png);
  background-size: contain;
  background-position: center;
  background-color: #fff;
}
.gallery__thumbs .splide__arrow--prev svg {
  display: none;
}
.gallery__thumbs .splide__arrow--next {
  right: 0;
  background-image: url(../img/clinic/arrow-next.png);
  background-size: contain;
  background-position: center;
  background-color: #fff;
}
.gallery__thumbs .splide__arrow--next svg {
  display: none;
}

.room-body .under__anchor-list {
  flex-wrap: wrap;
  gap: 30px 15px;
}

.w25p-11_5px {
  width: calc(25% - 11.5px) !important;
}

.w300px {
  width: 300px !important;
}

.mw50p-7_5px {
  max-width: calc(50% - 7.5px) !important;
}

.room-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 7%;
  padding: 50px 0 0;
}
.room-flex .cont {
  width: 55%;
}
.room-flex .img {
  width: 38%;
}
.room-flex.reverse {
  flex-direction: row-reverse;
}

.room-title {
  font-size: 30px;
  color: #9e2b3c;
  font-family: "Marcellus", serif;
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 400;
  letter-spacing: 0.1em;
}
.room-title::after {
  content: "";
  position: absolute;
  width: 105px;
  right: -125px;
  top: 50%;
  transform: translateY(-50%);
  height: 1px;
  display: block;
  background-color: #9e2b3c;
}

.room-facility-title {
  margin-top: 2em;
  margin-bottom: 1em;
  font-size: 24px;
  padding-left: 1em;
  position: relative;
  color: #9e2b3c;
  border-bottom: 1px solid #9e2b3c;
  padding-bottom: 0.3em;
}
.room-facility-title::after {
  content: "◆";
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  font-size: 0.5em;
}

.room__flex {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 3px solid rgba(158, 43, 60, 0.6666666667) !important;
}

.splide__track--nav > .splide__list > .splide__slide {
  overflow: hidden;
}

.line-span {
  display: inline-block;
  width: 50px;
  height: 1px;
  background-color: #333;
  margin: 0px 10px 0 0;
  transform: translateY(-5px);
}

@media screen and (max-width: 834px) {
  .room-flex .cont {
    width: 100%;
  }
  .room-flex .img {
    width: 100%;
  }
  .room-flex.reverse {
    flex-direction: column;
  }
  .room-flex {
    gap: 25px;
    padding: 35px 0 0;
  }
  .room-title {
    font-size: 27px;
  }
  .room-facility-title {
    font-size: 20px;
    margin-top: 1em;
  }
  .w25p-11_5px {
    width: calc(50% - 11.5px) !important;
  }
  .room-body .under__anchor-list {
    gap: 10px 15px;
  }
  .room__flex {
    grid-template-columns: 1fr;
  }
  [id] {
    scroll-margin-top: 70px;
  }
}
.blog-title {
  font-size: 2.4rem;
  color: #9E2B3C;
  padding-left: 15px;
  border-left: 4px solid #9E2B3C;
  margin: 20px 0 40px;
}

.blog-content p {
  font-size: 18px;
  margin-bottom: 1em;
}
.blog-content h1 {
  font-size: 2.4rem;
  color: #9E2B3C;
  margin: 20px 0 40px;
}
.blog-content h2 {
  font-size: 2rem;
  color: #9E2B3C;
  margin: 2em 0 1em;
}
.blog-content h3 {
  font-size: 1.9rem;
  color: #9E2B3C;
  margin: 2em 0 1em;
  padding-bottom: 0.2em;
  border-bottom: 1px solid #9E2B3C;
}
.blog-content h4 {
  font-size: 1.8rem;
  margin: 2em 0 1em;
  color: #9E2B3C;
}
.blog-content a {
  color: #9E2B3C;
  text-decoration: underline;
}
.blog-content img {
  max-width: 100%;
  height: auto;
  margin: 20px 0;
}

.blog-option {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.blog-option__time {
  color: #DB8DAF;
  font-size: 16px;
}

.blog-option__category {
  color: #DB8DAF;
  font-size: 16px;
  border-radius: 5px;
  background-color: #FFF4F4;
  line-height: 1.3;
  padding: 5px 12px 5px 12px;
}

@media (max-width: 834px) {
  .blog-title {
    font-size: 2.1rem;
    margin: 17px 0 30px;
  }
  .blog-content h2 {
    font-size: 1.8rem;
  }
  .blog-content p {
    font-size: 15px;
  }
  .blog-content h3 {
    font-size: 1.7rem;
  }
  h4 {
    font-size: 1.6rem;
  }
  .blog-option__category {
    font-size: 14px;
  }
  .blog-option__time {
    font-size: 14px;
  }
}/*# sourceMappingURL=style.css.map */