@charset "utf-8";

/* reset
---------------------------------------------------- */
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,main,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
margin:0; padding:0; border:0; outline:0; font-size:100%; font-weight:normal; font-style:normal; background:transparent; box-sizing:border-box; }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block; }
blockquote:before,blockquote:after,q:before,q:after { content:''; content:none; }
ol,ul { list-style:none;} 
table { border-collapse:collapse; border-spacing:0; width:100%; } 
caption,th { text-align:left; }
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
input,select,textarea { font-family:inherit; font-size:100%; font-weight:normal; box-sizing:border-box; }
label { white-space:nowrap; }
img	{ vertical-align:middle; font-size:0; line-height:0; max-width:100%; height:auto; }
iframe { max-width:100%; }
strong { font-weight:bold; } 
body { -webkit-text-size-adjust:100%; }
@media print {
body { width:1100px; -webkit-transform: scale(0.8); transform: scale(0.8); transform-origin: 0 0; }
}



/* baseSet
-------------------------------------------------------------------------------------------------------- */
/* common class */
html		{ font-size:calc(100vw / 32); } 
body	{ color:#424242; font-size:1.4rem; line-height:1.6; font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
a			{ color:#333; outline:none; text-decoration:none; }
a:hover		{ text-decoration:none; transition: 0.3s; }
@media print, screen and (min-width: 768px) {
html	{ font-size:62.5%; } /* 768px Over */
body	{ font-size:1.6rem; line-height:1.6; }
a:hover	{ opacity:0.7; }
}



/* unique class */
.inner		{ position:relative; max-width:1110px; margin:0 auto; padding:0 2rem; }
.only-pc	{ display:none; }
.en_font	{ font-family: 'Open Sans', sans-serif;}
.bg_color	{ background-color: #f4f2ed;}
.rev		{ flex-direction: row-reverse;}
@media print, screen and (min-width: 768px) {
.inner		{ padding:0 30px; }
.only-sp	{ display:none; }
.only-pc	{ display:block; }
}

@media print, screen and (min-width: 1024px) {
.inner		{ padding:0 10px; }
}

html.hidden,body.hidden				{ height:100%; overflow:hidden; transition: 0.3s; }
html.hidden:after,body.hidden:after	{ position: absolute; top: 0; left: 0;  content: ""; display: block; width: 100%; height: 100%; background: rgba(0,0,0,0.1);}



/* header
-------------------------------------------------------------------------------------------------------- */
#header												{ position: relative; height: 8.5rem;}
#header .head-wrap									{ }
#header .head-wrap .logo_box						{ -webkit-display: flex; display: flex; position:absolute; top:1.2rem; left:1.2rem; }
#header .head-wrap .logo_box .logo					{ max-width: 9rem; }
#header .head-wrap .logo_box .logo+p				{ margin: 1.8rem 0 0 1rem; font-size: 1.1rem; font-weight: bold;}
	
#header .head-wrap #gNav							{  }
#header .head-wrap #gNav #gMenuBtn					{ display:block; position:absolute; top:2.6rem; right:2rem; z-index:161; }
#header .head-wrap #gNav #gMenuBtn a				{ display:block; padding-top:3rem; overflow:hidden; width:3rem; height:0; background:url("../images/common/gmenu_btn_open.png") no-repeat center center; background-size:contain; }
#header .head-wrap #gNav #gMenu						{ overflow: scroll; transition: 0.3s; position:fixed; right:0; top:0; width:66%; height:100vh; padding-top:6rem; background-color:#8aa932; margin-right: -66%; z-index: 55; }
#header .head-wrap #gNav #gMenu li					{ position: relative; margin-left: 2rem;}
#header .head-wrap #gNav #gMenu li a				{ display: block; padding: 2.5rem 0 2.5rem 3rem; color: #Ffffff; background: no-repeat left center; background-size: 2rem;}
#header .head-wrap #gNav #gMenu li:nth-child(1) a 	{ background-image: url("../images/common/gmenu_nav_01_sp.png");}
#header .head-wrap #gNav #gMenu li:nth-child(2) a 	{ background-image: url("../images/common/gmenu_nav_02_sp.png");}
#header .head-wrap #gNav #gMenu li:nth-child(3) a 	{ background-image: url("../images/common/gmenu_nav_03_sp.png");}

#header .head-wrap #gNav #gMenu li.contact 			{ margin: 8rem 0 0; text-align: center; }
#header .head-wrap #gNav #gMenu li.contact a		{ padding: 6rem 1rem 0; background: url("../images/common/gmenu_contact_wh.png") no-repeat center top; background-size: 5.4rem;}

/* view */
#header.view .head-wrap #gNav #gMenuBtn a	{ background-image:url("../images/common/gmenu_btn_close.png") ;}
#header.view .head-wrap #gNav #gMenu	{ margin-right: 0; }

@media print, screen and (min-width: 768px) {
#header												{ height: 100px;}
#header .head-wrap .logo_box						{ top:1.2rem; left:1.2rem; }
#header .head-wrap .logo_box .logo					{ max-width: 100px; }
#header .head-wrap .logo_box .logo+p				{ margin: 28px 0 0 20px; font-size: 14px; }
#header .head-wrap #gNav #gMenuBtn					{ top:3.6rem; right:3rem;}
#header .head-wrap #gNav #gMenu						{ overflow: hidden; transition: 0.3s; position:fixed; right:0; top:0; width:30%; height:100vh; padding-top:7rem; background-color:#8aa932; margin-right: -30%; z-index: 55; }
}

@media print, screen and (min-width: 1024px) {
#header .head-wrap .logo_box						{ top:1.2rem; left:60px; }
#header .head-wrap #gNav							{ width: 50%; margin: 0 0 0 auto; }
#header .head-wrap #gNav #gMenuBtn					{ display:none; }
#header .head-wrap #gNav #gMenu						{ -webkit-display: flex; display: flex; transition: 0; position:static; width:100%; height:100px; padding-top:0; background-color:#ffffff; margin-right: 0;  }

#header .head-wrap #gNav #gMenu li					{ margin: 25px 0 0 0;}
#header .head-wrap #gNav #gMenu li a				{ padding: 35px 30px 0; color: #4d4d4d; background: no-repeat center top; background-size: 25px; font-size: 14px; font-weight: bold;}

#header .head-wrap #gNav #gMenu li:nth-child(1) a 	{ background-image: url("../images/common/gmenu_nav_01_pc.png");}
#header .head-wrap #gNav #gMenu li:nth-child(2) a 	{ background-image: url("../images/common/gmenu_nav_02_pc.png");}
#header .head-wrap #gNav #gMenu li:nth-child(3) a 	{ background-image: url("../images/common/gmenu_nav_03_pc.png");}

#header .head-wrap #gNav #gMenu li.contact 			{ position: static; margin: 10px 0 0 0; }
#header .head-wrap #gNav #gMenu li.contact a		{ padding: 6rem 30px 0; background: url("../images/common/gmenu_contact_gr.png") no-repeat center top; background-size: 5.4rem; color: #8aa932;}

}
@media print, screen and (min-width: 1160px) {

#header .head-wrap #gNav #gMenu li a				{ padding: 35px 45px 0;}
#header .head-wrap #gNav #gMenu li.contact a		{ padding: 6rem 45px 0;}

}



/* footer
-------------------------------------------------------------------------------------------------------- */
#footer								{ }
#footer	#fMenu						{ padding: 2.5rem 1rem; }
#footer	#fMenu li					{ }
#footer	#fMenu li a					{ display: block; padding: 1.5rem 0; }
#footer	#fMenu li a	span			{ padding-left: 1.8rem; background: url("../images/common/ar_right_gr.png") no-repeat left center; background-size: 1.5rem; font-size: 1.2rem;}
#footer	.logo_box					{ padding-top: 3.5rem; border-top: #cacaca 1px solid;}
#footer	.logo_box .logo				{ max-width: 12rem; margin: 0 auto;}
#footer	.logo_box .txt				{ margin-top: 2.5rem; font-size: 1.2rem; text-align: center;}
#footer	.logo_box .txt .com_name	{ font-size: 1.4rem; font-weight: bold;}
#footer	.logo_box .txt .com_add		{ margin-top: 0.5rem; }
#footer	.logo_box .txt .com_tel		{ margin-top: 0.5rem; }
#footer	.copy	{ margin-top: 3rem; padding: 1rem; color: #ffffff; font-size: 1rem; text-align: center; background: #42210b;}

@media print, screen and (min-width: 768px) {
#footer								{ }
#footer .f-wrap						{ }
#footer	#fMenu						{ -webkit-display: flex; display: flex; justify-content: center; padding: 2.5rem 1rem; }
#footer	#fMenu li					{ margin: 0 2rem; }
#footer	#fMenu li a	span			{ padding-left: 20px; font-size: 14px;}
#footer	.logo_box					{ -webkit-display: flex; display: flex; justify-content: flex-start; padding: 40px 10px 0; }
#footer	.logo_box .logo				{ max-width: 168px; margin: 0 ;}
#footer	.logo_box .txt				{ margin: 5px 0 0 20px; text-align: left;}

}
@media print, screen and (min-width: 1024px) {
#footer .f-wrap						{ max-width: 1110px; margin: 90px auto 0; -webkit-display: flex; display: flex; flex-direction: row-reverse;  }
#footer	#fMenu						{ width: 50%; padding:80px 1rem 0; justify-content: space-between; }
#footer	#fMenu li					{ margin: 0; }
#footer	#fMenu li a					{ padding: 1.5rem 0 0; }
#footer	#fMenu li a	span			{ padding-left: 0; background:none; font-size: 14px; font-weight: bold;}

#footer	.logo_box					{ width: 50%; padding: 0 10px 0; border-top: none; }
#footer	.logo_box .txt				{ font-size: 14px;}
#footer	.copy						{ margin-top: 40px; padding: 20px; font-size: 12px;}

}






/* contents
-------------------------------------------------------------------------------------------------------- */

.contents_wrap			{ overflow: hidden;}



/* pageTitle */
#pageTitle									{ height: 17.5rem; padding: 6.5rem 0 0 0px; background: #cccccc no-repeat center center; background-size: cover; text-align: center; color: #ffffff;}
#pageTitle.no-img							{ background: #adc36f;}
#pageTitle .main							{ font-size: 25px; }
#pageTitle .main+p							{ margin-top: 0.5rem; }

@media print, screen and (min-width: 768px) {
#pageTitle									{ height: 250px; padding: 100px 0 0 0;}

}
@media print, screen and (min-width: 1024px) {
#pageTitle									{ height: 350px; padding: 150px 0 0 0;}
#pageTitle .main							{ font-size: 36px; letter-spacing: 2px; }
#pageTitle .main+p							{ margin-top: 10px; font-size: 14px; letter-spacing: 1px;  }

}



/* pageTop */
#pageTop									{}
@media print, screen and (min-width: 768px) {
}

/* sect-ttl */
.sect-ttl							{ text-align: center;}
.sect-ttl .main						{ display: inline-block; font-size: 2rem; font-weight: bold; }
.sect-ttl .main:after				{ content: ""; display: block; width: 100%; height: 1px; margin-top: 0.5rem; background-color: #979797; }
.sect-ttl .sub						{ padding-top: 0.5rem; color: #8aa932; font-size: 1.3rem;}
.sect-ttl+.ttl-bottom				{ margin-top: 2.5rem;}


@media print, screen and (min-width: 768px) {
.sect-ttl .main						{ font-size: 28px; }
.sect-ttl .main:after				{ margin-top: 10px; }
.sect-ttl .sub						{ padding-top: 10px; font-size: 14px;}
.sect-ttl+.ttl-bottom				{ margin-top: 30px; font-size: 14px; line-height: 1.8; }

}

@media print, screen and (min-width: 1024px) {
.sect-ttl+.ttl-bottom				{ margin-top: 30px; font-size: 16px;}

}







/* link-btn	*/
.link-btn				{ position: relative; text-align: center; transition: 0.2s;}
.link-btn a				{ display: block; margin:  0 2.5rem; padding: 1.5rem; font-weight: bold; border-bottom: #666666 1px solid; border-right: #666666 1px solid; color: #000000;}
.link-btn a:after		{ position: absolute; top: 40%; right: 0; content: ""; display: block; width: 5rem; height: 1rem; margin-left: -2.5rem; background: url("../images/common/arline_right_gr.png") no-repeat; background-size: contain; }
@media print, screen and (min-width: 768px) {

.link-btn a				{ margin:  0 2.5rem; padding: 1.5rem; font-size: 14px;}
.link-btn a:hover		{ background-color: #ffffff;}

}



/* contact_box */
.contact_box								{ position: relative; margin-top: 11.4rem; padding: 5rem 0; background-color: #f9f8f6;}
.contact_box:before							{ position: absolute; top: -6rem; left: -2rem; content: ""; display: block; width: 12rem; height: 12rem; background: url("../images/common/con_box_top_left.png") no-repeat; background-size: contain;}
.contact_box:after							{ position: absolute; top: -9rem; right: -2rem; content: ""; display: block; width: 14rem; height: 14rem; background: url("../images/common/con_box_top_right.png") no-repeat; background-size: contain;}
.contact_box .inbox							{ position: relative; border: #4b4b4b 2px solid; text-align: center;}
.contact_box .inbox:before					{ position: absolute; top: -30px; left: 50%; content: ""; display: block; width: 5rem; height: 5rem; margin-left: -2.5rem; background: no-repeat; background-size: cover;}
.contact_box .inbox .lead					{ font-size: 1.2rem;}
.contact_box .inbox.tel-box					{ }
.contact_box .inbox.tel-box a				{ display: block; padding: 4rem 2rem 2rem 2rem; }
.contact_box .inbox.tel-box:before			{ background-image: url("../images/common/contact_tel.png");}
.contact_box .inbox.tel-box .num			{ font-size: 3.2rem; }
.contact_box .inbox.tel-box .time			{ font-size: 1.1rem;}
.contact_box .inbox.mail-box				{ margin-top: 4rem; padding: 4rem 2rem 2rem 2rem; }
.contact_box .inbox.mail-box:before					{ background-image: url("../images/common/contact_mail.png");}
.contact_box .inbox.mail-box .link-btn		{ margin-top: 1.5rem; }

@media print, screen and (min-width: 768px) {
.contact_box								{ margin-top: 140px;  padding: 60px 0 40px;}
.contact_box:before							{ top: -80px; left: -40px; width: 200px; height: 200px;}
.contact_box:after							{ top: -140px; width: 210px; height: 210px; }
.contact_box .row							{ -webkit-display: flex; display: flex;}
.contact_box .inbox							{ width: 50%;  }
.contact_box .inbox .lead					{ font-size: 14px;}

.contact_box .inbox.tel-box					{ margin: 0 -1px 0 0; }
.contact_box .inbox.tel-box a				{ display: block; padding:50px 20px 20px 20px; }
.contact_box .inbox.tel-box .num			{ font-size: 40px; }
.contact_box .inbox.tel-box .time			{ font-size: 14px;}
.contact_box .inbox.mail-box				{ margin: 0 0 0 -1px; padding:50px 20px 20px 20px; }
.contact_box .inbox.mail-box .link-btn		{ max-width: 220px; margin: 15px auto;}
}

@media print, screen and (min-width: 1024px) {
.contact_box								{ margin-top: 250px;  padding: 60px 0 40px;}
.contact_box:before							{ top: -100px; width: 250px; height: 250px;}
.contact_box:after							{ top: -200px; width: 270px; height: 270px; }
.contact_box .inbox .lead					{ font-size: 16px;}
.contact_box .inbox:before					{ top: -25px;}

}



/* -------------------------------------------------------
#lead-wrap
---------------------------------------------------------------- */
#lead-wrap							{ position: relative; margin: 4rem 0;}
#lead-wrap:before					{ position: absolute; top: -2rem; left: -4rem; content: ""; display: block; width: 15rem; height: 15rem; background: url("../images/common/con_box_top_right.png") no-repeat; background-size: contain;}
#lead-wrap .txt-box					{  }
#lead-wrap .txt-box .main			{ text-align: center; font-size: 2rem; font-weight: bold;}
#lead-wrap .txt-box .sub			{ margin-top: 2rem;  }

@media print, screen and (min-width: 768px) {
#lead-wrap							{ margin: 90px 0;}
#lead-wrap:before					{ top: -60px; left: -60px; width: 280px; height: 280px; }
#lead-wrap .txt-box					{ margin: 20px 0 0; }
#lead-wrap .txt-box .main			{ font-size: 20px; }
#lead-wrap .txt-box .sub			{ margin-top: 20px; font-size: 16px; line-height: 1.8; }

}

@media print, screen and (min-width: 1024px) {
#lead-wrap							{ margin: 140px 0;}
#lead-wrap .inner					{ max-width: 860px;}
#lead-wrap .txt-box .main			{ font-size: 32px; }
#lead-wrap .txt-box .sub			{ margin-top: 20px; font-size: 16px;}

}




