@media only screen and (max-width:768px) {
    .home_page .key {
        --height: auto;
        --max-height: auto;
        --min-height: 220px;
    }

    .home_page .key .key_text {
        padding: 0 20px 30px;
    }

    .home_page .key .key_text .item {
        padding: 21em 0 4em
    }

    .home_page .key .catch{
        max-width: 100%;
        width: 100%;
    }

    .home_page .key .catch h2
    .home_page .key .catch p {
        letter-spacing: 0.08em;
        text-align: center;
    }

    .home_page .key .catch h2 {
        font-size: 3.5em;
        margin-bottom: 0.4em;
    }
    .home_page .key .catch h2:after{margin: 0.5em auto 0;}
    .home_page .key .catch p {
        font-size: 2.2em
    }

    .home_page .key .key_bg {
        font-size: 0.6em;
        opacity: 0.4;
    }

    .home_page .key_circle {
        position: relative;
        bottom: 0;
        margin: 0 -2em;
        width: calc(100% + 4em);
    }

    .home_page .key_circle .cir_it {
        width: calc(33.33% - 4em);
        margin: 2em;
    }

    .home_page .key_circle .cir_it:nth-child(2),
    .home_page .key_circle .cir_it:nth-child(4) {
        margin-top: 2em
    }
}

@media only screen and (max-width:768px) and (max-aspect-ratio:32/25) {
    .home_page .key .key_text {
        font-size: min(7px, 1.35vw)
    }

    .home_page .key_circle .cir_it:first-child,
    .home_page .key_circle .cir_it:nth-child(2) {
        padding-bottom: 1em
    }

    .home_page .key_circle .cir_it:nth-child(3) {
        padding-bottom: 1em
    }

    .home_page .key_circle .cir_it:nth-child(5) {
        padding-bottom: 0.4em
    }

    .home_page .key_circle .cir_num {
        margin-bottom: 0.5em
    }

    .home_page .key_circle .cir_tl {
        font-size: 2.4em;
        letter-spacing: 0.08em;
        margin-bottom: 0.35em
    }

    .home_page .key_circle .cir_txt {
        font-size: 2.2em
    }
}

@media only screen and (max-width:639px) {

    .home_page .key_circle {
        font-size: 0.76em
    }

    .home_page .key .catch h2 {
        font-size: 3.8em
    }

    .home_page .key .catch p {
        font-size: 2.8em
    }
    .home_page .key_circle .cir_num{font-size: 2.6em;}
    .home_page .key_circle .cir_tl{font-size: 3em;letter-spacing: 0.04em;}
    .home_page .key_circle .cir_txt{font-size: 2.6em;letter-spacing: 0.02em;line-height: 1.5;}
    .home_page .key_circle .cir_it:before{
        top: -2.8em;
        left: -3.5em;
        width: 32em;
        height: 32em;
    }
}
@media only screen and (max-width:390px) {
    .home_page .key .key_text .item{padding-top: 27em;}
}
@media only screen and (max-width:370px) {
    .home_page .key_circle .cir_tl{letter-spacing: 0;}
}

