@charset "utf-8";

.page_top{
	max-width:1060px;
	padding:0 30px;
	margin:0 auto 15px;
}
.page_title{
	padding:85px 0 35px;
	border-bottom:1px solid #333;
	font-family:var(--font_serif);
	font-size:3.6rem;
	font-weight:600;
	letter-spacing:2.16px;
	line-height:5.1rem;
}

.content_area{
	max-width:1060px;
	padding:0 30px 120px;
	margin:auto;
}
h2{
	margin:100px 0 20px;
	font-family:var(--font_serif);
	font-size:3rem;
	font-weight:600;
	letter-spacing:1.2px;
	line-height:4.4rem;
}
h3{
	margin:45px 0 20px;
	font-family:var(--font_serif);
	font-size:2.6rem;
	font-weight:600;
	letter-spacing:1.04px;
	line-height:3.7rem;
}
h4{
	margin:40px 0 20px;
	font-family:var(--font_serif);
	font-size:2.2rem;
	font-weight:600;
	letter-spacing:0.88px;
	line-height:3.1rem;
}
h5{
	margin:40px 0 20px;
	font-family:var(--font_serif);
	font-size:1.8rem;
	font-weight:600;
	letter-spacing:0.72px;
	line-height:2.6rem;
}
p{margin-bottom:15px;}
ul, ol{
	margin-bottom:20px;
	padding-left:30px;
}
li{
	margin-bottom:8px;
	line-height:2.4rem;
}
ul ul, ol ol, ul ol, ol ul{margin:0;}
ul li{list-style:disc;}
ul li ul li{list-style:circle;}
ul li ul li ul li{list-style:square;}
ul.l-alpha li{list-style:lower-alpha;}
ul.u-alpha li{list-style:upper-alpha;}
ul.ul_circle li{list-style:circle;}
ol li{list-style:decimal;}
ol.ol_num{padding-left:0;}
ol.ol_num li{
	display:flex;
	counter-increment:numlist;
} 
ol.ol_num li::before{content:'（'counter(numlist)'）';}
table{
	width:100%;
	margin-bottom:20px;
	border-top:1px solid #CED8D0;
	border-left:1px solid #CED8D0;
}
th, td{
	padding:17px 20px;
	border-right:1px solid #CED8D0;
	border-bottom:1px solid #CED8D0;
	line-height:2.4rem;
}
th{
	background:#F2F5F3;
	font-weight:bold;
}
td *:first-child{margin-top:0;}
td *:last-child{margin-bottom:0;}
th p, td p{
	letter-spacing:0;
	line-height:2.4rem;
}

.content_area a:hover img{opacity:0.5;}
img.alignleft{margin-right:auto !important;}
img.aligncenter{margin:auto !important;}
img.alignright{margin-left:auto !important;}
p:has(img){margin:30px 0;}

#pankuzu{margin-bottom:70px;}
#pankuzu ol{
	display:flex;
	flex-wrap:wrap;
	gap:10px 25px;
	padding:0;
	margin:0;
}
#pankuzu li{
	position:relative;
	list-style:none;
	margin:0;
	font-size:1.3rem;
	line-height:1.9rem;
}
#pankuzu li::after{
	content:'';
	position:absolute;
	top:1px;
	right:-14px;
	bottom:0;
	width:5px;
	height:5px;
	margin:auto;
	border-top:1px solid #999;
	border-right:1px solid #999;
	transform:rotate(45deg);
}
#pankuzu li:last-child::after{display:none;}
#pankuzu a{
	display:block;
	color:#333 !important;
}
#pankuzu li:last-child a{
	text-decoration:none !important;
	pointer-events:none;
}

.page_link{
	display:flex;
	flex-wrap:wrap;
	gap:10px 30px;
	padding:0;
	margin-bottom:45px;
}
.page_link li{
	list-style:none !important;
	margin:0;
	font-weight:500;
	letter-spacing:1.28px;
}
.page_link a{
	display:block;
	position:relative;
	padding-left:18px;
	color:#006E43 !important;
}
.page_link a::before{
	content:'';
	position:absolute;
	top:7px;
	left:2px;
	width:8px;
	height:8px;
	border-right:1px solid #007F4D;
	border-bottom:1px solid #007F4D;
	transform:rotate(45deg);
}

.back_btn{
	padding-top:25px;
	margin:75px 0 0;
	border-top:1px solid #CED8D0;
	font-weight:500;
	letter-spacing:0;
	line-height:2.4rem;
	text-align:center;
}
.back_link{
	display:inline-block;
	padding-left:15px;
	background:url(/img/common/icon_back.svg) no-repeat top 8px left;
	color:#333 !important;
	text-decoration:none !important;
}
.back_link:hover{text-decoration:underline !important;}

