@charset "utf-8";
/*******************************************
	reset
*******************************************/
*{
	margin: 0;
	padding: 0;
	text-align: left;
}
hr{
	display:none;
	line-height:0;
	font-size:0;
	padding:0;
	margin:0;
	border:none;
}
a{
	color:inherit;
	text-decoration:none;
}
ul,ol{
	list-style:none;
}
address{
	font-style:normal;
}
p{
	line-height:1.8;
}
img{
	border:none;
	width:auto;
	max-width:100%;
}
table,
tbody,
thead,
tr,
th,
td{
	border:none;
	border-collapse: collapse;
	margin:0;
	padding:0;
}

/*******************************************
	base
*******************************************/
html,body{
	width:100%;
	height:auto;
}
html{
	font-size:62.5%;
	font-family:"Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "MS PGothic", sans-serif;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body{
	font-size:1.0em;
	line-height:1.8;
	background:#fff;
	color:#333;
	position:relative;
}
.font-mc{
	font-family:"游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;;
}
#sticky-wrapper{
	width:100% !important;
}
#sticky-wrapper .gnavi{
	z-index:99;
}
#wrap{
	padding:92px 0 0;
	margin:0;
	min-width:0;
}
.pc{
	display:block;
}
.sp{
	display:none;
}
@media screen and (max-width: 768px) {
	html{
		font-size:43.8%;
	}
	#wrap{
		padding:16.3% 0 0;
		min-width:0;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	img{
		width:100%;
	}
}
/*------------------------------------------
	clear
------------------------------------------*/
.clear:after,
.clear:before{
	content:"";
	display:block;
	overflow:hidden;
	height:0;
}
.clear:after{
	clear:both;
}
.clear{
	zoom:1;
}
/*------------------------------------------
	inner-outer
------------------------------------------*/
.outer{
	max-width:100%;
	width:100%;
	min-width:100%;
	margin:0 auto;
}
.inner{
	max-width:960px;
	min-width:960px;
	width:auto;
	margin:0 auto;
}
@media screen and (max-width: 768px) {
	.inner,
	.outer{
		width:100%;
		min-width:0;
		max-width:768px;
	}
}
/*------------------------------------------
	title
------------------------------------------*/
.title{
	padding: 75px 0;
	margin:0 0 30px;
}
.title h2{
	text-align:center;
	font-size:2.6rem;
}
.title p{
	font-size:1.4rem;
	color:#6eb818;
	text-align:center;
}
.title01 h3{
	text-align:center;
	font-size:2.2rem;
}
.title01 p{
	font-size:1.4rem;
	color:#6eb818;
	text-align:center;
}
.cat-tit{
	font-size:2.0rem;
}
@media screen and (max-width: 768px) {
	.title{
		padding:10% 0;
		margin:0 0 5%;
	}
	.title h2{
		font-size:3.0rem;
	}
	.title p{
		font-size:2.0rem;
	}
	.title01{
		width:93.75%;
		margin:0 auto;
	}
	.title01 h3{
		font-size:2.6rem;
	}
	.cat-tit{
		text-align:center;
		padding:0 3.125%;
	}
}
/*------------------------------------------
	btn
------------------------------------------*/
.arrow01{
	position:relative;
}
.arrow01 span{
	display:block;
	text-align:center;
}
.arrow01 span:after{
	content:"";
	background:url(../images/ico_arrow01.png) no-repeat center center;
	background-size:100% 100%;
	display:block;
	height:0;
	padding-top:12px;
	width:12px;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
}
.arrow02{
	position:relative;
}
.arrow02 span{
	display:block;
	text-align:center;
}
.arrow02 span:after{
	content:"";
	background:url(../images/ico_arrow02.png) no-repeat center center;
	background-size:100% 100%;
	display:block;
	height:0;
	padding-top:12px;
	width:12px;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
}
@media screen and (max-width: 768px) {
	.arrow01 span:after{
		padding-top:5%;
		width:5%;
	}
	.arrow02 span:after{
		padding-top:5%;
		width:5%;
	}
}
/*------------------------------------------
	bg
------------------------------------------*/
.bg01{
	background:#ecedea;
}
.bg01 .inner{
	position:relative;
}
.bg01 .inner > div{
	position:relative;
	z-index:3;
}
.bg01 .inner:before{
	content:url(../images/bg01_01.png);
	width:280px;
	height:178px;
	display:block;
	position:absolute;
	top:0;
	left:-140px;
	z-index:2;
}
.bg01 .inner:after{
	content:url(../images/bg01_02.png);
	width:279px;
	height:176px;
	display:block;
	position:absolute;
	bottom:0;
	right:-140px;
	z-index:2;
}
.bg02{
	background:#ecedea;
}
.bg02 .inner{
	position:relative;
}
.bg02 .inner > div{
	position:relative;
	z-index:3;
}
.bg02 .inner:before{
	content:url(../images/bg02_01.png);
	width:280px;
	height:178px;
	display:block;
	position:absolute;
	top:0;
	left:-140px;
	z-index:2;
}
.bg02 .inner:after{
	content:url(../images/bg02_02.png);
	width:279px;
	height:176px;
	display:block;
	position:absolute;
	bottom:0;
	right:-140px;
	z-index:2;
}
@media screen and (max-width: 768px) {
	.bg01 .inner:before,
	.bg01 .inner:after{
		content:"";
		display:none;
	}
	.bg01{
		background:#ecedea url(../images/bg01_sp.png) no-repeat top center;
		background-size:100% auto;
	}
	.bg02 .inner:before,
	.bg02 .inner:after{
		content:"";
		display:none;
	}
	.bg02{
		background:#ecedea url(../images/bg02_sp.png) no-repeat top center;
		background-size:100% auto;
	}
}
/*******************************************
	article
*******************************************/
/*------------------------------------------
	pager
------------------------------------------*/
.pager ol{
	text-align:center;
	font-size:0;
	line-height:0;
}
.pager li{
	font-size:0;
	line-height:0;
}
.pager li:last-child{
	margin:0;
}
.pager a{
	padding:15px 17px;
	text-align:center;
	display:block;
	background:#e6e6e0;
	font-size:1.6rem;
	line-height:1;
	transition: all 0.4s ease;
}
.pager li.active a,
.pager a:hover{
	background:#6eb818;
	color:#fff;
}
#box-list .pager li{
	display:inline-block;
	width:50px;
	margin-right:10px;
}
#box-article .pager li{
	width:200px;
	position:relative;
}
#box-article .pager li.list{
	position:absolute;
	left:0;
	right:0;
	margin:auto;
}
#box-article .pager li.prev{
	float:left;
}
#box-article .pager li.prev:before{
	content:"";
	height:0;
	padding-top:15px;
	width:15px;
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:20px;
	margin:auto;
	background:url(../images/ico_prev.png) no-repeat;
	background-size:100% 100%;
}
#box-article .pager li.next{
	float:right;
}
#box-article .pager li.next:after{
	content:"";
	height:0;
	padding-top:15px;
	width:15px;
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	margin:auto;
	background:url(../images/ico_next.png) no-repeat;
	background-size:100% 100%;
}
@media screen and (max-width: 768px) {
	.pager ol{
		padding:0 3.125%;
	}
	#box-list .pager li{
		display:none;
	}
	.pager a{
		padding:15% 3%;
		font-size:2.0rem;
	}
	#box-list .pager li.next,
	#box-list .pager li.prev{
		display:block;
		width:30%;
	}
	.pager li.prev{
		float:left;
	}
	.pager li.next{
		float:right;
	}
	#box-article .pager li.prev:before{
		left:5%;
	}
	#box-article .pager li.next:after{
		right:5%;
	}
	#box-article .pager li.list{
		clear:both;
		position:static;
		width:auto;
		padding-top:3%;
	}
	#box-article .pager li.list a{
		padding:5% 3%;
		margin-top:2%;
	}
}
/*------------------------------------------
	.article
------------------------------------------*/
.article{
	font-size:1.4rem;
}
.article p,
.article ul,
.article ol{
	margin:0 0 20px;
}
.article ul,
.article ol{
	padding-left:20px;
}
.article ul{
	list-style:disc;
}
.article ol{
	list-style: decimal;
}
.article img{
	width:auto;
	max-width:100%;
}
.article a{
	color:#006699;
}
.article a:hover{
	text-decoration: underline;
}
@media screen and (max-width: 768px) {
	.article{
		font-size:1.8rem;
	}
	.article p,
	.article ul,
	.article ol{
		margin:0 0 5%;
	}
	.article ul,
	.article ol{
		padding-left:5%;
	}
	.article ul{
		list-style:disc;
	}
}
/*------------------------------------------
	information
------------------------------------------*/
.info-list li{
	margin-bottom:10px;
}
.info-list li dt,
.info-list li dd,
.info-list li dt span,
.info-list li dt time{
	display:inline-block;
	vertical-align: middle;
}
.info-list li dt{
	width:210px;
	vertical-align: top;
}
.info-list li dd{
	width:746px;
}
.info-list li dt span{
	font-size:1.3rem;
	color:#6baf1d;
	width:100px;
	padding:1px 0;
	text-align:center;
	border:1px solid #ccc;
	border-radius:2px;
	margin-right:1em;
}
.info-list li dt time{
	font-size:1.3rem;
	margin-left:115px;
}
.info-list li dt span + time{
	margin-left:0;
}
.info-list li dd a{
	font-size:1.3rem;
	color:#006699;
}
.info-list li dd a:hover{
	text-decoration: underline;
}
@media screen and (max-width: 768px) {
	.info-list li{
		position:relative;
		padding:2% 0;
		border-bottom:1px solid #999;
	}
	.info-list li a:after{
		content:"";
		background:url(../images/ico_arrow02.png) no-repeat center center;
		background-size:100% 100%;
		display:block;
		height:0;
		padding-top:5%;
		width:5%;
		position:absolute;
		right:4%;
		top:0;
		bottom:0;
		margin:auto;
	}
	.info-list li dt{
		width:auto;
		margin:0 0 2%;
	}
	.info-list li dt,
	.info-list li dd{
		display:block;
		padding:0 9.125% 0 3.125%;
	}
	.info-list li dd{
		width:auto;
	}
	.info-list li dt span{
		width:8em;
		font-size:1.8rem;
	}
	.info-list li dt time,
	.info-list li dd a{
		font-size:2.2rem;
	}
}
/*******************************************
	header
*******************************************/
#header{
	padding:10px 0 10px;
	background:#fff;
	position:fixed;
	top:0;
	width:100%;
	z-index:99;
}
#header h1{
	font-size:1.0rem;
	font-weight:normal;
	margin-bottom:10px;
}
#header p{
	font-size:0;
	line-height:0;
	width:170px;
}
#header .inner > div{
	float:left;
	width:474px;
}
#header .inner > div + div{
	float:right;
}
#header ul{
	text-align:right;
	margin-bottom:10px;
}
#header li,
#header li span{
	display:inline-block;
	vertical-align: middle;
}
#header li:last-child{
	margin-left:15px;
}
#header li a:hover{
	text-decoration: underline;
}
#header li a:before{
	content:url(../images/ico_company.png);
	display:inline-block;
	vertical-align: middle;
	margin-right:8px;
}
#header li:nth-child(2) a:before{
	content:url(../images/ico_policy.png);
}
#header dl dt{
	float:right;
	padding:5px 0 0;
	font-size:0;
	line-height:0;
}
#header dl dd{
	float:left;
}
@media screen and (max-width: 768px) {
	#header{
		width:96.25%;
		padding:1.875%;
		line-height:0;
		font-size:0;
	}
	#header h1{
		width:39.84375%;
		margin-bottom:0px;
		padding-top:12.84375%;
		background:url(../images/h_logo.png) no-repeat center center;
		background-size:contain;
		text-indent:-200%;
	}
	#header .inner > div{
		float:none;
		width:auto;
	}
}

