@charset "UTF-8";
:root{
	--body : #333;
	--link : #333;
	--title : #333;
	--main : #333;
	--base : #333;
	--mainBold : #333;
	--sub : #333;
	--white : #333;
	--bg : #333;
	--fontFamily : 'M PLUS 1p', sans-serif;
	--fontFamilyP : 'Noto Sans JP', sans-serif;
	--fontFamilyMin : 'Shippori Mincho', serif;

}
@media screen and (min-width: 769px) and (max-width:1439px){
	body{
		-webkit-text-size-adjust : 100%;
		   -moz-text-size-adjust : 100%;
		    -ms-text-size-adjust : 100%;
		        text-size-adjust : 100%;
	}
}
@media screen and (min-width: 769px) and (max-width:1439px){
	body[data-view="pc"] #contents .scroll{
		overflow-x : auto;
		width : 100%;
	}
	body[data-view="pc"] #contents .scroll > #footer , body[data-view="pc"] #contents .scroll > #contentHeader , body[data-view="pc"] #contents .scroll > section{
		min-width : 824px;
	}
}

@media print, screen and (min-width: 769px){
	#sidebar{
		position : fixed;
		top : 0;
		left : 0;
		background-color : #f0f4df;
		z-index : 1;
	}
}
@media screen and (min-width: 769px) and (max-width:1439px){
	#sidebar{
		width : 200px;
		min-height : 100vh;
	}
}
@media print, screen and (min-width: 1440px){
	#sidebar{
		width : 300px;
		min-height : 100vh;
	}
}
@media screen and (max-width: 768px){
	#contents{
		padding-top : calc( 120 * 100vw / 768 );
        overflow: hidden;
	}
	#contents .wrap{
		padding-left : calc( 16 * 100% / 768 );
		padding-right : calc( 16 * 100% / 768 );
	}
}
@media screen and (min-width: 769px) and (max-width:1439px){
	#contents{
		padding-left : 200px;
		width : 100%;
	}
}
@media print, screen and (min-width: 1440px){
	#contents{
		padding-left : 300px;
	}
}
/*--------------------------------------------
#header
---------------------------------------------*/
#header .wrap{
	background-repeat : no-repeat;
}
#header h1{
    padding: 0px;
    margin: 0px;
}
    #header h1 a{
        display : block;
    }
