

/************************/
 /* フォントサイズ */
/************************/

:where(p, label, li, dt, dd, td, th) {
    font-size: 3.5vw /* (26px / 750px * 100vw) */;
}

@media (max-width: 480px) {
    :where(p, label, li, dt, dd, td, th) {
        font-size: 3.8vw /* (26px / 750px * 100vw) */;
    }
    
}

.worry-item__txt {
    font-size: min(0.5vw + 1.1rem, 1.8rem) /* 8/1600*100 */;
}


.wo_2{
    transform: translateY(-30%);
}


@media (max-width: 767px) {
    .worry-item__txt {
        transform: translateY(-10%);
    }
}

@media (max-width: 518px) {
    .worry-item__txt {
        font-size: min(0.5vw + 1rem, 1.5rem) /* 8/1600*100 */;
    }
}


@media (min-width: 1120px) {
    .worry-item__txt {
        font-size: min(1vw + 4rem, 2rem) /* 8/1600*100 */;
    }
}



.c-subheading{
    font-size: 5.5vw;
}

.c-heading__title {
    font-size: 4vw;
}

.c-heading__alphabetic{
    font-size: 10vw;
}

@media (min-width: 768px) {
    :where(p, label, li, dt, dd, td, th) {
        font-size: min(0.3125vw + 1.5rem, 1.9rem) /* (14px - 10px (1rem) / 1280px * 100vw) */;
    }
   .c-subheading {
        font-size: min(1.1vw + 1.5rem, 2.9rem);
    }
    .c-subheading{
        font-size: 2.5vw;
    }
    .mv-copy {
        font-size: min(1.6vw + 1.5rem, 2.9rem);
    }
    .c-heading__title {
        font-size: min(1.6vw + 1.5rem, 2.9rem);
    }
    .c-heading__alphabetic {
        font-size: min(5vw + 1rem, 6.4rem);
    }
}

@media (min-width: 1024px) {
    .g-nav__item{
        font-size: min(0.1vw + 1.5rem, 1.5rem);
    }
}


.g-nav__item {
    font-size: 1.15vw;
}



@media (min-width: 1420px) {
    .g-nav__list {
        gap: 4rem;
    }
}




@media (max-width: 1023px) {
    .g-nav__item {
        font-size: 4vw;
    }
}

@media (max-width: 510px) {
    .g-nav__item {
        font-size: 5vw;
    }
}






@media (max-width: 1023px) {
    .g-nav {
        background: rgba(131, 187, 92, 0.85);
    }

    .g-nav__item{
        color: #fff;
    }
}


.g-header__emblem .logo{
    width: 185px;
}

.g-header__emblem .logo img{
    width: 100%;
}

@media (max-width: 1023px) {
    .g-header__emblem .logo{
        width: 160px;
    }   
}

.u-hide-pc img{
    width: 180px;
}

@media (max-width: 414px) {
    .u-hide-pc img{
        width: 150px;
    }

}



/************************/
 /* CONCEPT */
/************************/

.concept .c-subheading{
    white-space: nowrap;
}

@media (min-width: 1486px) {
    .concept-contents {
        padding-right: 23%;
    }
}


@media (min-width: 1024px) {
    .service-point:nth-child(2)[class*="is-animated"] .service-point__alphabetic{
        right: -45%;
        top:15px;
    }
    .service-point:nth-child(4)[class*="is-animated"] .service-point__alphabetic {
        right: 60%;
        top:-30px;
    }
}


.service-point__description a {
    border: solid 1px #333;
    padding: 12px 40px 12px 25px;
    position: relative;
    display: inline-block;
    margin-top: 1rem;
  }

  .service-point__description a::after {
  content: "";
  width: 10px;
  height: 10px;
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  transform: rotate(45deg);
  position: absolute;
  margin-top: -5px;
  top: 50%;
  right: 20px;
}









/************************/
 /* ABOUT */
/************************/

@media (min-width: 1486px) {
    .service .c-subheading{
            font-size: 2.2vw;

    }
}







/************************/
 /* FLOW */
/************************/
@media (min-width: 768px){
.flow .c-subheading{
        font-size: 1.8vw;
}

@media (min-width: 768px) and (max-width: 1023px){
    .flow .c-subheading{
        font-size:4vw;
}
}


.flow .c-heading:not([class*="--vertical-widescreen"]) .c-heading__alphabetic::after{
    background: #fff; 
}

.flow dd{
    font-size: min(0.3125vw + 1.4rem, 1.8rem) /* (14px - 10px (1rem) / 1280px * 100vw) */;
}

}

.flow .c-heading__alphabetic .char,
.flow .c-heading .c-heading__title,
.flow .c-heading__title{
        color: #fff;    
}

.flow::after{
    z-index: 30;
    display: inline-block;
    height: 25%;
}

@media (min-width: 1024px){
    .flow::after{
        bottom: -6.5%;     
    }
      
}

@media (min-width: 1486px) {
    .flow-box__body {
        padding-left: min(2.34375vw + 1rem, 3rem);
        padding-right: min(2.34375vw + 1rem, 3rem);
    }
}

@media (max-width: 1023px){
    .flow::after{
        height: 6%;
    }
       
}

@media (max-width: 480px) {
    .flow::after {
        height: 5%;
    }
}


/************************/
 /* 診療時間 */
/************************/
.c-time-table {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
    border: solid 1px #eae3dc;
    margin-bottom: 1.5rem;
  }

.c-time-table tbody td{
    padding: 0.781vw 0;
    font-weight: 600;
    margin: auto;
    text-align: center;
    border-right: solid 1px #eae3dc
}


