@charset "utf-8";

.page_top{
	position:relative;
	margin-bottom:95px;
}
.page_title{
	position:absolute;
	z-index:1;
	bottom:25px;
	left:30px;
	color:#fff;
	font-size:5.4rem;
	font-weight:500;
	letter-spacing:2.7px;
	line-height:7.9rem;
}
.page_title[data-slug]::after{
	content:attr(data-slug);
	display:block;
	margin-top:5px;
	font-family:var(--font_cormorant);
	font-size:3.5rem;
	font-weight:300;
	letter-spacing:1.75px;
	line-height:4.2rem;
	text-transform:uppercase;
}
.page_catch{
	width:100%;
	height:330px;
	object-fit:cover;
}

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

h2{
	position:relative;
	padding-bottom:20px;
	margin:95px auto 30px;
	font-size:3.6rem;
	font-weight:600;
	letter-spacing:3.6px;
	line-height:5.4rem;
	text-align:center;
}
h2::after{
	content:'';
	position:absolute;
	right:0;
	bottom:0;
	left:0;
	width:calc(100% - 16px);
	height:1px;
	margin:auto;
	background:#989898;
}
h2 > span::before, h2 > span::after{
	content:'';
	position:absolute;
	bottom:-1px;
	width:3px;
	height:3px;
	border-radius:50%;
	background:#989898;
}
h2 > span::before{left:0;}
h2 > span::after{right:0;}
h3{
	position:relative;
	padding-left:25px;
	margin:45px 0 15px;
	font-size:3rem;
	font-weight:600;
	letter-spacing:3px;
	line-height:4.5rem;
}
h3::before{
	content:'';
	position:absolute;
	top:15px;
	left:0;
	width:18px;
	height:18px;
	background:#C5B790;
	border-radius:50%;
}
h4{
	position:relative;
	padding-left:20px;
	margin:35px 0 15px;
	font-size:2.4rem;
	font-weight:600;
	letter-spacing:2.4px;
	line-height:3.6rem;
}
h4::before{
	content:'';
	position:absolute;
	top:20px;
	left:0;
	width:8px;
	height:2px;
	background:#212121;
}
h5{
	margin:30px 0 10px;
	font-size:2rem;
	font-weight:600;
	letter-spacing:2px;
	line-height:3rem;
}
p{
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:3.3rem;
	margin-bottom:25px;
}
ul{
	padding-left:20px;
	margin-bottom:25px;
}
ol{
	padding-left:40px;
	margin-bottom:25px;
}
ul li{list-style:disc;}
li ul, li ol{margin:5px 0 10px;}
ul li li{list-style:circle;}
ul li li li{list-style:square;}
ol li{list-style:decimal;}
li{
	line-height:3rem;
	margin-bottom:3px;
}
table{
	table-layout:fixed;
	width:100%;
	margin-bottom:30px;
	border-top:1px solid #D0CDC5;
	border-left:1px solid #D0CDC5;
}
th, td{
	padding:11px 20px 12px;
	border-right:1px solid #D0CDC5;
	border-bottom:1px solid #D0CDC5;
	line-height:3rem;
	vertical-align:top;
}
th{
	width:270px;
	background:#F7F3F0;
	font-weight:bold;
	text-align:left;
}
th *:last-child, td *:last-child{margin-bottom:0;}
td p{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:3rem;
}
.scroll_table{margin-bottom:10px;}
.scroll_table table{
	table-layout:auto;
	margin-bottom:10px;
}
.scroll_table th, .scroll_table td{display:table-cell !important;}
.scroll_table thead th{
	min-width:200px;
	width:auto;
	text-align:center;
}
.scroll-hint-icon{
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:130px;
	height:90px;
	margin:auto;
}

.catchcopy{
	font-size:2.6rem;
	letter-spacing:2.6px;
	line-height:4.7rem;
}
.catchcopy strong{font-weight:normal;}

