@charset "utf-8";

/* 共通パーツ */
html, body{
	width:100%;
	height:100%;
	font-family: 'Noto Sans JP', sans-serif;
}
html{overflow-y: scroll;font-size: 625%;}
body{
	position: relative;
	width: 100%;
	color: #3a393c;
	background-color: #ffffff;
	font-size: .14em;
    line-height: 1.8em;
	font-weight: 400; 
	word-wrap: break-word;
}

.clearfix:after {
	content: "."; 
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;
	/*ﾂ･*//*/
	height: auto;
	overflow: hidden;
	/**/
}

.font-Serif{font-family: 'Noto Serif JP', serif;}

a:link {color: #3a393c;text-decoration: none;}
a:visited {color: #3a393c;text-decoration: none;}
a:hover{cursor: pointer; text-decoration: none; color: #7eb427 !important; transition: all .3s ease-out;}
.red a:link, .red a:visited{color: #de0f2c;}

.nodisp{
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	height: 0;
}
.center{text-align: center;}
.right{text-align: right;}
.left{text-align: left;}
.strong{font-weight: 900;}
.bold{font-weight: 700;}
.red{color: #de0f2c;}
.green{color: #7eb427;}
.bluregreen{color: #078373;}
.underline{text-decoration: underline !important;}
.nowrap{white-space: nowrap;}
.block{display: block;}
sup{
	position: relative;
	font-size: 75.5%;
	vertical-align: top;
	top: -0.2em;
}

.fontSmall{font-size: .12rem;}
.fontBig{font-size: .16rem;}

.paddingTop10{padding-top: 10px;}
.paddingTop20{padding-top: 20px;}
.paddingTop30{padding-top: 30px;}
.paddingTop40{padding-top: 40px;}
.paddingTop50{padding-top: 50px;}
.paddingLeft2em{padding-left: 2em;}

.linkArea{
	position: relative;
	margin: 0 auto;
	text-align: center;
}
.button{
	position: relative;
	margin: 0 auto;
	background: #7eb427;
	color: #ffffff !important;
	border: solid 1px #7eb427;
	display: block;
	padding: 10px 3em;
	text-align: center;
	font-weight: 500;
	line-height: 1em;
}
.button.arrow::after{
	position: absolute;
	top:50%;
	right: 5px;
	content: '\025b6';
	display: block;
	transform: scale(1, 0.9) translateY(-50%);
	font-size: 60%;
}
.button.orange{background-color: #fb9a1d;border: solid 1px #fb9a1d;}
.button:hover{background-color: #ffffff; color: #7eb427 !important;opacity: 1;}
.button.orange:hover{background-color: #ffffff; color: #fb9a1d !important;opacity: 1;}

img{
	max-width:100%;
	height: auto;
	margin: 0;
	padding: 0;
	vertical-align: bottom;
}
/* chrome opera */
@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
	img {
		image-rendering: -webkit-optimize-contrast;
	}
}
/* safari*/
::-webkit-full-page-media, :future, :root img{
	image-rendering:auto;
}
svg {vertical-align:bottom;max-width: 100%;}
img[src$=".svg"] {width: 100%;}

iframe[name="google_conversion_frame"] { position: absolute; top: 0; }


#wrap{position: relative;width: 100%; height:auto; margin:0 auto; padding:0;}
#contents{position: relative;width: 100%;  margin: 0 auto; padding:0;}

section{
    position: relative;
    margin: 0 auto;
    padding: 0;
}

.flexbox{
    position: relative;
    margin: 0 auto;
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flexbetween{justify-content: space-between;}
.flexcenter{justify-content: center;}
.flexend{justify-content: flex-end;}
.flexstart{justify-content: flex-start;}
.flexalignstart{align-items: flex-start;}
.flexaligncenter{align-items:center;}
.flexalignstrech{align-items: stretch}
.flexalignend{align-items: flex-end;}
.flexbox .box{
    position: relative;
    margin: 0;
    width: 100%;
}

/* navigation */
#menu{
    position: fixed;
	top:0;
    left: 0;
    width: 100%;
    height: 50px;
	z-index: 1000;
}
nav{
	position: fixed;
	top:0;
	left: calc(100% + 20px);
	padding: 90px 0 0 0;
	height: 100%;
	width: calc(100% + 20px);
	overflow-y: auto;
    background-color: #F8F9F6;
    transition: all .3s ease-out;
}
.dispMenu{left:0;}
nav ul{
	position: relative;
	margin: 0 auto;
	transform: translateX(-10px);
	padding: 0 0 100px 0;
	width: calc(100% - 80px);
}
nav ul li{
	position: relative;
	margin: 0;
	padding: 0 0 30px 25px;
    width: 100%;
	transition: all .3s ease-out;
}
nav ul li.contact, nav ul li.shiryo{width: 100%;padding: 30px 0 0 0;}
nav ul li a{
	position: relative;
	margin: 0 auto;
	display: block;
	line-height: 1em;
	font-size: .16rem;
}
nav ul li a.button{
	border-radius: 100px;
	padding: 5px 0;
	width: 8em;
}

#btn_menu{
	position: fixed;
	top:0;
	right: 0;
	display: block;
	width: 50px;
	height: 50px;
	z-index: 1002;
	background-color: #7eb427;
}
.menu-trigger:hover{ cursor: pointer; }
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .2s;
	box-sizing: border-box;
}
.menu-trigger {
	position: absolute;
	top:12px;
	right: 10px;
	width: 30px;
	height: 20px;
	z-index: 10;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #ffffff;
	border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {top: 0;}
.menu-trigger span:nth-of-type(2) {top: 9px;}
.menu-trigger span:nth-of-type(3) {bottom: 0;}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-45deg);
	transform: translateY(10px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {opacity: 0;}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(45deg);
	transform: translateY(-10px) rotate(45deg);
}

#contactWrap{
	position: relative;
	margin: 0 auto;
	padding: 40px 0;
	max-width: 960px;
	width: calc(100% - 30px);
	gap:20px;
}
#contactWrap .text, #contactWrap .links{
	position: relative;
	margin: 0;
	width: 100%;
}
#contactWrap h2{
	position: relative;
	margin: 0 auto;
	padding-bottom: 10px;
	color: #7eb427;
	font-size: 110%;
	font-weight: 500;
	line-height: 1em;
}
#contactWrap h2 img{height: 1em; width: auto;}
#contactWrap .links .linkArea{width: 100%;gap:10px;}
#contactWrap .links .linkArea .button{
	padding: 2em 0;
	border-radius: 10px;
	width: calc(50% - 10px);
}

/* フッター */
footer{
    position: relative;
    margin:  0 auto;
	background-color: #7eb427;
	color: #ffffff;
}
footer a{color: #ffffff !important;}
footer .linkArea{position: relative;margin: 10px auto 0 auto; width: calc(100% - 80px);}
footer .linkArea .button{margin: 20px auto 0 auto;}

footer .footerWrap{
	position: relative;
	margin: 0 auto;
	padding: 20px 0 0 0;
}
footer .footerWrap .footer01{
	position: relative;
	margin: 0 auto;
	width: calc(100% - 40px);
}
footer .footerWrap .logo{
	position: relative;
	margin: 0 auto 5px auto;
}
footer .footerWrap .logo img{
	position: relative;
	margin: 0;
	display: block;
	width: 50%;
	max-width: 211px;
}
footer .footerWrap .footer02{
	position: relative;
	margin: 20px auto 0 auto;
	padding: 20px 0 0 0;
	width: 100%;
	border-top: solid 1px #93CB39;
	z-index: 11;
}
footer .footerWrap ul{
	 position: relative;
    margin: 0 auto;
	width: calc(100% - 40px);
	gap: 20px 10px;
}
footer .footerWrap .footer02 ul li{
    position: relative;
    width: calc(50% - 35px);
	margin: 0;
	line-height: 1em;
	text-align: center;
}
footer .footerWrap .address{font-size: .13rem;line-height: 1.4em;}
footer .footerWrap .copyright{
	position: relative;
	margin: 30px auto 0 auto;
	text-align: center;
	font-size: 70%;
}


/* H2 */
.ttlWrap{
	position: relative;
	margin: 0 auto 30px auto;
	width: calc(100% - 20px);
	max-width: 960px;
}
h2.ttl{
	position: relative;
	margin: 0;
	font-size: .23rem;
	font-weight: 500;
	color: #7eb427;
	line-height: 1em;
	letter-spacing: 0.1em;
}
h2.ttl p{
	font-size:46%;
	line-height: 1.4em;
	letter-spacing: normal;
}
.ttlWrap .linkArea {margin: 0;}
.ttlWrap .linkArea a.button{
	font-size: .12rem;
	padding: 5px 4em;
}

/* youtube */
.movieWrap{
    position: relative;
    margin: 0 auto;
	background-color: #000000;
	border: solid 3px #103a5a;
}
.movie{
	position: relative;
	margin:0 auto;
	width: 100%;
	height: 0;
	padding-top: 56.25%;
}
.movie iframe{
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* list */
ul.listDot, ul.listCircle, ul.listOl{position: relative;}
ul.listOl{counter-reset: my-counter;}
ul.listDot li, ul.listCircle li, ul.listOl li{
	position: relative;
	padding-left: 1.2em;
}
ul.listOl li{padding-left: 30px;line-height: 1.5;margin-bottom: 6px;}
ul.listDot li::before, ul.listCircle li::before, ul.listOl li::before{
	position: absolute;
	top:0;
	left: 0;
}
ul.listDot li::before{content: '・';}
ul.listCircle li::before{content: '●';}
ul.listOl li::before{
	content: counter(my-counter);
	counter-increment: my-counter;
	border: 1px solid;
	border-radius: 50%;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 20px;
	width: 20px;
	font-size: .12rem;
	line-height: 1;
}

.sp{ display: block; }
.pc{ display: none; }
.spN{ display: block; }
.pcN{ display: none; }

/* ----- ヘッダーフッター ----- */
@media screen and (min-width: 1110px) {

	/* navigation */
	#btn_menu{display: none;}
	#menu{height: 50px;}
	#menu.bg{background-color: rgba(255,255,255,0.7);}
	nav{
		position: relative;
		top:auto;
		left: auto;
		padding: 10px 0 0 0;
		height: 100%;
		width: 100%;
		background-color: transparent;
	}
	nav ul{
		transform: translateX(0);
		padding: 0;
		width: calc(100% - 30px);
		gap: 0 15px;
	}
	nav ul li{
		margin: 0;
		padding: 0;
		width: auto;
	}
	nav ul li.contact, nav ul li.shiryo{width: auto;padding: 0;}
	nav ul li a{font-size: .14rem;}

	#contactWrap{
		padding: 80px 0;
		gap:0 50px;
	}
	#contactWrap .text, #contactWrap .links{width: calc(50% - 25px);}
	#contactWrap h2{font-size: 130%;}
	#contactWrap .links .linkArea .button{
		font-size: 120%;
		padding: 2em 0;
	}
	
	/* フッター */
	footer{padding-bottom: 0;}
	footer a:hover{color: #000000 !important;}
	footer .footerWrap{max-width: 840px;padding-bottom: 20px;align-items: flex-end;}
	footer .footerWrap .footer01{
		margin: 0 ;
		width: 50%;
	}
	footer .footerWrap .logo{
		margin: 0 auto 10px auto;
	}
	footer .footerWrap .logo img{margin: 0 0 5px 0;}
	footer .footerWrap .footer02{
		margin: 0;
		padding: 20px 0 0 0;
		width: 50%;
		border-top: none;
	}
	footer .footerWrap ul{width: 100%;gap: 0 15px;}
	footer .footerWrap .footer02 ul li{
		width: auto;
		margin: 0;
		padding: 0;
		font-size: .13rem;
	}
	footer .footerWrap .footer02 ul li::before{top:1px;}
	footer .footerWrap .copyright{
		margin: 50px auto 0 auto;
		text-align: right;
	}
	
	
	.spN{ display: none !important; }
	.pcN{ display: block !important; }
}

/* ----- pc ----- */
@media screen and (min-width: 641px) {
	
	.sp{ display: none; }
	.pc{ display: block; }
	.spN{ display: block; }
	.pcN{ display: none; }
	
	body{font-size: .16em;}
    
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
	
	.button{max-width: 360px;}

	.fontSmall{font-size: .14rem;}
	.fontBig{font-size: .18rem;}

	/* H2 */
	.ttlWrap{margin: 0 auto 50px auto;}
	h2.ttl{font-size: .40rem;}
	.ttlWrap .linkArea a.button{
		font-size: .16rem;
		padding: 5px 5em;
	}

}

