@charset "UTF-8";

/*----////////----FIRSTVIEW----////////----*/

#firstview{
	width:100%;
	height:540px;
	
	position: relative;
	overflow: hidden;
	
	background-color:#fff;
}

#firstview div.bg-container{
	opacity: 0.5;
}

#firstview div.bg-container p.thumbnail{
	width:100%;
	height:100vh;
	
	background-image: url("../images/img-firstview_sp.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

#firstview p.img-contact{
	display:none;
	
	position: absolute;
	bottom:0;
	left:0;
	
	width:100%;
	
	text-align: center;
	
	box-sizing: border-box;
	padding:5px 0;
	
	background-color:#009678;
}

#firstview p.img-contact img{
	width:100%;
	vertical-align: bottom;
	max-width: 480px;
}

#firstview div.message{
	position: absolute;
	top:0;
	left:0;
	
	width:100%;
	height:100%;
}

#firstview div.message div.wrap{
	width:100%;
	height:100%;
	margin:0 auto;
	/*max-width: 960px;*/
	
	box-sizing: border-box;
	padding:40px 20px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
}

#firstview div.message div.content{
	text-align: center;
	color:#fff;
}

#firstview div.message h2{	
	margin-bottom:20px;
}

#firstview div.message h2 img{
	display:block;
	width:80%;
	max-width: 480px;
	margin:0 auto;
}

#firstview div.message p.caption{
	font-size:0.8rem;
	line-height:1.75em;
	color:#fff;
	
	text-align:center;
}

@media only screen and (min-width: 720px){
	
	#firstview p.img-contact{
		display:block;
	}
	
}

/*----////////----PAGE_TOP----////////----*/

.inner-header{
	box-sizing: border-box;
	padding:60px 20px;
	
	background-color:#fff;
}

.inner-header h2{
	text-align: center;
}

.inner-header h2 img{
	display:block;
	width:80%;
	margin:0 auto;
	max-width: 240px;
}

.inner-header p.caption{
	font-family: 'Noto Serif JP', serif;
	
	text-align: center;
	font-size:0.8rem;
	line-height:1.75em;
	font-weight: 600;
	
	color:#000;
}

.inner-header:after{
	content:"";
	display:block;
	height:2px;
	width:120px;
	margin:10px auto 0;
	
	background:linear-gradient(left, #8c6400 0%, #ffbe00 25%, #ffdc82 50%, #c89600 75%, #8c6400 100%);
	background: -webkit-linear-gradient(left, #8c6400 0%, #ffbe00 25%, #ffdc82 50%, #c89600 75%, #8c6400 100%);
	background: -moz-linear-gradient(left, #8c6400 0%, #ffbe00 25%, #ffdc82 50%, #c89600 75%, #8c6400 100%);
	background: -o-linear-gradient(left, #8c6400 0%, #ffbe00 25%, #ffdc82 50%, #c89600 75%, #8c6400 100%);
	background: -ms-linear-gradient(left, #8c6400 0%, #ffbe00 25%, #ffdc82 50%, #c89600 75%, #8c6400 100%);
}

.container{
	background-color:#f0f0f0;
	margin-bottom:20px;
}

.inner-footer{
	box-sizing: border-box;
	padding:20px 5px;
	
	background-color:#fff;
	
	text-align: center;
}

.inner-footer p.btn{
	display:inline-block;
	
	width:160px;
	text-align: center;
	
	font-size:0.7rem;
	line-height:40px;
	
	border:solid 1px #c89600;
	
	margin:10px 5px;
}

.inner-footer p.btn a{
	display:block;
	color:#c89600;
}

.inner-footer p.btn a:hover{
	background-color:#c89600;
	color:#fff;
	
	text-decoration: none;
}

/*----////////----PICKUP_TOP----////////----*/

#pickup div.content{
	box-sizing: border-box;
	padding:10px;
	
	background-color:#fff;
	color:#000;
}

#slider-pickup{
	line-height:0;
}

#slider-pickup p{
	box-sizing: border-box;
	padding:0 5px;
}

/*----////////----NEWS_TOP----////////----*/

#news div.content{
	box-sizing: border-box;
	padding:10px;
}

#news div.content article{
	margin-bottom:10px;
}

#news div.content article:last-child{
	margin-bottom:0;
}

@media only screen and (min-width: 720px){
	
	#news div.content{
		width:100%;
		margin:0 auto;
		max-width: 1080px;
		
		display:flex;
		flex-flow: row wrap;
		align-items: stretch;
		justify-content: flex-start;
	}
	
	#news div.content article{
		margin-bottom:0;
		
		width:calc(100%/3);
	}
	
}

/*----////////----GALLERY_TOP----////////----*/

#gallery{
	background-color:#fff;
	color:#000;
}

#gallery div.content{
	box-sizing: border-box;
	padding:10px;
	
	width:100%;
	margin:0 auto;
	max-width: 960px;
}

#gallery p.photo{
	margin-bottom:10px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	
	width:100%;
	
	box-sizing: border-box;
	padding:80px 0;
}

#gallery p.photo:last-child{
	margin-bottom:0;
}

#gallery p.photo img{
	width:100%;
	vertical-align: bottom;
	max-width: 640px;
	
	display:block;
}

#gallery p.first{
	background-image: url("../images/img-photo001.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

#gallery p.second{
	background-image: url("../images/img-photo002.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}


#gallery p.third{
	background-image: url("../images/img-photo003.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

@media only screen and (min-width: 720px){
	
	#gallery p.photo{
		padding:90px 0;
	}
	
}

/*----////////----TODAY_TOP----////////----*/

#today div.content{
	box-sizing: border-box;
	padding:5px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	margin:0 auto;
	max-width: 960px;
}

#today div.content article{
	width:calc(100%/3);
}

@media only screen and (min-width: 720px){
	
	#today div.content{
		padding:10px;
	}
	
}

/*----////////----DIARY_TOP----////////----*/

#diary div.content{
	box-sizing: border-box;
	padding:5px;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	margin:0 auto;
	max-width: 960px;
}

#diary div.content article{
	width:calc(100%/3);
}

@media only screen and (min-width: 720px){
	
	#diary div.content article{
		width:20%;
	}
	
}

/*----////////----BANNER_TOP----////////----*/

#banner div.content{
	box-sizing: border-box;
	padding:20px;
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	width:100%;
	margin:0 auto;
	max-width: 960px;
}

#banner div.content p.btn{
	width:100%;
	margin-bottom:20px;
}

#banner div.content p.btn:last-child{
	margin-bottom:0;
}

#banner div.content p.btn a{
	display:block;
}

#banner div.content p.btn a:hover{
	opacity: 0.8;
}

#banner div.content p.btn img{
	width:100%;
	vertical-align: bottom;
}

@media only screen and (min-width: 720px){
	
	#banner div.content p.btn{
		width: 33%;
		margin-bottom:0;
	}
	
	#banner div.content p.btn a{
		box-sizing: border-box;
		padding:10px;
	}
	
}
