.sp440{display:none}

@media screen and (min-width: 768px) {
    .sp{display:none !important}
    /* NAV */
    nav{margin: 0 0 0 auto;}
    .h_box{height: 8rem;}
    .h_box.active .nav_list>li>a,
    .h_box.active .nav_list>li>.hook {color: #404040;}
    .h_inner{padding: 0 0 0 1.45%;width: 100%;margin: 0 auto;}
    .hamburger{display:none;}
    .nav_list{display: flex;justify-content: space-between;}
    .nav_list>li>a,
    .nav_list>li>.hook{display:flex;align-items:center;position:relative;font-weight: 500;padding: 0.5rem 3rem;font-size: 1.5rem;color: #FFF;height: 8rem;}
    .nav_list>li.parent{position:relative;}
    .nav_list>li.parent>.hook{cursor:default}
    .sub{position:absolute;z-index:1;transition:all .3s;border-top:solid 0.1rem #FFF;width:30rem;top:100%;left:0;}
    .sub ul li a{font-size:1.6rem;display:flex;width:100%;height:6rem;align-items:center;letter-spacing:.001em;padding:0.5rem 3.5rem;margin:0 auto;border-bottom:solid 0.1rem #FFF;color:#fff;background:var(--mcolor);}
    .mv_bg,.mv_slider_ite{height: 94rem;max-height: 104vh;min-height: 80vh;}

    /* CUSTOM */
    .find_a,.find_out{cursor: pointer;}

    /* HOVER */
    .btn a:hover,.btn a.hv,.h_contact a:hover,
    .slick-next:hover,.slick-prev:hover,.to_top:hover,.ft_cta:hover{background-color: #AEAEAE !important;}
    .nav_list>li:hover>a{background-color: #A6A7A7;color: #FFF !important;}
    .parent:not(:hover) .sub{display: none;}
    .parent:hover .sub{transform:translate(0,0);}
    .sub a:hover{background-color:var(--scolor);text-decoration: none;}
    .project_list dl dt{position: relative;}
    .project_list dl dt img{transition: all 0.3s;}
    .project_list dl dt::after{content: '';position: absolute;width: 100%;height: 100%;top: 0;left: 0;transition: 0.3s;background-color: rgba(0,0,0,0.3);opacity: 0;}
    .project_list dl:hover dt img{transform: scale(1.05);}
    .project_list dl:hover dt::after{opacity: 1;}

}

@media screen and (min-width: 768px) and (max-width: 1500px){
    .mv_note{bottom: 1.5rem;}
    .mv_bg,.mv_slider_ite{height: calc(100vh - 10px);}
    .mv_box{padding: 50px 5% 0;}
    .slick-prev,.slick-prev:focus{left:-50px;}
    .slick-next,.slick-next:focus{right:-50px;}
    .slick-prev, .slick-next, .slick-prev:focus, .slick-next:focus{width: 60px;height: 60px;}
}
@media screen and (min-width: 768px) and (max-width: 1240px){
    html{font-size:clamp(55%,0.520834vw,62.5%);}
    .mv_ttl .lg{font-size: 4.2vw;}
    .mv_ttl img{width: 35rem;}
    .nav_list>li>a, .nav_list>li>.hook{padding: 0 2vw;}
    .mv_ttl{line-height: 1.5 !important;}
    .sec01_list dl{padding: 4rem 2rem;}


}
@media screen and (max-width: 1240px){
    .sec02_list{width: calc(100% + 30px);margin-left: -15px;margin-bottom: 3rem;}
    .sec02_list dl{margin: 0 1rem;}
    .project_list:not(.sec02_list){gap:3rem 2rem;grid-template-columns: repeat(2,1fr);}
    .project_list dl dd .tt{font-size: 1.6rem;}
    .slick-prev, .slick-next, .slick-prev:focus, .slick-next:focus{width: 4rem;height: 4rem;}
    .slick-prev,.slick-prev:focus{left:0.5rem;}
    .slick-next,.slick-next:focus{right:0.5rem;}
    .slick-next:hover,.slick-prev:hover,.slick-prev,.slick-prev:focus,.slick-next,.slick-next:focus{background-size:1rem;top: calc(50% - 2rem);}

}

/* screen-min:767px */
@media screen and (max-width: 767px) {
    input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd, del{font-size: 1.4rem;}
    img{max-width:100%; height: auto;}
    #wrapper,header,main,footer,.inner{width:100%!important;min-width:unset!important}
    .pc{display:none!important}
    body.is_nav{overflow: hidden;}
    body.is_nav .h_box{background-color: #FFF;}
    body.is_nav .h_box .hamburger-inner,body.is_nav .h_box .hamburger-inner::after,body.is_nav .h_box .hamburger-inner::before{background-color: var(--txt);}
    body.mac nav{padding-bottom: 160px;}
    /* NAV */
    nav{display:block;position:fixed;top:60px;left:0;width:100%;height:calc(100vh - 60px);overflow:auto;z-index:100;display:none;background: #FFF;padding: 80px 60px 80px;}
    nav .inner{padding: 0;}
    .nav_list{flex-direction:column}
    .nav_list ul,
    .nav_list li{width:100%}
    .nav_list li:not(:last-child){margin-bottom: 3.9rem;}
    .nav_list .parent .sub ul li{background: #fff;}
    .nav_list .parent .sub ul li:not(:last-child){border-bottom:1px solid var(--mcolor)}
    .nav_list .hook, .nav_list a{display:block;font-size:1.6rem;font-weight:bold;}
    .nav_list .hook{position:relative;padding-left:15px}
    .nav_list .hook::before,
    .nav_list .hook::after{content:"";position:absolute;width: 16px; height: 2px; background-color: #FFF;top:calc(50% - 1px);right:10px; transition: all 0.3s;}
    .nav_list .hook::after{transform: rotate(-90deg);}
    .nav_list .hook.open::after{transform: rotate(0);}

    .sub{display:none}
    .sub ul:not(:last-child){margin-bottom:15px}
    .sub a{color:var(--mcolor);border-bottom:none;}
    .hamburger{position:absolute;right: 13px;bottom: 10px;font:inherit;display:block;overflow:visible;margin:0;cursor:pointer;transition-timing-function:linear;transition-duration:.15s;transition-property:opacity,filter;text-transform:none;color:inherit;border:0;z-index: 101}

    /*=====================================================
                          C U S T O M
    ======================================================*/

    /*============ HEADER ============*/
    .h_box{height:60px}
    #logo{width: 13rem;}
    .logo_part{width: 10.5rem;}
    .btn a{width:24rem;height: 5.6rem;}
    .h_logo{gap: 2.2rem;}
    .h_logo .logo_part::before{left: -12px;top: calc(50% - 10px);height: 20px;}

    /*============ Main ============*/
    main{padding-top: 60px;}
    /* MAIN VISUAL */
    .mv_bg,.mv_slider_ite{height: 100%;}
    .mv_box{padding: 0 2rem 3.7rem;min-height: 30.7rem;display: flex;flex-direction: column;justify-content: center;position: relative;}
    .mv_box::after{content: "";position: absolute;width: 20rem;height: 20.2rem;background: url('../images/mv_box_bg_sp.png') no-repeat center /contain;z-index: -1;top: calc(50% - 12.1rem);left: calc(50% - 11rem);}
    .mv_ttl{margin-bottom: 1.5rem;font-size:1.8rem;line-height: 1.63;}
    .mv_ttl img{width: 13.3rem;transform: translateY(-0.1rem);margin-right: 0.5rem;}
    .mv_ttl .lg{font-size: 1.8rem;}
    .mv_ttl .big{font-size: 3rem;}
    .mv_en{font-size: 1.5rem;}
    .mv_en::before{top: 1rem;background-color: #404040;}
    .mv_note{top: -2.3rem;right: 0.5rem;font-size: 0.8rem;}
    .mv_scroll{cursor: pointer;position: absolute;z-index: 1;right:2.9rem;bottom:3rem;}
    #main_ttl{position: absolute;top: 3rem;}
    .desc{font-size: 1.6rem;}

    .mv_slider{padding-top: 3rem;}
    .mv_slider_ite .bg_box{height: 65.07vw;position:relative;z-index: 2;display: flex;justify-content: center;align-items: center;padding: 3rem 0;}
    .mv_slider_ite .bg_box::after{content: "";position: absolute;background-color: #EDEDED;width: calc(100% - 2rem);right: 0;height: 100%;top: 0;z-index: -1;}
    .mv_slider_ite .bg_box_hide{height: 100%;overflow: hidden;width: 100%;}
    .mv_slider_ite .bg{height: 100%;background-size: cover;width: 100%;overflow: hidden;}

    .ttl_h2{font-size: 1.4rem;}
    .ttl_h2_en{font-size: 2.8rem;margin-bottom: 0.8rem;}
    .ttl_h2:not(:last-child){margin-bottom:2rem;}
    .h_contact{width: 22rem;height:5rem;margin: 40px auto 0 auto;}

    /* sec01 */
    .sec01{padding:3rem 0 0;position: relative;border-top: 1px solid #C1C1C1;}
    .sec01_list{flex-direction: column;padding: 0 15px;align-items: center;}
    .sec01_list dl{padding: 2rem 15px;border-right: 1px solid #C1C1C1;}
    .sec01_list dl:not(:last-child)::after{content: '';position: absolute;width: 100vw;height: 1px;background-color: #C1C1C1;bottom: 0;left: calc(50% - 50vw);}
    .sec01_list dl dt{margin-bottom: 5px;}
    .sec01_list dl dt .ico{margin: 0 auto 2rem;width: 130px;height: 130px;}
    .sec01_list dl dt .ico img{width: 55px}
    .sec01_list dl dt .tt{margin:0;font-size: 1.8rem;}
    /* sec02 */
    .cat{font-size: 1rem;padding: 0.1rem 1rem;}
    .sec02{padding: 4rem 0 6rem;}
    .sec02_head{margin-bottom: 20px;}
    .sec02_list dl:not(:nth-of-type(-n + 3)){display: none !important;}
    .project_list dl{margin: 0 auto;width: 255px;}
    .project_list dl:not(:last-child){margin-bottom: 4rem;}
    .project_list dl dt{margin-bottom: 0.9rem;}
    .project_list dl dd .tt{font-size: 1.3rem;}
    .sec02_category{margin-bottom: 4rem;}
    .sec02_category li .ttl{padding: 1.3rem 1.5rem;font-size: 1.5rem;}

    /* sec03 */
    .sec03{padding: 0 0 4rem;}
    .sec03_table{margin-bottom: 4rem;}
    .sec03_table dl{padding: 1rem}
    .sec03_table dl dt{width: 110px;padding-top: 2px;}
    .sec03_table::after{width: 90vw;height: 90vw;left: calc(50% - 45vw);}
    .sec03_frame iframe{height: 199px;}

    .project_list:not(.sec02_list){gap:0 2rem;}
    .project_list:not(.sec02_list){max-width: 550px;margin-left: auto;margin-right: auto;}
    /*============ FOOTER ============*/
    .ft_logo{width: 18rem;margin: 0 auto 2rem;}
    .ft_box{padding: 3.5rem 0 4rem;margin-bottom: 4rem;}
    .ft_cta{padding: 3rem 1.5rem;gap:1rem 5rem;flex-wrap: wrap;}
    .ft_cta li a{font-size: 1.6rem;}
    .ft_cta li.ft_cta_cnt a{font-size: 2rem;}
    .ft_cta li.ft_cta_cnt a::before{top: calc(50% - 0.9rem);}
    address{padding: 1.5rem;}
    /* TO TOP */
    .to_top{width:50px;height:50px;right:10px;bottom: 10px;}

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


@media screen and (max-width: 560px) {
    .project_list:not(.sec02_list), .sec02_category{grid-template-columns: repeat(1,1fr);}
}

/* screen-max: 374px */
@media screen and (max-width: 374px) {
    html{font-size: 54%;}
    .mv_ttl.cus .lg{font-size: 1.8rem;}
    .mv_ttl .big{font-size: 2.8rem;}
}