.page_link{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	padding:0;
	margin:95px -30px 0 0;
}
.page_link li{
	list-style:none;
	margin:0 30px 20px 0;
}
.page_link a{
	display:block;
	position:relative;
	padding:0 0 5px 18px;
	background:url(/img/common/arrow_d_black.svg) no-repeat top 12px left;
	color:#212121 !important;
	text-decoration:none !important;
}
.page_link a::before, .page_link a::after{
	content:'';
	position:absolute;
	bottom:0;
	left:18px;
	width:calc(100% - 18px);
	height:1px;
}
.page_link a::before{
	background:#948D89;
	opacity:0.5;
}
.page_link a::after{
	background:#333;
	opacity:0;
	transform:scaleX(0.5);
	transform-origin:right;
	transition:transform 0.3s, opacity 0.3s;
}
.page_link a:hover::after{
	opacity:1;
	transform:scaleX(1);
	transform-origin:left;
}

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

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

.img_txt{display:flex;}
.img_txt > div{width:100%;}
.img_txt > p{
	flex-shrink:0;
	width:280px;
	margin-right:30px;
}

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

#pankuzu{
	padding:0 90px 10px 0;
	margin:120px auto 0;
	opacity:0.8;
}
#pankuzu ol{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	margin:0;
}
#pankuzu li{
	position:relative;
	list-style:none;
	margin:0 10px 10px 0;
	font-size:1.2rem;
	font-weight:500;
	letter-spacing:0;
	line-height:1.7rem;
}
#pankuzu a{
	display:inline-block;
	margin-right:10px;
	color:#333 !important;
	text-decoration:none !important;
}
#pankuzu a:hover{text-decoration:underline !important;}
#pankuzu li:last-child a{pointer-events:none;}

.localnav{
	position:relative;
	padding-top:70px;
	margin-top:120px;
}
.localnav::before{
	content:'';
	position:absolute;
	top:0;
	left:calc(50% - var(--vw_50));
	width:var(--vw_100);
	height:100%;
	background:#F7F3F0;
}
.ln_list{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:40px;
	max-width:940px;
	padding:0;
	margin:auto;
}
.ln_item{
	list-style:none;
	width:calc((100% - 40px) / 2);
	margin:0;
}
.ln_link{
	display:flex;
	align-items:center;
	position:relative;
	padding:20px 0;
	border-bottom:1px solid rgba(148,141,137,0.5);
	color:#212121 !important;
	text-decoration:none !important;
}
.ln_link::after{
	content:'';
	position:absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:1px;
	background:#333;
	opacity:0;
	transform:scaleX(0.5);
	transform-origin:right;
	transition:transform 0.3s, opacity 0.3s;
}
.ln_link:hover::after{
	opacity:1;
	transform:scaleX(1);
	transform-origin:left;
}
.ln_thumb{
	flex-shrink:0;
	width:120px;
	height:70px;
	margin-right:10px;
	overflow:hidden;
}
.ln_img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform 0.3s;
}
a:hover .ln_img{transform:scale(1.05);}
.ln_title{
	width:100%;
	padding-right:20px;
	margin:0;
	background:url(/img/common/arrow_r_black.svg) no-repeat right 5px bottom 10px;
	font-size:2.6rem;
	font-weight:500;
	letter-spacing:1.3px;
	line-height:4.3rem;
}
.ln_title::after{
	content:attr(data-en);
	display:block;
	margin-top:5px;
	font-family:var(--font_cormorant);
	font-size:1.8rem;
	letter-spacing:0.9px;
	line-height:2.2rem;
	text-transform:uppercase;
}
.localnav #pankuzu{margin-top:70px;}

/* archive */
.page_archive .page_top{margin-bottom:60px;}
.select_box{margin-bottom:60px;}
.select_box_in{
	display:flex;
	align-items:center;
	justify-content:center;
}
.select_name{
	margin-right:10px;
	font-size:1.5rem;
	letter-spacing:0.75px;
	line-height:2.1rem;
}
.select_item{
	position:relative;
	width:230px;
	border:1px solid #E0E0E0;
}
.select_item.cat_select{margin-right:60px;}
.select_item::after{
	content:'';
	position:absolute;
	top:0;
	right:15px;
	bottom:5px;
	width:7px;
	height:7px;
	margin:auto;
	border-right:1px solid #333;
	border-bottom:1px solid #333;
	transform:rotate(45deg);
}
.select_item_in{
	display:block;
	width:100%;
	padding:16px 40px 16px 12px;
	background:#fff;
	color:#333 !important;
	font-family:var(--font_zen);
	font-size:1.5rem;
	letter-spacing:0.75px;
	line-height:2.1rem;
	cursor:pointer;
}

