body{
	background:#fff;
}

/* -------------------- form -------------------- */

input, button, textarea, select {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

input{
	border-radius:3px;
	padding:5px;
    border:solid 1px #ccc;
	box-sizing:border-box;
}

input:focus {
    border:solid 1px #3eaadc;
}

/* -------------------- header -------------------- */

#header{
	margin:0;
}
.header{
}
.header-bnr{
	text-align:right;
	padding:10px 10px 0 0;
}
	.header-bnr img{
		width:160px;
	}

@media print, screen and (min-width: 768px) {
	.header-bnr img{
		width:280px;
	}
}


/* -------------------- footer -------------------- */

#footer{
	margin:0;
	background:#efefef;
	border-bottom:8px #e3d394 solid;
	min-height:180px;
}
#footer .indexcon_inner{
	padding-bottom:0;
}
/*#footer li a {*/
	/*z-index:1;*/
/*}*/

#footer .btn_top{
	text-align:right;
}

	#footer .footer-adress{
		text-align:center;
		padding:36px 0 24px 0;
		margin:0 auto;
	}
	
	#footer .footer-adress img{
		margin:0 0 7px 0;
	}
	#footer ul li a:link,
	#footer ul li a:visited{
		text-decoration:none;
		font-size:1.5em;
	}

@media screen and (max-width: 768px) {
	
	#footer ul{
		display:block;
		margin:0 auto;
		border-top:1px #3eaadc solid;
		width:100%;
	}
	#footer ul li{
		display:block;
	}
	#footer ul li a:link,
	#footer ul li a:visited{
		display:block;
		padding:20px 10px;
		background: #ddf5ff;
			background: -moz-linear-gradient(top,  #f9fdff 0%, #ddf5ff 100%);
			background: -webkit-linear-gradient(top,  #f9fdff 0%,#ddf5ff 100%);
			background: linear-gradient(to bottom,  #f9fdff 0%,#ddf5ff 100%);
		border-bottom:1px #3eaadc solid;
		color:#333;
		font-size:12pt;
	}
	#footer .footer-adress{
		background:#fff;
	}
}

@media screen and (min-width: 769px) {

	#footer ul{
		display:-webkit-flex;
		display:flex;
		margin:0 auto;
		width:580px;
		position:relative;
	}
	#footer ul li{
		padding:0 20px;
	}
	#footer ul li a:link,
	#footer ul li a:visited{
		color:#3faee2;
	}
	#footer ul li:before{
		content:"●";
		display:block;
		position:relative;
		top:1.3em;
		left:-16px;
		color:#abdaef;
		font-weight:bold;
		width: 10px;
	}

}


/* -------------------- cover -------------------- */

#cover{
	box-sizing:border-box;
	margin:0 auto;
	}	
.cover-catch{
	text-align:center;
	display:block;
	padding:20px 40px;
}
	.index-login{
		padding:120px 10px 20px 10px;
	}
	.index-login-box{
		width:80%;
		padding:10px;
		margin:0 auto;
		background:#fff;
		border-radius:10px;
		box-sizing:border-box;
	}
		.index-login-box .index-login-submit{
			text-align:center;
			margin:6px auto 0 auto;
		}
		.index-login-box .index-login-reminder{
			text-align:right;
			padding:10px 0 0 0;
		}
	.index-login .index-login-regist{
		text-align:center;
		margin:10px 30px;
	}
	.index-login-box dl{
		margin:0;
		display: -webkit-flex;
		display:flex;
		flex-flow:row wrap;
	}
		.index-login-box dl dt,
		.index-login-box dl dd{
			margin:0 0 6px 0;
		}
		.index-login-box dl dd input{
			width:100%;
		}

@media screen and (max-width: 480px) {
	/* キャンペーン時　非表示用
    #cover{
        background:url(../images/cover_sp.jpg) center top no-repeat;
        background-size:auto 100% ;
        }
    */
	/* modifi 20161221 キャンペーンバナー追加用　start */
	#cover{
		background:url(../images/cover_sp.jpg) center top no-repeat;
		background-size:auto 70% ;
	}
	/* modifi 20161221 キャンペーンバナー追加用　end */

	.index-login-box dl dt{
		display:none;
	}
	.index-login-box dl dd{
		width:100%;
	}

}