#header p a{
	display : block;
}
@media screen and (max-width: 768px){
	#header{
		position : fixed;
		top : 0;
		left : 0;
		width : 100%;
		z-index : 10;
        background: #669306;
	}
	#header .wrap{
		height : calc( 120 * 100vw / 768 );
		padding-top : calc( 15 * 100vw / 768 );
		background-position : calc( -5 * 100% / 768 ) calc( 8 * 100vw / 640 );
		background-size : auto calc( 197 * 100vw / 768 );
		padding-left : calc( 14 * 100% / 768 );
		padding-right : calc( 14 * 100% / 768 );
	}
	#header h1{
        display: flex;
        align-items: flex-start;
	}
        #header h1 a img{
            height : calc( 90 * 100vw / 768 );
        }

}
@media print, screen and (min-width: 769px){
	#header .wrap{
        background: #669306;
        display: flex;
        justify-content: center;
        align-items: center;
	}
        #header h1 a img{
            width: 100%;
            height: auto;
        }
}
@media screen and (min-width: 769px) and (max-width:1439px){
	#header .wrap{
		padding-top : 0px;
        padding: 10px 10px;
        min-height: 170px;
	}
}
@media print, screen and (min-width: 1440px){
	#header .wrap{
		padding-top : 0px;
        padding: 10px 20px;
        min-height: 250px;
	}
	#header h1{
	}
        #header h1 a{
        }

}
/*--------------------------------------------
MENU BUTTON
---------------------------------------------*/
body.is-open{
	overflow : hidden;
}
@media screen and (max-width: 768px){
	body.is-open #menu{
		max-height : 100vh;
	}
}
body.is-open #header #menuBtn span:nth-of-type(1){
	-webkit-transform : translateY( calc( 10 * 100vw / 768 ) ) scale(0);
	        transform : translateY( calc( 10 * 100vw / 768 ) ) scale(0);
}
body.is-open #header #menuBtn span:nth-of-type(2){
	-webkit-transform : rotate(-45deg);
	        transform : rotate(-45deg);
}
body.is-open #header #menuBtn span:nth-of-type(3){
	-webkit-transform : rotate(45deg);
	        transform : rotate(45deg);
}
body.is-open #header #menuBtn span:nth-of-type(4){
	-webkit-transform : translateY( calc( -10 * 100vw / 768 ) ) scale(0);
	        transform : translateY( calc( -10 * 100vw / 768 ) ) scale(0);
}
@media screen and (max-width: 768px){
	#menuBtn{
		position : absolute;
		top : calc( 40 * 100vw / 768 );
		right : calc( 24 * 100% / 768 );
		width : calc( 80 * 100% / 768 );
		height : calc( 48 * 100vw / 768 );
	}
	#menuBtn > div{
		width : 100%;
		height : 100%;
		position : relative;
	}
	#menuBtn span{
		width : 100%;
		height : calc( 8 * 100vw / 768 );
		background-color : #fff;
		display : block;
		position : absolute;
		left : 0;
		-webkit-transition : all .4s;
		        transition : all .4s;
	}
	#menuBtn span:nth-of-type(1){
		top : 0;
	}
	#menuBtn span:nth-of-type(2){
		top : calc( 20 * 100vw / 768 );
	}
	#menuBtn span:nth-of-type(3){
		top : calc( 20 * 100vw / 768 );
	}
	#menuBtn span:nth-of-type(4){
		bottom : 0;
	}
}
/*--------------------------------------------
MENU
---------------------------------------------*/
@media screen and (max-width: 768px){
	#menu{
		position : fixed;
		left : 0;
		width : 100%;
		z-index : 10;
		-webkit-transition : max-height .5s ease-in;
		        transition : max-height .5s ease-in;
		max-height : 0;
		overflow : hidden;
		overflow-y : scroll;
		top : calc( 120 * 100vw / 768 );
		height : calc( 100vh - 120 * 100vw / 768 );
		background-color : rgba(102,102,102,.95);
		padding-left : calc( 34 * 100% / 768 );
		padding-right : calc( 34 * 100% / 768 );
	}
}
/*--------------------------------------------
NAVI
---------------------------------------------*/
#nav a , #nav p{
	letter-spacing : .1em;
	font-weight : 500;
}
#nav a{
	display : block;
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
	-webkit-box-align : center;
	-ms-flex-align : center;
	align-items : center;
}
#nav li li a{
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
	-webkit-box-align : center;
	-ms-flex-align : center;
	align-items : center;
}
#nav li li a:before{
	content : "»";
	margin-right : .25em;
}
@media screen and (max-width: 768px){
	#nav a , #nav p{
		color : #fff;
		font-size : calc( 30 * 100vw / 768 );
	}
	#nav > ul{
		padding-bottom : calc( 50 * 100vw / 768 );
		padding-top : calc( 50 * 100vw / 768 );
	}

	#nav > ul > li > a , #nav > ul > li p{
		padding-left : calc( 19 * 100% / 700 );
		padding-bottom : calc( 30 * 100vw / 768 );
		padding-top : calc( 30 * 100vw / 768 );
	}
	#nav li li a{
		padding-top : calc( 30 * 100vw / 768 );
		padding-bottom : calc( 30 * 100vw / 768 );
		padding-left : 3em;
	}

}
@media print, screen and (min-width: 769px){
	#nav{
		position : relative;
		overflow : hidden;
	}

	#nav > ul > li.li02 {
        margin-top: 20px;
	}
	#nav > ul > li.li02 a{
		border : 2px solid #ccc;
		width : 100%;
		height : 60px;
		line-height : 1.2;
		background-repeat : no-repeat;
		background-image : url("../images/nav/bg.png");
	}
	#nav > .ps__scrollbar-y-rail:hover > .ps__scrollbar-y , #nav > .ps__scrollbar-y-rail:active > .ps__scrollbar-y{
		width : 6px;
	}
	#nav > .ps__scrollbar-y-rail{
		opacity : 1;
		width : 6px;
		background-color : #dcdddd;
	}
	#nav > .ps__scrollbar-y-rail > .ps__scrollbar-y{
		background-color : #666;
		right : 0;
		border-radius : 0;
	}
    #closeBtn {
        display: none;
    }
}
@media screen and (min-width: 769px) and (max-width:1439px){
	#nav{
		padding-left : 6px;
		padding-right : 6px;
		height : calc( 100vh - 5px - 124px - 250px  );
	}
	#nav > ul{
		padding-bottom : 25px;
	}
	#nav > ul > li{
		border-bottom : 1px solid #e6e6e6;
	}
	#nav > ul > li > a , #nav > ul > li p{
		font-size : 16px;
		padding-left : 3px;
		padding-bottom : 16px;
		padding-top : 16px;
	}
	#nav li li a{
		padding-top : 10px;
		padding-bottom : 10px;
		padding-left : 1em;
		font-size : 16px;
	}


}
@media print, screen and (min-width: 1440px){
	#nav{
		margin-top : 10px;
		height : calc( 100vh - 5px - 300px - 10px - 180px );
        line-height: 1.3;
	}
    #nav a {
        color: #422e03;
    }
	#nav > ul{
		padding-bottom : 33px;
		padding-left : 5px;
		padding-right : 15px;
	}

	#nav > ul > li > a , #nav > ul > li p{
		font-size : 18px;
		padding-left : 1em;
		padding-bottom : 10px;
		padding-top : 10px;
	}
	#nav li li a{
		padding-top : 10px;
		padding-bottom : 10px;
		padding-left : 1em;
		font-size : 18px;
	}

	#nav > ul > li.li02{
		margin-top : 10px;
        border: none;
	}
	#nav > ul > li.li02:first-of-type{
		margin-top : 20px;
	}
	#nav > ul > li.li02 a{
		font-size : 14px;
		padding-left : 19px;
		background-position : 216px center;
        border: 2px solid #e6e6e6;
	}
}
/*--------------------------------------------
MENU
---------------------------------------------*/
@media screen and (max-width: 768px){
	#menu .scroll{
		padding-bottom : calc( 183 * 100vw / 768 );
	}
}
/*--------------------------------------------
ADDRESS
---------------------------------------------*/
#address {
	padding-bottom: 10px;
}
#address h2 a{
	display : block;
	font-weight : 700;
	letter-spacing : .15em;
}
#address p{
	letter-spacing : .15em;
	display: flex;
}
	#address p span:nth-child(1){
		width: 4em;
	}
	#address p span:nth-child(2){
		width: calc(100% - 4.5em);
	}
