  @charset "utf-8";

#content_wrap{border-top:1px solid #ddd;}
#pankuzu{
	max-width:1260px;
	padding:0 40px;
	margin:auto;
}
#pankuzu ol{
	display:flex;
	flex-wrap:wrap;
	padding:0;
	margin-bottom:13px;
}
#pankuzu li{
	list-style:none;
	padding-right:17px;
	margin:10px 13px 0 0;
	background:url(/img/common/arrow_pankuzu.svg) no-repeat center right;
	font-size:1.2rem;
	letter-spacing:0.96px;
	line-height:1.7rem;
}
#pankuzu li:last-child{background:none;}
#pankuzu a{
	color:#666 !important;
	text-decoration:none !important;
}
#pankuzu li:last-child a{pointer-events:none;}
#pankuzu a:hover{text-decoration:underline !important;}

.page_title{
	max-width:1260px;
	padding:0 40px;
	margin:40px auto 45px;
	color:#000;
	font-size:3.6rem;
	font-weight:500;
	letter-spacing:1.8px;
	line-height:5.2rem;
}

.content_area{
	position:relative;
	max-width:1260px;
	padding:0 40px;
	margin:auto;
}
.content_area.ln_active{
	display:flex;
	flex-wrap:wrap;
}
.content_area::before{
	content:'';
	position:absolute;
	z-index:1;
	top:0;
	right:0;
	left:0;
	width:calc(100% - 80px);
	height:1px;
	margin:auto;
	background:#ddd;
}
.content_box{padding:60px 0 100px;}
.ln_active .content_box{
	position:relative;
	width:calc(100% - 280px);
	padding-right:60px;
}
.ln_active .content_box::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	width:1px;
	height:100%;
	background:#ddd;
}
.content_box > *:first-child{margin-top:0;}