@media only screen and (max-width:768px) {
    .tl_wrap:after {
        font-size: 0.8em
    }

    .tl_wrap .en {
        margin-bottom: 2px;
        font-size: 18px
    }

    .tl_wrap h3 {
        font-size: 26px
    }

    .tl_wrap h3 .fz40 {
        font-size: 28px
    }

    .tl_wrap h3 .fz42 {
        font-size: 30px
    }

    .tl_wrap.tl_right:after {
        margin-right: auto
    }

    h4.tl_h4 {
        font-size: 24px;
        text-align: center
    }

    h4.tl_h4:after {
        margin-right: auto;
        margin-left: auto;
        margin-top: 0.3em;
    }

    .b_consultations .p_tel a {
        font-size: 30px;
        padding-left: 1.2em
    }

    .b_consultations .p_tel a:before {
        font-size: 0.8em;
        top: 0.27em
    }

    .b_consultations.st01 {
        padding: 35px 5%;
        border-radius: 200px;
    }

    .b_consultations.st01 .box_text {
        text-align: center;
        padding: 0 0 10px;
        margin-bottom: 20px
    }

    .b_consultations.st01 .box_text:before {
        width: 10em;
        height: 2px;
        top: unset;
        left: 0
    }

    .b_consultations.st01 .consultations_tl.sm {
        font-size: 2.2em;
        line-height: 1.4;
        margin-bottom: 0.2em
    }

    .b_consultations.st01 .consultations_txt {
        font-size: 1.6em
    }

    .b_consultations.st01 .consultations_btn {
        top: 0;
        margin: 25px auto 0;
        height: 7em
    }

    .b_consultations.st01 .consultations_btn a {
        font-size: 16px
    }

    .b_contact {
        font-size: min(10px, 2.5vw)
    }

    .b_contact .contact_tl {
        line-height: 1.4
    }

    .b_contact .contact_tl .fz30 {
        font-size: 22px
    }

    .b_contact .contact_tl .fz36 {
        font-size: 24px
    }

    .b_contact .contact_tl .sm {
        margin-top: 5px;
        font-size: 16px
    }

    .b_contact .btn_tel {
        font-size: min(8px, 1.5vw);
        height: 14em;
        margin-left: auto;
        margin-right: auto
    }

    .b_contact.st01 {
        padding: 3em 5%;
        background-image: linear-gradient( 180deg, rgb(236,242,249) 29%, rgb(255,255,255) 64%, rgb(251,252,254) 61%, rgb(246,249,253) 81%);
    }

    .b_contact.st01>div {
        width: 100%;
        text-align: center
    }

    .b_contact.st01 .contact_txt {
        font-size: 16px;
        padding-top: 0.5em;
        padding-left: 0;
        margin-top: 0.5em;
        margin-bottom: 1em
    }

    .b_contact.st01 .contact_txt:before {
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        width: 7em;
        height: 1px
    }

    .b_contact.st02 .box_text {
        width: 100%
    }

    .b_contact.st02 .contact_tl {
        margin-bottom: 0.5em;
        font-size: 2.8em;
    }

    .b_contact.st02 .contact_tl:after {
        margin-top: 0.4em
    }

    .b_contact.st02 .contact_txt {
        font-size: 2em
    }

    .b_contact.st02 .btn_tel {
        width: 100%;
        margin-top: 2.5em
    }

    .b_contact.st03{
        padding: 3em 1em;
        font-size: min(8px, 2.5vw);
    }
    .b_contact.st03 .b_tt{
        display: table;
        margin: 0 auto 2em;
        padding-top: 11.7em;
        padding-left: 0;
        text-align: center;
    }
    .b_contact.st03 .b_tt::before{
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
    }
    .b_contact.st03 .t02{letter-spacing: 0.05em;}
    .b_contact.st03 .bn_tel{
        margin: 0 auto;
        padding: 1.9em 3.6em 2em 2em;
    }
    .b_contact.st03 .bn_tel .icon{padding-left: 1.8em;}
    /* .idx_wrap{background: linear-gradient(0deg, rgb(255, 255, 255) -43%, rgb(246 248 250) 15%, rgb(255, 255, 255) 60%);} */
    .sec_concerns {
        padding: 60px 0 35px
    }
    .sec_concerns::after{
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 19vw;
        max-height: 120px;
        z-index: -1;
        background-color: #e4e8f3;
    }
    .sec_concerns .tl_wrap {
        margin-bottom: 25px
    }

    .sec_concerns .tl_wrap .en {
        margin-bottom: 2px
    }

    .sec_concerns .inner_big:before {
        right: 0;
        left: 0;
        bottom: 17.9em;
        margin: auto;
        font-size: min(6px, 0.9vw)
    }

    .sec_concerns .block_concerns .concerns_it {
        width: calc((100% - 1em) / 2);
        margin-right: 1em;
        margin-bottom: 1em;
        border-radius: 4em;
        font-size: min(8px, 1.05vw)
    }

    .sec_concerns .block_concerns .concerns_it:last-child,
    .sec_concerns .block_concerns .concerns_it:nth-child(2n+2) {
        margin-right: 0
    }

    .sec_concerns .concerns_note {
        margin-top: 7em;
        font-size: min(7px, 1.5vw);
        padding: 4em 0em 2.6em;
        display: block;
        text-align: center;
    }
    .sec_concerns .concerns_note::before, .sec_concerns .concerns_note::after{font-size: min(5px, 0.7vw);}
    .sec_concerns .concerns_note::before{left: -49em;}
    .sec_concerns .concerns_note::after{right: -1em;}
    .sec_concerns .concerns_note .ic{
        display: table;
        margin-left: auto;
        margin-right: auto;
        padding-right: 1.2em;
        padding-left: 1.4em;
    }

    .sec_intro {
        padding-top: 5vw
    }

    .sec_intro:before {
        border-radius: 20px;
        width: calc(100% - 20px)
    }

    .sec_intro .b_wrap {
        font-size: min(6px, 0.8vw)
    }
    
    .sec_intro .b_wrap::before, .sec_intro .b_wrap::after{display: none;}
    .sec_prevention {
        padding: 60px 0
    }
    
    .sec_intro .slick-dots li{font-size: 8px;}

    .sec_prevention:before {
        background-image: url(../images/sec_prevention_img_sp.png);
        background-size: 85% auto;
        top: 138px;
    }

    .sec_prevention .tl_wrap {
        margin-top: 0;
        margin-bottom: 25px
    }

    .sec_prevention .tl_wrap h3 {
        line-height: 1.4
    }
    .sec_prevention .block_prevention{padding-top: 54vw;}
    .sec_prevention .prevention_cont{
        padding: 35px 5%;
        background-color: rgba(255, 255, 255, 0.5);
    }
    .sec_prevention .prevention_img {
        max-width: 600px;
        width: 100%;
        margin: 0 auto 25px
    }

    .sec_prevention .box_center {
        margin-top: 40px;
    }

    /* .sec_prevention .box_chart {
        padding: 30px 6% 30px
    } */
    .sec_prevention .chart >div{
        width: 46%;
        max-width: 290px;
    }
    .sec_prevention .chart{
        font-size: min(10px, 1.8vw);
    }
    .sec_prevention .chart_tl{font-size: min(20px, 4vw);}
    .sec_prevention .chart:before{
        height: calc(100% + 5px);
    }

    .sec_prevention .border {
        padding: 2px 6px 4px
    }
    .sec_prevention .box_chart{margin-top: 25px;}
    .sec_prevention .chart {
        margin-bottom: 25px;
        display: flex;
    }

    .sec_prevention .chart figure {
        width: 46%;
    }

    .sec_prevention .caption_chart {
        font-size: 14px;
        letter-spacing: 0.02em;
        padding-bottom: 10px;
        margin-bottom: 15px
    }

    .sec_prevention .chart_note {
        font-size: 20px;
        margin-top: 15px;
    }

    .sec_process {
        padding: 60px 0
    }
    .sec_process:before{
        opacity: 0.7;
        max-height: 700px;
        height: 155vw;
        background-position: right top;
    }

    .sec_process .b_test {
        display: block;
        text-align: center;
        padding-bottom: min(208px, 63vw)
    }

    .sec_process .b_test:before {
        font-size: min(5px, 1.5vw);
        right: 0;
        left: 0;
        margin: auto
    }

    .sec_process .box_tel {
        font-size: min(8px, 2.2vw);
        margin-left: auto;
        margin-right: auto;
        margin-top: 1em
    }

    .sec_process .txt_en {
        padding-top: 10vw;
        padding-right: 0;
        top: 15vw;
        right: -1vw;
    }

    .sec_process .txt_en:before {
        width: min(11em, 13vw);
        height: 200%;
        background-size: 100% 100%;
        top: 0;
        bottom: unset;
        border-top-left-radius: 2em
    }

    .sec_process .txt_en p {
        font-size: min(80px, 10vw)
    }

    .sec_process .block_process {
        padding: 40px 1% 40px;
        border-radius: 40px
    }

    .sec_process .block_process .tl_wrap {
        margin-bottom: 25px
    }

    .sec_process .block_process .tl_wrap:after {
        margin-right: auto
    }

    .sec_process .l_proccess {
        justify-content: center
    }

    .sec_process .l_proccess .item {
        width: calc((100% - 1em) / 2);
        margin-right: 1em;
        margin-bottom: 1em;
        border-radius: 4em;
        font-size: min(8px, 1.4vw);
        padding: 3.9em 2.4em 3.9em 2.3em
    }

    .sec_process .l_proccess .item:last-child,
    .sec_process .l_proccess .item:nth-child(2n+2) {
        margin-right: 0
    }

    .sec_process .l_proccess .b_title .ttl {
        letter-spacing: 0.05em;
        font-size: 2.1em
    }

    .sec_process .l_anxiety {
        justify-content: center;
        margin-left: -1em;
        margin-right: -1em
    }

    .sec_process .l_anxiety .item {
        margin-bottom: 25px;
        width: calc(50% - 2em);
        margin: 1em
    }

    .sec_process .l_anxiety .item:last-child {
        margin-bottom: 0
    }
    .sec_process .l_anxiety .b_cont{
        padding-right: 5%;
        padding-left: 5%;
    }

    .sec_process .l_anxiety h4 {
        font-size: 20px;
        letter-spacing: 0.05em;
        margin-bottom: 15px
    }

    .sec_process .l_anxiety p {
        font-size: 16px
    }

    .sec_process .proccess_note {
        margin-top: 20px;
        font-size: min(8px, 1.8vw);
        padding-right: 0;
        background: linear-gradient(90deg, rgb(255, 255, 255) 30%, rgba(255, 255, 255, 0) 93%, rgba(255, 255, 255, 0) 132%)
    }

    .sec_process .box_h3 .tl_wrap {
        margin-bottom: 25px
    }

    .sec_process .row01,
    .sec_process .row02,
    .sec_process .row03 {
        padding-top: 45px;
        padding-left: 4%;
        padding-right: 4%
    }

    .sec_process .row02:before {
        font-size: min(3px, 1vw)
    }

    .sec_process .row03:before {
        bottom: -85px;
        height: 215px
    }

    .sec_flow {
        padding: 80px 0 60px
    }
    .sec_flow::before{
        top: 0;
        background-image: url(../images/sec_flow_bf_sp.png);
    }
    .sec_flow .tl_wrap {
        margin-bottom: 42vw
    }

    .sec_flow .tl_wrap.tl_left:after {
        margin-left: auto
    }

    .sec_flow .box_ct {
        padding-top: 0
    }

    .sec_flow .box_ct .b_img {
        display: table;
        margin: 0 auto 20px
    }

    .sec_flow .box_ct .b_img img {
        border-radius: 20px
    }

    .sec_flow .box_flow {
        padding: 25px 3%
    }

    .sec_flow .box_flow .item {
        font-size: min(8px, 0.9vw);
        width: calc((100% - 14em) / 8);
        margin-right: 2em
    }

    .sec_flow .box_flow .item:last-child,
    .sec_flow .box_flow .item:nth-child(8n+8) {
        margin-right: 0
    }

    .sec_flow .flow_detail {
        margin-top: 40px;
        justify-content: center
    }

    .sec_flow .flow_detail .item {
        padding: 2.5em 1em 3.5em;
        width: calc((100% - 1em) / 2);
        margin-right: 1em;
        margin-bottom: 1em;
        border-radius: 2em;
        font-size: min(9px, 2.2vw)
    }

    .sec_flow .flow_detail .item:last-child,
    .sec_flow .flow_detail .item:nth-child(2n+2) {
        margin-right: 0
    }

    .sec_flow .flow_detail .item.has_tel {
        padding-bottom: 6.5em
    }
    .sec_flow .gr_btn{margin-top: 20px;}
    .sec_flow .gr_btn .btn{width: 100%;}

    .sec_achievements {
        padding-top: 60px
    }

    .sec_achievements .tl_h4 {
        margin-bottom: 12px
    }

    .sec_achievements .tl_wrap {
        margin-bottom: 25px
    }

    .sec_achievements .tl_wrap p:not(.en) {
        font-size: 18px
    }

    .sec_achievements h5 {
        font-size: 22px;
        margin-bottom: 22px
    }

    .sec_achievements .box_white {
        padding: 25px 4%;
        margin-bottom: 35px;
        border-radius: 40px
    }

    .sec_achievements .box_test {
        font-size: min(8px, 2.5vw);
        text-align: center;
        padding-left: 0
    }

    .sec_achievements .box_test .tt01,
    .sec_achievements .box_test .tt02 {
        width: 100%
    }

    .sec_achievements .box_test .tt01 {
        padding-right: 0;
        margin-right: 0;
        padding-bottom: 20px;
        margin-bottom: 20px
    }

    .sec_achievements .box_test .tt01:before {
        top: unset;
        left: 0;
        right: 0;
        bottom: 0;
        width: 10em;
        height: 1px;
        margin: auto
    }

    .sec_achievements .box_test .tt02 {
        padding-left: 0;
        font-size: 0.85em
    }

    .sec_achievements .box_rate {
        margin-top: 25px
    }

    .sec_achievements .box_rate .b_img {
        font-size: 0.6em
    }

    .sec_achievements .box_rate .b_cont p {
        line-height: 1.5
    }

    .sec_achievements .box_rate .item {
        width: calc(50% - 1em);
        padding: 2.9em 1em 3.3em;
        margin: 0.5em;
        border-radius: 2em;
        font-size: min(8px, 2vw)
    }

    .sec_achievements .box_rate h4 {
        letter-spacing: 0.03em
    }

    .sec_achievements .box_rate .b_cont p {
        letter-spacing: 0.05em
    }

    .sec_achievements .tab_year {
        border-top: 0;
        margin-bottom: 15px
    }

    .sec_achievements .tab_year .tabs {
        padding-top: 12px;
        width: 8.3333333333%;
        border-top: 1px solid #61626e
    }

    .sec_achievements .tab_year .tabs .tt {
        font-size: 18px
    }

    .sec_achievements .box_data .item {
        width: calc(50% - 2em);
        margin: 1em;
        font-size: min(8px, 1.6vw)
    }

    .sec_achievements .box_percentage .item {
        width: calc(33.3333333333% - 2em);
        margin: 1em;
        font-size: min(8px, 1.7vw)
    }
    .sec_achievements .box_percentage figure{max-width: 7.6em;}
    .sec_achievements .percentage_note{letter-spacing: 0.04em;}

    .sec_achievements .box_percentage .item:before {
        left: -1em
    }

    .sec_achievements .box_percentage .item:nth-child(3n+3):after {
        content: "";
        position: absolute;
        top: 1.4em;
        right: -1em;
        width: 1px;
        height: calc(100% - 3em);
        background-color: rgba(7, 175, 190, 0.2)
    }

    .sec_achievements .box_percentage .item .percentage_tl {
        letter-spacing: 0.05em
    }

    .sec_achievements .percentage_sum {
        margin-top: 22px;
        margin-bottom: 10px;
        flex-wrap: wrap;
        font-size: min(8px, 2vw)
    }

    .box_faq {
        margin-top: 40px;
        padding: 45px 5% 45px;
        border-radius: 40px
    }

    .box_faq .box_qa .item {
        border-radius: 3em;
        margin-bottom: 1.6em
    }

    .box_faq .box_qa .b_answer,
    .box_faq .box_qa .b_question {
        padding-left: 5.4em
    }

    .box_faq .box_qa .b_answer:before,
    .box_faq .box_qa .b_question:before {
        font-size: 3.2em
    }

    .box_faq .box_qa .b_question {
        padding-top: 1.5em;
        padding-bottom: 1.5em;
        padding-right: 6em
    }

    .box_faq .box_qa .b_question:before {
        top: 0.3em;
        left: 0.5em
    }

    .box_faq .box_qa .b_question .title {
        font-size: 1.8em
    }

    .box_faq .box_qa .ic_plus {
        font-size: 0.7em
    }

    .box_faq .box_qa .b_answer {
        padding-top: 1em;
        padding-right: 3em;
        padding-bottom: 0
    }

    .box_faq .box_qa .b_answer:before {
        left: 0.5em;
        top: 0.2em
    }

    .box_faq .box_qa .b_answer .box_in p {
        font-size: 14px
    }

    .sec_fee {
        padding: 60px 0
    }

    .sec_fee:before {
        top: -60px;
        width: calc(100% + 120px)
    }

    .sec_fee .box_h4 {
        padding-top: 30px
    }

    .sec_fee .box_h4.bx_tl {
        padding-top: 30px
    }
    .sec_fee .box_h4.bx_tl .btn{margin-top: 25px;}

    .sec_fee .tl_h4 {
        line-height: 1.4
    }

    .sec_fee .tl_h4 .sm {
        font-size: 18px;
        display: inline-block
    }

    .sec_fee .block_fee {
        margin-top: 25px
    }

    .sec_fee .block_fee .item {
        width: 40.2em;
        height: 40.2em;
        font-size: min(8px, 1.05vw)
    }
    .sec_fee .block_fee .item:before{
        left: -5.7em;
        width: 47.6em;
        height: 47.6em;
       /*  top: -2.7em; */
    }
    .sec_fee .block_fee .item.it02{
        padding-right: 0;
        padding-left: 3.9em;
        padding-bottom: 2em;
        padding-top: 0;
    }
    .sec_fee .block_fee .item.it02::before{
        left: -1.5em;
    }
    .sec_fee .block_fee .item.it01, .sec_fee .block_fee .item.it03{
        padding-bottom: 6.9em;
        padding-right: 4em;
    }
    .sec_fee .fee_detail {
        font-size: min(7.5px, 0.95vw)
    }

    .sec_fee .fee_detail figure {
        margin-right: 1.5em
    }

    .sec_fee .fee_detail .col_title {
        width: 43%
    }

    .sec_fee .fee_detail .col_list {
        width: 28%;
        padding-left: 1.3em
    }

    .sec_fee .fee_detail .col_list:before {
        top: 0.2em;
        height: 100%
    }

    .sec_fee .fee_detail .col_price {
        padding-bottom: 1em;
        width: 25.25%
    }
    .sec_fee .fee_detail .txt_price{font-size: 2.2em;}

    .sec_fee .b_contact {
        margin-top: 30px;
        width: calc(100% - 40px);
        margin-left: auto;
        margin-right: auto
    }

    .sec_message {
        padding: 60px 0 50px
    }
    .sec_message:before{
        background-image: url(../images/sec_message_bg.png), linear-gradient(180deg, rgb(247,249,249) 0%, rgba(247,249,249,1) 100%, rgba(255,255,255,1) 100%);
    }

    .sec_message .tl_wrap {
        margin-bottom: 25px
    }

    .sec_message .message_img {
        font-size: min(8px, 1.8vw);
        z-index: 0;
        max-width: 550px;
        width: 90%;
        margin-left: auto;
        margin-right: auto
    }

    .sec_message .message_img:before {
        top: -4.2em;
        left: -32.1em;
        width: 65.4em;
        height: 87.1em
    }

    .sec_message .message_img figure {
        margin: 0 auto;
        width: 90%
    }

    .sec_message .meassage_cont {
        padding-top: 34px
    }

    .sec_message .meassage_cont:before {
        left: -20px;
        width: calc(100% + 40px);
        border-radius: 0
    }

    .sec_message .meassage_cont .tt_bg02 {
        font-size: 18px;
        padding-bottom: 4px;
    }
    .sec_message .meassage_cont .tt_bg01{margin-bottom: 3px;}
    .sec_message .meassage_cont .tt_bg01.mt{
        -webkit-box-decoration-break: clone;
        box-decoration-break: clone;
        display: inline;
        line-height: 2.6;
    }
    .sec_message .meassage_cont>p:not(.txt_sub){font-size: 14px;}
    .sec_message .txt_sub {
        font-size: 14px;
        padding-bottom: 11px;
        margin-bottom: 12px
    }

    .sec_message .box_name {
        max-width: 31.4em;
        bottom: 5.5em;
    }
    .sec_message .meassage_cont{padding-top: 0;}


    .sec_message .b_contact {
        margin-top: 30px;
        padding-top: 0;
        padding-left: 0;
    }
    .sec_message .b_contact:before{display: none;}
    

    .sec_calendar{padding: 60px 0 20px;}
    .sec_calendar .tl_wrap{margin-bottom: 25px;}
    .sec_calendar .box_text{margin-top: 35px;}
    .sec_calendar .box_text{font-size: min(16px, 4vw);}
    .sec_calendar .box_text::before, .sec_calendar .box_text::after{width: 5em;}

    .sec_clinic {
        padding-bottom: 45px;
        padding-top: 60px;
        background-color: #fff;
    }
    .sec_clinic .block_clinic::before, .sec_clinic .block_clinic::after{display: none;}
     .sec_clinic .gr_btn{margin-top: 30px;}
    .sec_clinic .gr_btn .btn{
        margin: 10px auto;
    }
    .sec_clinic .tl_wrap {
        margin-bottom: 60vw
    }

    .sec_clinic .tl_wrap p:not(.en) {
        font-size: 18px;
        margin-right: 0;
        line-height: 1.6
    }

    .sec_clinic .inner_full:before {
        top: 140px;
        left: 0;
        width: 100%;
        height: 85vw;
        max-height: 730px;
        border-radius: 0;
    }

    .sec_clinic .inner_full:after {
        font-size: min(6px, 0.5vw)
    }

    .sec_clinic .idx_logo {
        width: 90%;
        margin-bottom: 12px
    }

    .sec_clinic .b_info {
        padding: 35px 5%;
        margin: 0 auto 25px;
        max-width: 600px;
        width: 100%
    }

    .sec_clinic .col_time {
        max-width: 600px;
        width: 100%;
        margin: 0 auto
    }

    .sec_clinic .b_tel {
        font-size: min(10px, 2.5vw);
        margin-top: 20px;
        margin-bottom: 25px
    }

    .sec_clinic .b_tel a {
        padding-left: 1.1538461538em
    }

    .sec_clinic .b_tel .icon {
        padding-left: 1.8em;
        display: table;
        margin-left: auto;
        margin-right: auto
    }

    .sec_blog {
        padding: 60px 0 0
    }

    .sec_blog:after,
    .sec_blog:before {
        font-size: min(6px, 0.7vw)
    }

    .sec_blog:after {
        bottom: -9.5em
    }
    .sec_blog .tl_wrap{margin-bottom: 15px;}
    .sec_blog .block_blog .item{
        padding: 30px 6%;
        margin-bottom: 35px;
    }
    .sec_blog .block_blog .item:last-child{margin-bottom: 0;}

    .sec_blog .list_post li a {
        padding: 10px 0 10px;
        --w: 88px;
    }
    .sec_blog .list_post li a:after{right: 8px;}

    .sec_blog .list_post li .date {
    }

    .sec_blog .list_post li .cate {
        width: 95px;
        font-size: 14px;
        line-height: 1
    }

    .sec_blog .list_post li .title {
        padding-left: 0.8em;
        padding-right: 0.8em;
    }

    .sec_blog .btn {
        margin: 25px auto 0
    }

    .sec_beyond{
        padding: 60px 0;
    }    
    .sec_beyond::before, .sec_beyond::after{
        font-size: min(5px, 1vw);
    }
    .sec_beyond::before{top: 0;}
    .sec_beyond .tl_wrap{margin-bottom: 25px;}
    .sec_beyond .block_beyond .item{
         width: calc((100% - 1em) / 2);
        margin-right: 1em;
        margin-bottom: 1em;
        font-size: min(10px, 1.46vw)
    }    
    .sec_beyond .block_beyond .item:last-child,
    .sec_beyond .block_beyond .item:nth-child(2n+2) {
        margin-right: 0
    }
    .sec_beyond .block_beyond .item img{
        max-height: 143px;
        width: auto;
        height: 100%;
    }

    .sec_relative {
        padding-bottom: 35px
    }
    .sec_relative .tl_wrap .cl_gr{font-size: 20px;}
    .sec_relative .tl_wrap{margin-bottom: 25px;}
    .sec_relative .l_btn .btn_it {
        width: calc((100% - 1em) / 2);
        margin-right: 1em;
        margin-bottom: 1em;
        font-size: min(10px, 1.46vw)
    }

    .sec_relative .l_btn .btn_it:last-child,
    .sec_relative .l_btn .btn_it:nth-child(2n+2) {
        margin-right: 0
    }

    .sec_relative .l_btn .btn_it .b_in {
        padding: 2.1em 1.5em 2.4em
    }
}
@media only screen and (max-width:700px) {
    .sec_flow .tl_wrap{
        margin-bottom: 48vw;
    }
}

