@charset "utf-8";
#wrapper { padding-top: 120px;}
@media (max-width: 1001px) {
	#wrapper { padding-top: 90px;}
	#hd .inner-hd { padding-top: 20px;}
}
@media (max-width: 801px) {
	#wrapper { padding-top: 80px;}
}
@media (max-width: 481px) {
	#wrapper { padding-top: 54px;}
}


#page-kv .inner { padding: 80px 0; background: linear-gradient(90deg,#b5c2ea,#dce0e8);}
#page-kv h1 { font-size: 46px; font-weight: 700; line-height: 1.2; text-align: center; }
#page-kv h1 span { display: block;}
#page-kv h1 span.eng{ font-size: 46px; letter-spacing: 0.4rem;}
#page-kv h1 span.jp { font-size: 16px; letter-spacing: 0.2rem;}
@media (max-width: 1001px) {
}
@media (max-width: 481px) {
	#page-kv .inner { padding: 40px 0;}
	#page-kv h1 span.eng{ font-size: 32px;}
	#page-kv h1 span.jp { font-size: 14px;}
}


.pager { width: 100%; max-width: 830px; margin: 0 auto;}
.pager .inner { position: relative; width: 100%; padding: 0 120px; }
.pager .prev,
.pager .next { position: absolute; width: 100px; top: 50%; transform: translateY(-50%);}
.pager .prev { left: 0;}
.pager .next { right: 0;}
.pager .prev a,
.pager .next a { color: #000; font-weight: 700; text-decoration: none;}
.pager .prev a { position: relative; padding-left: 20px;}
.pager .next a { position: relative; padding-right: 20px;}
.pager .prev a:before,
.pager .next a:after { content: ''; display: block; width: 0px; height: 0px;
 border: solid 6px transparent;
 position: absolute; top: 50%; transform: translateY(-50%);
}
.pager .prev a:before{ left: 0; border-right: solid 12px #000; border-left: 0;}
.pager .next a:after { right: 0; border-left: solid 12px #000; border-right: 0;}
.pager .prev a:hover,
.pager .next a:hover { color: #8b9bca; }
.pager ul { font-size: 0; text-align: center;}
.pager ul li { display: inline-block; padding: 6px; font-size: 16px; }
.pager ul li a,
.pager ul li span { display: block; width: 28px; height: 28px; line-height: 28px; color: #000;}
.pager ul li span { background: linear-gradient(90deg, #8b9bca, #dce0e8);}
.pager ul li a { background: #ececec; text-decoration: none;}
.pager ul li a:hover { background: linear-gradient(90deg, #8b9bca, #dce0e8);}

.pager .btn-back { width: 80%; max-width: 200px; margin: 0 auto;}
.pager .btn-back a { position: relative; display: block; width: 100%; padding: 10px 0; border-radius: 50px; overflow: hidden;
 background: linear-gradient(90deg, #b5c2ea, #dce0e8); background-size: 200% 200%; background-position: 100% 0%;
 color: #000; font-size: 16px; font-weight: 700; letter-spacing: 0.2rem; text-decoration: none;
 transition: background 0.4s ease;
}
.pager .btn-back a:before,
.pager .btn-back a:after { content: ''; display: block; position: absolute;}
.pager .btn-back a:before{ width: 0px; height: 0px; border: solid 5px transparent; border-left: solid 10px #000; right: 20px; top: 50%; transform: translate(0,-50%); z-index: 2;
 transition: 0.4s ease;
}
.pager .btn-back a span { position: relative; display: inline-block; padding-left: 30px; z-index: 2; transition: 0.4s ease 0.06s;}
.pager .btn-back a:hover { background-position: 0% 0%;}
.pager .btn-back a:hover:before{ height: 2px; transform: translate(50px,-50%);}
.pager .btn-back a:hover:after { transform: translateX(65%);}
.pager .btn-back a:hover span { text-indent: 16px;}
@media (max-width: 1201px) {
}
@media (max-width: 1001px) {
}
@media (max-width: 641px) {
}
@media (max-width: 481px) {
	.pager .inner { padding: 0 90px}
	.pager .prev,
	.pager .next { width: 70px; font-size: 13px;}
	.pager .prev a { padding-left: 15px;}
	.pager .next a { padding-right: 15px;}
	.pager .prev a:before,
	.pager .next a:after { border: solid 4px transparent;}
	.pager .prev a:before{ border-right: solid 8px #000; border-left: 0;}
	.pager .next a:after { border-left: solid 8px #000; border-right: 0;}


	.pager ul li { padding: 4px;}

	.pager .btn-back a { padding: 6px 0; font-size: 14px;letter-spacing: 0.1rem;}
	.pager .btn-back a:before{ width: 5px; height: 5px; right: 15px;}
	.pager .btn-back a span { padding-left: 20px;}
	.pager .btn-back a:hover span { text-indent: 20px;}
}



#news .inner-sct { width: 88%; max-width: 1100px; margin: 0 auto; padding: 60px 0 80px;}
#news .ctn { position: relative; width: 100%; max-width: 830px; margin: 0 auto;}
#news .cate { margin-bottom: 30px;}
#news .cate ul { display: flex; justify-content: space-between; font-size: 0px; line-height: 1; text-align: center;}
#news .cate ul li { position: relative; width: 30%; font-size: 18px; font-weight: 700;}
#news .cate ul li span { display: block; padding-bottom: 18px; color: #000; text-decoration: none; cursor: pointer;}
#news .cate ul li:after { content: ''; display: block; width: 100%; height: 3px; background: #ececec;}
#news .cate ul li.active:after { background: linear-gradient(90deg, #8b9bca, #dce0e8);}
#news .cate ul li:hover span { color: #8b9bca;}
#news .list { margin-bottom: 40px;}
#news .list .news-box { display: none;}
#news .list .news-box.show { display: block;}
#news .list ul { font-size: 0px; line-height: 1;}
#news .list ul li { position: relative; padding: 18px 0; border-bottom: solid 1px #c6cfe9; font-size: 16px; font-weight: 700;}
#news .list ul li a { text-decoration: none;}
#news .list ul li a dl dt { margin-bottom: 12px;}
#news .list ul li a dl dt time,
#news .list ul li a dl dt span { display: inline-block; line-height: 22px; vertical-align: middle;}
#news .list ul li a dl dt time { margin-right: 18px; color: #4c4c4c; font-size: 16px; letter-spacing: 0.05rem;}
#news .list ul li a dl dt span { display: none !important; padding: 0px 15px; background: linear-gradient(90deg, #8b9bca, #dce0e8); border-radius: 50px;
 font-size: 14px; letter-spacing: 0.05rem;
}
#news .list ul li a dl dd { color: #000; font-size: 16px; letter-spacing: 0.1rem; line-height: 1.4;}
#news .list ul li a:hover dd { color: #8b9bca;}

@media (max-width: 1001px) {
	#news .list ul li { font-size: 14px;}
}
@media (max-width: 641px) {
	#news .ctn { padding-left: 0px;}
	#news .cate ul { display: flex; width: 100%; justify-content: space-between; text-align: center;}
	#news .cate ul li { width: 28%; margin: 0;}
	#news .cate ul li:after { background: #ececec;}

	#news .list { margin-bottom: 30px;}
	#news .btn { position: relative; left: auto; top: auto; width: 100%; max-width: 190px;}
}
@media (max-width: 481px) {
	#news .inner-sct { padding: 40px 0 50px;}

	#news .cate { margin-bottom: 12px; padding-top: 20px;}
	#news .cate ul li { font-size: 14px;}
	#news .cate ul li:after { height: 2px;}
	#news .cate ul li span { padding-bottom: 8px;}

	#news .list ul li { padding: 15px 0; font-size: 12px;}
	#news .list ul li a dl dt { margin-bottom: 6px;}
	#news .list ul li a dl dt time,
	#news .list ul li a dl dt span { line-height: 15px;}
	#news .list ul li a dl dt time { margin-right: 12px; font-size: 12px;}
	#news .list ul li a dl dt span { padding: 0px 10px; font-size: 11px;}
	#news .list ul li a dl dd { font-size: 12px;}

	#news .btn { width: 150px;}
}


#news article { padding-bottom: 60px;}
.article-hd .inner { padding: 90px 0 80px; background: linear-gradient(90deg,#b5c2ea,#dce0e8);}
.article-hd .txt { width: 88%; max-width: 940px; margin: 0 auto;}
.article-hd .txt h1 { margin-bottom: 20px; font-size: 28px; font-weight: 700; letter-spacing: 0.1rem; line-height: 1.4;}
.article-hd .txt h1 span { display: block;}
.article-hd .txt h1 span.eng{ font-size: 46px; letter-spacing: 0.4rem;}
.article-hd .txt h1 span.jp { font-size: 16px; letter-spacing: 0.2rem;}
.article-hd .txt p { font-weight: 700; font-weight: 700;}
.article-hd .txt p time,
.article-hd .txt p span { display: inline-block; vertical-align: middle;}
.article-hd .txt p time { margin-right: 20px; color: #4c4c4c; font-size: 18px;}
.article-hd .txt p span { padding: 0 15px; background: #fff; border-radius: 50px; font-size: 15px;}

.article-ctn { width: 88%; max-width: 940px; margin: 0 auto; padding: 60px 0;}
.article-ctn p { margin-bottom: 20px; font-size: 18px; letter-spacing: 0.1rem; line-height: 1.8;}
.article-ctn p:last-child { margin-bottom: 0px;}
.article-ctn img { max-width: 100%;}
@media (max-width: 801px) {
	.article-ctn p { font-size: 16px;}
}
@media (max-width: 481px) {
	.article-hd .inner { padding: 30px 0 24px;}
	.article-hd .txt h1 { margin-bottom: 12px; font-size: 18px;}
	.article-hd .txt p time { margin-right: 12px; font-size: 14px;}
	.article-hd .txt p span { font-size: 12px;}

	.article-ctn { padding: 40px 0;}
	.article-ctn p { margin-bottom: 15px; font-size: 13px; line-height: 1.65;}
}


#thanks .inner-sct { width: 88%; margin: 0 auto; padding: 120px 0;}
#thanks .txt { width: 100%; max-width: 1200px; margin: 0 auto 60px;}
#thanks .txt h3 { margin-bottom: 50px; font-size: 26px; font-weight: 700; letter-spacing: 0.2rem; line-height: 1.4; text-align: center;}
#thanks .txt p { width: 100%; max-width: 720px; margin: 0 auto; font-size: 18px; letter-spacing: 0.2rem; text-align: left;}
#thanks .btn { max-width: 230px; margin: 0 auto;}
@media (max-width: 801px) {
	#thanks .inner-sct {}
	#thanks .txt h3 span { display: block;}
	#thanks .txt p { text-align: left;}
}
@media (max-width: 481px) {
	#thanks .inner-sct { padding: 60px 0;}
	#thanks .txt h3 { margin-bottom: 30px; font-size: 20px; letter-spacing: 0.1rem;}
	#thanks .txt p { font-size: 13px; letter-spacing: 0.1rem;}
	#thanks .btn { max-width: 200px;}
}




.policy-ttl .inner { width: 88%; max-width: 1200px; margin: 0 auto; padding: 220px 0 68px;}
.policy-ttl h1 { font-weight: 700; line-height: 1;}
.policy-ttl h1 span.eng { display: inline-block; margin-bottom: 30px; padding-bottom: 6px; border-bottom: solid 3px #ba9d32; font-size: 60px; font-weight: 900; letter-spacing: 0.8rem;}
.policy-ttl h1 span.jp { display: block; position: relative; padding-left: 26px; font-size: 20px; letter-spacing: 0.3rem; line-height: 1;}
.policy-ttl h1 span.jp:before { content: ''; display: block; width: 12px; height: 12px; background: #000; border-radius: 50%;
 position: absolute; left: 0; top: 50%; transform: translateY(-45%);
}
@media (max-width: 801px) {
	.policy-ttl .inner { padding: 180px 0 60px;}
	.policy-ttl h1 span.eng { font-size: 6.0vw;}
	.policy-ttl h1 span.jp { font-size: 2.4vw;}
}
@media (max-width: 481px) {
	.policy-ttl .inner { padding: 120px 0 40px;}
	.policy-ttl h1 span.eng { margin-bottom: 12px; padding-bottom: 4px; border-width: 2px; font-size: 32px; letter-spacing: 0.25rem;}
	.policy-ttl h1 span.jp { padding-left: 15px; font-size: 15px; letter-spacing: 0.2rem;}
	.policy-ttl h1 span.jp:before { width: 6px; height: 6px;}
}


#policy .inner-sct { width: 88%; margin: 0 auto; padding: 40px 0 80px;}
#policy .box { width: 100%; max-width: 1200px; margin: 0 auto; padding: 80px; border-radius: 50px; background: #ededed;}
#policy .box p { font-size: 14px;}
#policy .box p.mb { margin-bottom: 30px;}
#policy .box ol { margin-bottom: 30px;}
#policy .box ol li { margin-bottom: 40px; font-size: 14px; letter-spacing: 0.1rem; line-height: 2;}
#policy .box ol li:last-child { margin-bottom: 0px;}
#policy .box ol li span { display: block; font-size: 18px; font-weight: 700;}
#policy .box ol li dl { padding-top: 30px;}
#policy .box ol li dl dt { font-weight: 700;}
#policy .box ol li ul { padding-top: 30px;}
#policy .box ol li ul li { margin-bottom: 0px;}
@media (max-width: 801px) {
	#policy .box { padding: 40px;}
}
@media (max-width: 481px) {
	#policy .box { padding: 30px 24px; border-radius: 20px;}
	#policy .box p { font-size: 13px;}
	#policy .box p.mb { margin-bottom: 20px;}
	#policy .box ol { margin-bottom: 20px;}
	#policy .box ol li { margin-bottom: 18px; font-size: 13px; letter-spacing: 0.05rem; line-height: 1.8;}
	#policy .box ol li span { margin-bottom: 5px; font-size: 14px; line-height: 1.4;}
	#policy .box ol li dl { padding-top: 12px;}
	#policy .box ol li ul { padding-top: 12px;}
}



#notfound .inner-sct { width: 88%; margin: 0 auto; padding: 80px 0 120px;}
#notfound .txt { width: 92%; max-width: 1200px; margin: 0 auto 80px;}
#notfound .txt h3 { margin-bottom: 40px; font-size: 50px; font-weight: 700; letter-spacing: 0.075rem; line-height: 1; text-align: center;}
#notfound .txt h3 span { display: block; font-size: 172px; letter-spacing: 0.2rem;}
#notfound .txt p { margin: 0 auto; font-size: 18px; letter-spacing: 0.2rem; text-align: center;}
#notfound .btn { max-width: 230px; margin: 0 auto;}
@media (max-width: 801px) {
	#notfound .txt h3 span { display: block;}
	#notfound .txt p { text-align: left;}
}
@media (max-width: 481px) {
	#notfound .inner-sct { padding: 60px 0 80px;}
	#notfound .txt h3 { margin-bottom: 30px; font-size: 20px; letter-spacing: 0.1rem;}
	#notfound .txt h3 span { font-size: 100px;}
	#notfound .txt p { font-size: 13px; letter-spacing: 0.1rem;}
	#notfound .btn { max-width: 200px;}
}
