/* extra.css - 追加スタイル用 */
    .header-logo img {
        width: 90%;
        height: auto;
}

.header-tel--blue .header-tel-box{
    width: 15.4375rem;
}


@media screen and (max-width: 768px) {
    .header-logo img {
        width: 90%;
        height: auto;
    }
	
	.header-tel--blue .header-tel-box{
	 width: 6.575rem;
	}
}


.hero-title{
font-size: clamp(0px, 56 * var(--rate-vw), 56px * var(--cap));
text-shadow: 0 0.125rem 0.5875rem rgba(0, 0, 0, 0.9), 0 0.25rem 0.4375rem rgba(0, 0, 0, 0.18);
}
@media screen and (max-width: 1400px) {
.hero-title{
font-size: clamp(0px, 48 * var(--rate-vw), 48px * var(--cap));
}
}
@media (max-width: 767px) {
    .hero-title {
        font-size: clamp(0px, 32 * var(--rate-fz), 32px * var(--cap));
        white-space: wrap;
		font-weight: 700;

    }
	.hero-layout{
	max-width:500px;
	 width:90%;
	}
	
    .mv-credential-card--sp .mv-credential-card__label {
        width: 100%;
	}
}
@media (max-width: 480px) {
    .hero-title {
        font-size: clamp(0px, 28 * var(--rate-fz), 28px * var(--cap));
    }
	
	    .hero-subtitle{
		font-size: 14px;
    }
}



@media screen and (max-width: 900px) {
    .hero-title {
         text-shadow:0 0 2px rgb(49 51 51 / 60%), 0 0 8px #333, 0 0 10px rgb(51 51 51 / 80%);
    }

    .hero-subtitle{
        text-shadow: 0 0 2px rgb(51 51 51 / 80%), 0 0 2px rgb(51 51 51 / 86%)  ,0 0 4px #333;
		font-weight: 500;
		font-size: 16px;
    }
 }



.main-footer__logo-img {
    width: 150px;
    height: auto;
}

.reserve-cta-main .reserve-cta__title--logo img.pc_none{
display:none;
}

.p-text, .p-lower__section p:not([class]) {
    margin-top: 2rem;
}

@media screen and (max-width: 767px) {
.reserve-cta-main .reserve-cta__title--logo img.pc_none{
display:block;
}	
.reserve-cta-main .reserve-cta__title--logo img.sp_none{
display:none;
}
	
p-text, .p-lower__section p:not([class]) {
    margin-top: 1rem;
}
}


.reserve-cta-main{
 display:flex;
 gap: 2rem;
}

.reserve-cta-main .reserve-cta{
 width:49%;
}


.reserve-cta__inner {
    padding: 25px 20px 25px;
}

.reserve-cta-main .access__logo{
 width: 20px;
}

.reserve-cta-main .reserve-cta__inner .p-text{
margin-top:0!important;
}

.reserve-cta-main .reserve-cta__title--logo img {
    height: 40px;
}

.reserve-cta__buttons {
    gap: 10px;
}

.reserve-cta-main +  .p-text{
    margin-top: -20px;
}

@media screen and (max-width: 767px) {
.reserve-cta-main{
flex-direction:column;
 gap:15px;
}	
	
.reserve-cta-main .reserve-cta{
 width:100%;
}
	
.reserve-cta-main .reserve-cta__title--logo img {
  width:95%;
  height:auto;
}


.reserve-cta__inner {
    padding: 15px 10px 15px;
}

.reserve-cta-main .access__logo{
 width: 15px;
}

	
.reserve-cta-main +  .p-text{
    margin-top: -10px;
}
	

    .footer-info {
     display:block;
	padding: 50px 20px;
    }
	
	.footer-info__box {
    padding: 20px;
}
	
	.footer-info__title {
    font-size: 18px;
    margin: 0 0 16px;
	}
	
	.footer-info__text {
    font-size: 14px;
    margin: 0 0 10px;
}
	
	.footer-info__list a {
    font-size: 14px;
}
}