.localnav{
	position:sticky;
	top:140px;
	width:280px;
	height:100%;
}
.ln_parent_link{
	display:block;
	position:relative;
	padding:26px 45px 25px 28px;
	background:#F5F5F5;
	border-left:2px solid #094;
	color:#333 !important;
	font-weight:bold;
	letter-spacing:1.28px;
	line-height:2.4rem;
	text-decoration:none !important;
	transition:background 0.3s, color 0.3s;
}
.ln_parent_link:hover{
	background:#094;
	color:#fff !important;
}
.ln_parent_link::before, .ln_parent_link::after{
	content:'';
	position:absolute;
	top:0;
	right:20px;
	bottom:0;
	width:6px;
	height:12px;
	margin:auto;
	background:no-repeat center;
	transition:opacity 0.3s;
}
.ln_parent_link::before{
	background-image:url(/img/common/arrow_r_white.svg);
	opacity:0;
}
.ln_parent_link:hover::before{opacity:1;}
.ln_parent_link::after{background-image:url(/img/common/arrow_r.svg);}
.ln_parent_link:hover::after{opacity:0;}
.ln_list{
	padding:30px 0 60px;
	margin:0;
}
.ln_item{
	position:relative;
	list-style:none;
	padding:0 20px 0 30px;
	margin-bottom:18px;
}
.ln_item::before, .ln_child_item::before{
	content:'';
	position:absolute;
	top:9px;
	left:-4px;
	width:7px;
	height:7px;
	background:#094;
	border-radius:50%;
	opacity:0;
}
.ln_item.active::before, .ln_child_item.active::before{opacity:1;}
.ln_link{
	display:inline-block;
	letter-spacing:0.5px;
	text-decoration:none !important;
	transition:color 0.3s;
}
.ln_link:hover{color:#094;}
.ln_link[target="_blank"]{
	padding-right:20px;
	padding-left:0;
	background-position:center right;
}
.active .ln_link, .on .ln_link{
	color:#094;
	font-weight:bold;
}
.ln_child_list{
	padding:0;
	margin:15px 0 0;
}
.ln_child_item{
	position:relative;
	list-style:none;
	padding-left:15px;
	margin-bottom:10px;
}
.ln_child_item::before{left:-34px;}
.ln_child_link{
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:2rem;
	text-decoration:none !important;
	transition:color 0.3s;
}
.ln_child_link:hover{color:#094;}
.active .ln_child_link{
	color:#094;
	font-weight:bold;
}

h2{
	color:#000;
	font-size:2.8rem;
	font-weight:500;
	letter-spacing:1.4px;
	line-height:4rem;
	margin:80px 0 20px;
}
h3{
	color:#000;
	font-size:2.4rem;
	font-weight:500;
	letter-spacing:1.2px;
	line-height:3.5rem;
	margin:40px 0 15px;
}
h4{
	color:#000;
	font-size:2rem;
	font-weight:500;
	letter-spacing:1px;
	line-height:2.9rem;
	margin:40px 0 15px;
}
h5{
	color:#000;
	font-weight:500;
	letter-spacing:0.8px;
	margin:40px 0 15px;
}

p{
	letter-spacing:1.28px;
	line-height:3.2rem;
	margin-bottom:20px;
}
h2 + p, h3 + p, h4 + p, h5 + p{margin-top:-5px;}
img{border-radius:15px;}
.alignleft{margin-right:auto;}
.aligncenter{margin:auto;}
.alignright{margin-left:auto;}
ul, ol{
	padding-left:20px;
	margin-bottom:20px;
}
ul li{list-style:disc;}
ul li ul{margin-top:10px;}
ul li li{list-style:circle;}
ul li li li{list-style:square;}
ol li{list-style:decimal;}
li{
	letter-spacing:1.28px;
	line-height:2.4rem;
	margin-bottom:10px;
}
table{
	table-layout:fixed;
	width:100%;
	margin-bottom:20px;
	border-top:1px solid #ddd;
	border-left:1px solid #ddd;
}
th, td{
	padding:13px 20px;
	border-right:1px solid #ddd;
	border-bottom:1px solid #ddd;
	letter-spacing:0.5px;
	line-height:2.4rem;
	vertical-align:top;
}
th{
	width:210px;
	background:#F5F5F5;
	color:#000;
	font-weight:500;
	text-align:left;
}
td p, td li{
	letter-spacing:0.5px;
	line-height:2.4rem;
}
td *:last-child{margin-bottom:0 !important;}
.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:220px;
	width:auto;
}
.scroll-hint-icon{
	top:0;
	right:0;
	bottom:0;
	left:0;
	width:125px;
	height:90px;
	margin:auto;
}

.column_2, .column_3, .gallery{
	display:grid;
	grid-gap:30px;
	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-caption{
	margin:5px 0;
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:2.1rem;
}
div.gallery > br{display:none;}

.page_link{
	display:flex;
	flex-wrap:wrap;
	padding:0;
}
.page_link li{
	list-style:none;
	margin:0 30px 15px 0;
}
.page_link a{
	display:inline-block;
	position:relative;
	padding-left:20px;
	transition:color 0.3s;
}
.page_link a:hover{
	color:#014099 !important;
	text-decoration:none !important;
}
.page_link a::before, .page_link a::after{
	content:'';
	position:absolute;
	top:10px;
	left:0;
	width:12px;
	height:6px;
	background:no-repeat center;
	transition:opacity 0.3s;
}
.page_link a::before{
	background-image:url(/img/common/arrow_b_hover.svg);
	opacity:0;
}
.page_link a:hover::before{opacity:1;}
.page_link a::after{background-image:url(/img/common/arrow_b.svg);}
.page_link a:hover::after{opacity:0;}

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

.unique_news_list{
	padding:0;
	margin-bottom:25px;
	border-top:1px solid #ddd;
}
.unique_news_item{
	list-style:none;
	margin:0;
	border-bottom:1px solid #ddd;
}
.unique_news_link{
	display:flex;
	flex-wrap:wrap;
	padding:30px 50px 27px 30px;
	background:url(/img/common/arrow_r.svg) no-repeat center right 20px;
	text-decoration:none !important;
	transition:background 0.3s;
}
.unique_news_link:hover{
	background-color:#EEF5FB;
	background-image:url(/img/common/arrow_r_hover.svg);
}
.unique_news_date{
	width:145px;
	margin-top:2px;
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:2rem;
}
.unique_news_title{
	width:calc(100% - 145px);
	margin:0;
	letter-spacing:1.28px;
	line-height:2.4rem;
	transition:color 0.3s;
}
a:hover .unique_news_title{color:#014099;}
.unique_news_btn{
	margin:0;
	text-align:right;
}

.partner_news{margin-bottom:60px;}
.partner_news_head{margin-top:0;}

.cta_box{
	padding:75px 20px 80px;
	margin-top:80px;
	background:#EEF5FB;
	border-radius:15px;
}
.cta_head{
	margin:0 0 20px;
	text-align:center;
}
.cta_txt{
	margin:0 0 30px;
	text-align:center;
}
.cta_txt span{
	display:block;
	font-weight:bold;
}
.cta_list{
	display:flex;
	justify-content:center;
	position:relative;
	padding:0;
	margin-bottom:40px;
}
.cta_list.both::after{
	content:'';
	position:absolute;
	top:2px;
	right:0;
	bottom:0;
	left:0;
	width:1px;
	height:30px;
	margin:auto;
	background:#333;
}
.cta_item{
	list-style:none;
	margin:0 35px;
	font-family:var(--font_oswald);
	font-size:2rem;
	letter-spacing:0.8px;
	line-height:3rem;
}
.cta_number{
	font-size:3.6rem;
	letter-spacing:1.44px;
	line-height:5.3rem;
	margin-left:5px;
}

.faq_head{
	padding-bottom:10px;
	border-bottom:2px solid #014099;
}
.faq_list dt{
	position:relative;
	margin-top:30px;
	border-bottom:1px solid #ddd;
}
.faq_list dt::before{
	content:'';
	position:absolute;
	top:20px;
	left:0;
	width:40px;
	height:40px;
	background:url(/img/common/icon_q.svg) no-repeat center/cover;
}
.faq_list button{
	display:block;
	position:relative;
	width:100%;
	padding:25px 70px 25px 50px;
	background:none;
	border:none;
	color:#333 !important;
	font-family:var(--font_noto);
	font-size:2rem;
	font-weight:500;
	letter-spacing:1px;
	line-height:2.9rem;
	text-align:left;
	outline:none;
	cursor:pointer;
	-webkit-appearance:none;
	appearance:none;
	transition:color 0.3s;
}
.faq_list button:hover{color:#014099 !important;}
.faq_list button:hover::before,
.faq_list button:hover::after{
	background:#014099;
}
.faq_list button::before, .faq_list button::after{
	content:'';
	position:absolute;
	top:0;
	right:25px;
	bottom:0;
	width:18px;
	height:2px;
	margin:auto;
	background:#000;
	transition:background 0.3s, opacity 0.3s;
}
.faq_list button::after{transform:rotate(90deg);}
.faq_list .open::after{opacity:0;}
.faq_list dd{
	display:none;
	padding:25px 0 0 50px;
	letter-spacing:1.28px;
	line-height:3.2rem;
}


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

#pankuzu, .page_title, .content_area{padding:0 20px;}
.content_area::before{width:calc(100% - 40px);}
.ln_active .content_box{padding-right:35px;}

}


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

.content_area{padding-bottom:120px;}
.content_area.ln_active{display:block;}
.content_box{padding-bottom:0;}
.ln_active .content_box{
	width:auto;
	padding-right:0;
}
.ln_active .content_box::after{display:none;}
.localnav{
	position:static;
	width:auto;
	height:auto;
	margin-top:80px;
}
.ln_parent_link{padding:15px 45px 15px 25px;}
.ln_list{padding:0;}
.ln_item{
	padding:0;
	margin:0;
	border-bottom:1px solid #ddd;
}
.ln_item::before{
	top:21px;
	left:0;
}
.ln_link{
	display:block;
	padding:14px 25px !important;
}
.ln_link[target="_blank"]{background-position:center right 20px;}
.ln_child_list{
	padding-left:25px;
	margin:0;
	border-top:1px solid #ddd;
}
.ln_child_item{
	padding:0;
	margin:0;
	border-bottom:1px solid #ddd;
}
.ln_child_item:last-child{border:none;}
.ln_child_item::before{
	top:20px;
	left:0;
}
.ln_child_link{
	display:block;
	padding:14px 20px 16px;
	font-size:1.3rem;
	letter-spacing:1.04px;
	line-height:1.9rem;
}

}


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

.page_title{
	font-size:2.8rem;
	letter-spacing:1.4px;
	line-height:4rem;
	margin:30px auto 35px;
}
.content_box{padding-top:50px;}

h2{
	font-size:2.4rem;
	letter-spacing:1.2px;
	line-height:3.5rem;
	margin-top:60px;
}
h3{
	font-size:2.1rem;
	letter-spacing:1.05px;
	line-height:3.1rem;
	margin-top:35px;
}
h4{
	font-size:1.8rem;
	letter-spacing:0.9px;
	line-height:2.7rem;
}
h5{
	font-size:1.5rem;
	letter-spacing:0.75px;
	line-height:2.2rem;
}
p{
	font-size:1.5rem;
	letter-spacing:1.2px;
	line-height:2.9rem;
}
li, th, td{
	font-size:1.5rem;
	letter-spacing:1.2px;
	line-height:2.2rem;
}
td p, td li{line-height:2.2rem;}

.column_2, .column_3, .gallery{
	grid-gap:20px;
	margin-bottom:25px;
}
.gallery-caption{
	font-size:1.3rem;
	letter-spacing:1.04px;
	line-height:2rem;
}

.unique_news_link{padding:20px;}
.unique_news_link{
	display:block;
	padding:12px 50px 12px 15px;
}
.unique_news_date{
	font-size:1.3rem;
	letter-spacing:1.04px;
	line-height:1.9rem;
	margin:0 0 10px;
}
.unique_news_title{
	font-size:1.5rem;
	letter-spacing:1.2px;
}

.cta_box{
	padding:60px 20px 65px;
	margin-top:70px;
}
.cta_item{
	font-size:1.9rem;
	letter-spacing:0.76px;
	line-height:2.9rem;
}
.cta_number{
	font-size:3.3rem;
	letter-spacing:1.32px;
	line-height:4.9rem;
}

.faq_list dt{margin-top:25px;}
.faq_list dt::before{
	top:18px;
	width:35px;
	height:35px;
}
.faq_list button{
	padding:21px 60px 22px 45px;
	font-size:1.8rem;
	letter-spacing:0.9px;
	line-height:2.7rem;
}
.faq_list button::before, .faq_list button::after{right:20px;}
.faq_list dd{
	padding:20px 0 0 45px;
	font-size:1.5rem;
	letter-spacing:1.2px;
	line-height:2.9rem;
}

}


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

.page_title{
	font-size:2.1rem;
	letter-spacing:1.05px;
	line-height:3.2rem;
}

h2{
	font-size:2rem;
	letter-spacing:1px;
	line-height:3rem;
}
h3{
	font-size:1.8rem;
	letter-spacing:0.9px;
	line-height:2.7rem;
}
h4{
	font-size:1.6rem;
	letter-spacing:0.8px;
	line-height:2.4rem;
}
h5{
	font-size:1.4rem;
	letter-spacing:0.7px;
	line-height:2.1rem;
}
p{
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:2.5rem;
}
h2 + p, h3 + p, h4 + p, h5 + p{margin-top:0;}
li{
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:2.1rem;
}
th, td{
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:2.5rem;
}
td p, td li{line-height:2.5rem;}

.faq_list button{
	font-size:1.6rem;
	letter-spacing:0.8px;
	line-height:2.5rem;
}
.faq_list dd{
	font-size:1.4rem;
	letter-spacing:1.12px;
	line-height:2.5rem;
}

}


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

