.sp440,
.sp375{display:none}


@media screen and (min-width: 769px) {
a[href^="tel:"]{pointer-events: none;}
.sp{display:none !important}


/* GNAVI PC */
.nav_pc>ul .col2 .sub {width: 44rem}
.nav_pc>ul .col2 .sub ul {display: flex;flex-wrap: wrap}
.nav_pc>ul .col2 .sub ul li {width: 50%}

.menu_toggle .nav_inner .ft_link {width: 100%;max-width: 90rem;margin: auto;min-height: 100%;display: flex;align-items: center}
.menu_toggle .nav_inner .ft_link .link_list {width: 100%}


/* FIXED BUTTON */
.fixed_banner {width: 8rem;}
.fixed_banner>div {width: 8rem;height: 8rem;margin-bottom: 0.2rem}
.fixed_banner p {width: 8rem;height: 8rem}

.fixed_banner .tel {transform: translateX();transition: all 0.3s ease}
.fixed_banner .tel .tt::before {margin-bottom: 0.45em}
.fixed_banner .tel .ov {display: flex;align-items: center;justify-content: center;background-color: var(--mcolor);position: absolute;left: 8rem;height: 100%;top: 0;width: 20rem;border-left: 0.1rem solid #fff}
.fixed_banner .tel .ov .text{font-size: 125%;font-family: var(--en)}

.fixed_banner .web p .tt::before {margin-bottom: 1rem}

.fixed_banner p:hover,
.fixed_banner>div:not(.line):hover > p{background: var(--mcolor);}
.fixed_banner .tel:hover {right: 20rem}
header.active .h_inner{padding: 0 2rem;}
/*==========================================================
                        H O V E R
==========================================================*/

.btn a:not([target="_blank"]):hover{background-color: var(--mcolor);}
.btn_contact a:hover,.btn_hp a:hover{background-image: url('../images/btn_arrow.png'), linear-gradient(to right, #225fa4, #225fa4); }

.nav_pc>ul>li.parent>a:hover::after,
.nav_pc>ul>li.parent>p:hover::after,
.nav_pc>ul>li:hover a.title::after,
.nav_pc>ul>li:hover p.title::after {transform: translateY(-0.5rem)}

.hamburger-btn .button-toggle:hover{background-color: var(--scolor)}
.ai_chat:hover img{transform: scale(1.2);}
.faq_list dl dt:hover {background: linear-gradient(to right,#0090eb,#43adf1);}
.faq_list dl dt:hover ~ dd::before{opacity: 0;}
.nav_pc>ul>li>a:hover{text-decoration: underline;}
.nav_links > ul li a:hover,.nav_medical .site a:hover{color: var(--mcolor);}
#nav-icon:hover{opacity: 0.7;}
.ft_social li a:not([target="_blank"]):hover{background-color: var(--mcolor);}


}

@media screen and (min-width: 1921px) {
    .fixed_banner{right: calc(50% - 96rem);}
    .ai_chat{right: calc(50% - 94rem);}
    .to_top{left: calc(50% - 94rem);}
    /* .wrapper_screen{max-width: 100%;}
    .sec03_box02::before{left: calc(50% - 54rem);}
    .sec01::before,.sec06::before{left: calc(50% - 100rem);}
    .sec03_box::before{right: calc(50% - 100rem);} */

}
@media screen and (min-width: 769px) and (max-width: 1920px) {
      /* fix */
  .sec03::before{background:url('../images/sec03_bg_pc.jpg') no-repeat center /100% 100%; z-index: -3; width: 100%; height: 100%; min-width: 100vw; left: 50%; transform: translateX(-50%);content: "";position: absolute;clip-path: none;aspect-ratio: 0;top:0}
  .sec03_box::after,.sec03_box::before,.sec03_box02::after{display: none;}

}

/* @media screen and (min-width: 769px) and (max-width:1560px){
    .mv{max-height: calc(100vh - 8rem);}
    .mv_illust{max-width: 64vh;bottom: -22vh;left: -21vh;}
     .mv_box::before {max-width: calc(58% + 32vh);}

} */
@media screen and (min-width: 769px) and (max-width:1399px){
    .wrapper_screen { --space: 0; }
    .ovh header, .h_box{padding: 2rem 0;}
     .mv {min-height: 70vh;max-height: calc(100vh - 8rem);}
    .mv_illust{max-width: 64vh;bottom: -22vh;left: -21vh;}
     .mv_box::before {max-width: calc(58% + 32vh);}
    .mv_box::before{width: 65%;}
    .mv_box::after{width: 20%;}
    .mv .inner{padding-bottom: 4rem;}
    #nav-icon.open{margin: -5rem 0rem 0 0;}
    .mv_des{margin-bottom: 0;}
    .sec01_box::after{width: 63vw;}
    .sec01::before{width: 60vw;height: 50vw;}
    .sec02::before{width: 37vw;}
    .sec02::after{width: 45vw;}
    .sec03::before, .sec03_box02::after{width:70vw;height: 150vw;}
    .sec03::after{width: 30vw;height: 60vw;}
    .sec03_box::after{width: 55vw;bottom: -1px;}
    .sec03_box::before{width: 50vw;}
    .sec03_box02::before{width: 20vw;top: 17%;}
    .sec04::before{width: 70vw;}

    .sec05::before{width: 40vw;}
    .sec05::after{width: 35vw;}
    .secbnn2::before{width: 50vw;clip-path: polygon(calc(100% - 35vw) 0%, 100% 0, 100% 100%, 0% 100%);}
    .secbnn2_body::before{width: 18vw;left: -22vw;top: calc(50% - 11vw);}
    .secbnn2_body::after{width: 18vw;right: -22vw;top: calc(50% - 13vw);}
    .sec06_box::after{width: 59vw;}
    .sec07::before{width: 41vw;}
    .faq_list dl dt, .faq_list dl dd{padding: 2rem 4rem 2rem 2rem;}
    .sec03{padding: 12rem 0;}
    .mv_box::before{max-width: calc(49% + 15vh);}


}

@media screen and (min-width: 769px) and (max-width:1024px){
    :root {
        --fs: 16px
    }

    html{font-size: 60%;}
    .mv_tt{font-size: 4rem;}
    .mv_tt .lg{font-size: 6rem;}
    .mv_tt .lg2{font-size: 7rem;}
    .btn a{font-size: 1.4rem;}
    .fixed_banner{width: 5rem;}
    .fixed_banner p,.fixed_banner>div{width: 5rem;height: 5rem;}
    .fixed_banner p .tt{font-size: 0.7rem;}
    .fixed_banner p .tt::before{transform: scale(0.6);margin-bottom: 0 !important;}
    .logo{max-width: 20%;}
    .nav_pc{margin-right: 2rem;}
    .nav_pc>ul>li>a{padding: 0 1rem;}
    .nav_pc>ul>li>a, .nav_pc>ul>li>p{font-size: 1.3vw;}
    .mv_illust{bottom: -20vw;left: -10vw;}
    .sec01_head{width: 60%;}
    .ttl_h4{font-size: 2.4rem;}
    .ttl .en{font-size: 2rem;}
    .ttl .ja{font-size: 3.5rem;}
    .ttl_h4 .num{font-size: 3.8rem;}
    .sec01_list li{padding: 3rem 5%;}
    .sec01_list li .tt{font-size: 2.2vw;}
    .sec01_list li .des{font-size: 1.6vw;}
    .sec01_frame_ttl{font-size: 2.2rem;transform: translateY(-3.5rem);}
    .sec01_frame_list li .tt{font-size: 1.4rem;}
    .sec01_frame_list{gap: 5%;}
    .sec02_search_step li{font-size: 1.8vw;height: 15rem;}
    .sec02_search_step li.st2{padding-left: 5%;}
    .sec02_search_step li.st3{padding-left: 13%;}
    .sec02_search_step li:not(:last-child)::after{width: 5.5rem;}
    .sec02_search_head .tt{font-size: 2rem;}
    .sec02_search_head .key{font-size: 1.6rem;width: 15rem;}
    .secbnn_box .ttl{width: 27%;}
    .secbnn_box .ttl .ja{font-size: 2.8rem;}
    .secbnn_body{width: 65%;}
    .secbnn_body::before{left: -7%;}
    .sec03_chart_list .item.st1 .ico{transform: translateX(0.8rem) scale(0.6);margin-bottom: -50px;}
    .sec03_chart_list .item.st2 .ico{transform: translateX(0.5rem) scale(0.6);margin-bottom: -50px;}
    .sec03_chart_list .item.st3 .ico{transform: translateX(0.8rem) scale(0.6);margin-bottom: -50px;}
    .sec03_chart_list .item.st4 .ico{transform: translateX(0.8rem) scale(0.6);margin-bottom: -50px;}
    .sec03_chart_list .item .ja{font-size: 2.4vw;}
    .sec04_item .tt{font-size: 1.3rem;}
    .sec04_item .tt .num{font-size: 2rem;}
    .secbnn2_box{max-width: 60vw;margin: 0 auto;}
    .secbnn2_body::before{left: -20vw;transform: scale(0.8);}
    .secbnn2_body::after{right: -20vw;transform: scale(0.9);}
    .sec06_flow dl{padding: 0 2.5vw 3rem}
    .sec06_flow dl dt{font-size: 5rem;}
    .sec06_bnr dl dd{font-size: 2rem;}
    .sec06_bnr dl dd .num{font-size: 5rem;}
    .faq_list dl dt, .faq_list dl dd{font-size: 1.8rem;}
    .faq_list dl dt span{font-size: 2.4rem;}
    .ft_add dd{font-size: 1.2rem;}
    .ft_add dd::before{top: 2px;}
    .ft_social li a{width: 8rem;height: 8rem;}
    .ft_social li a img{transform: scale(0.8);}
    .ft_cta{width: 45%;}
    .ai_chat{width: 6rem;height: 6rem;}
    .ai_chat img{transform: scale(0.8);}
    footer{padding-bottom: 20rem;}
    .nav_links{width: 60%;gap: 2%;}
    .nav_links > ul{width: 48%;}
    .nav_medical{width: 35%;}
    .sec01::after,.secbnn::after,.secbnn2::after,footer::before, footer::after{width:calc(100% + 2px);left: calc(50% - 1px);}
     .mv::before, .mv::after{width: calc(100% + 1px);left: calc(50% - 1px);}
     .faq_list dl dt{min-height: 9.4rem;}
    .sec04::before{left: -1px;}
    .sec04::after{width: calc(100% + 2px);left: calc(50% - 1px);}
    .sec03::before{left: calc(50% - 1px);}
    .secbnn_body .des{letter-spacing: 0;}


}
@media screen and (min-width: 769px) and (max-width:960px){
    .sec06_flow dl{padding: 0 1vw 2rem;}
}
@media screen and (max-width: 768px) {
    img{max-width:100%; height: auto;}
    .swap img{width:auto;}

    #wrapper,
    header,
    main,
    footer,
    .inner{width:100%!important;min-width:unset!important}
    .pc{display:none!important}

    :root{
        --hamburger: 60px;
        --fs: 1.6rem;
    }
    .wrapper_screen{
        --space: 0;
    }
    /*==========================================================
                        H E A D E R
    ==========================================================*/
    .logo{max-width: 187px;}
    .h_right{padding-right: 0;}
    .ovh header, .h_box{padding: 2rem 20px;}
    #nav-icon{width: 26px;}
    #nav-icon.open { width: 3.4rem; height: 1.3rem; margin: -4rem -2.5rem 0 0; }
    .nav_logo{max-width: 187px;left:20px;top: 25px;}
    .nav_box{flex-direction: column;justify-content: flex-start;padding-top: 10rem;}
    .nav_links{width: 100%;margin-bottom: 50px;}
    .menu_toggle p img{width: 210px;}
    .nav_links > ul li{margin-bottom: 0.5rem;}
    .nav_links > ul li a{text-align: center;font-size: 1.4rem;}
    header.active .h_box .logo{width: 13.6rem;}
    /*==========================================================
                    M A I N    C O N T E N T
    ============================================================*/
    .mv{height: 129.334vw;}
    .mv_tt{font-size: 8vw;margin-bottom: 0.5rem;}
    .mv_tt .lg{font-size: 10.66666vw;}
    .mv_tt .lg2{font-size: 12vw;}
    .mv_des {font-size: 4.26666vw;}
    .mv_illust{width: 80vw;left: -14vw;bottom: -19vw;max-width: 580px;}
    .mv_box::after{bottom: -29vw;max-width:44%;}
    .mv .inner{padding: 0 3.7rem 7%;}
    .mv_box::before{max-width: 55%;}
    .mv::after{background: url('../images/mv_bg_sp.jpg') no-repeat center /cover;}
    .mv::before, .mv::after{width: calc(100% + 1px);left: calc(50% - 1px);}
    .ttl{padding-bottom: 2rem;margin-bottom: 3rem;}
    .ttl .en{font-size: 2rem;}
    .ttl .ja{font-size:2.8rem;}
    .ttl .ja .sm{font-size: 2rem;}
    .ttl_h4{font-size: 2rem;text-align: center;}
    .ttl_h4 .num{font-size: 3rem;}
    .btn a{font-size: 1.8rem;}

    .sec01{padding: 44vw 0 5rem;}
    .sec01 .ttl_h4{text-align: left;}
    .sec01::before {width: 180vw; height: 135vw; left: -58vw; top: -18vw;}
    .sec01_box::after{width: 50%;height: 100rem;}
    .sec01_head{margin-bottom: 30px;}
    .sec01_list{max-width: 460px;margin: 0 auto;}
    .sec01_list li{padding: 0 2rem 3rem;}
    .sec01_list li:not(:last-child){margin-bottom: 15px;}
    .sec01_list li:not(:last-child)::after{width: 4rem;height: 8rem;transform:rotate(90deg);left:calc(50% - 2rem);bottom: -4.5rem;}
    .sec01_list li .tt{font-size: 2rem;}
    .sec01_list li .ico{margin-bottom:-2rem;}
    .sec01_list li .ico img{transform: scale(0.7);}

    .sec01_body{margin-bottom: 70px;}
    .sec01_frame{padding: 0 2rem 4rem;}
    .sec01_frame_ttl{font-size: 1.8rem;padding: 1rem 1.5rem;line-height: 1.6;margin-bottom:-10px;}
    .sec01_frame_ttl::after{width: 3rem;height: 2rem;}
    .sec01_frame_list{display: flex;flex-wrap: wrap;justify-content: center;gap:20px;}
    .sec01_frame_list li{width: 200px;}
    .sec01_frame_list li .img{text-align: center;}
    .sec01_frame_list li .img img{width: 160px;}
    .sec01_frame_list li .tt{font-size: 1.4rem;}


    .sec02{padding: 5rem 0;}
    .sec02::after{width: 60%;height:80vw;clip-path: polygon(100% 0, 50% 100%, 100% 100%);}
    .sec02::before{width:50%;height: 110%;}
    .sec02_search_head{flex-direction: column;justify-content: center;align-items: center;padding: 2rem 15px 1rem;}
    .sec02_search_head .key{margin-bottom: 10px;font-size: 1.6rem;width: 16rem;height: 3rem;}
    .sec02_search_head .tt{font-size: 2rem;}
    .sec02_search_step li{height: clamp(40px,20vw,100px);font-size: clamp(9px,3vw,1.6rem);padding-bottom: 0;}
    .sec02_search_step li.st1{padding-left: 1vw;}
    .sec02_search_step li.st2{padding-left: 6vw;}
    .sec02_search_step li.st3{padding-left: 5vw;}
    .sec02_search_step li.st4{padding-left: 3vw;}
    .sec02_search_step li:not(:last-child)::after{width: 2rem;}
    .secbnn{padding: 5rem 0;}
    .secbnn_box .ttl .ja{font-size: 2.6rem;}
    .secbnn_box .ttl .en{font-size: 1.8rem;}
    .secbnn .ttl::after{background-color: #3b7fcc;height: 1px;}
    .secbnn_body .des{text-align: center;}


    .sec03{padding: 5rem 0;}
    .sec03::before, .sec03_box02::after{width: 90%;height:120%}
    .sec03::after{width: 30%;height: 50vw;}
    .sec03_box::after{width:50%;}
    .sec03_chart_list .item .ja{font-size: 2.8vw;}
    .sec03_chart_list .item .en{font-size: 2.4vw;margin-bottom: 0;}
    .sec03_chart_list .item .ico{width: 14vw;margin-bottom: -2vw;}
    .sec03_chart_logo{padding-top: 2vw;}
    .sec03_chart_logo img{width: 14vw;}
    .sec03_chart_list .item:nth-of-type(even){width: calc(50% - 0.5rem);height: calc(100% - 1rem);}
    .sec03_chart_list .item:nth-of-type(odd){width: calc(100% - 1rem);height: calc(50% - 0.5rem);}
    .sec03_chart_list .item.st1{top: 0;left: 0.5rem;}
    .sec03_chart_list .item.st2{top: 0.5rem;right:0;}
    .sec03_chart_list .item.st3{bottom: 0;left: 0.5rem;}
    .sec03_chart_list .item.st4{left: 0;top: 0.5rem;}
    .sec03_box02::before{width: 35vw;top: 14vw;left: 3vw;max-width: 20rem;}
    .sec03_box::before{width: 70vw;height: 50vw;}

    .sec04{padding: 5rem 0;}
    .sec04_head{margin-bottom:4rem;}
    .sec04_head .des .lg{font-size: 1.8rem;}
    .sec04_item:not(:last-child){margin-bottom: 30px;}
    .sec04_item .tt{font-size: 1.8rem;}
    .sec04_item .tt .num{font-size: 3rem;}
    .sec04_item .thumb{margin-bottom: 2rem;text-align: center;}
    .sec04_item.st3::after{transform: scale(0.3) rotate(90deg);left: -6.5rem;bottom: -3rem;}

    .sec01::after,.secbnn2::after,.sec04::after,.sec06::after{width: calc(100% + 2px);left: calc(50% - 1px);}

    .sec05{padding:5rem 0}
    .sec05::before{width:30vw;height: 50%;}
    .sec05::after{width:20vw;height: 60%;}
    .sec05_carousel_item .box{padding: 2rem 1.5rem 1.5rem;}
    .sec05_carousel_item{width: 30rem;margin: 0 1rem;}
    .sec05_carousel_item .posi{font-size: 1.1rem;}
    .sec05_carousel_item .tt{font-size: 1.8rem;}
    .sec05 .slick-list{margin-bottom: 3rem;}
    .slick-prev,.slick-prev:focus{left: calc(50% - 10rem);}
    .slick-next,.slick-next:focus{right: calc(50% - 10rem);}
    .slick-dots li:not(:last-child){margin-right: 0.2rem;}
    .secbnn2{padding: 5rem 0 20rem;}
    .secbnn2::before{width:49vw;clip-path:polygon(calc(100% - 20vw) 0%, 100% 0, 100% 100%, 0% 100%);}
    .secbnn2_body::before{top: calc(100% + 2rem);width: 12rem;left: calc(50% - 15rem);}
    .secbnn2_body::after{top: calc(100% + 2rem);width: 12rem;right: calc(50% - 15rem);}
    .sec06::before{width: 60vw;height: 35.2vw;}
    .sec06_flow::after{width: 10px;height: 100%;top: 0;left: 90%;}
    .sec06_flow{padding: 0 1rem;}
    .sec06_flow dl:not(:last-child){margin-bottom: 20px;}
    .sec06_flow dl{padding: 0 2rem 2rem;}
    .sec06_flow dl dt{font-size: 4rem;transform: translateY(-4rem);margin-bottom: -5rem;}
    .sec06_flow dl dd .tt{font-size: 2rem;margin-bottom: 0;text-align: center;}
    .sec06_box01{margin-bottom: 50px;}
    .sec06{padding: 5rem 0;}
    .sec06_bnr{max-width: 560px;margin: 0 auto 10px;}
    .sec06_note{max-width: 560px;margin: 0 auto;}
    .sec06_bnr dl:not(:last-child){margin-bottom: 20px;}
    .sec06_bnr dl dt{font-size: 1.8rem;padding: 0.5rem 1rem;}
    .sec06_bnr dl dd{font-size: 1.6rem;padding:1.5rem 1rem 2rem;}
    .sec06_bnr dl dd .num{font-size: 4rem;}
    .sec06_bnr dl dd .min{font-size: 1.2rem;}
    .sec06_note{font-size: 1.4rem;}
    .sec06_step{position: absolute;width:5rem;height: calc(100% + 6rem);left: 10px;top: 10rem;display: flex;flex-direction: column;--width_space:-15.5rem;}
    .sec06_step > div{width: 100%;height: 33.33%;clip-path: polygon(100% 0, 100% calc(50% - var(--width_space)), 50% 100%, 0 calc(50% - var(--width_space)), 0 0);margin-bottom: -6rem;}
    .sec06_step > div:last-child{margin-bottom: 0;}


    .sec07{padding: 5rem 0;}
    .faq_list dl dt, .faq_list dl dd{padding: 1rem 1.5rem;}
    .faq_list dl dt{font-size: 1.8rem;padding-right: 3.5rem;}
    .sec06_box::after{width: 60vw;height: 50%;}
    .sec07::before{width: 40vw;height: 70%;}
    .faq_list{gap: 2rem;grid-template-columns: repeat(1,1fr);}
    .faq_list dl dt span{font-size: 2.4rem;padding-top: 0.2rem;}
    .faq_list dl::before{width: 50%;}
    .faq_list dl dt::before, .faq_list dl dt::after{right: 15px;}

    /*==========================================================
                            F O O T E R
    ==========================================================*/
    footer{padding: 5rem 0 10rem;}
    footer::before, footer::after,.secbnn::after{width: calc(100% + 2px);left: calc(50% - 1px);}
    .ft_logo{margin-bottom: 3rem;}
    .ft_logo img{width: 281px;}
    .ft_tt{margin-bottom: 2rem;}
    .ft_tt .ja{font-size:2.8rem;}
    .ft_tt .en{font-size: 1.8rem;}
    .copyright{margin-bottom: 60px;}
    .ft_add{margin-bottom: 2rem;}
    .ft_add dt{font-size: 2rem;}
    .ft_add dd{font-size: 1.4rem;}
    .ft_add dd::before{top: 0.5rem;}
    .ft_add dt:not(:first-child){margin-top: 2rem;}
    .ft_tel{text-align: center;}
    .ft_info{margin-bottom: 20px;}
    .ft_social li a{width: 6rem;height: 6rem;}
    .ft_social li a img{width: 22px;}
    .ft_logo2 img{width: 200px;}
    .ft_social{margin: 2rem 0 2rem;}
    .ft_box{max-width: 320px;margin-left: auto;margin-right: auto;}
    .ft_tel a{font-size: 3rem;padding-left: 3.5rem;}
    .ft_tel a::before{width: 2.5rem;height: 2.5rem;top: calc(50% - 1rem);}
    /* to top */
    .to_top{bottom: 7rem;left:1rem}
    .to_top a img{bottom:0;position:absolute}
    .to_top .line{height: 4rem;}
    .to_top .txt{font-size: 0.8rem;}
    .ai_chat{width: 4.5rem;height: 4.5rem;right: 1.5rem;bottom: 6.5rem;}
    .ai_chat img{width: 22px;}

    /* FIXED BANNER */
    .fixed_banner{top: inherit;bottom: -55px;width: 100%;display: flex;height: 55px;}
    .fixed_banner.active{bottom: 0;}
    .fixed_banner>div{width: calc(100% / 3);}
    .fixed_banner p .tt{display: flex;justify-content: center;align-items: center;flex-direction: row;}
    .fixed_banner p .tt::before{margin-right: 1rem;margin-bottom: 0 !important;}
    .fixed_banner .mail p .tt::before{width: 13px;}
    .fixed_banner .web p .tt::before{width: 15px;}
    .fixed_banner .line p .tt::before{width: 16px;}
}

/*============ END 750 ============ */

@media screen and (max-width: 640px) {
    .cta_box .btn{width: 100%;}
    .sec02::before{height:80%;}

}
/* screen-max:460px */
@media screen and (max-width: 440px) {
    .sp440 {display: block !important;}
    .pc440{display: none !important}
    .ft_bnn li{width: 100%;}
     .sec03_box02::before{width: 84vw}
     .mv_illust{width: 89vw; bottom: -20vw; left: -18vw;}
     .sec03_chart_list .item .ico{width: 5.7rem;}

}

/* screen-max: 375px */
@media screen and (max-width: 374px) {
    html{font-size: 54%;}
    .ttl .ja{letter-spacing: 0;}
    .sec01 .ttl_h4{letter-spacing: 0.1rem;}
    .sec02_search_step li{font-size: clamp(9px,2.2vw,1.6rem);}
    .sec06_flow dl dd .tt{font-size: 1.8rem;}
}