@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

html.close {
	overflow:hidden;
	height:100%;
}

body {
	-webkit-text-size-adjust: 100%;
	font-family: 'Helvetica Neue', Helvetica, 'Noto Sans JP', sans-serif;
	font-size:18px;
	line-height:2;
	text-align:center;
	color:#3C3C3C;
}
@media screen and (max-width:768px){
	body {
		font-size:3.4vw;
	}
}


#wrapper {
}


a {
	transition : opacity 0.4s;
	-webkit-transition : opacity 0.4s;
	opacity:1;
	outline:none;
}
a:hover {
	opacity: 0.6;
}

.only_smart,
.only_smart_i{
	display:none !important;
}

@media screen and (max-width:768px){
	.only_pc{
		display:none !important;
	}

	.only_smart{
		display:block !important;
	}
	.only_smart_i{
		display:inline-block !important;
	}
}

img{
	max-width:100%;
}

#wrapper{
}


/* header */
header{
	width:100%;
	position:fixed;
	z-index:100;
	position:fixed;
	background-color:#fff;
}
header.shadow{
	box-shadow:0 0 6px rgba(0,0,0,0.2);
}
header > div{
	max-width:1024px;
	height:80px;
	margin:auto;
	padding:0 0 0 10px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
}
header > div > a{
	display:inline-block;
	width:248px;
}
header > div nav > ul{
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
header > div nav > ul > li{
	margin-left:1em;
}
header > div nav > ul > li:first-child{
	margin-left:0;
}
header > div nav > ul > li a{
	line-height:1.3;
	display:inline-block;
	vertical-align:middle;
	font-size:13px;
	font-weight:500;
	color:#317E63;
}
header > div nav > ul > li:last-child a{
	display:block;
	width:125px;
	line-height:80px;
	font-size:16px;
	color:#fff;
	background-color:#317E63;
}
header > div nav > ul > li:last-child a:hover{
	opacity:1;
	background-color:#EF6249;
}


@media screen and (max-width:1024px){
	header > div > a{
		width:210px;
	}
	header > div nav > ul > li a{
		font-size:12px;
	}
	header > div nav > ul li a br.only_smart{
		display:block !important;
	}
	header > div nav > ul > li:last-child a{
		width:100px;
		line-height:80px;
		font-size:14px;
	}
}

@media screen and (max-width:768px){
	header > div{
		height:50px;
		padding:0 0 0 3%;
	}
	header > div nav{
		width:280px;
		height:calc(100% - 50px);
		position:fixed;
		top:50px;
		right:-280px;
		background-color:#ECE5DA;
		transition : right 0.4s;
		-webkit-transition : right 0.4s;
	}
	header > div nav.open{
		right:0;
	}
	header > div nav > ul{
		display:block;
	}
	header > div nav > ul > li{
		margin-left:0;
		line-height:50px;
		border-bottom:1px solid #317E63;
	}
	header > div nav > ul > li a{
		display:block;
		height:auto;
		line-height:50px;
		padding-left:1.5em;
		font-size:16px;
		display: block;
		text-align:left;
	}
	header > div nav > ul li a br.only_smart{
		display:none !important;
	}
	header > div nav > ul > li:last-child a{
		display:block;
		width:100%;
		line-height:50px;
		font-size:16px;
		color:#317E63;;
		background-color:transparent;
	}
	header > div nav > ul > li a:hover{
		opacity:1;
		background-color:#FFF985;
	}
	header > div nav > ul > li:last-child a:hover{
		background-color:#FFF985;
	}
}


/* #btnmenu */
#btnmenu{
	width:50px;
	height:50px;
	margin:0;
	padding:0;
	background-color:#317E63;
	position:relative;
	z-index:105;
	cursor:pointer;
}
#btnmenu span{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 30px;
	height: 2px;
	border-radius:2px;
	margin: -1px 0 0 -15px;
	background: #fff;
	-webkit-transition: .2s;
	-moz-transition: .2s;
	-ms-transition: .2s;
	-o-transition: .2s;
	transition: .2s;
}
#btnmenu span:before,
#btnmenu span:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 30px;
	height: 2px;
	background: #fff;
	border-radius:2px;
	-webkit-transition: .3s;
	transition: .3s;
}