#pankuzu ol{
	flex-wrap:nowrap;
	overflow-x:auto;
}
#pankuzu li{
	font-size:1.1rem;
	letter-spacing:0.88px;
	line-height:1.6rem;
	white-space:nowrap;
}

.page_title{margin:20px auto 25px;}
.content_area{padding-bottom:100px;}
.content_box{padding-top:45px;}
.localnav{margin-top:60px;}

h2{margin:40px 0 15px;}
h3, h4, h5{margin-top:30px;}
p{margin-bottom:15px;}
img{border-radius:10px;}
ul, ol{margin-bottom:15px;}
th, td{
	display:list-item;
	list-style:none;
	padding:9px 14px 28px;
}
th{width:100%;}
.scroll_table thead th{min-width:200px;}
th, .scroll_table td{padding-bottom:10px;}

.column_2, .column_3, .gallery{
	grid-gap:20px 10px;
	margin-bottom:20px;
}
.gallery-caption{
	font-size:1.2rem;
	letter-spacing:0.96px;
	line-height:1.8rem;
}

.page_link li{margin-right:25px;}
.page_link a::before, .page_link a::after{top:8px;}

.unique_news_list{margin-bottom:20px;}
.unique_news_link{
	display:block;
	padding:12px 35px 12px 12px;
	background-position:center right 15px;
}
.unique_news_date{
	display:block;
	font-size:1.2rem;
	letter-spacing:0.96px;
	line-height:1.8rem;
	margin:0 0 5px;
}
.unique_news_title{
	width:auto;
	font-size:1.4rem;
	letter-spacing:1.12px;
}
.unique_news_title::after{bottom:-1px;}

.cta_box{
	padding:45px 20px 50px;
	margin-top:60px;
	border-radius:10px;
}
.cta_txt{margin-bottom:20px;}
.cta_list{margin-bottom:30px;}
.cta_item{
	font-size:1.8rem;
	letter-spacing:0.72px;
	line-height:2.7rem;
	margin:0 20px;
}
.cta_number{
	font-size:3rem;
	letter-spacing:1.2px;
	line-height:4.5rem;
}

.faq_list dt{margin-top:20px;}
.faq_list dt::before{
	top:14px;
	width:30px;
	height:30px;
}
.faq_list button{padding:16px 40px 17px;}
.faq_list button::before, .faq_list button::after{
	bottom:1px;
	right:10px;
}
.faq_list dd{padding:15px 0 0 40px;}

}


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

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

.cta_list{display:block;}
.cta_list.both::after{display:none;}
.cta_item{text-align:center;}

}