/*******************************************
	gnavi
*******************************************/
/*------------------------------------------
	pc
------------------------------------------*/
.gnavi .pc{
	background:url(../images/gnavi_bg_pc.gif) repeat-x bottom;
}
.gnavi .pc li{
	font-size:0;
	line-height:0;
	float:left;
	background:#000;
}
.gnavi .pc li.index{
	background:url(../images/gnavi01_ov.png) no-repeat;
}
.gnavi .pc li.list{
	background:url(../images/gnavi02_ov.png) no-repeat;
}
.gnavi .pc li.about{
	background:url(../images/gnavi03_ov.png) no-repeat;
}
.gnavi .pc li.flow{
	background:url(../images/gnavi04_ov.png) no-repeat;
}
.gnavi .pc li.corporate{
	background:url(../images/gnavi05_ov.png) no-repeat;
}
.gnavi .pc li.faq{
	background:url(../images/gnavi06_ov.png) no-repeat;
}
.gnavi .pc li a{
	transition: all 0.4s ease;
	display:block;
}
#wrap.index .gnavi .pc li.index a,
#wrap.list .gnavi .pc li.list a,
#wrap.about .gnavi .pc li.about a,
#wrap.flow .gnavi .pc li.flow a,
#wrap.corporate .gnavi .pc li.corporate a,
#wrap.faq .gnavi .pc li.faq a,
.gnavi .pc li a:hover{
	opacity:0;
}
.gnavi .pc li > img{
	opacity:0.5;
}
@media screen and (max-width: 768px) {
	.gnavi .sp dt{
		width:11.875%;
		position:fixed;
		right:1.875%;
		top:0;
		z-index:100;
		margin-top:1.875%;
		font-size:0;
		line-height:0;
		background:url(../images/sp_menu_btn_on.png) no-repeat top;
		background-size:contain;
	}
	.gnavi .sp dt a{
		display:block;
		transition: all 0.4s ease;
	}
	.gnavi .sp dt.active a{
		opacity:0;
	}
	.gnavi .sp dd{
		width:100%;
		position:fixed;
		top:0;
		z-index:98;
		padding-top:16%;
		display:none;
	}
	.gnavi .sp dd li{
		background:#6baf1d;
		border-bottom:1px solid #fff;
	}
	.gnavi .sp dd li.off{
		background:#35570e;
		padding:3.90625% 0;
		text-align:center;
		color:#7f7f7f;
		font-size:2.2rem;
	}
	.gnavi .sp dd li a{
		display:block;
		text-align:center;
		color:#fff;
		font-size:2.2rem;
		padding:3.90625% 0;
	}
}