@media screen and (max-width: 550px) {
.reserve-cta-main{
 margin-top: -20px;	 
}	
	
.reserve-cta-main  .reserve-cta__inner {
  padding: 10px;
	}
	
.reserve-cta-main .reserve-cta__btn{
height: 30px;
 font-size: 12px;
}

.reserve-cta-main .reserve-cta__note {
 font-size: 12px;
 margin: 0;
}
	
.reserve-cta-main .reserve-cta__old-name{
 padding-bottom: 5px;	
 margin: 5px 0 10px;
 font-size:10px;
}
	
.reserve-cta-main .reserve-cta__buttons {
gap: 6px;
margin-top: 12px;
}	
}

@media screen and (max-width: 360px) {
    .reserve-cta__inner {
        padding: 10px;
    }
}

.p-concept a img{
transition:all .6s;
}

.p-concept a img:hover{
 transform:scale(1.05,1.05);
}





/* 20260427追加 */
.header-tel--green .header-tel-box {
    background: #ED7300;
}

.p-fixed-bottom {
    height: 55px;
    gap: 0;
    background: inherit;
}

.p-fixed-bottom__item {
    height: 55px;
    padding: 0;
    border: none;
    border-radius: 0;
    margin-top: 0;
	position:relative;
}

.p-fixed-bottom__item:nth-child(1){
    background: #E10078;
}

.p-fixed-bottom__item:nth-child(2){
    background: #0050A2;
}

.p-fixed-bottom__item:nth-child(3){
    background: #00987D;
}

.p-fixed-bottom__item:nth-child(4){
    background: #ED7300;
}

.p-fixed-bottom__item:nth-child(1) .p-fixed-bottom__icon img,
.p-fixed-bottom__item:nth-child(2) .p-fixed-bottom__icon img,
.p-fixed-bottom__item:nth-child(4) .p-fixed-bottom__icon img{
filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(270deg) brightness(101%) contrast(102%);
}

.p-fixed-bottom__item::before {
   content: "";
   position: absolute;
   top: 50%;
   left: 50%;
   -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border: 1px solid #fff;
	border-radius:5px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	pointer-events: none;
    }

.p-fixed-bottom__icon {
    width: 10px;
    height: 10px;
}

.p-fixed-bottom__line{
 display:none;
}

.p-fixed-bottom__text{
 color:#FFF;
 font-weight:600;
}

.p-fixed-bottom__small{
 display:block;;
 color:#FFF;
 font-size:8px;
 width:90%;
text-align: center;
 background: #3333333d;
 border-radius: 999px;
 height: 17px;
 line-height: 17px;
 font-weight:500;
}

.p-fixed-bottom__fl {
    display: flex;
    align-items: center;
	gap: 1px;
	margin-top:5px;
}


.feature-circle.is-green{
    border-color: #00987D;
}

.feature-circle.is-green .feature-number {
    color: #72cabb;
}

.feature-circle.is-green .feature-sub {
    color:  #00987D;
}

.feature-circle.is-blue{
    border-color: #0050A2;
}

.feature-circle.is-blue .feature-number {
    color: #6f95da;
}

.feature-circle.is-blue .feature-sub {
    color:  #0050A2;
}


.feature-circle.is-pink{
    border-color: #E10078;
}

.feature-circle.is-pink .feature-number {
    color: #ef6db4;
}

.feature-circle.is-pink .feature-sub {
    color:  #E10078;
}

.mv-credential-card--pc .mv-credential-card__label {
    width: 100%;
    text-align: center;
}



.mv-credential-card__fl{
 display:flex;
 align-items: center;
 gap: 10px;
 justify-content:center;
}

.mv-credential-card__fl img{
 width:25%;
 max-width:100px;
 height:auto;
}

@media (max-width: 767px) {
    .mv-credential-card--sp .mv-credential-card__text {
        font-size: 12px;
    }
}

.p-top-news{
padding-top: 6.25rem;
}

.p-top-docter{
padding: 6.25rem 0;
background: rgb(250, 250, 250);
}   

.p-top-docter__contents img{
 width:100%;
height:auto;
}

