
a {text-decoration:none;}


/*----------------------------------------------------
 elements
----------------------------------------------------*/
body {
    min-width: 1040px;
	background: #fbf3e4;
	width: 100%;
	color: #000;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.8;
	-webkit-text-size-adjust: none; /* フォントサイズ自動調整 */
	position:relative;
}

h2, h3 {
	font-family: "Rounded Mplus 1c", sans-serif;
	font-weight: 600;
	color: #482d00;
}
p {margin-bottom: 1em;}

a, a:link {color: #222;}

/* ---------------------------------------------------- */
/* header
 ----------------------------------------------------  */
header#header {
	width:100%;
	position: relative;
}
#pagetop {
	width: 100%;
}
#pagetop #header_inner {
	width: 1020px;
	margin: 5px auto;
}
h1 {
	margin-bottom: 10px;
	line-height: 1;
	font-size: 12px;
	font-weight: 400;
	color: #482d00;
}
.logo {
	float: left;
}
.h_right {
	float: right;
}
.h_right > div {
	display: inline-block;
	margin-left: 10px;
}
/* ---------------------------------------------------- */
/* key_visual
 ----------------------------------------------------  */
#key_visual {
	width: 100%;
	height: 640px;
	margin: auto;
	padding: 0;
	overflow: hidden;
	position: relative;
}
#key_visual .mask {
	position: absolute;
	top: 0;
	left: 0;
	right: auto;
	margin: auto;
	width: 100%;
	height: 640px;
	background:url(../images/index03.png) no-repeat center top;
}
.key_txt {
	text-align: center;
	position: absolute;
	top: 40%;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 4;
}
.key_txt h2 {
	font-size: 40px;
	letter-spacing: 0.15em;
	text-shadow: 0 0 5px #fff,0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;
	}
	.key_txt h2 span {
		display: block;
		font-size: 26px;
		letter-spacing: normal;
	}
.slider {
	width: 1020px;
	margin: auto;
	}
	.slick-list {
		z-index: -1;
		}
		#key_visual .slick-slide {
			width: 100%;
			min-height: 640px;
			margin-left: auto;
			margin-right: auto;
			text-align: center;
			position: relative;
		}
/* ---------------------------------------------------- */
/* footer */
/* ---------------------------------------------------- */
footer{
	background-color: #492804;
}
footer .footer_inner {
	width: 1020px;
	height: 30px;
	margin: auto;
	position: relative;
}
footer div#copy {
	line-height: 30px;
	text-align: center;
	font-style:normal;
	font-weight: 200;
	font-size:11px;
	color:#fff;
	}
	footer div#copy small a, footer div.copy small a:link {color:#fff; text-decoration:none;}
/* ---------------------------------------------------- */
/* common */
/* ---------------------------------------------------- */
a:hover img {
	filter:alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
	}
.clear{
	clear:both;
}
/* ---------------------------------------------------- */
/* 追加
/* ---------------------------------------------------- */
.inner {
	width:1020px;
	margin-left:auto;
	margin-right:auto;
	text-align: left;
	position: relative;
	}
.flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
/* font */
.text-center {text-align:center;}
.text-left {text-align:left;}
.text-right {text-align:right;}

.small {font-size: 0.8em;}

/* ttl */
.ttl {
	font-size: 36px;
	text-align: center;
	margin-bottom: 0.75em;
}
.h3_ttl {
	background: url(../images/ico.png) no-repeat left center;
	font-size: 36px;
	line-height: 1.2;
	margin-bottom: 1em;
	padding: 4px 0 0 55px;
}
.maker {
	text-align: center;
	margin-bottom: 1em;
	}
	.maker span {
		font-size: 36px;
		padding: 0 5px;
		background: linear-gradient(transparent 60%, #bdce4b 60%);
	}

/* button */
a.button {
	font-family: "Rounded Mplus 1c", sans-serif;
	display: inline-block;
	padding: 14px 0;
	text-align: center;
	border-radius: 6px;
	font-size: 16px;
	color: #fff;
	font-weight: 400;
	background: #492804 url(../images/arw_r.png) no-repeat 93% center;
	transition: all 0.4s;
	}
	a.button:hover {
		background-color: #653b0d url(../images/arw_r.png) no-repeat 95% center;
	}

/* ---------------------------------------------------- */
/* top-content
/* ---------------------------------------------------- */

/* 1個目のブロック
----------------------------------- */
#content01 {
	position:relative;
	text-align: center;
	background: url(../images/bg01.jpg)no-repeat center center fixed;
	background-size: cover;
	padding: 80px 0 60px;
	}