/*******************************************
	footer
*******************************************/
#footer{
	background:#e6e6e0;
}
/*------------------------------------------
	inquiry
------------------------------------------*/
#footer .inquiry{
	background:url(../images/f_inquiry_bg.jpg) no-repeat center center;
	background-size:cover;
	padding:85px 0 65px;
}
#footer .inquiry dt{
	color:#fff;
	text-align:center;
	font-size:2.2rem;
	font-weight:bold;
	margin-bottom:10px;
}
#footer .inquiry dd{
	color:#fff;
	text-align:center;
	font-size:1.3rem;
	margin-bottom:30px;
}
#footer .inquiry ul{
	text-align:center;
}
#footer .inquiry li{
	display:inline-block;
	font-size:0;
	line-height:0;
	vertical-align: middle;
	margin-right:20px;
}
#footer .inquiry li:nth-child(2) a{
	font-size:1.4rem;
	line-height:1;
	padding:15px 35px;
	border:1px solid #fff;
	background:#f16c13;
	color:#fff;
	transition: all 0.4s ease;
}
#footer .inquiry li:nth-child(2) a:hover{
	background:#fff;
	color:#f16c13;
	border:1px solid #f16c13;
}
@media screen and (max-width: 768px) {
	#footer .inquiry{
		padding:8% 0;
	}
	#footer .inquiry dl,
	#footer .inquiry ul{
		width:93.75%;
		margin:0 auto;
	}
	#footer .inquiry dt{
		font-size:3.0rem;
		margin-bottom:3%;
	}
	#footer .inquiry dd{
		font-size:2.2rem;
		margin-bottom:5%;
	}
	#footer .inquiry li{
		display:block;
		margin-right:0;
		margin-bottom:5%;
	}
	#footer .inquiry li:nth-child(2){
		margin-bottom:0;
	}
	#footer .inquiry li:nth-child(2) a{
		display:block;
		text-align:center;
		font-size:2.6rem;
		border:2px solid #fff;
		padding:5%;
	}
}
/*------------------------------------------
	company
------------------------------------------*/
#footer .company{
	padding:45px 0 50px;
}
#footer .company .inner > div{
	width:480px;
	float:left;
}
#footer .company .inner > div + div{
	float:right;
}
#footer .company .inner dt{
	font-size:0;
	line-height:0;
	width:277px;
	margin-bottom:30px;
}
#footer .company .inner dd{
	font-size:1.3rem;
	margin-bottom:20px;
}
#footer .company .inner dd .pc{
	display:inline;
}
#footer .company .inner nav ul{
	float:left;
	width:250px;
}
#footer .company .inner nav ul + ul{
	float:right;
	width:210px;
}
#footer .company .inner nav li{
	font-size:1.3rem;
	margin:0 0 5px;
}
#footer .company .inner nav li a:hover{
	text-decoration: underline;
}
#footer .company .inner #gmap iframe{
	width:100%;
}
@media screen and (max-width: 768px) {
	#footer .company{
		padding:8% 3.125% 25%;
	}
	#footer .company .inner > div{
		width:100%;
		float:none;
	}
	#footer .company .inner > div + div{
		float:none;
	}
	#footer .company .inner dd .pc{
		display:none;
	}
	#footer .company .inner dt{
		width:46.66666666666667%;
		margin:0 auto 3%;
	}
	#footer .company .inner dd{
		font-size:2.2rem;
		margin-bottom:5%;
		text-align:center;
	}
}
/*------------------------------------------
	gmap
------------------------------------------*/
#footer #gmap{
	width:50%;
	height:0;
	padding-top:40%;
}
@media screen and (max-width: 768px) {
	#footer #gmap{
		width:100%;
		padding-top:80%;
	}
}
/*------------------------------------------
	copy
------------------------------------------*/
#footer .copyright{
	margin-top:20px;
}
#footer .copyright img{
	width:165px;
	display:inline-block;
	vertical-align: middle;
	padding-bottom:13px;
	margin-right:20px;
}
@media screen and (max-width: 768px) {
	#footer .copyright{
		margin-top:5%;
		padding:0 3.125%;
		text-align:center;
		font-size:1.2rem;
		width:auto;
	}
	#footer .copyright img{
		width:27.5%;
		display:inline-block;
		vertical-align: middle;
		padding-bottom:3%;
		margin-right:0;
	}
}
/*******************************************
	aside
*******************************************/
aside nav ul{
	position:fixed;
	top:0;
	bottom:0;
	right:0;
	margin:auto;
	height:305px;
	z-index:99;
}
aside nav ul li{
	background:#fff;
	font-size:0;
	line-height:0;
	margin:0 0 15px;
}
aside nav ul li a{
	transition: all 0.4s ease;
}
aside nav ul li a:hover{
	opacity:0.5;
}
aside .gotop{
	position:fixed;
	width:55px;
	height:55px;
	bottom:20px;
	right:20px;
}
@media screen and (max-width: 768px) {
	aside nav ul{
		top:auto;
		height:auto;
		right:auto;
		left:auto;
		width:100%;
		background:rgba(255,255,255,0.5);
	}
	aside nav ul li{
		width:48%;
		float:left;
		margin:2% 1% 2% 2%;
	}
	aside nav ul li{
		margin-left:1%;
	}
	aside nav ul li a{
		display:block;
	}
}