.wp-pagenavi{
	display:flex;
	align-items:center;
	justify-content:center;
	position:relative;
	margin-top:40px;
}
.page, .current, .first, .last{
	display:flex;
	align-items:center;
	justify-content:center;
	width:45px;
	height:45px;
	padding:0 0 2px 2px;
	margin:0 5px;
	border-radius:50%;
	color:#333 !important;
	font-size:1.5rem;
	font-weight:500;
	letter-spacing:0.75px;
	line-height:2.1rem;
	text-decoration:none !important;
	transition:background 0.3s;
}
.current{background:#ECE8DC;}
.page:hover,
.first:hover,
.last:hover{
	background:#ECE8DC;
}
.extend{
	margin:0 9px;
	font-size:1.5rem;
	font-weight:bold;
	letter-spacing:0.75px;
	line-height:2.1rem;
}
.previouspostslink, .nextpostslink{
	position:absolute;
	top:11px;
	color:#333 !important;
	font-size:1.5rem;
	font-weight:500;
	letter-spacing:0.75px;
	line-height:2.1rem;
}
.previouspostslink{left:0;}
.nextpostslink{right:0;}
.previouspostslink:hover,
.nextpostslink:hover{
	text-decoration:none !important;
}

/* C3 */
.page_common .content_area{max-width:960px;}
.page_common h2{
	padding:0;
	margin:60px 0 25px;
	font-size:2.4rem;
	letter-spacing:2.4px;
	line-height:3.5rem;
	text-align:left;
}
.page_common h3{
	padding:0;
	margin-bottom:25px;
	font-size:2.2rem;
	letter-spacing:2.2px;
	line-height:3.2rem;
}
.page_common h4{
	padding:0;
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.6rem;
}
.page_common h2::after, .page_common h2 > span::before, .page_common h2 > span::after, .page_common h3::before, .page_common h4::before{display:none;}
.page_common table{border-left:none;}
.page_common th, .page_common td{
	padding:28px 0;
	border-right:none;
}
.page_common th{
	width:280px;
	padding-right:40px;
	background:none;
}
.page_common .column_2, .page_common .column_3, .page_common div.gallery{gap:30px;}
.error .page_title br{display:none;}


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

.page_title{
	font-size:4.4rem;
	letter-spacing:2.2px;
	line-height:6.4rem;
}

}


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

.page_top{margin-bottom:75px;}
.page_title{
	left:20px;
	font-size:3.6rem;
	letter-spacing:1.8px;
	line-height:5.2rem;
}
.page_title[data-slug]::after{
	font-size:2.7rem;
	letter-spacing:1.35px;
	line-height:3.2rem;
}
.page_catch{height:280px;}

.content_area{padding:0 20px;}
h2{
	margin-top:80px;
	font-size:3.2rem;
	letter-spacing:3.2px;
	line-height:4.7rem;
}
h3{
	font-size:2.7rem;
	letter-spacing:2.7px;
	line-height:3.9rem;
}
h3::before{top:11px;}
h4{
	font-size:2.2rem;
	letter-spacing:2.2px;
	line-height:3.2rem;
}
h4::before{top:18px;}
h5{
	font-size:1.9rem;
	letter-spacing:1.9px;
	line-height:2.8rem;
}
p{
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:3.1rem;
}
li{
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.7rem;
}
th, td{
	padding:13px 15px 14px;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.7rem;
}
th{width:180px;}
td p{
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.7rem;
}

.catchcopy{
	font-size:2.2rem;
	letter-spacing:2.2px;
	line-height:4rem;
}

.page_link{margin:75px -25px 0 0;}
.page_link li{margin:0 25px 15px 0;}
.page_link a{background-position:top 9px left;}

.column_2, .column_3, div.gallery{gap:25px;}

#pankuzu{margin-top:100px;}

