@charset "UTF-8";
/***************************************************
共通コンテンツ部
***************************************************/
* {
	box-sizing: border-box;
}

html, body{
	height: 100%;
	margin:0;
	padding:0
}

body{
	position: relative;
	font-size: 14px;
	color: #000;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.78;
}

.webp body{
}

a.popup{
	position: relative;
}

a.popup::after{
	content: url(/lib/images/common/icon_popup.png); 
	position: relative;
	z-index: 20;
	top: -30px;
	left: 10px;
}

a,
a:hover{
}

a{
	color: #000;
}

a:visited{
	color: #000;
}

.left{
	float: left;
}

.right{
	float: right;
}

.sp-on{
	display: none !important;
}

.fade image,
.fade{
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}



/********** category **********/
.release{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#0b714e+0,1b903a+100 */
	background: rgb(11,113,78); /* Old browsers */
	background: -moz-linear-gradient(45deg,  rgba(11,113,78,1) 0%, rgba(27,144,58,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(45deg,  rgba(11,113,78,1) 0%,rgba(27,144,58,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg,  rgba(11,113,78,1) 0%,rgba(27,144,58,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0b714e', endColorstr='#1b903a',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

.information{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#0b3271+0,1b5b90+100 */
	background: rgb(11,50,113); /* Old browsers */
	background: -moz-linear-gradient(45deg,  rgba(11,50,113,1) 0%, rgba(27,91,144,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(45deg,  rgba(11,50,113,1) 0%,rgba(27,91,144,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg,  rgba(11,50,113,1) 0%,rgba(27,91,144,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#0b3271', endColorstr='#1b5b90',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}

.column{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#930018+0,b51128+100 */
	background: rgb(147,0,24); /* Old browsers */
	background: -moz-linear-gradient(45deg,  rgba(147,0,24,1) 0%, rgba(181,17,40,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(45deg,  rgba(147,0,24,1) 0%,rgba(181,17,40,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg,  rgba(147,0,24,1) 0%,rgba(181,17,40,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#930018', endColorstr='#b51128',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.news{
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#930018+0,b51128+100 */
	background: rgb(147,0,24); /* Old browsers */
	background: -moz-linear-gradient(45deg,  rgba(147,0,24,1) 0%, rgba(181,17,40,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(45deg,  rgba(147,0,24,1) 0%,rgba(181,17,40,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg,  rgba(147,0,24,1) 0%,rgba(181,17,40,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#930018', endColorstr='#b51128',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
.manga-anime,
.games {
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#930018+0,b51128+100 */
	background: rgb(147,0,24); /* Old browsers */
	background: -moz-linear-gradient(45deg,  rgba(147,0,24,1) 0%, rgba(181,17,40,1) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(45deg,  rgba(147,0,24,1) 0%,rgba(181,17,40,1) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(45deg,  rgba(147,0,24,1) 0%,rgba(181,17,40,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#930018', endColorstr='#b51128',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}



/********** layout **********/
.wrapper{
	max-width: 1440px;
	display: block;
	margin: 0 auto;
	position: relative;
}

.breadcrumbs{
	margin: -25px 0 20px 0;
	padding: 6px 6px;
	font-size: 12px;
}

main{
	position: relative;
	overflow: hidden;
	padding-top: 100px;
}



/********** header **********/
header{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 999;
	background-color: rgba(255,255,255,0.5);
	padding: 20px 20px;
	transition: all 0.2s linear;
	height: 100px;
}

header .header_wrapp{
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: space-between;
	align-items: center;
}

header .logo_area{
	/*width: 160px;*/
	width: 124px;
	transition: all 0.2s linear;
}

header #nav_area .nav_list > ul{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: flex-end;
	align-items: center;
}

header #nav_area .nav_list > ul > li{
	margin-right: 47px;
	line-height: 1;
	transition: all 0.2s linear;
}

header #nav_area .nav_list > ul > li:last-child{
	margin-right: 0;
	line-height: 2;
}

header #nav_area .nav_list > ul > li a{
	display: inline-block;
	font-size: 20px;
	font-family: "balboa", sans-serif;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: all 0.2s linear;
	position: relative;
}

header #nav_area .nav_list > ul > li:last-child a{
	font-size: 18px;
}

header #nav_area .nav_list > ul > li > a::after{
	content: '';
	width: 0;
	height: 3px;
	background: #171717;
	position: absolute;
	bottom: -7px;
	left: 0;
	transition: all 0.2s linear;
}

header #nav_area .nav_list > ul > li.contact{
	margin-right: 25px;
	transition: all 0.2s linear;
}

header #nav_area .nav_list > ul > li.contact a::after{
	content: none;
}

header #nav_area .nav_list > ul > li a:hover::after{
	width: 100%;
}

header #nav_area .nav_list > ul > li.contact a{
	background: #171717;
	padding: 20px 54px;
	color: #fff;
	border-radius: 6px;
	transition: all 0.2s linear;
}

header #nav_area .nav_list > ul > li.contact a:hover{
	background: #b51128;
}

header #nav_area .nav_list > ul > li.lang ul{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
}

header #nav_area .nav_list > ul > li.lang ul li{
	margin-left: 9px;
	transition: all 0.2s linear;
}

header #nav_area .nav_list > ul > li.lang ul li:last-child{
	margin-bottom: 0;
}

header #nav_area .nav_list > ul > li.lang ul li a{
	font-size: 16px;
	border: 1px solid #707070;
	padding: 1px 14px;
	border-radius: 20px;
	background: #fff;
	transition: all 0.2s linear;
}

header #nav_area .nav_list > ul > li.lang ul li a:hover{
	background: #000;
	color: #fff;
}

header.active{
	padding: 6px 20px;
	background-color: rgba(255,255,255);
	height: 52px;
}

header.active .logo_area{
	/*width: 125px;*/
	width: 82px;
}

header.active #nav_area .nav_list > ul > li a{
	font-size: 16px;
}

header.active #nav_area .nav_list > ul > li:last-child a{
	font-size: 14px;
}

header.active #nav_area .nav_list > ul > li{
	margin-right: 44px;
}

header.active #nav_area .nav_list > ul > li:nth-last-child(-n+2)	{
	margin-right: 15px;
	line-height: 1.4;
}

header #nav_area .nav_list > ul > li:last-child a::after{
	bottom: -4px;
}

header.active #nav_area .nav_list > ul > li.contact{
	margin-right: 20px;
}

header.active #nav_area .nav_list > ul > li.contact a{
	padding: 12px 28px;
}

header.active #nav_area .nav_list > ul > li.lang ul li{
	margin-bottom: 3px;
}

header.active #nav_area .nav_list > ul > li.lang ul li a{
	font-size: 12px;
	padding: 1px 12px;

}



/********** footer **********/
.footer_bg{
	position: relative;
	background: #fff;
}

#footer_contact{
	background-image: url('/lib/images/common/footer_contact_bg.webp');
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-size: cover;
	padding: 90px 0;
	margin-bottom: 70px;
	z-index: 1;
}

#footer_contact ul{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: space-between;
	align-items: center;
	width: 1180px;
	margin: 0 auto;
}

#footer_contact.en ul{
	justify-content: center;
}