#address li:nth-child(1) a{
	display : block;
}
#address li:nth-child(2) a{
	display : -webkit-box;
	display : -ms-flexbox;
	display : flex;
	-webkit-box-align : center;
	-ms-flex-align : center;
	align-items : center;
	-webkit-box-pack : center;
	-ms-flex-pack : center;
	justify-content : center;
	text-align : center;
	font-weight : 700;
}
@media screen and (max-width: 768px){
	#address{
		color : #fff;
	}
	#address a{
		color : #fff;
	}
	#address h2 a{
		font-size : calc( 26 * 100vw / 768 );
	}
	#address p{
		font-size : calc( 26 * 100vw / 768 );
		line-height : calc( 40 * 100vw / 768 );
		margin-top : calc( 7 * 100vw / 768 );
	}
	#address ul{
		display : -webkit-box;
		display : -ms-flexbox;
		display : flex;
		-webkit-box-align : center;
		-ms-flex-align : center;
		align-items : center;
		-webkit-box-pack : justify;
		-ms-flex-pack : justify;
		justify-content : space-between;
		margin-top : calc( ( 35 - 7 ) * 100vw / 768 );
		width : 100%;
	}
	#address li:nth-child(1) a{
		font-size : calc( 52 * 100vw / 768 );
		letter-spacing : .025em;
		color : #fff;
	}
	#address li:nth-child(2){
		width : calc( 284 * 100% / 700 );
		height : calc( 60 * 100vw / 768 );
	}
	#address li:nth-child(2) a{
		font-size : calc( 26 * 100vw / 768 );
		width : 100%;
		height : 100%;
		background-color : #fff;
		color : #333;
	}
}
@media print, screen and (min-width: 769px){
	#address{
        padding-left: 6px;
    }
	#address.is-fixed{
		position : fixed;
		bottom : 0;
		left : 5px;
	}
	#address li:nth-child(2) a{
		color : #fff;
		background-color : #f1bc03;
		letter-spacing : .15em;
	}
}
@media screen and (min-width: 769px) and (max-width:1439px){
	#address{
		width : 190px;
	}
	#address h2{
		font-size : 16px;
        margin-bottom: 5px;
	}
	#address p{
		font-size : 14px;
		line-height : 1.6em;
		margin-top : 3px;
	}
	#address li:nth-child(1) a{
		margin-top : calc( 10px - 1px );
		font-size : 25px;
	}
	#address li:nth-child(2) a{
		margin-top : 14px;
		width : 100%;
		height : 40px;
		font-size : 14px;
	}
}
@media print, screen and (min-width: 1440px){
	#address{
		width : 290px;
		padding-left : 15px;
		padding-right : 15px;
		/*padding-bottom: 20px;*/
	}
	#address h2 a{
		font-size : 14px;
	}
	#address p{
		font-size : 14px;
		line-height : 18px;
		margin-top : 8px;
	}
	#address li:nth-child(1) a{
		margin-top : calc( 15px - 2px );
		font-size : 30px;
		letter-spacing : .025em;
	}
	#address li:nth-child(2) a{
		margin-top : 12px;
		width : 100%;
		height : 40px;
		font-size : 14px;
	}
}
@media print, screen and (min-width: 1440px){
	#address{
		width : 290px;
		padding-left : 15px;
		padding-right : 15px;
		/*padding-bottom: 20px;*/
	}
	#address h2 a{
		font-size : 24px;
	}
	#address p{  
		font-size : 14px;
		line-height : 18px;
		margin-top : 8px;
	}
		#address p span{
		}
	#address li:nth-child(1) a{
		margin-top : calc( 15px - 2px );
		font-size : 30px;
	}
	#address li:nth-child(2) a{
		margin-top : 12px;
		width : 100%;
		height : 40px;
		font-size : 14px;
	}
}
/*--------------------------------------------
CLOSE BUTTON
---------------------------------------------*/
@media screen and (max-width: 768px){
	#closeBtn{
		margin-left : auto;
		margin-right : auto;
		width : calc( 82 * 100% / 700 );
		display : block;
		margin-top : calc( 66 * 100vw / 768 );
	}
}
/*--------------------------------------------
CONTENT HEADER
---------------------------------------------*/
#contentHeader .box{
	letter-spacing : .1em;
}
@media print, screen and (min-width: 769px){
	#contentHeader .box{
        font-family: var(--fontFamilyMin);
	}
}
@media print, screen and (min-width: 1440px){
	#contentHeader .box{
	}
}
/*--------------------------------------------
FOOTER
---------------------------------------------*/
#footer{
	background-color : #edecec;
}
@media screen and (max-width: 768px){
	#footer .copyright{
		display : flex;
		align-items : center;
		justify-content : center;
		text-align : center;
		height : calc( 100 * 100vw / 768 );
        background: #669306;
        color: #fff;
	}
	#footer .wrap{
        padding: 0 !important;
	}
	#footer .footer_01{
        padding-top:  calc( 40 * 100vw / 768 );
        padding-bottom:  calc( 40 * 100vw / 768 );
	}
       #footer .footer_01 .box{
        }
            #footer .footer_01 .box .midashi{
                font-size: calc( 34 * 100vw / 768 );
                padding: calc( 30 * 100vw / 768 ) 0  calc( 30 * 100vw / 768 ) ;
                text-align: center;
                background: url("../images/footer/icon_box_message.png");
                background-repeat: no-repeat;
                background-position: top center;
                background-size: 100% auto;
                margin: 0 calc( 30 * 100vw / 768 ) 0 calc( 30 * 100vw / 768 );
            }
            #footer .footer_01 .box p{
                font-size: calc( 26 * 100vw / 768 );
                margin: calc( 30 * 100vw / 768 );
            }
        #footer .footer_01 .cvbt{
            display: flex;
            justify-content: center;
            align-items: center;
            column-gap: 10px;
        }
            #footer .footer_01 .cvbt a{
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                border-radius: 6px;
                padding: 5px 0;
                color: #422e03;
                font-weight: 500;
                width: calc( 350 * 100vw / 768 );
                height: calc( 80 * 100vw / 768 );
            }
                #footer .footer_01 .cvbt a .num{
                    display: none;
                }
                #footer .footer_01 .cvbt a .text{
                    display: none;
                }
                #footer .footer_01 .cvbt a .sptext{
                    font-size: calc( 26 * 100vw / 768 );
                }
                #footer .footer_01 .cvbt a .icon{
                }
                    #footer .footer_01 .cvbt a .icon img{
                        height: calc( 50 * 100vw / 768 );
                    }
            #footer .footer_01 .cvbt a.tel-wrao{
                background: #fff;
            }
            #footer .footer_01 .cvbt a.contact{
                background: #f1bc03;
            }
                #footer .footer_01 .cvbt a p{
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    column-gap: 5px;
                    width: 100%;
                }
	#footer .footer_02{
        display: none;

	}


}
@media print, screen and (min-width: 769px){
	#footer{
        margin-top: 50px;
    }
	#footer .wrap{
		padding-top : 40px;
		padding-left : 15px;
		padding-right : 15px;
		padding-bottom : 40px;
        max-width: 1440px;
        margin: auto;
            
	}
	#footer .footer_01{
        display: flex;
        padding-bottom: 30px;
        margin-bottom: 40px;
        border-bottom: 1px solid #333;
        column-gap: 20px;
        
	}
        #footer .footer_01 .box{
            min-width: 600px;
        }
            #footer .footer_01 .box .midashi{
                font-size: 40px;
                padding: 25px 0 60px 0  ;
                text-align: center;
                background: url("../images/footer/icon_box_message.png");
                background-repeat: no-repeat;
                background-position: top center;
            }
            #footer .footer_01 .box p{
                line-height: 1.4;
            }
        #footer .footer_01 .cvbt{
            display: flex;
            justify-content: flex-start;
            align-items: flex-start;
            column-gap: 10px;
        }
            #footer .footer_01 .cvbt a{
                display: flex;
                flex-direction: column;
                justify-content: center;
                align-items: center;
                border-radius: 6px;
                padding: 20px 0;
                min-width: 280px;
                height: 100px;
                color: #422e03;
                font-size: 20px;
                font-weight: 500;
            }
                #footer .footer_01 .cvbt a .num{
                font-size: 28px;
                    margin-top: 10px;
                }
                #footer .footer_01 .cvbt a .sptext {
                    display: none;
                }
            #footer .footer_01 .cvbt a.tel-wrao{
                background: #fff;
            }
            #footer .footer_01 .cvbt a.contact{
                background: #f1bc03;
            }
                #footer .footer_01 .cvbt a p{
                    display: flex;
                    justify-content: center;
                    align-items: center;
                    column-gap: 5px;
                }
	#footer .footer_02{
        display: flex;
        padding-bottom: 30px;
        margin-bottom: 40px;
        column-gap: 20px;
        
	}
        #footer .footer_02 .corporatename{
            font-family: var(--fontFamilyMin);
            font-size: 26px;
            white-space: nowrap;
        }
        #footer .footer_02 dl{
            display: flex;
            flex-wrap: wrap;
            grid-gap: 5px 10px;
        }
            #footer .footer_02 dl div{
                    font-size: 16px;
                display: flex;
                justify-content: flex-start;
                align-items: flex-start;
            }
                #footer .footer_02 dl div dt{
                    background: #767777;
                    color: #fff;
                    width: auto;
                    margin-right: 5px;
                    padding: 5px;
                    white-space: nowrap;
                }
                #footer .footer_02 dl div dd{
                }

}
@media screen and (min-width: 769px) and (max-width:1439px){ 
        #footer .footer_01 .box{
            min-width: 400px;
        }
            #footer .footer_01 .box .midashi{
                font-size: 30px;
                padding: 30px 0 60px 0  ;
            }
            #footer .footer_01 .cvbt a{
                padding: 20px 0;
                min-width: 240px;
                font-size: 16px;
                font-weight: 500;
            }
                #footer .footer_01 .cvbt a .num{
                font-size: 26px;
                }
        #footer .footer_02 .corporatename{
            font-size: 20px;
        }
            #footer .footer_02 dl div{
                    font-size: 14px;
            }
}
@media print, screen and (min-width: 1440px){
}
/*# sourceMappingURL=../maps/layout.css.map */