#btnmenu span:before{
	margin-top: -10px;
}

#btnmenu span:after{
	margin-top: 8px;
}
#btnmenu.close{
	width:50px;
	height:50px;
	box-shadow:none;
	border-radius:0;
}
#btnmenu.close span{
	background-color:transparent;
}

#btnmenu.close span:before,
#btnmenu.close span:after{
	margin-top: 0;
}

#btnmenu.close span:before{
	width: 30px;
	height: 2px;
	margin: -2px 0 0 0;
	border-radius:2px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#btnmenu.close span:after{
	width: 30px;
	height: 2px;
	margin: -2px 0 0 0;
	border-radius:2px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}


/* article */
article{
	padding-top:80px;
}
@media screen and (max-width:768px){
	article{
		padding-top:50px;
	}
}


/* .h1_low */
.h1_low{
	padding:65px 0;
	background-color:#BAE2F8;
}
.h1_low span{
	display:block;
	max-width:940px;
	width:100%;
	margin:auto;
	padding:0 10px;
	text-align:left;
}
.h1_low span img{
	max-width:460px;
	width:48%;
}
@media screen and (max-width:1024px){
	.h1_low{
		padding:5% 0;
	}
	.h1_low span{
		padding:0 3%;
	}
}
@media screen and (max-width:768px){
	.h1_low{
		padding:8% 0;
	}
	.h1_low span{
		text-align:center;
	}
	.h1_low span img{
		max-width:100%;
		width:90%;
	}
}



/* footer */
footer{
}
footer nav{
	padding:20px 10px;
	background-color:#3C3C3C;
}
footer nav ul{
	max-width:1024px;
	margin:auto;
}
footer nav ul li{
	text-align:left;
}
footer nav ul li a{
	font-weight:bold;
	color:#fff;
}
footer nav ul li a:before{
	content:'>';
	margin-right:0.5em;
	font-weight:normal;
}

@media screen and (max-width:768px){
	footer nav{
		padding:3% 5% 16%;
	}
}



/* #bottom_nav */
#bottom_nav{
	width:100%;
	position:fixed;
	bottom:0;
	left:0;
	overflow:hidden;
	z-index:101;
	text-align:center;
}
#bottom_nav li{
	width:50%;
	background-color:#fff;
	float:left;
}
#bottom_nav li a{
	display:block;
}


/* to_top */
#topbtn{
	width:80px;
	line-height:0;
	position:fixed;
	z-index:99;
	right:30px;
	bottom:-200px;
	-webkit-transition: bottom 0.8s;
	-moz-transition: bottom 0.8s;
	-ms-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
@media screen and (max-width:768px){
	#topbtn{
		width:50px;
		right:20px;
	}
}



/* fadein */
.fadein {
	opacity : 0;
	-webkit-transform : translate(0, 70px);
	transform : translate(0, 70px);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_l {
	opacity : 0;
	-webkit-transform : translate(-100px, 0);
	transform : translate(-100px, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.fadein_r {
	opacity : 0;
	-webkit-transform : translate(100px, 0);
	transform : translate(100px, 0);
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
}
.delay1 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.2s;
	transition-delay : 0.2s;
}
.delay2 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.4s;
	transition-delay : 0.4s;
}
.delay3 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.6s;
	transition-delay : 0.6s;
}
.delay4 {
	-webkit-transition-property: transform,opacity;
	transition-property : transform,opacity;
	-webkit-transition-duration: 1s;
	transition-duration : 1s;
	-webkit-transition-delay: 0.8s;
	transition-delay : 0.8s;
}

.fadein.scrollin,
.fadein_l.scrollin,
.fadein_r.scrollin{
	opacity : 1;
	-webkit-transform : translate(0, 0);
	transform : translate(0, 0);
}