#content01 .flex {margin-top: 4em;}
#content01 .box {
	width: 48.5%;
	background-color: rgba(249,233,207,0.85);
	padding: 25px;
	margin-bottom: 35px;
	box-sizing: border-box;
	}
	#content01 .box:nth-child(odd) {
		margin-right: 3%;
	}
#content01 .box h3 {
	font-size: 22px;
	line-height: 1.2;
	color: #000;
	padding: 14px 0 10px 65px;
	margin-bottom: 0.5em;
	position: relative;
}
#content01 .box h3 span.nub {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 54px;
	height: 54px;
	border-radius: 54px;
	background-color: #c3d600;
	line-height: 54px;
	font-size: 30px;
	color: #fff;
	text-align: center;
}
#content01 .box a.button {
	width: 160px;
	padding: 4px 0;
	font-size: 14px;
}
/* 2個目のブロック
----------------------------------- */
#content02 {
	position:relative;
	text-align: center;
	background: url(../images/bg.jpg);
	padding: 130px 0 100px;
	}
ul.images {
	width: 850px;
	margin: auto;
	overflow: hidden;
}
ul.images li {
	float: left;
	width: 270px;
	margin-bottom: 15px;
}
ul.images li:nth-child(3n+2) {
	margin: 0 20px 15px;
}
ul.images li img{
	width: 270px;
	height: 270px;
	object-fit: cover;
}
#content02 a.button {
	width: 220px;
	margin: 2em auto 4em;
}
.calendar_block {
	margin-bottom: 4em;
}
/* hoverefect */
figure.effect-sadie {
	width: 270px;
	height: 270px;
	overflow: hidden;
	position: relative;
}
figure.effect-sadie figcaption::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,0.4);
	content: '';
	opacity: 0;
	-webkit-transform: translate3d(0,50%,0);
	transform: translate3d(0,50%,0);
}
figure.effect-sadie p {
	position: absolute;
	top: 65%;
	left: 0;
	width: 100%;
	text-align: center;
	font-size: 20px;
	color: #000;
	font-weight: 500;
	-webkit-transition: -webkit-transform 0.35s, color 0.35s;
	transition: transform 0.35s, color 0.35s;
	-webkit-transform: translate3d(0,-50%,0);
	transform: translate3d(0,-50%,0);
	opacity: 0;
}
figure.effect-sadie figcaption::before {
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
}
figure.effect-sadie:hover p {
	opacity: 1;
	-webkit-transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
	transform: translate3d(0,-50%,0) translate3d(0,-40px,0);
}
figure.effect-sadie:hover figcaption::before {
	opacity: 1;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}

/* 3個目のブロック
----------------------------------- */
#content03 {
	position:relative;
	text-align: center;
	background: url(../images/bg02.jpg)no-repeat center center fixed;
	padding: 100px 0 80px;
	}
#content03 .white_box {
	background: #fff url(../images/bg_img.png) no-repeat center center;
	box-shadow: 0 1px 5px rgba(0,0,0,0.2);
	padding: 50px 0;
}
#content03 .white_box ul {
	width: 630px;
	margin: 2em auto 0;
}
#content03 .white_box ul li {
	background: url(../images/dot.png)no-repeat left center;
	padding-left: 30px;
	margin-bottom: 10px;
	font-size: 22px;
}
#content03 a.button {
	width: 250px;
	margin: 2em auto 4em;
}
/* 4個目のブロック
----------------------------------- */
#content04 {
	position:relative;
	text-align: center;
	background: url(../images/bg03.jpg)no-repeat center center fixed;
	padding: 130px 0 100px;
}
#content04 article {
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid #bdce4b;
}
#content04 article a{display:block;}
#content04 article a:hover{
	filter:alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}