.p-top-docter__block{
    width: min(100% - 2.5rem, 68.75rem);
    margin: 3.75rem  auto 0 auto;
}

.p-top-docter__block h3{
 font-size:32px;
}

.p-doctor__heading {
    margin-bottom: 3.75rem;
}

p.p-text.doctor-name{
 text-align:right;
}

@media (max-width: 767px) {
.p-top-news{
padding-top: 3.75rem;
}
	
.p-top-docter {
        padding: 3.75rem 0;
    }	
	
.p-top-docter__block{
    width: min(100% - 2.5rem, 68.75rem);
    margin: 2.25rem  auto 0 auto;
}
	
.p-top-docter__block h3{
 font-size:20px;
}
	
.p-top-docter__contents img{
height:240px;
object-fit:cover;
 object-position:35%;
}

}

/* ===== TOP MV overlap fix: certification card and catch copy ===== */
/* TOP MV overlap fix v5.2 start
   20260624: preserve default credential card size; ensure default text scale on normal desktop.
   Replace the existing TOP MV overlap fix block; do not append another copy.
*/

@media (min-width: 901px) {
  .main-visual {
    --mv-logo-safe-bottom: 160px;
    --mv-card-top: clamp(var(--mv-logo-safe-bottom), calc(20vh + 48px), 200px);
    --mv-card-width: clamp(460px, calc(25vw + 160px), 500px);
    --mv-card-pad-top: clamp(16px, calc(4vh - 6px), 24px);
    --mv-card-pad-right: clamp(24px, 3vw, 32px);
    --mv-card-pad-bottom: clamp(16px, calc(4vh - 6px), 24px);
    --mv-card-pad-left: clamp(18px, 2vw, 20px);
    --mv-card-label-size: clamp(0.95rem, calc(0.65rem + 1vh), 1.125rem);
    --mv-card-label-pad-y: clamp(8px, 1.2vh, 12px);
    --mv-card-label-pad-x: clamp(22px, 2.5vw, 32px);
    --mv-card-label-gap: clamp(8px, 1.4vh, 12px);
    --mv-card-text-size: clamp(0.875rem, calc(0.5rem + 1.05vh), 1rem);
    --mv-card-text-line-height: 1.8;
    --mv-card-logo-size: clamp(88px, calc(8vh + 40px), 100px);
    --mv-card-inner-gap: clamp(8px, 1.2vh, 10px);
    --mv-hero-bottom: clamp(8px, calc(18vh - 120px), 80px);
    --mv-hero-gap: clamp(16px, 1.6vw, 30px);
    --mv-hero-content-width: calc(100% - clamp(420px, 38vw, 570px) - var(--mv-hero-gap));
  }

  .mv-credential-card--pc {
    top: var(--mv-card-top);
    max-width: var(--mv-card-width);
    padding: var(--mv-card-pad-top) var(--mv-card-pad-right) var(--mv-card-pad-bottom) var(--mv-card-pad-left);
    box-sizing: border-box;
  }

  .mv-credential-card--pc .mv-credential-card__label {
    font-size: var(--mv-card-label-size);
    padding: var(--mv-card-label-pad-y) var(--mv-card-label-pad-x);
    margin-bottom: var(--mv-card-label-gap);
  }

  .mv-credential-card--pc .mv-credential-card__text {
    font-size: var(--mv-card-text-size);
    line-height: 1.8;
  }

  .mv-credential-card--pc .mv-credential-card__fl {
    gap: var(--mv-card-inner-gap);
  }

  .mv-credential-card--pc .mv-credential-card__fl img {
    max-width: var(--mv-card-logo-size);
  }

  .hero-layout {
    bottom: var(--mv-hero-bottom);
    gap: var(--mv-hero-gap);
    min-height: auto;
  }

  .hero-content {
    flex: 1 1 auto;
    min-width: 0;
    max-width: min(704px, var(--mv-hero-content-width));
  }

  .feature-circles {
    margin-right: 0;
  }
}

/* TOP MV overlap fix v5.2 end */
/* ===== END TOP MV overlap fix ===== */