#footer_contact ul li{
	width: 44.8%;
}

#footer_contact ul li a{
	display: block;
	height: 270px;
	line-height: 1;
	background: #fff;
	position: relative;
	transition: all 0.2s linear;
}

#footer_contact ul li a:hover{
	background: #141414;
	color: #fff;
}

#footer_contact ul li a::after{
	content: '';
	display: block;
	width: 110px;
	height: 10px;
	border: none;
	border-right: 1px solid #141414;
	border-bottom: 1px solid #141414;
	transform: skew(45deg);
	transition: all 0.2s linear;
	position: absolute;
	bottom: 30px;
	right: 80px;
}

#footer_contact ul li a:hover::after{
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	right: 26px;
}

#footer_contact ul li a .text_box{
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

#footer_contact ul li a .text_box .main{
	display: block;
	font-size: 51px;
	font-family: "balboa", sans-serif;
	font-weight: 800;
	color: #141414;
	margin-bottom: 47px;
	position: relative;
}

#footer_contact ul li a .text_box .main::after{
	content: '';
	width: 53px;
	height: 1px;
	background: #141414;
	position: absolute;
	bottom: -22px;
	left: 0;
	right: 0;
	margin: auto;
	transition: all 0.2s linear;
}

#footer_contact ul li a:hover .text_box .main{
	color: #fff;
}

#footer_contact ul li a:hover .text_box .main::after{
	background: #fff;
}

#footer_contact ul li a .text_box .sub{
	display: block;
	font-size: 16px;
	font-weight: 700;
}

#footer_banner{
	width: 100%;
	max-width: 1180px;
	margin: 0 auto 70px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: flex-start;
	justify-content: space-between;
	align-items: flex-start;
}

#footer_banner .footer_banner_title{
	display: inline-block;
	line-height: 1;
	text-align: center;
}

#footer_banner .footer_banner_title .main{
	font-size: 31px;
	font-family: "balboa", sans-serif;
	font-weight: 900;
	font-feature-settings: "palt";
	color: #141414;
	margin-bottom: 28px;
	position: relative;
}

#footer_banner .footer_banner_title .main::after{
	content: '';
	width: 53px;
	height: 1px;
	background: #141414;
	position: absolute;
	bottom: -14px;
	left: 0;
	right: 0;
	margin: auto;
}

#footer_banner .footer_banner_title .sub{
	font-size: 12px;
}

#footer_banner .banner_area{
	width: 81.5%;
}

#footer_banner .banner_area ul li{
	width: 31.5%;
	float: left;
	margin: 0 26px 26px 0;
}