@media only screen and (max-width:639px) {
    .sec_concerns .concerns_note::after{right: -5em;}
    .sec_concerns .concerns_note::before{left: -60em;}
    .sec_achievements .tab_year .tabs {
        width: 16.6666666667%;
        padding-bottom: 12px
    }

    .sec_fee .fee_detail {
        padding: 1.2em 2.2em;
        font-size: min(7.5px, 2vw)
    }

    .sec_fee .fee_detail .col_title {
        flex-direction: column;
        justify-content: center;
        width: 100%;
        text-align: center
    }

    .sec_fee .fee_detail figure {
        margin-right: 0
    }

    .sec_fee .fee_detail .tl {
        letter-spacing: 0.05em
    }

    .sec_fee .fee_detail .tl span {
        margin-right: 0.4em;
        top: 0.05em
    }

    .sec_fee .fee_detail .col_list {
        padding-left: 0;
        padding-top: 3em;
        margin-top: 2em;
        width: 100%
    }

    .sec_fee .fee_detail .col_list:before {
        top: 0;
        left: 0;
        right: 0;
        margin: auto;
        height: 1px;
        width: 10em
    }

    .sec_fee .fee_detail .col_list li {
        margin-bottom: 0.944444em
    }

    .sec_fee .fee_detail .col_price {
        width: 100%;
        text-align: center
    }

    .sec_fee .fee_detail.detail02 {
        margin-bottom: 2em;
        padding-top: 2em;
        padding-bottom: 2.8em;
        display: flex;
        flex-direction: column;
    }
    .sec_fee .fee_detail.detail02 .col_title{order: 1;}
    .sec_fee .fee_detail.detail02 .col_title::after{
        content: '';
        position: relative;
        height: 1px;
        width: 10em;
        background-color: var(--main-color);
        margin: 2em auto 0;
    }
    .sec_fee .fee_detail.detail02 .col_list{
        padding-top: 0;
        display: contents;
    }
    .sec_fee .fee_detail.detail02 .col_list ul{display: contents;}
    .sec_fee .fee_detail.detail02 .col_list ul li{margin-bottom: 0;margin-top: 1.5em;}
    .sec_fee .fee_detail.detail02 .col_list .l1{order: 2;}
    .sec_fee .fee_detail.detail02 .col_list .l2{order: 4;}
    .sec_fee .fee_detail .col_list:before{display: none;}

    .sec_fee .fee_detail.detail02 .col_price {
        display: contents;
    }
    .sec_fee .fee_detail.detail02 .col_price .txt_price{
        margin-bottom: 0;
        margin-top: 0.5em;
    }
    .sec_fee .fee_detail.detail02 .col_price .t1{order: 3;}
    .sec_fee .fee_detail.detail02 .col_price .t2{order: 5;}
}


