@charset "utf-8";
#content_wrap{margin-top:87px;}

.page_title{
	max-width:1040px;
	padding:0 20px;
	margin:0 auto 80px;
}
.page_title h1{
	font-size:1.6rem;
	position:relative;
	padding:80px 0 75px 26px;
}
.page_title h1::before{
	position:absolute;
	content:'';
	display:inline-block;
	width:12px;
	height:12px;
	border-radius:50%;
	background-color:#C9007F;
	top:87px;
	left:0;
}

.page_title h1::after{
	position:absolute;
	content:attr(data-en);
	display:block;
	font-size:7rem;
	line-height:8rem;
	letter-spacing:0;
	font-family:'Oswald';
	font-weight:300;
	left:0;
}
.page_info{margin:30px 0 0 0;}
.content_area{
	max-width:1040px;
	padding:0 20px 100px;
	margin:auto;
}
.content_area > *:first-child{margin-top:0;}

h2{
	font-size:2.8rem;
	line-height:4.2rem;
	margin:66px 0 15px;
	font-weight:500;
}

h3{
	position:relative;
	font-size:2.4rem;
	line-height:3.6rem;
	margin:50px 0 15px;
	padding-bottom:15px;
	font-weight:500;
}
h3::before{
	position:absolute;
	display:block;
	content:"";
	width:100%;
	height:1px;
	background-color:#AAA;
	bottom:0;
}
h3::after{
	position:absolute;
	display:block;
	content:"";
	width:20px;
	height:1px;
	background-color:#C9007F;
	bottom:0;
	left:0;
}
h4{
	position:relative;
	font-size:2rem;
	margin:40px 0 15px;
	padding-left:15px;
	font-weight:500;
}
h4::after{
	position:absolute;
	display:inline-block;
	content:"";
	width:8px;
	height:8px;
	border-radius:50%;
	background-color:#C9007F;
	top:0;
	bottom:0;
	left:0;
	margin:auto;
}
h5{
	font-size:1.8rem;
	margin:35px 0 15px;
	font-weight:500;
}
dd,dt{
	letter-spacing:0.6px;
	font-size:1.6rem;
}
p,li{
	margin-bottom:15px;
	letter-spacing:0.6px;
	font-size:1.6rem;
}
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 #DDD;
}
th, td{
	padding:20px 15px;
	border-bottom:1px solid #DDD;
	vertical-align:top;
	line-height:2.4rem;
}
th{
	position:relative;
	width:25%;
	text-align:left;
}
th::after{
	position:absolute;
	content:"";
	display:inline-block;
	background-color:#ddd;
	width:1px;
	height:calc(100% - 40px);
	top:0;
	bottom:0;
	right:0;
	margin:auto;
}
td *:last-child{margin-bottom:0;}

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

#pankuzu{
	max-width:1040px;
	padding:0 20px;
	margin:auto;
}
#pankuzu ol{
	display:flex;
	padding:0;
}
#pankuzu li{
	list-style:none;
	padding-top:10px;
	margin-right:10px;
	font-size:1.2rem;
	position:relative;
}
#pankuzu li:not(:last-child)::after{
	content:'';
	position:absolute;
	top:17px;
	right:0;
	width:6px;
	height:6px;
	border-top:1px solid #333;
	border-right:1px solid #333;
	transform:rotate(45deg);
}
#pankuzu a{
	margin-right:16px;
	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::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);
}
.page_link a:hover{text-decoration:underline;}

.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;
}

@media screen and (max-width:767px){
#content_wrap{margin-top:60px;}
.page_title{margin-bottom:52px;}
.page_title h1{
	font-size:1.2rem;
	padding-top:19px;
	padding-left:18px;
}
.page_title h1::before{top:24px;}
.page_title h1::after{
	font-size:5rem;
	line-height:6rem;
}
.content_area{padding-bottom:80px;}
.page_info{margin-top:3px;}

h2{
	font-size:2.6rem;
	line-height:3.9rem;
	margin:82px 0 20px;
	letter-spacing:0;
}
h3{
	font-size:2.2rem;
	line-height:3.3rem;
}
h4{
	font-size:1.8rem;
	line-height:2.7rem;
}
h5{
	font-size:1.6rem;
	line-height:2.4rem;
}
p,li,dd,dt{
	font-size:1.5rem;
}
p{line-height:2.9rem;}
img{margin:auto;}
p,
ul, ol{
	margin-bottom:15px;
	font-size:1.5rem;
	letter-spacing:0;
}
ul li:not(:last-child),
ol li:not(:last-child){margin-bottom:10px;}
* + dl{margin-top:10px;}
dl{margin-bottom:15px;}
dl dd:not(:last-child){margin-bottom:10px;}

th{width:31%;}
th::after{height:calc(100% - 30px);}
td{width:69%;}
th, td{
	padding:16px 10px 19px;
	font-size:1.4rem;
	line-height:2.1rem;
	letter-spacing:0;
}

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

.tel{pointer-events:auto;}
}


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

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

}