#footer_banner .banner_area ul li:nth-child(3n + 3){
	margin-right: 0;
}

#footer_banner .banner_area ul li .img_wrapp{
	display: block;
	line-height: 1;
}

#footer_banner .banner_area ul li .img_wrapp:hover{
	opacity: 0.8;
}

#footer_banner .banner_area ul li img{
	width: 100%;
	height: auto;
}

#page-top {
	position: fixed;
	bottom: 80px;
	right: 20px;
	z-index: 30;
}

#page-top a{
	display: inline-block;
	font-size: 20px;
	font-family: "balboa", sans-serif;
	font-weight: 500;
	color: #141414;
	text-decoration: none;
	transform: rotate(90deg);
	position: relative;
}

#page-top a::before{
	content: '';
	width: 35px;
	height: 10px;
	border: none;
	border-left: 1px solid #141414;
	border-bottom: 1px solid #141414;
	transition: all 0.2s linear;
	position: absolute;
	top: 50%;
	right: 30px;
	transform: translate(0, -50%) skew(-45deg);
}

#page-top a:hover::before{
	width: 55px;
}

footer{
	position: relative;
	z-index: 10;
	width: 100%;
	background: #141414;
	padding: 70px 0 74px;
	color: #fff;
}

footer #footer_main{
	width: 100%;
	max-width: 1180px;
	margin: 0 auto 70px;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: flex-start;
	justify-content: space-between;
	align-items: flex-start;
}

footer #footer_main .company_data .f_logo{
	width: 218px;
	margin-bottom: 30px;
}

footer #footer_main .company_data p{
	font-size: 14px;
	line-height: 2.07;
}

footer #footer_main .company_data .map_link{
	margin: 4px 0 52px;
}

footer #footer_main .company_data .map_link a{
	font-size: 14px;
	color: #fff;
	line-height: 1;
	position: relative;
	margin-left: 24px;
}

footer #footer_main .company_data .map_link a::before{
	content: '\f3c5';
	font-family: FontAwesome;
	font-size: 19px;
	color: #fff;
	position: absolute;
	top: 50%;
	left: -24px;
	transform: translate(0, -50%);
}

footer #footer_main .company_data .map_link a::after{
	content: '\f062';
	font-family: FontAwesome;
	font-size: 17px;
	font-weight: 300;
	color: #707070;
	position: absolute;
	top: 52%;
	right: -24px;
	transform: translate(0, -50%) rotate(45deg);
}

footer #footer_main .company_data .sns_link{
}

footer #footer_main .company_data .sns_link ul{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: flex-start;
	align-items: center;
}

footer #footer_main .company_data .sns_link ul li{
	margin-right: 26px;
}

footer #footer_main .company_data .sns_link ul li:last-child{
	margin-right: 0;
}

footer #footer_main .company_data .sns_link ul li a i{
	font-size: 36px;
	color: #fff;
}

footer .footer_link{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: flex-start;
	justify-content: flex-end;
	align-items: flex-start;
	padding-left: 90px;
	border-left: 1px solid #fff;
}

footer .footer_link .link_cont{
	width: 238px;
	margin-right: 113px;
}

footer .footer_link .link_cont:last-child{
	margin-right: 0;
}

footer .footer_link .link_cont > ul{
	
}

footer .footer_link .link_cont > ul > li{
	border-bottom: 1px solid #fff;
}

footer .footer_link .link_cont > ul > li:last-child{
	border-bottom: none;
}

footer .footer_link .link_cont > ul > li a{
	display: block;
	font-size: 16px;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	padding: 24px 0 24px 10px;
	position: relative;
	transition: all 0.2s linear;
}

footer .footer_link .link_cont > ul > li a:hover{
	opacity: 0.8;
}

footer .footer_link .link_cont > ul > li a:after{
	content: '';
	width: 5px;
	height: 5px;
	border: 0px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	position: absolute;
	top: 50%;
	right: 6px;
	transform: translate(0, -50%) rotate(45deg);
}

footer .footer_link .link_cont > ul > li ul{
	margin: 0 0 24px;
	border-top: 1px solid #5c5c5c;
}

footer .footer_link .link_cont > ul > li ul li{
	border-bottom: 1px solid #5c5c5c;
}

footer .footer_link .link_cont > ul > li ul li:last-child{
	border-bottom: none;
}

footer .footer_link .link_cont > ul > li ul li a{
	font-size: 14px;
	font-weight: 400;
	padding: 10px 0 10px 38px;
}

footer .footer_link .link_cont > ul > li ul li a:before{
	content: '-';
	display: inline-block;
	position: absolute;
	top: 50%;
	left: 19px;
	transform: translate(0, -50%);
}

footer .footer_link .link_cont > ul > li ul li a:after{
	content: none;
}

footer .copyright_area{
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding-top: 25px;
	border-top: 1px solid #fff;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: space-between;
	align-items: center;
}

