@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700&display=swap');
/* ---------------------------------------------
    reset
--------------------------------------------- */
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td,img {margin: 0; padding: 0;}
table {border-collapse: collapse; border-spacing: 0;}
fieldset,img {border: 0;}
img {display: block; max-width: 100%; height: auto;}
img a {border: none;}
address,caption,cite,code,dfn,em,th,var {font-style: normal; font-weight: normal;}
ol, ul {list-style: none;}
caption, th {text-align: left;}
h1,h2,h3,h4,h5,h6 {font-size: 100%; font-weight: normal; line-height: 1.0;}
q:before, q:after {content: "";}
figure {width: 100%; margin: 0; padding: 0;}

/* ---------------------------------------------
    common
--------------------------------------------- */
* {-webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
body {
    -webkit-text-size-adjust: 100%;
    word-break: break-all;
    color: #333;
    font-family: '游ゴシック Medium','Yu Gothic Medium','YuGothic M','游ゴシック','Yu Gothic','游ゴシック体',YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "M+ 1p", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
a {text-decoration: none; -webkit-transition: all .3s; transition: all .3s;}
a:link {color: #426721;}
a:visited {color: #426721;}
a:hover { color: #669933; text-decoration: underline;}
a:active {color: #669933;}
p {line-height: 1.6;}

#pageTop {
    position: fixed;
    width: 50px;
    right: 0px;
    bottom: 0px;
    z-index: 998;
    cursor: pointer;
}

.wrap {
	padding: 80px 20px;
}
.border {
	border-bottom: 5px solid #669933;
}
.bg1 {
	background-image: url(../img/bg1.svg);
	background-size: 100px auto;
}
.bg2 {
	background-image: url(../img/bg2.png);
	background-size: 80px auto;
}
.bg3 {
	background-color: #FEF8EE;
}
.contents {
	max-width: 960px;
	margin: 0 auto;
}
.contents-wrap {
	max-width: 640px;
	margin: 0 auto;
}
.headline1 {
	font-size: 30px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	text-align: center;
	line-height: 1.8;
	color: #426721;
	margin-bottom: 40px;
}
.red {
	color: #AF2F2F;
}
@media only screen and (max-width: 768px) {
	.wrap {
		padding: 60px 20px;
	}
	.bg1 {
		background-size: 60px auto;
	}
	.headline1 {
		font-size: 24px;
		margin-bottom: 30px;
		padding-bottom: 15px;
	}
}
@media only screen and (max-width: 640px) {
	.headline1 {
		font-size: 20px;
	}
	.headline1 br {
		display: block;
	}
}

/* ---------------------------------------------
    header
--------------------------------------------- */
header {
	padding: 30px 20px;
}
.logo1 {
	max-width: 510px;
	margin: 0 auto;
}
@media only screen and (max-width: 768px) {
	.logo1 {
		max-width: 310px;
	}
}
@media only screen and (max-width: 640px) {
	header {
		padding: 20px 20px;
	}
	.logo1 {
		max-width: 240px;
	}
}

/* ---------------------------------------------
    contents
--------------------------------------------- */
.contents-title {
	margin-bottom: 60px;
}
.contents-title h1 {
	font-size: 40px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	color: #AF2F2F;
	margin-bottom: 40px;
	text-align: center;
}
.contents-title p {
	font-size: 18px;
	text-align: center;
	line-height: 2;
}
@media only screen and (max-width: 768px) {
	.contents-title h1 {
		font-size: 30px;
		margin-bottom: 40px;
	}
	.contents-title p {
		font-size: 16px;
	}
}
@media only screen and (max-width: 640px) {
	.contents-title h1 {
		font-size: 24px;
		margin-bottom: 40px;
	}
	.contents-title p {
		text-align: left;
	}
}

.age {
	max-width: 1280px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.age li {
	width: 31%;
	padding: 30px;
	border: 2px solid #669933;
	border-radius: 10px;
	background-color: #fff;
	box-shadow: 3px 3px 5px rgba(0,0,0,0.2);
}
.age-title {
	text-align: center;
	font-size: 20px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	color: #669933;
	margin-bottom: 20px;
}
.age img {
	border-radius: 10px;
}
.age-txt {
	text-align: center;
	font-size: 15px;
	margin: 10px 0 0;
}
@media only screen and (max-width: 768px) {
	.age {
		max-width: 320px;
		margin: 0 auto;
	}
	.age li {
		width: 100%;
		margin-bottom: 15px;
	}
	.age-title {
		font-size: 18px;
	}
}
@media only screen and (max-width: 640px) {
}

.gokitou {
	margin-bottom: 40px;
}
.gokitou li {
	background-color: #FFF1DB;
	padding: 30px;
	border-radius: 10px;
	margin-bottom: 15px;
}
.gokitou li dl {
	display: flex;
}
.gokitou li dl dt {
	width: 80px;
	font-size: 40px;
	font-weight: bold;
	color: #F2C283;
	line-height: 1;
}
.gokitou li dl dd {
	flex: 1;
}
@media only screen and (max-width: 768px) {
	.gokitou li {
		padding: 30px 20px;
	}
	.gokitou li dl dt {
		width: 60px;
		font-size: 30px;
	}
	.gokitou li dl dd {
		font-size: 15px;
	}
}
@media only screen and (max-width: 640px) {
}

.taisei-txt1 {
	margin-bottom: 2em;
}
.map {
	margin-bottom: 30px;
}
.checksheet {
	max-width: 640px;
	margin: 40px auto 30px;
	border: 1px solid #999;
}
.btn ul {
	max-width: 400px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.btn ul li {
	width: 100%;
	text-align: center;
	background-color: #fff;
	border-radius: 10px;
}
.btn ul li a {
	display: block;
	padding: 30px 20px;
	background-color: #669933;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	border-radius: 10px;
}
.btn ul li a:hover {
	text-decoration: none;
	background-color: rgba(102,153,51,0.8);
}
@media only screen and (max-width: 768px) {
	.btn ul {
		max-width: 320px;
	}
	.btn ul li {
		margin-bottom: 15px;
	}
	.btn ul li a {
		padding: 20px;
		font-size: 17px;
	}
}

.photoSlide1 div:focus,
.photoSlide2 div:focus {outline: none;}


.camera-txt1 {
	margin-bottom: 2em;
}
.camera-ban {
	border: 3px solid #669933;
	border-radius: 10px;
	background-color: #fff;
	padding: 30px;
}
.camera-ban ul {
	margin: 0 0 1em 1.5em;
}
.camera-ban ul li {
	list-style: disc;
	margin-bottom: 5px;
	font-weight: bold;
}
.camera-ban-txt {
	text-indent: -1em;
	padding-left: 1em;
	margin-bottom: 1em;
}
@media only screen and (max-width: 768px) {
	.camera-ban {
		padding: 20px 15px;
	}
	
}




/* ---------------------------------------------
    footer
--------------------------------------------- */
footer .logo2 {
	background-color: #669933;
	padding: 30px 20px;
}
footer .logo2 img {
	max-width: 200px;
	margin: 0 auto;
}
footer p {
	font-size: 12px;
	line-height: 2;
	text-align: center;
	padding: 30px 10px;
}
@media only screen and (max-width: 768px) {
	footer .logo2 {
		padding: 20px 20px;
	}
	footer .logo2 img {
		max-width: 180px;
	}
	footer p {
		font-size: 11px;
		padding: 20px 10px;
	}
}



