@charset "UTF-8";

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


@media (max-width : 1400px ){
    
	body,html{
		min-width: inherit;
	}

	#container{
		width: 100%;
		margin: 0 auto;
	}
    
    input[type="submit"],
    input[type="button"],
    input[type="reset"] {
        -webkit-appearance: none;
    }
	
	
    /*-----------------------------------------------------
    root
    -------------------------------------------------------*/
    
    :root {
		font-size: 62.5% !important;
		--base: 1.6rem;
		--s10: 0.9rem;
		--s12: 1.1rem;
		--s13: 1.2rem;
		--s14: 1.3rem;    
		--s15: 1.4rem; 
		--s16: 1.5rem;    
		--s18: 1.7rem;
		--s19: 1.8rem;
		--s20: 1.9rem;
		--s22: 1.8rem; 
		--s24: 2.0rem;    
		--s26: 2.0rem;     
		--s28: 2.0rem;     
		--s32: 2.2rem;
		--s34: 2.4rem;
		--s38: 2.8rem;
		--s40: 2.6rem;
		--s42: 3.0rem;
		--s44: 2.6rem;
    }
    

	
    /*-----------------------------------------------------
    global
    -------------------------------------------------------*/
	.g_w1400 {
		max-width: 90%;
		margin: 0 auto;
	}
	
	.g_w1200 {
		max-width: 90%;
		margin: 0 auto;
	}

	.g_w1100{
		max-width: 90%;
		margin: 0 auto;
	}

	.g_w1000{
		max-width: 90%;
		margin: 0 auto;
	}
	
	.g_w960{
		max-width: 90%;
		margin: 0 auto;
	}

	.g_w900{
		max-width: 90%;
		margin: 0 auto;
	}
	
	.g_w800{
		max-width: 80%;
		margin: 0 auto;
	}
	
	.g_w700{
		max-width: 80%;
		margin: 0 auto;
	}

	.g_only_tb{
		display: none!important;
	}

	.g_mb_a{
		margin-bottom: 16px!important;
	}

	.g_mb_b{
		margin-bottom: 26px !important;
	}

	.g_mb_c{
		margin-bottom: 36px !important;
	}

    /*-----------------------------------------------------
    header
    -------------------------------------------------------*/
    
	
	.header_list{
		padding: 38px 0px;
	}


	.header_logo{
		max-width: 170px;
		height: auto;
	}

	/*-----------------------------------------------------
	mv
	-------------------------------------------------------*/

	.mv {
		max-width: 90%;
		margin: 0 auto;
	}

	.drawer_wrap {
		max-width: 800px;
		padding: 0 40px;
	}
	
	.drawer_contact {
		width: 58%;
	}
	
	.drawer_menu {
		width: 36%;
	}

}
    
@media (max-width : 990px ){

	.box2_list ul{
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 16px 4%;
	}

	.box2_list ul li{
		width: 48%;
	}
}