footer .copyright{
	font-size: 12px;
	line-height: 1;
}

footer .privacy a{
	font-size: 12px;
	line-height: 1;
	color: #fff;
	text-decoration: none;
}



/********** 共通 **********/
#breadcrumbs{
	position: relative;
	z-index: 5;
}

#breadcrumbs .breadcrumbs_wrapp{
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 120px 0 30px;
	position: relative;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	color: #38281e;
}

#breadcrumbs .breadcrumbs_wrapp span a{
	color: #38281e;
}

#page_contents{
	background-image: url('/lib/images/common/page_bg01.webp');
	background-position: 50% 0;
	background-repeat: no-repeat;
	background-color: #fff;
	background-size: auto;
	margin-top: -100px;
}

#page_header{
	margin-bottom: 66px;
	padding-top: 100px;
}

#page_header .page_sign{
	position: fixed;
	top: 270px;
	left: calc((100% - 1440px) / 2 + 30px);
	z-index: 10;
	writing-mode: vertical-rl;
}

#page_header .page_sign .main{
	font-size: 47px;
	font-family: "balboa", sans-serif;
	font-weight: 800;
	color: #ccc;
	line-height: 1;
	margin-right: 2px;
}

#page_header .page_sign .sub{
	display: inline-block;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: 1em;
	position: relative;
}

#page_header .page_sign .sub::after{
	content: '';
	width: 1px;
	height: 19px;
	background: #707070;
	position: absolute;
	bottom: -23px;
	left: 50%;
}

#page_header .h1_area{
	text-align: center;
	margin-bottom: 60px;
}

#page_header .h1_area h1{
	font-size: 21px;
	font-weight: 400;
	color: #141414;
	line-height: 2;
	margin-top: 20px;
	letter-spacing: 4px;
}

#page_header.en .h1_area h1{
	display: inline-block;
	position: relative;
	font-size: 93px;
	font-weight: 900;
	font-family: "balboa", sans-serif;
	color: #141414;
	line-height: 1;
	letter-spacing: 0;
}

#page_header .h1_area .sub_title{
	display: inline-block;
	position: relative;
	font-size: 93px;
	font-weight: 900;
	font-family: "balboa", sans-serif;
	color: #141414;
	line-height: 1;
}

#page_header .h1_area .sub_title::after{
	content: '';
	width: 100%;
	height: 2px;
	background: #707070;
	position: absolute;
	bottom: -10px;
	left: 0;
	right: 0;
}

#page_header .page_header_image{
	width: 1100px;
	height: 453px;
	margin: 0 auto 70px;
	position: relative;
}

#page_header .page_header_image .img_cont{
	width: 1900px;
	height: 453px;
	background-position: 0 50%;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	border-radius: 8px 0 0 8px;
	overflow: hidden;
}

#page_header .page_main_caption{
	width: 1180px;
	margin: 0 auto;
	padding-left: 37px;
}

#page_header .page_main_caption p strong{
	display: inline;
	font-size: 33px;
	font-weight: 700;
	line-height: 1.78;
	color: #141414;
	border-bottom: 2px solid #000;
}

#page_header .page_main_caption p.sub{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.93;
	margin-top: 22px;
}



/********** アーカイブ系 **********/
#pager{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
	margin-top: 55px;
}

#pager span,
#pager a{
	display: inline-block;
	width: 39px;
	height: 39px;
	line-height: 39px;
	text-align: center;
	border: 1px solid #ccc;
	font-size: 13px;
	color: #141414;
	text-decoration: none;
	margin: 0 7px;
	transition: all 0.2s linear;
}

#pager a:hover,
#pager span{
	background: #b51128;
	border: 1px solid #b51128;
	color: #fff;
}

#pager span.dots{
	background: #fff;
	border: 1px solid #ccc;
	color: #141414;
}



/********** 404 **********/
#page-404{
	text-align: center;
	padding-bottom: 180px;
}

#page-404 .link{
	font-size: 24px;
	font-weight: 400;
	line-height: 1;
}

#page-404 .link a{
	padding: 24px;
}


/********** 追加 **********/
.black02 {
	color: #171717;
}

.black03 {
	color: #2e2e2e;
}

.black04 {
	color: #141414;
}



/********************************************************************************
リキッド調整用 CSS
********************************************************************************/
@media(max-width:1440px){
/********** header **********/
header{
	padding: 1.388889vw 1.388889vw;
	height: 6.9vw;
}

header .header_wrapp {
	height: 3.9vw;
}

header .logo_area{
	width: 11.111111vw;
}

header #nav_area .nav_list > ul > li{
	margin-right: 3.263889vw;
}

header #nav_area .nav_list > ul > li:last-child {
	line-height: 2vw;
}

header #nav_area .nav_list > ul > li a{
	font-size: 1.388889vw;
}

header #nav_area .nav_list > ul > li:last-child a {
	font-size: 1.25vw;
}