#content04 article h4 {
	font-size: 22px;
	margin-bottom: 0.5em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#content04 article h4 span.date {
	display: inline-block;
	width: 120px;
	padding: 5px 0;
	text-align: center;
	font-size: 14px;
	line-height: 1.1;
	background-color: #bdce4b;
	margin-right: 15px;
}
#content04 article .excerpt{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#content04 a.button {
	width: 220px;
	margin: 2em auto 4em;
}
/* 5個目のブロック
----------------------------------- */
#content05 {
	position:relative;
	text-align: center;
	background: url(../images/bg.jpg);
	padding: 130px 0 100px;
	}
#content05 .flex > div {
	width: 48.5%;
}
#content05 .flex > div:first-child {
	margin-right: 3%;
}
#content05 table {
	width: 100%;
	background-color: #95a71f;
	border-collapse: separate;
	border-spacing: 1px;
}
#content05 table th {
	background-color: #bdce4b;
	font-weight: 500;
	padding: 15px 0 15px 15px;
	vertical-align: middle;
}
#content05 table td {
	background-color: #fff;
	padding: 15px 0 15px 15px;
}
#content05 a.button {
	width: 220px;
	margin: 2em auto 4em;
}


/* SNSアイコン等
----------------------------------- */
.sns-btn-pos {
	position:absolute;
	right:1%;
	bottom:30%;
	}
	.sns-btn-pos li {margin-bottom:10px;}


@media (max-width: 480px) {
	header#header, #content02, #content03, #content04, #content05 {
		background-attachment: inherit;
		background-size: cover;
	}
	
}





/* news
----------------------------------- */
#sub_visual {
	width: 100%;
	height: 170px;
	margin: auto;
	padding: 0;
	overflow: hidden;
	position: relative;
}
.sub_txt {
	text-align: center;
	position: absolute;
	top: 50px;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 4;
}
.sub_txt h2 {
	font-size: 40px;
	letter-spacing: 0.15em;
}

.bread_crumb_list{
	background:#bdce4b;
	padding:10px 0;
	color:#482d00;
}
.bread_crumb_list ul {
	width: 1020px;
	margin: 0 auto;
	text-align:left;
}
.bread_crumb_list ul li { display: inline;}
.bread_crumb_list ul li:after {
	content : '>';
	padding-left: 7px;
}
.bread_crumb_list ul li:last-child:after { content : '';}
.bread_crumb_list ul li a{color:#482d00;}

#news {
	position:relative;
	text-align: center;
	background: url(../images/bg.jpg);
	padding: 130px 0;
}
#news .newsList{
	background:rgba(255,255,255,0.6);
	padding:50px 30px;
}
#news article {
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid #bdce4b;
}
#news article a{display:block;}
#news article a:hover{
	filter:alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;
}
#news article h4 {
	font-size: 22px;
	margin-bottom: 0.5em;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#news article h4 span.date {
	display: inline-block;
	width: 120px;
	padding: 5px 0;
	text-align: center;
	font-size: 14px;
	line-height: 1.1;
	background-color: #bdce4b;
	margin-right: 15px;
}
#news article .excerpt{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
#news .newsArea{
	background:rgba(255,255,255,0.6);
	padding:50px 30px;
}
#news .newsArea h4{
	text-align: left;
	margin-bottom: 1em;
	font-size: 26px;
	font-weight:bold;
	padding: 0 5px;
	background: linear-gradient(transparent 60%, #bdce4b 60%);
	color:#482d00;
}
#news .newsArea p.data{
	text-align:right;
	margin:10px 0;
}


/* ページネーション
------------------------------ */
ul.pagenation {
	margin: 30px 0 0 0;
	text-align: center;
	letter-spacing: 0;
	width:auto;
	min-width: 0;
	border:none;
	padding: 0;
	background:none;
}
ul.pagenation li{
	width:42px;
	height:42px;
	display: inline-block;
	margin:2px;
	line-height:40px;
	border-bottom:none;
	padding:0px;
	background:none;
}
ul.pagenation li.current span{
	width:42px;
	height:42px;
	display:block;
	color: #fff;
	background: #482d00;
	border:#482d00 solid 1px;
	font-weight: bold;
	text-decoration: none;
	float: none;
}
ul.pagenation li a{
	width:42px;
	height:42px;
	display:block;
	color: #482d00;
	background: #fff;
	border:#482d00 solid 1px;
	text-decoration: none;
	float: none;
}
ul.pagenation li a:hover {
	color: #fff;
	background: #482d00;
	text-decoration: none;
}