@media only screen and (max-width:768px) and (min-width:451px) {
    .sec_intro .slick-dots li button{
        width: 19px;
        height: 19px;
    }
    .sec_intro .slick-dots li button:before{inset: 3px;}
}
@media only screen and (max-width:450px) {
    .b_consultations.st01{
        border-radius: 50px;
    }
    .b_contact.st01{
        border-radius: 30px;
    }

    .sec_concerns .block_concerns .concerns_it {
        padding: 2.2em 2em 2.5em 2em;
        font-size: min(8px, 1.4vw)
    }


    .sec_concerns .block_concerns .concerns_tl {
        font-size: 2.65em;
        letter-spacing: 0.05em
    }
    
    .sec_concerns .inner_big:before {
        bottom: 20em;
        font-size: min(6px, 1.1vw);
    }
    .sec_concerns .concerns_note{margin-top: 12em;}
    .sec_intro .slick-dots li {
        font-size: 6px
    }

    .sec_intro .slick-dots li button:before {
        inset: 2px
    }
    .sec_intro .slider_intro .intro_it .intro_tl .tt01 {
        font-size: 2.8em
    }

    .sec_intro .slider_intro .intro_it .intro_cont {
        padding: 3.8em 3.5em 4.2em 3.5em
    }

    .sec_intro .slider_intro .intro_it .l_feature .en {
        font-size: 2.2em
    }

    .sec_intro .slider_intro .intro_it .l_feature .cont {
        font-size: 1.2em
    }
    .sec_prevention:before{top: calc(138px + 19vw);}
    .sec_process .block_process {
        padding-left: 0;
        padding-right: 0
    }

    .sec_process .l_anxiety .item {
        width: 95%;
        margin: 0 auto 20px
    }

    .sec_process .l_proccess .item {
        font-size: min(9px, 2.3vw);
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 2em;
        padding-right: 1em
    }

    .sec_process .l_proccess .item:last-child,
    .sec_process .l_proccess .item:nth-child(2n+2) {
        margin-right: auto
    }

    .sec_process .l_proccess .item:last-child {
        margin-bottom: 0
    }
    .sec_flow::before{
        background-size: min(600px, 167vw) auto;
        background-position: top center;
    }
    .sec_flow .tl_wrap {
        margin-bottom: min(610px, 50vw)
    }
    .sec_flow .box_flow .item {
        font-size: min(8px, 1.5vw);
        width: calc((100% - 6em) / 4);
        margin-bottom: 1em;
        margin-top: 1em
    }

    .sec_flow .box_flow .item:nth-child(4n+4) {
        margin-right: 0
    }

    .sec_flow .box_flow .item:nth-child(4n+4):after,
    .sec_flow .box_flow .item:nth-child(4n+4):before {
        display: none
    }

    .sec_flow .box_flow .ttl {
        font-size: 2.5em
    }

    .sec_flow .flow_detail p:not(.tt_num) br {
        display: none
    }
    .sec_achievements .btn{margin-top: 25px;}
    .sec_achievements .box_data .gender.male {
        margin-right: 0
    }

    .sec_achievements .box_data .data_ct {
        padding-top: 1.4em;
        font-size: 1.4em
    }

    .sec_achievements .box_data .box_rate .b_cont p .sp_only {
        display: none !important
    }

    .sec_fee .block_fee .fee_title {
        font-size: 2.8em
    }

    .sec_fee .block_fee .fee_price {
        font-size: 2.2em
    }
    
    .sec_fee .block_fee .item .box_in{
        font-size: 1.1em;
    }
    .sec_clinic .inner_full:before {
        top: 180px
    }
    .sec_message:before{
        background-size: 150% auto;
        background-position: left top;
    }
    .sec_message .box_name .name_en{
        font-size: 1.6em;
    }
    .sec_message .btn{margin-top: 25px;}
    .sec_clinic .sp_br {
        display: block
    }
    
    .sec_calendar .box_text::before, .sec_calendar .box_text::after{width: 6em;}
    .sec_calendar .box_text p{margin: 0 -6em;}
    .sec_calendar .box_text::before{right: 3.5em;}
    .sec_calendar .box_text::after{left: 3.5em;}

    .sec_relative .l_btn .btn_it{
        font-size: min(10px, 1.5vw);
    }
    .sec_relative .l_btn .tt_sm{letter-spacing: 0.05em;}
}

@media only screen and (max-width:370px) {
    .tl_wrap h3{letter-spacing: 0.05em;}
    .tl_wrap .en{letter-spacing: 0.05em;}
    .sec_achievements .box_rate h4 {
        letter-spacing: 0
    }

    .sec_achievements .box_data .gender .tag {
        padding: 0.3em 0.2777777778em 0.3em
    }

    .sec_process .proccess_note {
        width: calc(100% + 20px);
        padding-right: 3.5em;
        background-color: linear-gradient(90deg, rgb(7, 175, 190) 36%, rgba(145, 223, 230, 0) 97%, rgba(145, 223, 230, 0) 128%)
    }

    .sec_process .proccess_note .ic {
        letter-spacing: 0.05em
    }
    .sec_prevention .border{
        padding: 2px 5px 4px;
        letter-spacing: 0;
    }
}

/*# sourceMappingURL=index_sp.css.map */