header #nav_area .nav_list > ul > li.contact{
	margin-right: 1.736111vw;
}

header #nav_area .nav_list > ul > li.contact a{
	padding: 1.388889vw 3.75vw;
}

header #nav_area .nav_list > ul > li.lang ul li{
	margin-left: 0.625vw;
}

header #nav_area .nav_list > ul > li.lang ul li a{
	font-size: 1.111111vw;
	padding: 1px 0.972222vw;
}

header.active{
	padding: 0.416667vw 1.388889vw;
	height: 4.5vw;	
}

header.active .logo_area{
	width: 8.680556vw;
}

header.active #nav_area .nav_list > ul > li a{
	font-size: 1.111111vw;
}
header.active #nav_area .nav_list > ul > li:last-child a {
	font-size: 1.111111vw;
}

header.active #nav_area .nav_list > ul > li{
	margin-right: 3.055556vw;
}

header.active #nav_area .nav_list > ul > li.contact{
	margin-right: 1.388889vw;
}

header.active #nav_area .nav_list > ul > li.contact a{
	padding: 0.833333vw 1.944444vw;
}

header.active #nav_area .nav_list > ul > li.lang ul li{
	margin-bottom: 0.208333vw;
}

header.active #nav_area .nav_list > ul > li.lang ul li a{
	font-size: 0.833333vw;
	padding: 0.069444vw 0.833333vw;
}


/********** footer **********/
#footer_contact{
	padding: 6.25vw 0;
	margin-bottom: 4.861111vw;
}

#footer_contact ul{
	width: 81.944444vw;
}

#footer_contact ul li a{
	height: 18.75vw;
}

#footer_contact ul li a .text_box .main{
	font-size: 3.541667vw;
	margin-bottom: 3.263889vw;
}

#footer_contact ul li a .text_box .main::after{
	width: 3.680556vw;
	bottom: -1.527778vw;
}

#footer_contact ul li a .text_box .sub{
	font-size: 1.111111vw;
}

#footer_contact ul li a::after{
	width: 7.638889vw;
	height: 0.694444vw;
	bottom: 2.083333vw;
	right: 5.555556vw;
}

#footer_contact ul li a:hover::after{
	right: 1.805556vw;
}

#footer_banner{
	width: 81.9444%;
	margin: 0 auto 4.861111vw;
}

#footer_banner .footer_banner_title .main{
	font-size: 2.152778vw;
	margin-bottom: 1.944444vw;
}

#footer_banner .footer_banner_title .main::after{
	width: 3.680556vw;
	bottom: -0.972222vw;
}

#footer_banner .footer_banner_title .sub{
	font-size: 0.833333vw;
}

#footer_banner .banner_area ul li{
	margin: 0 1.80555vw 1.80555vw 0;
}

#page-top {
	bottom: 5.555556vw;
	right: 1.388889vw;
}

#page-top a{
	font-size: 1.388889vw;
}

#page-top a::before{
	width: 2.430556vw;
	height: 0.694444vw;
	right: 2.083333vw;
}

#page-top a:hover::before{
	width: 3.819444vw;
}

footer{
	padding: 4.861111vw 0 5.138889vw;
}

footer #footer_main{
	width: 81.944%;
	margin: 0 auto 4.861111vw;
}

footer #footer_main .company_data .f_logo{
	width: 15.138889vw;
	margin-bottom: 2.083333vw;
}

footer #footer_main .company_data p{
	font-size: 0.972222vw;
}

footer #footer_main .company_data .map_link{
	margin: 0.277778vw 0 3.611111vw;
}

footer #footer_main .company_data .map_link a{
	font-size: 0.972222vw;
	margin-left: 1.666667vw;
}
footer #footer_main .company_data .map_link a::before{
	font-size: 1.180556vw;
}

footer #footer_main .company_data .map_link a::after{
	font-size: 1.319444vw;
	top: 52%;
	right: -1.666667vw;
}

footer #footer_main .company_data .sns_link ul li{
	margin-right: 2.5vw;
}

footer #footer_main .company_data .sns_link ul li a i{
	font-size: 2.5vw;
}
footer .footer_link{
	padding-left: 6.25;
}

footer .footer_link .link_cont{
	width: 16.527778vw;
	margin-right: 7.847222vw;
}

footer .footer_link .link_cont > ul > li a{
	font-size: 1.111111vw;
	padding: 1.666667vw 0 1.666667vw 0.694444vw;
}

footer .footer_link .link_cont > ul > li a:after{
	width: 0.347222vw;
	height: 0.347222vw;
	right: 0.416667vw;
}

footer .footer_link .link_cont > ul > li ul{
	margin: 0 0 1.666667vw;
}

footer .footer_link .link_cont > ul > li ul li a{
	font-size: 0.972222vw;
	padding: 0.694444vw 0 0.694444vw 2.638889vw;
}

footer .footer_link .link_cont > ul > li ul li a:before{
	left: 1.319444vw;
}

