@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;}
.txt-red {color: #cc0000;}
#pageTop {
    position: fixed;
    width: 50px;
    right: 0px;
    bottom: 0px;
    z-index: 998;
    cursor: pointer;
}

.wrap {
	padding: 100px 20px;
}
.bg1 {
	background-image: url(../img/bg1.svg);
}
.bg2 {
	background-image: url(../img/bg2.svg);
	background-size: 100px auto;
}
.bg3 {
	background-image: url(../img/bg3.png);
	background-size: 80px auto;
}
.bg4 {
	background-color: #FEF8EE;
}
.contents {
	max-width: 960px;
	margin: 0 auto;
}
.contents-wrap {
	max-width: 880px;
	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;
	padding-bottom: 20px;
	border-bottom: 1px solid #426721;
}
.headline1 br {
	display: none;
}
.mb100 {
	margin-bottom: 100px;
}
.txt1 {
	font-size: 15px;
	margin-bottom: 1em;
}
.txt1-1 {
	font-size: 15px;
}
.table1 {
	width: 100%;
	margin-bottom: 30px;
}
.table1 th,
.table1 td {
	border: 1px solid #426721;
	padding: 15px;
	font-size: 17px;
	font-weight: bold;
	line-height: 1.8;
}
.table1 th {
	width: 180px;
	text-align: center;
	background-color: #B9D08B;
}
.table1 td {
	background-color: #fff;
}
.table1 td.flow {
	text-align: center;
}
.parallax {
    position: relative;
    overflow: hidden;
}
.parallax > img {
    position: absolute;
    top: 0;
    z-index: -1;
    width: 100%;
    object-fit: cover;
    height: 100vh;
}
.bg-img {
    height: 300px;
}
@media only screen and (max-width: 768px) {
	.wrap {
		padding: 80px 20px;
	}
	.bg2 {
		background-size: 80px auto;
	}
	.headline1 {
		font-size: 24px;
		margin-bottom: 30px;
		padding-bottom: 15px;
	}
	.mb100 {
		margin-bottom: 80px;
	}
	.table1 th,
	.table1 td {
		font-size: 15px;
	}
	.table1 th {
		width: 150px;
	}
    .parallax > img {
        display: none;
    }
    .bg-img {
        height: 200px;
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }
    .bg-img-1 {
        background-image: url(../img/bg-img1.jpg);
    }
    .bg-img-2 {
        background-image: url(../img/bg-img2.jpg);
    }
    .bg-img-3 {
        background-image: url(../img/bg-img3.jpg);
    }

}
@media only screen and (max-width: 640px) {
	.wrap {
		padding: 60px 20px;
	}
	.headline1 {
		font-size: 20px;
	}
	.headline1 br {
		display: block;
	}
	.mb100 {
		margin-bottom: 60px;
	}
	.table1 {
		border-bottom: 1px solid #426721;
	}
	.table1 th,
	.table1 td {
		display: block;
		padding: 10px;
	}
	.table1 th {
		width: 100%;
		border-bottom: none;
	}
	.table1 td {
		width: 100%;
		border-bottom: none;
	}
	.table1 td.price {
		text-align: center;
	}

}

/* ---------------------------------------------
    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 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: 1.8;
}
.place {
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 1em;
}
.contact {
	max-width: 560px;
	margin: 0 auto 1em;
	padding: 30px 20px;
	background-color: #F8F4D2;
	border: 1px solid #73A243;
	border-radius: 20px;
}
.contact-address {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 5px;
}
.contact-tel {
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 5px;
}
.contact-time {
	font-size: 16px;
	font-weight: bold;
	text-align: center;
}
.faq-list dt {
	position: relative;
	margin-bottom: 20px;
	padding: 10px 20px;
	background-color: #669933;
	font-size: 20px;
	font-weight: bold;
	color: #fff;
	cursor: pointer;
}
.faq-list dt:hover {
	background-color: rgba(102, 153, 51, 0.9);
}
.faq-list dt:first-child::after {
	position: absolute;
	content: url(../img/arrow.svg);
	width: 14px;
	height: auto;
	top: 12px;
	right: 15px;
	transform: rotateX(180deg);
}
.faq-list dt:first-child.open::after {
	position: absolute;
	content: url(../img/arrow.svg);
	width: 14px;
	height: auto;
	top: 8px;
	right: 15px;
	transform: rotateX(0deg);
}
.faq-list dt::after {
	position: absolute;
	content: url(../img/arrow.svg);
	width: 14px;
	height: auto;
	top: 8px;
	right: 15px;
}
.faq-list dt.open::after {
	position: absolute;
	content: url(../img/arrow.svg);
	width: 14px;
	height: auto;
	top: 12px;
	right: 15px;
	transform: rotateX(180deg);
}
.faq-list ul li {
	border: 1px solid #669933;
	background-color: #fff;
	margin-bottom: 20px;
	padding: 20px;
}
.faq-list .question {
	font-size: 17px;
	font-weight: bold;
	color: #669933;
	margin-bottom: 5px;
}
.faq-list .answer {
	font-size: 15px;
}
.faq-list .bold {
	font-weight: bold;
}
@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;
	}
	.place {
		font-size: 17px;
	}
	.contact-address {
		font-size: 18px;
	}
	.contact-tel {
		font-size: 28px;
	}
	.contact-time {
		font-size: 15px;
	}
	.faq-list dt {
		font-size: 17px;
	}
	.faq-list .question {
		font-size: 15px;
	}
	.faq-list .answer {
		font-size: 14px;
	}
}

/* ---------------------------------------------
    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;
	}
}



