@charset "utf-8";
.page_top{
	position: relative;
	display: flex;
	align-items: center;
	height: 300px;
	padding: 0 30px;
}
.page_parent .page_top{height: 380px;}
.page_title{
	position: relative;
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	font-weight: 700;
	font-size: 3.6rem;
	line-height: 4.3rem;
	letter-spacing: 2.88px;
	color: #fff;
	text-shadow: 0 0 6px rgba(0, 0, 0, 0.30);
}
.page_parent .page_title{text-align: center;}
.page_title::before{
	content: attr(data-en);
	display: block;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.6rem;
	letter-spacing: 0;
	color: #fff;
	margin-bottom: 8px;
}
.page_parent .page_title::before{text-align: center;}
.page_top_img{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
	pointer-events: none;
}
.content_area{
	max-width:1160px;
	padding:0 30px 150px;
	margin:0 auto;
}
h2{
	position:relative;
	font-weight: 700;
	font-size: 3rem;
	line-height: 4.5rem;
	letter-spacing: 2.4px;
	padding-left: 16px;
	margin: 90px 0 15px;
}
h2::before{
	content: '';
	position: absolute;
	top: 9px;
	bottom: 9px;
	left: 0;
	width: 4px;
	margin: auto;
	background: #961E23;
}
h3{
	position:relative;
	font-weight: 700;
	font-size: 2.6rem;
	line-height: 3.9rem;
	letter-spacing: 2.08px;
	padding-left: 16px;
	margin: 35px 0 15px;
}
h3::before{
	content: '';
	position: absolute;
	top: 8px;
	bottom: 4px;
	left: 0;
	width: 2px;
	margin: auto;
	background: #000;
}
h4{
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 3.6rem;
	letter-spacing: 1.92px;
	margin: 30px 0 10px;
}
h5{
	font-weight: 700;
	font-size: 2rem;
	line-height: 3rem;
	letter-spacing: 1.6px;
	margin: 30px 0 10px;
}
h6{
	font-weight: 700;
	font-size: 16px;
	line-height: 30px;
	letter-spacing: 1.28px;
	color: #000;
	margin: 30px 0 10px;
}
p{
	font-size: 1.6rem;
	line-height: 3rem;
	letter-spacing: 1.28px;
	margin-bottom:20px;
}
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{
	font-size: 1.6rem;
	line-height: 2.4rem;
	letter-spacing: 1.28px;
	margin-bottom:5px;
}
table{
	width:100%;
	margin:25px 0;
	border-top:1px solid #ccc;
	border-left:1px solid #ccc;
}
.scroll_table table{margin-top: 10px;}
th, td{
	font-size: 1.6rem;
	line-height: 2.4rem;
	letter-spacing: 1.28px;
	padding:17px 18px;
	border-right:1px solid #ccc;
	border-bottom:1px solid #ccc;
	vertical-align:top;
}
th{
	width: 260px;
	font-weight:bold;
	background:#F5F5F5;
	text-align:left;
}
thead th{text-align:center;}
td *:last-child{margin-bottom:0;}
dt,dd{
	font-size: 1.6rem;
	line-height: 2.8rem;
	letter-spacing: 1.28px;
}
.scroll_table table{table-layout:auto;}
.scroll_table th, .scroll_table td{display:table-cell !important;}
.scroll_table thead th{
	width:auto;
	min-width:160px;
	text-align: center;
}
.scroll-hint-icon{
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:130px;
	height:90px;
	margin:auto;
}
.scroll-hint-text{font-size: 1rem;}
#pankuzu ol{
	display:flex;
	flex-wrap:wrap;
	gap: 5px 0;
	max-width: 1100px;
	padding: 15px 0 0;
	margin: 0 auto 60px;
}
#pankuzu li{
	position:relative;
	font-size:1.2rem;
	line-height: 1.8rem;
	letter-spacing: 0.96px;
	padding-right:15px;
	margin:0 15px 0 0;
	list-style:none;
}
#pankuzu li::after{
	content:'';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	display: block;
	width: 7px;
	height: 7px;
	margin: auto;
	border-top: 1px solid #000;
	border-right: 1px solid #000;
	transform: rotate(45deg);
}
#pankuzu li:last-child{
	padding:0;
	margin-right:0;
}
#pankuzu li:last-child::after{display: none;}
#pankuzu a{
	display:block;
	color:#000 !important;
	text-decoration:none !important;
}
#pankuzu li:last-child a{
	pointer-events:none;
	text-decoration:none !important;
}
#pankuzu a:hover{text-decoration:underline !important;}
.page_link{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px 25px;
	padding:0;
	margin: 60px 0;
}
.page_link li{
	font-size:1.4rem;
	line-height: 1.7rem;
	letter-spacing: 1.12px;
	margin:0;
	list-style:none;
}
.page_link a{
	display: flex;
	align-items: center;
	height: 100%;
	color:#000 !important;
	padding:18px 45px 18px 0;
	background:url(/img/common/arrow_b_red.svg) no-repeat right center;
	border-bottom: 1px solid #D2D2D2;
	text-decoration:none;
	transition: border-color 0.3s;
}
.page_link a:hover{border-color:#961E23;}
.column_2, .column_3, .column_4{
	display:grid;
	gap: 30px;
	margin:20px 0;
}
.column_2{grid-template-columns:repeat(2,1fr);}
.column_3{grid-template-columns:repeat(3,1fr);}
.column_4{grid-template-columns:repeat(4,1fr);}
.column_2.reverse > div:last-child{order: -1;}
.localnav{
	position:relative;
	max-width: 1160px;
	padding:56px 30px 96px;
	margin: 0 auto;
}
.localnav::before{
	content:'';
	position:absolute;
	top:0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height:100%;
	background:#F6F3F3;
	z-index: -1;
	pointer-events: none;
}
.ln_head{
	font-size:3rem;
	line-height: 3.6rem;
	letter-spacing: 2.4px;
	padding:0;
	margin:0 0 28px;
}
.ln_head::before{display:none;}
.ln_head_link{
	color:#000 !important;
	padding-right: 17px;
    background: url(/img/common/arrow_r_red.svg) no-repeat right top 19px;
	text-decoration:none;
	transition: color 0.3s;
}
.ln_head_link:hover{color:#961E23 !important;}
.ln_list{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap: 10px;
	padding:0;
	margin:0;
}
.ln_item{
	font-weight:700;
	font-size:1.8rem;
	line-height:3.5rem;
	letter-spacing:1.44px;
	margin:0;
	list-style:none;
}
.ln_link{
	position:relative;
	display:flex;
	align-items:center;
	height: 100%;
	color:#000 !important;
	padding:22px 50px 23px 20px;
	background: #fff;
	text-decoration:none !important;
	transition:background 0.3s,color 0.3s;
}
.ln_link:hover, .on .ln_link{
	color:#fff !important;
	background: #961E23;
}
.ln_link::before, .ln_link::after{
	content:'';
	position:absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: 6px;
	height:13px;
	margin: auto;
	transition:opacity 0.3s;
}
.ln_link::before{background: url(/img/common/arrow_r_red.svg) no-repeat;}
.ln_link::after{
	background: url(/img/common/arrow_r_white.svg) no-repeat;
	opacity:0;
}
.ln_link:hover::before, .on .ln_link::before{opacity:0;}
.ln_link:hover::after, .on .ln_link::after{opacity:1;}
.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;
}
.sitemap ul{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 0 30px;
}

@media screen and (max-width:1024px){
.content_area{padding:0 30px 120px;}
.page_top{height: 220px;}
.page_parent .page_top{height: 250px;}
.page_title{
	font-size: 2.8rem;
	line-height: 4rem;
	letter-spacing: 2.24px;
}
.page_title::before{
	font-size: 1.4rem;
	line-height: 1.4rem;
	margin-bottom: 3px;
}
h2{
	font-size: 2.6rem;
	line-height: 3.9rem;
	letter-spacing: 2.08px;
	padding-left: 16px;
	margin: 70px 0 15px;
}
h2::before{bottom: 5px;}
h3{
	font-size: 2.4rem;
	line-height: 3.6rem;
	letter-spacing: 1.92px;
	margin: 30px 0 14px;
}
h4{
	font-size: 2.2rem;
	line-height: 3.3rem;
	letter-spacing: 1.76px;
	margin: 28px 0 14px;
}
h5{
	font-size: 1.8rem;
	line-height: 2.7rem;
	letter-spacing: 1.44px;
	margin: 30px 0 14px;
}
p{
	font-size: 1.4rem;
	line-height: 2.6rem;
	letter-spacing: 1.12px;
	margin-bottom:14px;
}
li{
	font-size: 1.4rem;
	line-height: 2.4rem;
	letter-spacing: 1.12px;
	margin-bottom:5px;
}
th, td{
	font-size: 1.4rem;
	line-height: 2.1rem;
	letter-spacing: 1.12px;
}
th{padding:14px;}
td{padding: 14px;}
dt,dd{
	font-size: 1.4rem;
	line-height: 2.4rem;
	letter-spacing: 1.12px;
}
#pankuzu ol{margin-bottom: 40px;}
.scroll_table thead th{min-width:200px;}
.page_link{
	grid-template-columns: repeat(3, 1fr);
	gap: 17px 20px;
	margin: 45px 0;
}
.page_link a{padding:12px 20px 12px 0;}
.column_2, .column_3, .column_4{gap: 20px;}
.localnav{padding:40px 20px 96px;}
.ln_head{
	font-size:2.6rem;
	line-height: 3.9rem;
	letter-spacing: 2.08px;
	margin:0 0 14px;
}
.ln_head_link{background-position: right top 15px;}
.ln_item{
	font-size:1.6rem;
	line-height:2.4rem;
	letter-spacing:1.28px;
}
.ln_link{padding:17px 30px 18px 14px;}
.ln_link::before, .ln_link::after{right: 12px;}
}

@media screen and (max-width:767px){
.content_area{padding:0 20px 90px;}
.page_top{
	height: 160px;
	padding: 0 20px;
}
.page_parent .page_top{height: 200px;}
th, td{
	display: block;
	width: 100%;
}
td{padding: 14px 14px 20px;}
.page_link{
	grid-template-columns: repeat(2, 1fr);
	gap: 17px 12px;
}
.column_2, .column_3, .column_4{gap: 13px;}
.column_3{grid-template-columns:repeat(1,1fr);}
.column_4{grid-template-columns:repeat(2,1fr);}
.ln_list{grid-template-columns:repeat(1,1fr);}
.tel{pointer-events:auto;}
.sitemap ul{
	grid-template-columns: repeat(1,1fr);
	gap: 0;
}
}