footer .copyright_area{
	width: 81.944%;
	padding-top: 1.736111vw;
}

footer .copyright{
	font-size: 0.833333vw;
}

footer .privacy a{
	font-size: 0.833333vw;
}



/********** 共通 **********/
#breadcrumbs{
}

#breadcrumbs .breadcrumbs_wrapp{
	width: 81.944%;
	padding: 8.333333vw 0 2.083333vw;
	font-size: 0.833333vw;
}

#page_header{
	margin-bottom: 4.583333vw;
}

#page_header .page_sign{
	top: 18.75vw;
	left: 2.083333vw;
}

#page_header .page_sign .main{
	font-size: 3.263889vw;
	margin-right: 0.138889vw;
}

#page_header .page_sign .sub{
	font-size: 0.833333vw;
}

#page_header .page_sign .sub::after{
	height: 1.319444vw;
	bottom: -1.597222vw;
}

#page_header .h1_area{
	margin-bottom: 4.166vw;
}

#page_header .h1_area h1{
	font-size: 1.415833vw;
	margin-top: 1.38888vw;
	letter-spacing: 0.27777vw;
}

#page_header.en .h1_area h1{
	font-size: 6.45833vw;
}

#page_header .h1_area .sub_title{
	font-size: 6.45833vw;
}

#page_header .h1_area .sub_title::after{
	bottom: -0.694444vw;
}

#page_header .page_header_image{
	width: 76.388889vw;
	height: 31.458333vw;
	margin: 0 auto 4.861111vw;
}

#page_header .page_header_image .img_cont{
	width: 88.402778vw;
	height: 31.458333vw;
	border-radius: 0.555556vw 0 0 0.555556vw;
}

#page_header .page_main_caption{
	width: 81.944vw;
	padding-left: 2.569444vw;
}

#page_header .page_main_caption p strong{
	font-size: 2.291667vw;
}

#page_header .page_main_caption p.sub{
	font-size: 1.111111vw;
	margin-top: 1.527778vw;
}



/********** アーカイブ系 **********/
#pager{
	margin-top: 3.819444vw;
}

#pager span,
#pager a{
	width: 2.708333vw;
	height: 2.708333vw;
	line-height: 2.708333vw;
	font-size: 0.902778vw;
	margin: 0 0.486111vw;
}



/********** 404 **********/
#page-404{
	padding-bottom: 12.5vw;
}

#page-404 .link{
	font-size: 1.665vw;
}

#page-404 .link a{
	padding: 1.665vw;
}

}



/********************************************************************************
スマートフォン用 CSS
********************************************************************************/
@media(max-width:414px){
html{
	font-size: 62.5%;
	height: -webkit-fill-available;
}

body{
	font-size: 1.4rem;
	min-height: 100vh;
	/* mobile viewport bug fix */
	min-height: -webkit-fill-available;
}

body.home{
	background: none;
	background-size: inherit;
}

.left{
	float: none;
}

.right{
	float: none;
}

.pc-on{
	display: none !important;
}

.sp-on{
	display: block !important;
}

img{
	width: 100%;
	height: auto;
}



/********** layout **********/
.wrapper{
	padding: 0 5.33%;
}



/********** header **********/
header{
	height: 66px;
	padding: 0;
	background-color: rgba(255,255,255);
}

header .header_wrapp{
	display: block;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	position: relative;
}

header .header_wrapp .logo_area{
	width: 32.9%;
	position: absolute;
	top: 50%;
	left: 5.066667%;
	transform: translate(0, -50%);
	z-index: 50
}

#nav_area {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	right: 0;
}

#nav_area .nav_btn{
	position: absolute;
	top: 21px;
	right: 5.066667%;
	width: 28px;
	height: 20px;
	cursor: pointer;
	z-index: 999;
}

#nav_area .nav_btn span{
	display: block;
	width: 28px;
	height: 1px;
	background: #000;
	position: absolute;
	top: 0px;
	left: 0px;
	-webkit-transition: all 0.2s linear;
	-moz-transition: all 0.2s linear;
	-o-transition: all 0.2s linear;
	-ms-transition: all 0.2s linear;
	transition: all 0.2s linear;
}

#nav_area .nav_btn span:nth-child(2){
	top: 10px
}

#nav_area .nav_btn span:nth-child(3){
	top: 20px
}

#nav_area .nav_btn.open span:nth-child(1){
	top: 12px;
	transform: rotate(45deg);
}

#nav_area .nav_btn.open span:nth-child(2){
	display: none;
}

#nav_area .nav_btn.open span:nth-child(3){
	top: 12px;
	transform: rotate(-45deg);
}

#nav_area .nav_list{
	position: fixed;
	top: -100%;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	padding: 66.5px 4.4% 0;
	background: #e3e3e3;
	-webkit-transition: all 0.4s linear;
	-moz-transition: all 0.4s linear;
	-o-transition: all 0.4s linear;
	-ms-transition: all 0.4s linear;
	transition: all 0.4s linear;
	z-index: 100;
}

