@charset "utf-8";
#content_wrap{padding-top:108px;}
.page_title{
	max-width:1160px;
	padding:0 30px;
	margin:36px auto;
	font-size:2.8rem;
	font-weight:bold;
	letter-spacing:1.12px;
	font-family:"Shippori Mincho", serif;
}
.error .page_title{
	font-size:4rem;
	letter-spacing:0;
	font-family:"Shippori Mincho", serif;
	margin:30px auto 46px;
}
.error .page_title::before{
	content:attr(data-en);
	display:block;
	color:#0A5536;
	font-size:2rem;
	line-height:1.2;
	margin-bottom:7px;
}

.content_area{
	max-width:1160px;
	padding:0 30px 100px;
	margin:auto;
}
.content_area > *:first-child{margin-top:0;}

h2{
	position:relative;
	margin:60px 0 15px;
	font-size:2.6rem;
	font-weight:bold;
	font-family:"Shippori Mincho", serif;
}
h3{
	position:relative;
	margin:50px 0 20px;
	font-size:2.2rem;
	font-weight:bold;
	font-family:"Shippori Mincho", serif;
}
h4{
	position:relative;
	margin:40px 0 12px;
	font-size:2rem;
	font-weight:bold;
	font-family:"Shippori Mincho", serif;
}
h5{
	position:relative;
	margin:40px 0 10px;
	font-size:1.8rem;
	font-weight:bold;
	font-family:"Shippori Mincho", serif;
}


.content_area p{margin-bottom:20px;line-height:2;}
ul, ol{
	padding-left:20px;
	margin-bottom:20px;
}
ul li{list-style:disc;}
ul li li{list-style:circle;}
ul li li li{list-style:square;}
ol li{list-style:decimal;}
li{margin-bottom:5px;}
table{
	width:100%;
	margin:20px 0 0;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
}
th, td{
	padding:16px 16px;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
	vertical-align:top;
}
th{
	width:30%;
	background:#f5f5f5;
	font-weight:bold;
	text-align:left;
}
td *:last-child{margin-bottom:0;}

.alignleft{margin-right:auto;}
.aligncenter{margin:auto;}
.alignright{margin-left:auto;}

#pankuzu{
	max-width:1160px;
	padding:10px 70px 0 30px;
	margin:auto;
}
#pankuzu ol{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	margin:0 0 14px;
}
#pankuzu li{
	list-style:none;
	margin-right:10px;
	font-size:1.2rem;
}
#pankuzu a{
	margin-right:10px;
	color:#333;
}
#pankuzu li:last-child a{
	text-decoration:none;
	pointer-events:none;
}
#pankuzu a:hover{text-decoration:none;}

.page_link{
	padding:0;
	overflow:hidden;
}
.page_link li{
	float:left;
	list-style:none;
	margin:0 20px 10px 0;
}
.page_link a{
	position:relative;
	padding-left:20px;
	color:#333;
	font-size:1.4rem;
	text-decoration:none;
}
.page_link a:hover{text-decoration:underline;}
.page_link a::before, .page_link a::after{
	content:'';
	display:block;
	position:absolute;
	bottom:0;
	margin:auto;
}
.page_link a::before{
	top:1px;
	left:0;
	width:16px;
	height:16px;
	background:#000;
}
.page_link a::after{
	top:-2px;
	left:4px;
	width:8px;
	height:8px;
	border-right:2px solid #fff;
	border-bottom:2px solid #fff;
	transform:rotate(45deg);
}

.column_2, .column_3, .column_4, .gallery{
	display:grid;
	grid-gap:20px;
	margin-bottom:20px;
}
.column_2 div, .gallery-columns-2{grid-template-columns:repeat(auto-fit, calc((100% - 20px) / 2));}
.column_3 div, .gallery-columns-3{grid-template-columns:repeat(auto-fit, calc((100% - 40px) / 3));}
.column_4 div{grid-template-columns:repeat(auto-fit, calc((100% - 60px) / 4));}
.gallery-caption{
	margin:8px 0;
	font-size:1.3rem;
	letter-spacing:0.7px;
	line-height:1.9rem;
}

.link_btn a{
	display:block;
	max-width:250px;
	padding:23px 0 26px;
	margin:auto;
	background:#000;
	color:#fff !important;
	font-size:1.4rem;
	letter-spacing:2.5px;
	text-align:center;
	text-decoration:none;
	transition:background 0.3s;
}
.link_btn a:hover{background:#666;}

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


@media screen and (max-width:1023px){
#content_wrap{padding-top:80px;}
.page_title{font-size:2.4rem;}
.content_area{padding-bottom:100px;}

h2{font-size:2rem;}
h3{font-size:1.6rem;}
h4{font-size:1.5rem;}


}
@media screen and (max-width:950px){
.scroll_table.tab table{min-width:1000px;}
}

@media screen and (max-width:767px){
#content_wrap{padding-top:60px;}
.page_title{
	margin:25px auto;
	font-size:2rem;
	padding:0 20px;
}
.content_area{padding:0 20px 50px;}
.error .page_title{font-size:3rem;line-height:4.4rem;margin:30px 0 25px;}
.error .page_title::before{font-size:1.6rem;line-height:1.5;margin-bottom:5px;}

h2{font-size:2.2rem;margin:56px 0 16px;}
h3{font-size:2rem;margin:56px 0 14px;}
h4{font-size:1.8rem;margin:46px 0 10px;}
h5{font-size:1.6rem;margin:36px 0 10px;}

img{margin:auto;}

th, td{
	padding:15px 11px;
}
th{min-width:33.3%;width:auto;}

.col_table{table-layout:auto;}

.column_4{grid-template-columns:repeat(auto-fit, 48.181%);}

#pankuzu{padding:10px 70px 0 20px;}

.page_link li a{font-size:1.2rem;}

.link_btn a{
	max-width:180px;
	padding:13px 0 15px;
}

.tel{pointer-events:auto;}
.scroll_table.sp table{min-width:800px;}
}


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

.column_2, .column_3, .column_4{grid-template-columns:repeat(auto-fit, 100%);}

}