.column_2, .column_3, .gallery{
	display:grid;
	gap:20px;
	padding:0;
	margin-bottom:20px;
}
.column_2, .gallery-columns-2{grid-template-columns:1fr 1fr;}
.column_3, .gallery-columns-3{grid-template-columns:1fr 1fr 1fr;}
.gallery-item{
	width:auto !important;
	padding:0 !important;
}
.gallery img{margin:auto;}
.wp-caption{
	max-width:100%;
	margin-bottom:30px;
}
.wp-caption-text{
	padding:0 !important;
	margin-top:15px;
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:2rem;
	text-align:center;
}
div.gallery > br{display:none;}

.txt_box{
	overflow:hidden;
	height:100%;
	margin-top:20px;
}
.img{
	float:left;
	max-width:50%;
	margin-right:30px;
}
.img_r{
	float:right;
	max-width:50%;
	margin-left:30px;
}
.txt{
	overflow:hidden;
	height:100%;
}
.txt > *:first-child{margin-top:0 !important;}
.img img, .img_r img{
	display:block;
	width:auto;
	max-width:100%;
	height:auto;
	margin:auto;
}

/* sitemap */
.sitemap h2{
	padding:0;
	background:none;
}
.sitemap h2 a{color:#333 !important;}
.sitemap li a{color:#006E43 !important;}
.sitemap .page_list{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:10px 60px;
	padding-left:20px;
}
.sitemap .page_list li{
	margin:0;
	font-weight:500;
}



.map, .movie_wrap{
	position:relative;
	width:auto;
	height:0;
	padding-bottom:56.25%;
	margin:30px auto;
	overflow:hidden;
}
.map iframe, .movie_wrap iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border:none;
}


@media screen and (max-width:1024px){

h2{margin-top:90px;}
p{margin-bottom:10px;}
p:has(img){margin:20px 0;}

.img, .img_r{
	float:none;
	max-width:1000px;
	margin:0 0 20px;
}
.txt{height:auto;}

#pankuzu{margin-bottom:50px;}
#pankuzu ol{gap:5px 17px;}
#pankuzu li{
	font-size:1.2rem;
	line-height:1.7rem;
}
#pankuzu li::after{right:-10px;}

/* sitemap */
.sitemap .page_list{grid-template-columns:1fr 1fr;}

}


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

.page_top{margin-bottom:12px;}
.page_title{
	padding-top:55px;
	font-size:3rem;
	letter-spacing:3px;
	line-height:4.4rem;
}
h2{
	font-size:2.6rem;
	letter-spacing:1.04px;
	line-height:3.7rem;
}
h3{
	margin:40px 0 15px;
	font-size:2.4rem;
	letter-spacing:0.96px;
	line-height:3.5rem;
}
h4{
	margin-bottom:15px;
	font-size:2.1rem;
	letter-spacing:0.84px;
	line-height:3rem;
}
h5{margin-bottom:15px;}
th, td{padding:14px 18px;}

}


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

.page_top{margin-bottom:10px;}
.page_title{
	padding:50px 0 30px;
	font-size:2.4rem;
	letter-spacing:2.4px;
	line-height:3.5rem;
}
h2{
	margin-bottom:15px;
	font-size:2.4rem;
	letter-spacing:0.96px;
	line-height:3.5rem;
}
h3{
	margin:30px 0 15px;
	font-size:2.1rem;
	letter-spacing:0.84px;
	line-height:3rem;
}
h4{
	margin:30px 0 15px;
	font-size:1.8rem;
	letter-spacing:0.72px;
	line-height:2.6rem;
}
h5{
	margin:30px 0 15px;
	font-size:1.6rem;
	letter-spacing:0.64px;
	line-height:2.3rem;
}
p{
	font-size:1.4rem;
	line-height:2.5rem;
}
li{
	font-size:1.4rem;
	line-height:2.1rem;
}
th, td{
	padding:10px 13px;
	font-size:1.4rem;
	line-height:2.1rem;
}
th p, td p{line-height:2.1rem;}

.page_link{display:block;}
.page_link li{
	margin-bottom:10px;
	border-bottom:1px solid #CED8D0;
	letter-spacing:0;
}
.page_link a{
	padding:10px 0 10px 18px;
	text-decoration:none !important;
}
.page_link a:hover{text-decoration:underline !important;}
.page_link a::before{top:15px;}
.column_2, .column_3, .gallery{gap:15px;}
.back_btn{margin-top:55px;}

}


@media screen and (max-width:600px){

.column_3, .gallery-columns-3{grid-template-columns:1fr;}

/* sitemap */
.sitemap .page_list{display:block;}
.sitemap .page_list li{margin-bottom:8px;}

}


@media screen and (max-width:500px){

.column_2, .gallery-columns-2{grid-template-columns:1fr;}

}