#nav_area .nav_list.active {
	top: 0;
}

header #nav_area .nav_list > ul {
	display: block;
	border-top: 1px solid #707070;
}

header #nav_area .nav_list > ul > li{
	margin-right: 0;
	border-bottom: 1px solid #707070;
}

header #nav_area .nav_list > ul > li:nth-child(5){
}

header #nav_area .nav_list > ul > li:last-child{
	border-bottom: none;
}

header #nav_area .nav_list > ul > li a{
	display: block;
	padding: 10px 14px;
	font-size: 5.333333vw;
}

header #nav_area .nav_list > ul > li:last-child a {
	font-size: 5.333333vw;
	border-bottom: 1px solid #707070;
}

header #nav_area .nav_list > ul > li > a::after{
	content: none;
}

header #nav_area .nav_list > ul > li > a::before{
	content: '';
	width: 5px;
	height: 5px;
	border: 0px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -2px;
}

header #nav_area .nav_list > ul > li.contact{
	margin-right: 0;
}

header #nav_area .nav_list > ul > li.contact a{
	padding: 10px 14px;
	border-radius: 0;
	background: none;
	color: #b51128;
}

header #nav_area .nav_list > ul > li.lang ul{
	margin-top: 10px;
	text-align: center;
}

header #nav_area .nav_list > ul > li.lang ul li{
	display: inline-block;
	margin: 0 9px;
}

header #nav_area .nav_list > ul > li.lang ul li a{
	font-size: 5.333333vw;
	padding: 1px 20px;
}

main {
	padding-top: 66px;
}



/********** footer **********/
#footer_contact{
	background-image: url(/lib/images/common/footer_contact_bg_sp.webp);
	padding: 17.333333vw 0;
	margin-bottom: 18.666667vw;
}

#footer_contact ul{
	display: block;
	width: 100%;
	padding: 0 5.33%;
}

#footer_contact ul li{
	width: auto;
	margin-bottom: 4.8vw;
}

#footer_contact ul li:last-child{
	margin-bottom: 0;
}

#footer_contact ul li a{
	height: 47.466667vw;
}

#footer_contact ul li a .text_box .main{
	font-size: 15.466667vw;
	margin-bottom: 8.8vw;
}

#footer_contact ul li a .text_box .main::after{
	width: 9.2vw;
	bottom: -4.266667vw;
}

#footer_contact ul li a .text_box .sub{
	font-size: 3.6vw;
}

#footer_contact ul li a::after{
	width: 14.266667vw;
	height: 1.066667vw;
	bottom: 4.666667vw;
	right: 11.2vw;
}

#footer_contact ul li a:hover::after{
	right: 6vw;
}

#footer_banner{
	width: auto;
	margin: 0 auto 35.6vw;
	padding: 0 5.33%;
	display: block;
}

#footer_banner .footer_banner_title{
	display: block;
	margin-bottom: 9.6vw;
}

#footer_banner .footer_banner_title .main{
	font-size: 11vw;
	font-weight: 900;
	margin-bottom: 7vw;
}

#footer_banner .footer_banner_title .main::after{
	width: 9.2vw;
	bottom: -3.733333vw;
}

#footer_banner .footer_banner_title .sub{
	font-size: 3.6vw;
}

#footer_banner .banner_area{
	width: auto;
}

#footer_banner .banner_area ul li{
	width: 48%;
	float: left;
	margin: 0 0 2.4vw 0;
}

#footer_banner .banner_area ul li:nth-child(even){
	float: right;
}

#page-top {
	bottom: 10.666667vw;
	right: 1.066667vw;
}

#page-top a{
	font-size: 4vw;
}

#page-top a::before{
	width: 8vw;
	height: 1.866667vw;
	right: 5.866667vw;
}

#page-top a:hover::before{
	width: 12.533333vw;
}

footer{
	padding: 10.533333vw 0 10.266667vw;
}

footer #footer_main{
	width: 100%;
	margin: 0 auto 13.6vw;
	padding: 0 5.33%;
	display: block;
}

footer #footer_main .company_data .f_logo{
	width: 50%;
	margin-bottom: 6vw;
}

footer #footer_main .company_data p{
	font-size: 3.6vw;
	line-height: 1.79;
}

footer #footer_main .company_data .map_link{
	margin: 0.533333vw 0 6.533333vw;
}

footer #footer_main .company_data .map_link a{
	font-size: 3.6vw;
	margin-left: 5.2vw;
}
footer #footer_main .company_data .map_link a::before{
	font-size: 4.533333vw;
	left: -4.533333vw;
}

footer #footer_main .company_data .map_link a::after{
	font-size: 4vw;
	right: -4.8vw;
}

footer #footer_main .company_data .sns_link{
}

footer #footer_main .company_data .sns_link ul{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: flex-start;
	align-items: center;
}