@media (max-width : 767px ){
    	
    
    :root {
		font-size: 62.5% !important;
		--base: 1.6rem;
		--s10: 0.9rem;
		--s12: 1.1rem;
		--s13: 1.2rem;
		--s14: 1.3rem;    
		--s15: 1.4rem; 
		--s16: 1.5rem;    
		--s18: 1.7rem;
		--s19: 1.8rem;
		--s20: 1.9rem;
		--s22: 1.8rem; 
		--s24: 2.0rem;    
		--s26: 2.0rem;     
		--s28: 2.0rem;     
		--s32: 2.2rem;
		--s34: 2.4rem;
		--s38: 2.8rem;
		--s40: 2.6rem;
		--s42: 3.0rem;
		--s44: 2.6rem;
		--s50: 8vw;
		
		/*line-height*/    
		--lh12: 1.2;
		--lh14: 1.3;
		--lh16: 1.5;
		--lh18: 1.7;
		--lh20: 1.8;
    }


    /*-----------------------------------------------------
    global
    -------------------------------------------------------*/
    .g_only_pc{
        display: none!important;
    }
	
	.g_only_tb{
		display: none!important;
	}

    .g_only_sp{
        display: block!important;
    }
	
	.g_only_pc_in{
        display: none!important;
	}
	
	.g_w1400 {
		max-width: 100%;
		margin: 0 20px;
	}
	
	.g_w1200 {
		max-width: 100%;
		margin: 0 20px;
	}

	.g_w1100{
		max-width: 100%;
		margin: 0 20px;
	}

	.g_w1000{
		max-width: 100%;
		margin: 0 20px;
	}

	.g_w900{
		max-width: 100%;
		margin: 0 20px;
	}
	
	.g_w800{
		max-width: 100%;
		margin: 0 20px;
	}
	
	.g_w700{
		max-width: 100%;
		margin: 0 20px;
	}

	.g_t1{
	}
	
	.g_t1 p {
		padding: 20px 0 40px;
	}
	
	.g_t1 h2 span {
		margin-bottom: 8px;
	}

	.g_btn {
		width: 70%;
	}

	.g_btn a {
		padding: 20px 0;
	}


    /*-----------------------------------------------------
    header
    -------------------------------------------------------*/

	#header_box .wrap{
		padding: 20px 0px 16px;
	}
	
	.header_logo{
		width: 20vw;
	}

	.menu_btn_wrap{
		width: 28px;
	}

	/*-----------------------------------------------------
	drawer
	-------------------------------------------------------*/
	.drawer_wrap {
		max-width: 100%;
		display: block;
		justify-content: initial;
		align-items: initial;
		
	}

	.drawer_content{
		width: 80%;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 26px;
		padding: 100px 0;
		margin: 0 auto;
	}


	.drawer_contact{
		width: 100%;
	}

	.drawer_contact ul{
		gap: 20px;
	}

	 .drawer_contact ul li{
		 width: 100%;
	}

	.drawer_contact p {
		font-size: var(--s18);
		margin-bottom: 20px;
	}

	.drawer_contact p span{
		display: block;
		font-size: var(--s14);
		padding-top: 10px;
	}

	.drawer_contact .tel{
		margin-bottom: 0px;
	}

	.drawer_contact .tel a {
		font-size: var(--s42);
	}

	.drawer_contact .g_btn{
		width: 70%;
		margin: 0;
	}

	.drawer_menu{
		width: 100%;
		gap: 20px;
	}


	.drawer_menu ul{
		display:-webkit-box;
		display: -webkit-flex;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 16px;
	}

	.drawer_menu ul li {
		font-weight: bold;
		font-size: var(--s16);
	}

	.drawer_menu ul li.t {
		font-size: var(--s16);
	}

	.drawer_menu ul li.sns img{
		width: 34px;
	}

	/*-----------------------------------------------------
	mv
	-------------------------------------------------------*/
	.mv_text {
		width: 78%;
	}

	/*-----------------------------------------------------
	box1
	-------------------------------------------------------*/
	.box1 {
		padding: 50px 0 80px 0;
	}

	/*-----------------------------------------------------
	box2
	-------------------------------------------------------*/
	.box2 {
		padding: 0 0 80px 0;
	}

	.box2_list{
		padding: 40px 0 0;
	}

	.box2_list ul{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 30px 0;
	}

	.box2_list ul li{
		width: 80%;
		margin: 0 auto;
	}

	.box2_list ul li .text{
		padding: 20px 0 0;
	}

	.box2_list ul li .text h3{
		font-size: var(--s22);
		margin-bottom: 10px;
	}

	.box2_btn{
		width: 70px;
		height: 70px;
		right: 20px;
	}

	/*-----------------------------------------------------
	box3
	-------------------------------------------------------*/
	.box3 {
		padding: 0 0 80px 0;
	}

	.box3_list {
		padding: 30px 0 0 0;
	}

	.box3_list ul {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 20px 0;
	}

	.box3_list ul li {
		width: 90%;
		padding: 26px;
		margin: 0 auto;
	}

	.box3_list span {
		margin-bottom: 10px;
	}

	
	/*-----------------------------------------------------
	box4
	-------------------------------------------------------*/
	.box4{
		padding: 60px 0 60px 0;
	}

	.box4_list{
		padding: 50px 0 0 0;
	}

	.box4_list ul{
		max-width: 100%;
		gap: 48px 0;
		margin: 0 20px 26px;
	}

	.box4_list ul li{
		width: 47%;
		height: 120px;
	}

	.box4_list ul li .ic{
		width: 60px;
		height: 60px;
		top: -34px;
	}

	.box4_list ul li .ic span{
		font-size: var(--s14);
		display: block;
		margin-bottom: 2px;
	}

	.box4_list ul li p{
		font-size: var(--s18);
		padding-top: 14px;
	}
	
	/*-----------------------------------------------------
	box5
	-------------------------------------------------------*/
	.box5{
		padding: 60px 0 60px 0;
	}


	.box5_list{
		padding: 30px 0 0 0;
	}

	.box5_list ul{
		gap: 30px;
		margin-bottom: 36px;
		padding: 0 10px 0 10px;

	}
	
	.box5_list ul li{
		padding-bottom: 20px;
	}

	.box5_list ul li .q{
		margin-bottom: 10px;
		font-weight: bold;
		line-height: var(--lh16);
	}

	.box5_list ul li .a{
		margin-left: 0;
	}
	
	/*-----------------------------------------------------
	cta
	-------------------------------------------------------*/
	.cta{
		padding: 40px 0;
	}

	.cta_list{
		padding: 30px 0 0 0;
	}

	.cta_list p{
		font-size: var(--s18);
		margin-bottom: 30px;
	}

	.cta_list p span{
		font-size: var(--s14);
		padding-top: 8px;
	}

	.cta_list ul{
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 20px;
	}

	/*-----------------------------------------------------
	footer
	-------------------------------------------------------*/

	#footer_box{
		padding: 80px 0px 0;
	}

	.footer_nav{
		margin-bottom: 40px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 40px;
	}

	.footer_sns{
		padding-bottom: 26px;
		margin-bottom: 36px;
	}

	.footer_sns .ic{
		width: 26px;
	}

	.footer_list{
		width: 100%;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 30px;
	}

	.footer_logo{
		width: 28%;
		margin: 0 auto;
	}


	.footer_list ul{
		width: 100%;
	}

	.footer_list ul li{
		margin-bottom: 14px;
	}


	.footer_copyright{
		padding: 0 0 30px;
	}

    /*-----------------------------------------------------
    page-top
    -------------------------------------------------------*/
    
    #page_top_sp {
        position: absolute;
        top: 40px;
        right: 20px;
        z-index: 1;
    }

    #page_top_sp a{
        width: 30px;
        display: inline-block;
        transition: 0.5s;        
    }

    #page_top_sp a:hover{
        text-decoration: none;
        opacity: 0.8;
    }
    
    /*-----------------------------------------------------
    recaptcha
    -------------------------------------------------------*/
    .recaptcha {
        margin: 38px auto 15px;
    }
}