@charset "UTF-8";

@media (min-width : 767px) {
	a[href^="tel:"] {
		pointer-events: none !important;
	}
}

@media (max-width : 1100px ){
    
/*-----------------------------------------------------
root
-------------------------------------------------------*/

:root {
    
/*font-size*/    
font-size: 62.5% !important;
--s22: 2.2rem; 
--s24: 1.8rem;    
--s26: 2.0rem;     
--s32: 2.4rem;
--s36: 2.6rem;
--s42: 4.2rem;
--s46: 4.6rem;

    
--s64en: 3.2rem;
--s16en: 1.3rem;    
--s10en: 1.0rem;
--s12en: 1.0rem;
--s14en: 1.2rem; 
--s26en: 1.8rem;
--s32en: 2.6rem;    

--imgh: 50vh;   
    
}
	
body p{
    line-height: 1.8;
}

    
#sub+section{
    margin-top: 80px;
}
    
#content+section{
    margin-top: 80px;
}    
    

/*-----------------------------------------------------
global
-------------------------------------------------------*/
.g-w1100{
    width: 90% !important;
    margin: 0 auto;
}

.g-w940{
    width: 90% !important;
    margin: 0 auto;
}

.g-w800{
    width: 90% !important;
    margin: 0 auto;
}

.g-only-pc{
    display: none;
}

.g-only-sp{
    display: block !important;
}    
    
.g-btn {
    width: 120px;
}
    
.g-btn a {
    padding: 10px 0px;
}
        
/*-----------------------------------------------------
drawer
-------------------------------------------------------*/
    .drawer-nav{
        overflow-y: scroll;
		display: block;
    }
    
    .drawer-nav--main{
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
        padding-top: 80px;
        padding-bottom: 30px;
        margin-bottom: 30px;
		border: none;
    }
    
    .drawer-nav--sub{
        padding-bottom: 60px;
    }
    
    .drawer-nav--sub ul{
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
    }
    
    .drawer-nav ul li.drawer-nav--t {
        margin-bottom: 12px;
    }
    
    .drawer-nav ul li.drawer-nav--link a {
        margin-bottom: 10px;
    }
    
    .drawer-nav .wrap{
        padding: 0px;
    }
    
    .drawer .header-tel a{
        width: 64%;
        margin-bottom: 4px;
    }
	
	.drawer .header-tel span{
		font-size: var(--s13);
		display: block;
	}
	
	.drawer .header-mail{
		margin-top: 14px;
	}
	
    .drawer .header-mail a {
		display: inline-block;
		background: var(--red);
		color: var(--whi);
		padding: 12px 66px;
		font-weight: bold;
		border-radius: 30px;
    }    
    
	.drawer .drawer-nav ul{
		margin-top: 26px;
	}

    
/*-----------------------------------------------------
header
-------------------------------------------------------*/
    .header-logo {
        width: 176px;
    }
    
    .header-cont {
        height: 60px;
        padding-left: 4%;
    }
        
    .drawer-btn {
        width: 60px;
        height: 60px;
    }    
    
/*-----------------------------------------------------
fv
-------------------------------------------------------*/
	.fv-main{
		padding-top: 60px;
	}
	
	
	.fv-img{
		z-index: 1;
		width: auto;
		max-height: auto;
		height: var(--imgh);
		margin-right: 26px;
		overflow: hidden;
		border-radius: 0 10px 10px 0;
	}
    
	.fv-img img{
		width: auto !important;
		height: var(--imgh);
	}

	
	.fv-catch{
		width: 88%;
		position: absolute;
		z-index: 2;
		content: '';
		top: 50px;
		text-align: left;
		padding: 0 0 0 10px;
	}
    
    .fv-msg {
        padding: 38px 0px 56px 0px;
    }
    
    .fv-msg--cat {
		margin-bottom: 6px;
    }    
    
    .fv-msg--t{
		margin-bottom: 26px;
    }    
    
    .fv-msg--t:last-child{
		margin-bottom: 0;
    }    
    
    

    
/*-----------------------------------------------------
service
-------------------------------------------------------*/
	.service{
		padding: 60px 0 80px;
	}
    
	.service-title{
		margin: 0 0 36px;
	}
    
	.service-row{
		display: block;
	}

	.service-cont{
		width: auto;
		padding-right: 0;
	}
	
	.service-img{
		width: 60%;
		margin: 0 auto;
	}
	
	.service-row+.service-row{
		margin-top: 40px;
	}
	
	.service-row:nth-child(2n) .service-cont{
		width: auto;
		padding-right: 0;
		padding-left: 0;
	}
	
	.service-cont--t span{
		font-size: 1.5rem;
		margin-bottom: 6px;
		padding: 0 0 0 34px;
	}
	
	.service-cont--t span::after{
		width: 20px;
	}
	
	.service-cont--t h2{
		margin-bottom: 10px;
		line-height: 1.5;
	}
	
	.service-cont--tx p{
		margin: 0 0 20px 0;
	}

	.service-cont--bn ul{
		padding: 0 0 20px 0;
		gap: 0px 10px;
	}

	.service-cont--bn ul li{
		width: 32%;
	}

/*-----------------------------------------------------
cta
-------------------------------------------------------*/
	.cta-row{
		padding: 36px 36px;
		display: block;
		border-radius: 16px;
	}
      
	.cta-t{
		width: auto;
	}

	.cta-t span.s1{
		font-size: var(--s32);
		margin-bottom: 6px;
	}

	.cta-t span.s2{
		margin-bottom: 30px;
	}

	.cta-tel{
		width: auto;
		color: var(--whi);
	}

	.cta-tel a{
		margin-bottom: 6px;
	}

	.cta-tel a img{
		width: 80%;
	}

	.cta-tel span{
		font-size: var(--s13);
		margin-bottom: 30px;
	}

	.cta-mail{
		width: auto;
		text-align: center;
	}

	.cta-mail a{
		padding: 16px 66px;
	}
    
    
    
/*-----------------------------------------------------
footer
-------------------------------------------------------*/

	#footer .wrap{
		padding: 40px 0 60px;
		margin-bottom: 30px;
	}
        
    .footer-cp--logo {
        width: 120px;
        height: auto;
    }
    
    .footer-cp--tx {
        padding-top: 32px;
        margin-top: 32px;
    }
	
	.footer-nav ul li a {
		padding-left: 16px;
		font-size: var(--s14);
	}
	
    .footer-cp--tx {
        width: 100%;
        padding-top: 26px;
        margin-top: 26px;
        margin-bottom: 32px;
        border-top: 1px solid var(--gra2);
    }
	
	.footer-cp--logo{
		width: 200px;
		height: auto;
	}


	.footer-cp--tx{
		padding-top: 30px;
		margin-top: 30px;
	}

    
}