footer #footer_main .company_data .sns_link ul li{
	margin-right: 6.666667vw;
}

footer #footer_main .company_data .sns_link ul li a{
	display: block;
}

footer #footer_main .company_data .sns_link ul li a img {
	width: 12vw;
}

footer #footer_main .company_data .sns_link ul li a i{
	font-size: 12vw;
}

footer .footer_link{
	justify-content: space-between;
	padding-left: 0;
	border-left: none;
}

footer .footer_link .link_cont{
	width: 45.4%;
	margin-right: 0;
}

footer .footer_link .link_cont > ul > li a{
	font-size: 3.6vw;
	/*padding: 5.066667vw 0 5.066667vw 1.866667vw;*/
	display: table-cell;
	vertical-align: middle;
	width: 42vw;
	height: 12vw;
	padding: 0 0 0 0;
}

footer .footer_link .link_cont > ul > li a:after{
	width: 1.333333vw;
	height: 1.333333vw;
	right: 1.6vw;
}

footer .footer_link .link_cont > ul > li ul{
	margin: 0 0 2.666667vw;
}

footer .footer_link .link_cont > ul > li ul li a{
	font-size: 3.6vw;
	padding: 2.4vw 0 2.4vw 6.666667vw;
}

footer .footer_link .link_cont > ul > li ul li a:before{
	left: 3.2vw;
}

footer .copyright_area{
	width: 100%;
	padding: 2.666667vw 0 0 0;
	flex-direction: column-reverse;
	align-content: center;
	justify-content: space-between;
	align-items: flex-start;
	border-top: 1px solid #fff;
}

footer .copyright{
	width: 100%;
	font-size: 3.6vw;
	text-align: center;
}

footer .privacy{
	width: 100%;
	text-align: right;
	margin-bottom: 12.4vw;
}

footer .privacy a{
	font-size: 3.6vw;
	padding-right: 4vw;
}



/********** 共通 **********/
#page_contents {
	background-image: url(/lib/images/common/page_bg01_sp.webp);
	background-size: 100%;
	margin-top: 0;
}

#breadcrumbs .breadcrumbs_wrapp {
	width: auto;
	padding: 4.533333vw 5.33% 8.933333vw;
	font-size: 2.933333vw;
	font-feature-settings: "palt";
	line-height: 1.77;
}

#page_header{
	margin-bottom: 12vw;
	padding-top: 0;
}

#page_header .page_sign{
	position: relative;
	top: 0;
	left: 5.33%;
	writing-mode: unset;
	margin-bottom: 9.333333vw;
	display: flex;
	flex-direction: column-reverse;
	flex-wrap: nowrap;
	align-content: flex-start;
	justify-content: flex-end;
	align-items: flex-start;
}

#page_header .page_sign .main{
	font-size: 10.4vw;
	margin: 0 0 2.4vw;
}

#page_header .page_sign .sub{
	font-size: 2.933333vw;
	letter-spacing: 0;
}

#page_header .page_sign .sub::after{
	content: '';
	width: 4vw;
	height: 1px;
	bottom: auto;
	top: 50%;
	left: auto;
	right: -6.666667vw;
}

#page_header .h1_area{
	margin-bottom: 8vw;
}

#page_header .h1_area h1{
	font-size: 3.864vw;
	margin-top: 7vw;
	letter-spacing: 0.96618vw;
}

#page_header.en .h1_area h1{
	font-size: 17vw;
}

#page_header .h1_area .sub_title{
	font-size: 17vw;
}

#page_header .h1_area .sub_title::after{
	bottom: -2.415vw;
	margin: 0 auto;
}

#page_header .page_header_image{
	margin-bottom: 12vw;
	width: auto;
	height: auto;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: flex-end;
	align-items: flex-start;
}

#page_header .page_header_image .img_cont{
	width: 92.533333vw;
	height: 94.666667vw;
	border-radius: 2.133333vw 0 0 2.133333vw;
}

#page_header .page_main_caption{
	width: auto;
	margin: 0 5.33%;
	padding-left: 2vw;
}

#page_header .page_main_caption p strong{
	font-size: 5.6vw;
	line-height: 1.83;
}

#page_header .page_main_caption p.sub{
	font-size: 3.6vw;
	line-height: 2.07;
	margin-top: 4.266667vw;
}



/********** アーカイブ系 **********/
#pager{
	margin-top: 20vw;
}

#pager span,
#pager a{
	width: 9.6vw;
	height: 9.6vw;
	line-height: 9.6vw;
	font-size: 3.6vw;
	margin: 0 2.4vw;
}

#pager a.prev,
#pager a.next {
	line-height: 1.3;
}



/********** 404 **********/
#page-404{
	padding-bottom: 19vw;
}

#page-404 .link{
	font-size: 4.5vw;
}

#page-404 .link a{
	display: block;
	margin-bottom: 4vw;
	padding: 0;
}

}