@media screen and (min-width: 481px) and (max-width: 767px) {

	#cover{
		/* 2016 1221キャンペーン用のバナー追加のため一時的に非表示
        background:url(../images/cover_sp.jpg) center top no-repeat;
        background-size:auto 100% ;
        }
        */
		/* modifi 20161221 キャンペーンバナー追加用　start */
		background:url(../images/cover_sp.jpg) center top no-repeat;
		background-size:auto 70% ;
	}
	/* modifi 20161221 キャンペーンバナー追加用　end */
	.index-login-box{
		opacity:0.9;
	}
	.index-login-box dl dt{
		display:block;
		padding-top:5px;
		width:30%;
	}
	.index-login-box dl dd{
		width:70%;
	}

#cover{
	background:url(../images/cover_sp.jpg) center top no-repeat;
	background-size:auto 100% ;
	}	
		.index-login-box dl dt{
			display:none;
		}
		.index-login-box dl dd{
			width:100%;
		}

}

@media screen and (min-width: 481px) and (max-width: 767px) {
	
#cover{
	background:url(../images/cover_sp.jpg) center top no-repeat;
	background-size:auto 100% ;
	}	

	.index-login-box{
		opacity:0.9;
	}
		.index-login-box dl dt{
			display:block;
			padding-top:5px;
			width:30%;
		}
		.index-login-box dl dd{
			width:70%;
		}

}

@media print, screen and (min-width: 768px) {
	
	#cover{
		background:url(../images/cover.jpg) center bottom no-repeat;
		background-size:cover;
		height:540px;
		
	}
	.cover-inner{
		padding:40px 0 0 60%;
	}
.cover-catch{
	display:block;
	margin:0 0 30px 0;
	padding:0;
}
.index-login{
	margin:0 10px;
	padding:0;
}
	.index-login-box{
		width:100%;
		padding:20px;
		background:#fff;
		border-radius:10px;
		box-sizing:border-box;
	}
		.index-login-box .index-login-submit{
			width:200px;
			margin:6px auto 0 auto;
		}
		.index-login-box .index-login-reminder{
			text-align:right;
			padding:10px 0;
		}

	.index-login .index-login-regist{
		margin:20px 0;
	}
		.index-login-box dl dt{
			display:block;
			padding-top:5px;
			width:35%;
		}
		.index-login-box dl dd{
			width:65%;
		}
}

@media print, screen and (min-width: 930px) {
	#cover{
		background:url(../images/cover.jpg) center bottom no-repeat;
		background-size:cover;
		height:594px;
	}
	.cover-inner{
		max-width:960px;
		padding:40px 10px 0 570px;
		margin:0 auto;
		box-sizing:border-box;
	}
	.index-login-box{
		width:360px;
		max-width:100%;
	}
}


/* -------------------- indexcon -------------------- */

.indexcon{
	background:#fff;
}
.indexcon_inner{
	margin:0 auto;
	padding:45px 0;
	padding: 0;
	max-width:960px;
}

/* -------------------- #about -------------------- */

		
	#about{
		background:#fff;
	}
	
	
	#about dl{
		display:block;
	}
	#about dl dt{
		font-size:1.35em;
		line-height:1.85;
	}
		#about dl dt h3{
			margin:0;
			text-align:center;
		}
	
@media screen and (min-width: 0px) and (max-width: 480px) {

	#about dl dt{
		width:100%;
	}
		#about .about01 p{background:url(../images/about_01_txt.png) top left no-repeat; background-size:contain;}
		#about .about02 p{background:url(../images/about_02_txt.png) top left no-repeat; background-size:contain;}
		#about .about03 p{background:url(../images/about_03_txt.png) top left no-repeat; background-size:contain;}

			#about p{
				padding:0 0 0 100px;
				margin:20px 20px 10px 20px;
			}
			#about dl dd{
				text-align:center;
				width:80%;
				margin:0 auto 30px auto;
			}
}