/* .c-time-table thead th, .c-time-table tbody tr{
    border-bottom: 1px solid #d8f3b8;
} */


.c-time-table tbody tr:last-child{
    border-bottom: none;
}

.c-time-table th{
    margin: auto;
    text-align: center;
    border-bottom: solid 1px #eae3dc;
    border-right: solid 1px #eae3dc
}

.company-info__data > .shinryojikan{
    width: 100%;
}


.company-info > li:nth-of-type(5){
    border-bottom: none;
}

.c-time-table th:nth-child(1){
    width: 25%;
    text-align: left;
    border-right: solid 1px #eae3dc;
    padding-left:0.781vw;
}

.shinryojikan p{
    display: none;
}

@media (max-width: 767px){
    .c-time-table th:nth-child(1){
        display: none;
    }
    .c-time-table{
        margin: 1.5rem 0;        
    }

    .shinryojikan p{
        display: block;
    }
}



.c-time-table__open, .c-time-table__close {
    position: relative;
    width: 16px;
    height: 16px;
    display: inline-block;
    
}


.c-time-table__open:before, .c-time-table__close:before{
    content: "";
    display: inline-block;
    width: 16px;
    height: 1px;
    background-color: #83BB5C;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


.c-time-table__open:before {
    height: 16px;
    border-radius: 50px;
}

.c-time-table tbody td{
    padding: 0.781vw 0;
    font-weight: 600;
}

.c-time-table__sankaku{
    position: relative;
    width: 16px;
    height: 16px;
    display: inline-block;
    
}

.c-time-table__sankaku:before{
    content: "";
    display: inline-block;
    width: 16px;
    height: calc(tan(60deg) * 16px / 2);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    background-color: #83BB5C;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


/************************/
 /* PRICE */
/************************/
.price{
    background: var(--secondary-background-color);
}
@media (min-width: 768px) {
    .price .company-info__data > dt {
            max-width: 18.5rem;
            min-width: 18.5rem;
        }
}

.price > div::before {
    background-image: url(../images/price/price_visual_bg.jpg);
}



/************************/
 /* ACCESS */
/************************/

.company-info__data > dt{
        max-width: 15rem;
        min-width: 15rem;
    }

@media (max-width: 767px) and (min-width: 617px){
    .company-info__data > dt{
        max-width: 19rem;
        min-width: 19rem;
    }

}

@media (max-width:414px){
    .company-info__data > dt{
        max-width: 12rem;
        min-width: 12rem;
    }
}

@media (max-width: 1235px) and (min-width: 1024px){
    .company .c-heading:not([class*="--freestyle"]) .c-heading__title{
        letter-spacing: 0.1rem;
    }

    .company .c-heading__alphabetic {
        letter-spacing: 1.2rem;
    }
}



/************************/
 /* FAQ */
/************************/

.faq__body::after{
    right: -3.2rem;
}




/************************/
 /* GREETING */
/************************/

.topics-item table td:nth-child(1){
    width: 30%;
}


.topics-item table{
    margin: 5rem 0;
}

.topics-item table td{
    padding: 5px 0;
    font-size:min(1vw + 1.2rem, 1.5rem);
}

.topics-item > dd{
    padding-left: 0;
}

.topics-item > dt{
    font-size:min(1vw + 1.5rem, 2.2rem);
    line-height:2;
}

.topics-item > dt span{
    display: block;
    font-size: min(1vw + 1.5rem, 1.8rem);
}

.greeting_image{
    display: flex;
    gap: 1rem 3rem;
    align-items: flex-start;
}

@media (max-width: 680px){
    .greeting_image{
        display: block;
    }

    .greeting_image img{
        margin: auto;
        display: block;
        margin-bottom: 5rem;

    }
}


@media (min-width: 1024px) {
    .topics__heading .c-heading__title {
        white-space: nowrap;
    }
}

.gr{
    display: block;
}

@media (max-width: 1262px){
    .gr{
        display: none;
    }
}

.topics-item > dt .furigana{
    font-size: min(1vw + 1.2rem, 1.5rem);
    display: inline-block!important;
}






/************************/
 /* フッター */
/************************/

@media (min-width: 768px){
.g-footer__menu li{
    text-align: center;
    display: inline-block;
}
.g-footer__menu{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem 1rem;

}
}

@media (max-width: 940px){
 .g-footer__menu{
    grid-template-columns: repeat(2, 1fr);

}   
}

.g-footer__logo img{
    width: 200px;
}


/************************/
 /* 追従ボタン*/
/************************/

#footer_telbtn{
    position: fixed;
    bottom: 1.2rem;
    right: 1rem;
    z-index: 99;
}

#footer_telbtn p{
    background: #333333;
    color: #fff;
    padding: 11px 19px 13px 22px;
    border-radius: 50px;
    font-size: 2.2rem;
}


#footer_telbtn p::before{
    content: "";
    background-image: url(../images/common/tel_icn.svg);
    background-repeat: no-repeat;
    display: inline-block;
    width: 22px;
    height: 22px;
    background-size: contain;
    vertical-align: middle;
    margin: 0 3px 3px 0;
}

@media (max-width: 767px){

    #footer_telbtn{
        bottom: 1rem;
        right: 1rem;
    }

    #footer_telbtn p span{
        display: none;
    }

    #footer_telbtn p{
        height: 70px;
        width: 70px;
        border-radius: 50%;
        position: relative;
    }

    #footer_telbtn p::before {
        width: 30px;
        height: 30px;
        margin: 0;
        position: absolute;
        top: -4px;
        right: 0px;
        bottom: 0;
        left: 1px;
        margin: auto;
    }
    
}


.g-footer__menu > li a{
    display: inline-block;
}