.sp440{display:none}

@media screen and (min-width: 1921px) {
	.mv {height: 1200px;}
    .mv_bg::before,
    .sec03::before,
    .ft_top::before{width:100%;left:0}

    .sec02_w{background-repeat:repeat}
    .sec03::before,
    .ft_top::before{background-size:cover}
    .ft_bt{justify-content:center}
}

@media screen and (min-width: 751px) {
    a[href^="tel:"]{pointer-events:none}
    .sp{display:none}
    .hamburger{display:none}
    .nav_list{display:flex}
    .nav_list > li > a,
    .nav_list > li > .sub_btn{display:flex;align-items:center;position:relative;font-weight:700;padding:5px 0;height:49px;justify-content:center}
    .nav_list > li.parent{position:relative}
    .nav_list > li.parent > .sub_btn{cursor:default;padding-right:14px}
    .nav_list > li.parent:hover > .sub_btn::after{transform:rotate(0);opacity:0}
    .nav_list > li.parent:hover > .sub_btn{color:var(--scolor)}

    .sub{position:absolute;z-index:1;transition:all .3s;opacity:0;visibility:hidden;width:830px;top:100%;left:-65px;height:440px;padding-top:27px}
    .sub ul li.item2 .tt,
    .sub ul li.item5 .tt,.sub ul li.item6 .tt{width:190px}
    .sub ul li:not(:nth-child(3n)){margin-right:20px}

    .ft_bnn li:not(:last-child){margin-right:30px}
    
    nav{border-top:1px #CFCFCF solid;position:absolute;left:0;right:0;bottom:0;width:100%;background:#fff}
    #wrapper::after,
    nav::before{position:absolute;content:""}
    #wrapper::after{width:100%;height:100%;top:50px;left:0;background:#444;z-index:9;mix-blend-mode:multiply;opacity:0;visibility:hidden}
    nav::before{width:100%;height:5px;background:#4B4B4B;left:0;bottom:-5px;border-bottom: 1px solid #fff;}
    nav .inner{width:100%;padding:0 81px}
    
    header.active nav{position:fixed;bottom:auto;top:0}
    header.active nav::before{border-bottom: none;}
    body.active #wrapper::after{opacity:1;visibility:visible}
    

    .nav_list li{flex:auto;position:relative}
    .nav_list li:not(:last-child)::before{position:absolute;content:"";width:1px;height:30px;background:#6B6B6B;top:10px;right:0}
    .item6 .sec01_tt .ja{letter-spacing:-.06em}
    .sec02_link li:not(:nth-child(5n)){margin-right:20px}
    .sec02_wrap p{width: 50%;}

    .sec02_item > div:not(:nth-child(3n)){margin-right:40px}
    .sec03_item > div:not(:nth-child(3n)){margin-right:70px}
    .sec04 .sec04_txt p{top:8px}
    
    .sec06_item > div:not(:last-child){margin-right:55px}
    .fix_contact .contact_document a,.fix_contact .contact_mail a{-webkit-writing-mode:vertical-rl;-moz-writing-mode:vertical-rl;-ms-writing-mode:tb-rl;writing-mode:vertical-rl;-webkit-text-orientation:mixed;-moz-text-orientation:mixed;-ms-text-orientation:mixed;text-orientation:upright}
    .btn_w.h_over a:hover{background:url(../images/arrow_w.png) no-repeat right 10px center / 15px var(--scolor);color:#fff}
    .btn_black.h_over a:hover,
    .sec02_tab li a:hover{background-color:var(--scolor);color: #fff;}
    .sec02_link li a:hover{color:#fff;border-color:var(--scolor);background-color:var(--scolor)}
    .sec02_link li a:hover::before{background:url(../images/arrow_r_w.png) no-repeat center / 13px}

    .contact_document a,.contact_mail a{position:relative;z-index:1}
    .contact_document a::before,
    .contact_mail a::before{position:absolute;content:"";width:0;height:100%;background-color:rgba(255,255,255,0.2);left:0;top:0;z-index:-1;transition:all .3s}
    .contact_document a:hover::before,
    .contact_mail a:hover::before{width:100%}
    .sec03_item > div > a .img,
    .sec06_item > div > a .sec06_img,.sub ul li .img{overflow:hidden}
    .sec03_item > div > a img,
    .sec06_item > div > a img,.sub ul li .img img{transition:all .3s}
    .sec03_item > div:hover img,
    .sec06_item > div:hover > a .sec06_img img,
    .sub ul li:hover .img img{transform:scale(1.1)}
    .list_qa dl dt:hover{background-color:#E1E3EF;cursor:pointer}
    .list_qa dl dt.no_link:hover{background-color:#fff;cursor:default}

    /* HOVER */
    .ft_link ul li > a:hover,
    .nav_list > li:hover > a{color:var(--scolor);text-decoration:none}
    .parent:hover .sub{opacity:1;transform:translate(0,0);visibility:visible}
    .to_top img:hover,
    .sec02_item > div:hover,
    .sec04_step:hover,.h_contact_tel .addr:hover,.ft_btn a:hover{opacity:.8}
}

@media screen and (min-width: 751px) and (max-width: 1800px) {
    .mv{height:560px}
    .mv_txt h2 .lg{font-size:90px}
    .mv_txt h2 .sm{font-size:42px}
    .mv_txt h2 .sm .yl{font-size:57px}
    .mv_tt{width:710px;height:70px;font-size:28px;margin-bottom:15px}
    .mv_txt{padding-top:4px}
    .sec01_wrap::before{left:-40px}
    .sec04 .idx_w{left:0;width:100%}
    .sec04_step::before{right:0}
    .sec04_step{padding-right:50px}
	.sec04_step ul {justify-content: center;}
	.sec04_step ul::before {width: calc(100% - 50px);right: -30px;}
    .ft_info{width:480px;margin-right:35px}
    .ft_link ul:not(:last-child){margin-right:55px}
    .ft_link ul:nth-child(1){margin-left:10px}
}

@media screen and (min-width: 751px) and (max-width: 1600px) {
    .sec01_item > div:not(:nth-child(3n)){margin-right:30px}
    .sec01_item > div{width:calc(33.333% - 20px);padding:39px 20px 15px}
    .sec06_en{font-size:12vw;top:0;line-height:1}
    .ft_top .inner{padding: 0 70px}
    .h_contact_tel .tel{font-size: 40px;text-align: right;}
}

@media screen and (min-width: 751px) and (max-width: 1500px) {
    .inner{padding-left:30px;padding-right:30px}
    .h_inner{padding:0 0 0 10px}
    .h_txt{font-size:12px;max-width:620px}
    .mv{height:440px}
    .mv_txt h2{margin-bottom:15px}
    .mv_txt h2 .lg{font-size:70px}
    .mv_tt{width:650px;height:60px;font-size:26px;margin-bottom:6px}
    .mv_contact_mail a{height:60px}
    .h_contact_tel .tel{font-size:34px;padding-left:28px}
    .h_contact_tel .tel::before{background-size:24px auto;top:3px}
    .sub{left:-170px}
    nav .inner{padding:0}
    .sec01_tt .ja{font-size:28px}
    .sec01_wrap::before{left:-15px}
    .sec02_link,.sec02_item{max-width:1185px}
    .sec03_item > div:not(:nth-child(3n)){margin-right:60px}
    .sec03_item > div{width:calc(33.333% - 40.65px)}
    .sec04_step ul li:not(:last-child){margin-right:25px}
    .sec04_step ul::before {width: calc(100% - 10px);}
    .ft_top .h_contact_tel .tel{font-size:48px}
    .ft_top .h_contact_tel .tel::before{position:absolute;top:8px}
    .ft_top .box_wrap p:not(:last-child){margin-right:15px}

    .box_wrap{margin-left:30px}
    .box_wrap .contact_document a,
    .box_wrap .contact_mail a{width:235px}

    .ft_top .box_tt::before{left:-20px}
    .ft_link .inner{margin-right:25px}
    .ft_link ul:not(:last-child){margin-right:30px}
}

@media screen and (min-width: 751px) and (max-width: 1280px) {
    .h_contact > p:not(:last-child){margin-right: 10px;}
    .sec01_tt .ja{font-size:26px}
    .sec04_step ul{max-width:1200px;margin:0 auto}
    .sec04_step ul::before{width:1180px;right:-25px}

    .ft_info{width:380px;margin-right:35px}
    .ft_info_logo{width:300px}
    .ft_info_add{font-size:13px}
    .ft_btn a{width:170px;font-size:12px}
    .ft_bnr1{max-width:350px}

    .sec06_en{font-size:168px}
}

@media screen and (max-width: 750px) {
    h1,h2,h3,h4,h5,h6,input,button,textarea,select,p,blockquote,th,td,pre,address,li,dt,dd{font-size:14px}
    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}

    nav{display:block;position:fixed;top:50px;left:0;width:100%;height:calc(100vh - 50px);overflow:auto;padding-bottom:120px;z-index:100;display:none;background:#fff}
    nav .inner{padding:0}

    .nav_list{flex-direction:column;background:var(--mcolor)}
    .nav_list .sub_btn::before,
    .nav_list .sub_btn::after{background-color:#fff;right:15px}

    .nav_list ul,
    .nav_list li{width:100%}
    .nav_list .parent .sub ul li{background:#fff;margin-bottom:20px}
    .nav_list .parent .sub ul li:not(:nth-child(2n)){margin-right:14px}
/*    .nav_list .parent .sub ul li:not(:last-child){border-bottom:1px solid var(--mcolor)}*/

    .nav_list .sub_btn,.nav_list a{display:block;padding:13px 15px 12px;color:#fff;font-size:16px;font-weight:600;border-bottom:solid 1px #fff}
    .nav_list .sub_btn{position:relative;padding-left:15px}

    nav .box_tt{background:#000;color:#fff;display:table;margin:0 auto 25px;padding:8px;text-align:center;line-height:1.5;font-size:12px;width:280px}
    nav .infor_sp{width: 280px;margin:0 auto;}
    nav .infor_sp .map{line-height: 1.25em;font-size: 12px;position: relative;padding-left: 22px;display: inline-block;}
    nav .infor_sp .map::before{width: 17px;height: 22px;background: url('../images/icon_map.png') center /cover no-repeat;position: absolute;top: 4px;left: 0;content: '';}

    .hamburger{right:1%;bottom:8px;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}

    .sub{display:none;background:#fff}
    .sub a{color:var(--mcolor);border-bottom:none;padding:0}
    .sub ul{padding:15px 15px 0}
    .sub ul:not(:last-child){margin-bottom:15px}
    .sub ul li{width:calc(50% - 7px);height:auto;flex-grow:1;flex-shrink:0}
    .sub ul li .tt{width:160px;font-size:11px;padding-left:15px;background-position:right 8px center;height:30px}
    .sub ul li .img{width: 100%;}
    .sub ul li .img img{width:100%;height: 100%;object-fit: cover;}
    .sub .btn a{color:#fff;display:flex}
    

    .tel_sp{background:url('../images/icon_tel.png') no-repeat left center/27px;width:30px;height:100%;margin:0 10px 0 0;}
    .tel_sp a{width: 100%;height: 100%;display: block;}

    .h_txt{display:none}
    #logo{width:240px}
    .h_box{height:50px;position:fixed;padding-bottom:0;padding-top:5px;border-bottom: 3px solid #4B4B4B;}
    .h_inner{}

    main{padding-top:50px}

    .mv,
    .mv_bg{height:100vw;margin-top: 0;}
    .mv_txt h2{margin-bottom:2vw}
    .mv_txt h2 .sm{font-size:6vw;margin-bottom:1vw;line-height:8vw}
    .mv_txt h2 .sm .yl{font-size:5vw}
    .mv_txt h2 .lg{font-size:7vw}
    .mv_tt{width:auto;height:auto;font-size:4.2vw;letter-spacing:.03em;margin-bottom:4vw;line-height:6vw;padding:2vw 5vw;display:table}
	.mv_tt .sm {top: 0;}
    .mv_contact_mail a{width:260px;height:50px;font-size:17px}
    .mv_contact_mail a .icon{padding:1px 0 4px 25px;background-size:20px auto}
    .mv_txt{padding-top:0}

    .sec01{padding-top:50px}
    .sec01_item > div:not(:nth-child(3n)){margin-right:0}
    .sec01_item > div:not(:nth-child(2n)){margin-right:20px}
    .sec01_item > div{width:calc(50% - 10px);padding:20px 15px;margin-bottom:30px;height:auto}
    .sec01_item{padding-top:50px}
    .sec01_tt{margin-bottom: 15px;padding-bottom: 10px;}
    .sec01_tt .ja{font-size:20px}
    .sec01_item > div::before{left:15px;top:-7px;background-size:20px auto}

    .sec02{padding-top:30px}
    .sec02_tab{width:calc(100% - 20px)}
    .sec02_tab li a{font-size:15px}
    .sec02_tab li{height:50px}

    .sec02_link{margin-bottom: 30px;}
    .sec02_link li{width:calc(50% - 5px);height:50px;margin-bottom:10px}
    .sec02_link li:not(:nth-child(2n)){margin-right:10px}
    .sec02_link li a{border-width:2px;font-size: 16px;}
    
    .sec02_box{padding:0 10px}
    .sec02_w{background-repeat:repeat;padding-bottom:50px}
    .sec02_item > div:not(:nth-child(2n)){margin-right:20px}
    .sec02_item > div{width:calc(50% - 10px);padding:10px 10px 8px;box-shadow:0 1px 3px rgba(0,0,0,0.16);margin-bottom:20px}
    .sec02_item .title{font-size:16px;padding-left:12px;padding-top: 5px;margin-bottom:8px;margin-left:6px;line-height: 1.4;}

    .sec02_wrap{padding-left:0;flex-direction:column}
    .sec02_wrap p .bg{width:54px;height:26px;flex-shrink:0;font-size:13px}

    .sec02_item .title::before{width:2px;height: 100%;}
    .sec02_item{margin:0 auto 10px}

    .sec03{padding-top:50px;padding-bottom:50px}
    .sec03_txt{}
    
    .sec03_item{margin-bottom:20px;width:100%}
    .sec03_item > div{width:calc(50% - 10px);margin-bottom:40px}
    .sec03_item > div .img,.sec03_item > div .img img{width:100%}
    .sec03_item > div:not(:nth-child(2n)){margin-right:20px}
    .sec03_item > div > a .tt{left:-7px;bottom:-15px;width:100%;height:50px;font-size:14px;padding-left:15px;background-size:12px auto;background-position:right 15px center;padding-right: 30px;line-height: 1.5em;}
    .sec03::before{background:url(../images/idx_bg_02_sp.jpg) no-repeat center top /cover;left:0;width:100%}

    .sec04{padding-top:50px;padding-bottom:0}
    .sec03_txt p,
    .sec04_txt p{font-size:16px;top:0;line-height:1.5;text-align: center;}
    .sec04 .idx_w{margin-bottom:30px;left:0;width:100%}
    .sec04_step ul{flex-wrap:wrap;justify-content:center}
    .sec04_step ul li{width:calc(50% - 15px);margin-bottom:25px}
    .sec04_step ul li:not(:last-child){margin-right:0}
    .sec04_step ul li:not(:nth-child(2n)){margin-right:30px}
    .sec04_step ul::before{width:50px;height:100%;right:0;top:0;margin:0 auto;left:0;clip-path:polygon(0 0,100% 0%,100% 98%,50% 100%,0 98%)}

    .sec05{padding:60px 0 50px}
    .sec05 .ttl2 .lg{font-size:24px}
    .sec05 .ttl2 .sm{font-size:14px}
    .sec05 .ttl2{margin-bottom:30px}

    .list_qa .tt{font-size:16px;line-height:1.5}
    .list_qa .icon_q,.list_qa .icon_a{font-size:26px;margin-right:15px}
    .list_qa dl dt{padding:13px}
    .list_qa dl dd{padding:13px}
    .list_qa dl:not(:last-child){margin-bottom:20px}
    .list_qa{margin-bottom:40px}
    .sec06{padding:50px 0}
    .sec06_item{flex-direction:column;max-width:410px;margin:0 auto}
    .sec06_item > div .tt{bottom:15px;width:170px;height:40px;font-size:16px;padding-left:15px}
    .sec06_en{font-size:13vw;top:0;line-height:1}
    .sec06_item > div:not(:last-child){margin-bottom:40px}

    .h_contact_tel .time{width:auto;margin:10px auto 0;display:table}
    .box_con_ft{flex-direction:column;align-items:center;margin-bottom:25px}
    nav .box_con_ft{padding-top:30px}
    .ft_top .h_contact_tel .tel{font-size:32px;padding-left:30px}
    .ft_top .h_contact_tel .tel::before{left:0;top:0;background-size:20px auto}
    .ft_top .ttl.ttl_left::before{top:28px}
    .ft_top .h_contact_tel .time .tt{height:22px;font-size:13px;line-height:22px;width:70px}

    .h_contact_tel .time .txt{font-size:14px}
    .btn a,.btn.btn_w a,.btn.btn_black a{width:280px;height:50px;font-size:16px;background-size:12px auto}
    .ttl .en{font-size:30px}
    .ttl.ttl_left .en::before{width:20px;height:2px;top:12px;left:0}
    .ttl.ttl_left{padding-left:0;text-align:center;display:flex;margin:0 auto 25px;flex-direction:column;align-items:center}
    .ttl.ttl_left .en{padding-left:25px}
    .ttl2 .lg{font-size:25px;margin-bottom:10px}
    .ttl2 .sm{font-size:16px}
    .idx_w{margin-bottom:40px;left:0;width:100%;flex-direction:column;align-items:center}
    .idx_w .ttl.ttl_left{margin-bottom:20px;text-align:center;display:flex;flex-direction:column;align-items:center}

    footer{margin-bottom:50px}
    .ft_top{height:auto;padding-top:40px}
    .ft_top::before{background:url(../images/ft_bg_sp.jpg) no-repeat center top /cover;width:100%;left:0}
    .box_wrap{margin-left:0;flex-direction:column}
    .box_wrap p:not(:last-child){margin-bottom:20px}
    .ft_top .box_wrap p:not(:last-child){margin-right:0}
    .contact_document a span{padding:15px 0 15px 35px;background-size:26px auto}
    .box_wrap .contact_mail a span{padding:15px 0 15px 35px;background-size:26px auto}
    .box_wrap .contact_document a,
    .box_wrap .contact_mail a{width:280px;height:70px;font-size:18px}

    .ft_top .inner{flex-wrap:wrap;justify-content:center;flex-direction:column;padding-bottom:50px}
    .ft_contact{display:flex;flex-direction:column;align-items:center}
    .ft_top .box_tt::before{width:100%;height:100%;left:0;bottom:0}
    .ft_top .box_tt{padding: 5px 10px;line-height:1.4;text-align:center}
    .ft_info{width:100%;padding-right:0;margin-right:0}
    .ft_bt,
    .ft_wrap{flex-direction:column;align-items:center}
    .ft_wrap{padding-right:0;margin-bottom:20px}
    .ft_bnr1{width:100%;text-align:center;padding-bottom:50px}
    .ft_info::before{height:calc(100%);top:0}
    .ft_info_logo{width:220px;margin:0 auto 20px}
    .ft_info_add{margin-right:0;top:0;margin-bottom:15px;text-align:center}
    .ft_bnr_box{display:flex;flex-direction:column;justify-content:center}
    .ft_bnr{margin-bottom:10px;margin-top:0}
    .ft_link_wrap{display:flex;margin-bottom:0;justify-content:center;padding:50px 15px 20px}

    address{padding-bottom:20px;font-size:12px;text-align:center;line-height:1.4}
    .ttl2{margin-bottom: 30px;}
    .ttl .ja{letter-spacing:0}

    .ft_link{padding-top:0}

    .fix_contact{flex-direction:row;bottom:0;right:50px;width:calc(100% - 50px);top: auto;bottom: 0;}
    .fix_contact .contact_document,
    .fix_contact .contact_mail{height:50px;width:50%;margin-bottom: 0;}
    .fix_contact .contact_document a,
    .fix_contact .contact_mail a{width:100%;height:100%;padding:0;letter-spacing:0;font-size:14px;padding-top:5px;justify-content: center;}
    .fix_contact .contact_document{margin-bottom:0}
    .fix_contact .contact_document a span{padding:11px 15px 0;background-size:auto 15px;background-position:center top 0}
    .fix_contact .contact_mail a span{background-size:auto 17px}
    .fix_contact .contact_mail a span{padding:13px 15px 0}

    .to_top{width:50px;height:50px;right:0;bottom:0}
    .to_top a img{bottom:0;position:absolute}
    .to_top::before{width:10px;height:10px;left:10px;top:10px}
    .to_top::after{width:10px;height:10px;left:10px;top:20px}
}
@media screen and (min-width: 640px) and (max-width: 750px) {
	.ft_bnr_box {
		flex-direction: row;
	}
	.ft_bnr_box p:not(:last-child) {
		margin-right: 15px;
	}
}
@media screen and (max-width: 440px) {
    .sp440{display:block!important}
    .pc440{display:none!important}

    .sec01_item > div:not(:nth-child(2n)){margin-right:0}
    .sec01_item > div{width:100%}

    .sec02_tab li a{font-size:3.3vw}
    .sec02_item > div{width:100%}
    .sec02_item > div:not(:nth-child(2n)),
    .sec03_item > div:not(:nth-child(2n)){margin-right:0}
    .sec03_item > div{width:100%}

    .sec04_step ul li{height:170px}
    .sec04_step ul li .num{width:40px;height:40px;font-size:22px;padding-top:2px}
    .sec04_step ul li.item1{background-size:90px auto;background-position:center top 35px}
    .sec04_step ul li.item2{background-size:55px auto;background-position:center top 40px}
    .sec04_step ul li.item3{background-size:46px auto;background-position:center top 35px}
    .sec04_step ul li.item4{background-size:66px auto;background-position:center top 35px}
    .sec04_step ul li.item5{background-size:60px auto;background-position:center top 35px}
    .sec04_step ul li.item6{background-size:80px auto;background-position:center top 45px}
    .sec04_step ul li:not(:nth-child(2n)){margin-right:20px}
    .sec04_step ul li .tt{font-size:16px}
}

@media screen and (max-width: 425px) {
    .sec04_step ul li{height:155px}
    .sec04_step ul li .tt{padding-bottom:10px}
}

@media screen and (max-width: 360px) {
    .h_left{margin-right: 0;}
    .tel_sp{margin-right: 10px;}
    #logo{width: 200px;}

    .sub ul li{width:100%}
    .sec02_link li a{font-size: 14px;}

    .ttl2 .sm,
    .sec03_txt p,
    .sec04_txt p{font-size: 15px;}

    .sec04_step ul li:not(:nth-child(2n)){margin-right:10px}
    .sec04_step ul li{width:calc(50% - 10px)}
    .sec04_step ul::before{width:40px}
    .nav_list .parent .sub ul li:not(:nth-child(2n)){margin-right:0}
    
}