@media screen and (min-width: 481px) and (max-width: 767px) {
	
	#about .indexcon_inner{
		padding:10px 0 0 0;
	}
	
	#about dl{
		display:-weblit-flex;
		display:flex;
		flex-flow:row nowrap;
		margin:0 10px 35px 10px;
	}
	
	#about dl:last-child{
		margin:0 10px;
	}
	
		#about dl.rev{
			display:-weblit-flex;
			display:flex;
			flex-flow:row-reverse nowrap;
		}
		#about dl dt{
			width:65%;
			margin-left:0;
			margin-right:3%;
		}
		#about dl.rev dt{
			margin-left:3%;
			margin-right:0;
		}
			#about .about01 p{background:url(../images/about_01_txt.png) bottom left no-repeat;}
			#about .about02 p{background:url(../images/about_02_txt.png) bottom left no-repeat;}
			#about .about03 p{background:url(../images/about_03_txt.png) bottom left no-repeat;}
			#about p{
				padding:30px 0 0 150px;
			}
		#about dl dd{
			position:relative;
			width:32%;
		}
		#about dl dd img{
			position:absolute;
			bottom:0;
		}

}
@media screen and (min-width: 768px) {

	#about dl{
		display:-weblit-flex;
		display:flex;
		flex-flow:row nowrap;
		margin-bottom:35px;
		margin-bottom: 0;
	}
	
		#about dl.rev{
			display:-weblit-flex;
			display:flex;
			flex-flow:row-reverse nowrap;
		}
		#about dl dt{
			width:520px;
			margin-right:40px;
		}
		#about dl.rev dt{
			margin-left:40px;
			margin-right:0;
		}
			#about .about01 p{background:url(../images/about_01_txt.png) bottom left no-repeat;}
			#about .about02 p{background:url(../images/about_02_txt.png) bottom left no-repeat;}
			#about .about03 p{background:url(../images/about_03_txt.png) bottom left no-repeat;}
			#about p{
				padding:30px 0 0 160px;
				min-height:174px;
			}
		#about dl dd{
			width:400px;
			margin:0;
		}
}


/* -------------------- #func -------------------- */

#func{
	background:transparent;
	padding:0;
}
	#func ul{
		margin:0 5%;
	}
	#func h3{
		text-align:center;
		background:url(../images/about-footer.png) top repeat-x;
		padding:40px 0 30px 0;
	}
	#func p{
		text-align:center;
		max-width:90%;
		margin:0 auto;
	}

@media screen and (min-width: 0px) and (max-width: 480px) {
	#func h3 img{
		max-width:80%;
	}
	#func ul{
		display:block;
	}
	#func li{
		text-align:center;
		margin:0 30px 30px 30px;
		padding:0;
	}
	#header .logo a{
		width: auto;
		min-width: 90px;
		background: url("/images/logo-foresta_sp.png") left center no-repeat;
	}
	#header .logo a img{
		opacity: 0;
	}
}

@media screen and (min-width: 481px) and (max-width: 767px) {

	#func h3 img{
		max-width:80%;
	}

	#func ul{
		display:-webkit-flex;
		display:flex;
		flex-flow:row wrap;
	}
	#func li{
		text-align:center;
		margin:0 0 30px 15px;
		padding:0;
		width:calc( 50% - 15px );
		box-sizing:border-box;
	}
	#func li:nth-child(odd){
		margin:0 15px 30px 0;
	}

}

@media screen and (min-width: 768px){

	#func h3 img{
		width:520px;
	}
	#func ul{
		display:-webkit-flex;
		display:flex;
		flex-flow:row wrap;
		width:90%;
	}
	#func li{
		margin:0 15px 30px 15px;
		padding:0;
		width:45%;
		box-sizing:border-box;
	}
	#func li:nth-child(odd){
		margin:0 2% 30px 2%;
	}
	
}

.alert-success.alert {
	z-index: 9999;
	position: relative;
	margin-bottom: 0 ;
}