.localnav{
	padding-top:55px;
	margin-top:90px;
}
.ln_list{gap:20px;}
.ln_item{width:calc((100% - 20px) / 2);}
.ln_thumb{
	width:100px;
	height:60px;
}
.ln_title{
	background-position:center right 5px;
	font-size:2rem;
	letter-spacing:1px;
	line-height:2.9rem;
}
.ln_title::after{
	font-size:1.6rem;
	letter-spacing:0.8px;
	line-height:2rem;
}

/* archive */
.select_item.cat_select{margin-right:45px;}
.previouspostslink, .nextpostslink{
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:2rem;
}

/* C3 */
.page_common h2{
	font-size:2.3rem;
	letter-spacing:2.3px;
	line-height:3.2rem;
}
.page_common h3{
	font-size:2.1rem;
	letter-spacing:2.1px;
	line-height:3rem;
}
.page_common h4{
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:2.5rem;
}
.page_common th, .page_common td{padding:20px 0;}
.page_common th{
	width:200px;
	padding-right:30px;
}
.page_common .column_2, .page_common .column_3, .page_common div.gallery{gap:20px;}

}


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

.page_top{margin-bottom:55px;}
.page_title{
	font-size:2.8rem;
	letter-spacing:1.4px;
	line-height:4rem;
}
.page_title[data-slug]::after{
	font-size:1.8rem;
	letter-spacing:0.9px;
	line-height:2.2rem;
}
.page_catch{height:230px;}

h2{
	margin-top:60px;
	font-size:2.8rem;
	letter-spacing:2.8px;
	line-height:4.1rem;
}
h3{
	margin-top:40px;
	font-size:2.4rem;
	letter-spacing:2.4px;
	line-height:3.5rem;
}
h3::before{top:9px;}
h4{
	padding-left:18px;
	font-size:2rem;
	letter-spacing:2px;
	line-height:2.9rem;
}
h4::before{top:16px;}
h5{
	margin-top:25px;
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.6rem;
}
p{
	margin-bottom:20px;
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.8rem;
}
ul, ol, table{margin-bottom:20px;}
li{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.5rem;
}
th, td{
	padding:13px 15px 14px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.5rem;
}
th{width:110px;}
td p{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.5rem;
}

.catchcopy{
	font-size:2rem;
	letter-spacing:2px;
	line-height:3.6rem;
}
.page_link{
	display:block;
	margin:55px 0 0;
}
.page_link li{margin:0 0 12px;}
.page_link a{padding-bottom:8px;}
.page_link a::before, .page_link a::after{
	left:0;
	width:100%;
}
.column_2, .column_3, div.gallery{
	gap:15px;
	margin-bottom:25px;
}
.wp-caption{margin-bottom:25px;}

#pankuzu{margin-top:80px;}

.localnav{
	padding-top:40px;
	margin-top:60px;
}
.ln_list{display:block;}
.ln_item{
	width:auto;
	margin-bottom:10px;
}

/* archive */
.select_item.cat_select{margin-right:30px;}
.previouspostslink, .nextpostslink{
	font-size:1.3rem;
	letter-spacing:0.65px;
	line-height:1.9rem;
}

/* C3 */
.page_common h2{
	font-size:2.2rem;
	letter-spacing:2.2px;
	line-height:3rem;
}
.page_common h3{
	margin-bottom:20px;
	font-size:2rem;
	letter-spacing:2px;
	line-height:2.9rem;
}
.page_common h4{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.4rem;
}
.page_common th, .page_common td{padding:12px 0 23px;}
.page_common th{
	width:125px;
	padding-right:15px;
}
.page_common .column_2, .page_common .column_3, .page_common div.gallery{gap:15px;}

}


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

.img_txt{display:block;}
.img_txt > p{margin:0 auto 20px;}
.img_txt h4{margin-top:35px;}

/* archive */
.select_box_in{
	flex-wrap:wrap;
	gap:15px 0;
	max-width:300px;
	margin:auto;
}
.select_name{
	width:65px;
	text-align:right;
}
.select_item{width:calc(100% - 75px);}
.select_item.cat_select{margin:0;}

}


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

.column_3, .gallery-columns-3{grid-template-columns:repeat(1, 1fr);}
.error .page_title br{display:block;}

}


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

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

}


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

.wp-pagenavi{padding-bottom:50px;}
.previouspostslink, .nextpostslink{
	top:auto;
	bottom:0;
}

}