@charset "utf-8";
body,div,dl,dt,dd,ul,ol,li,p,h1,h2,h3,h4,h5,h6,th,td,pre,code,blockquote,form,fieldset,legend,input,textarea,figcaption,figure{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}sup{vertical-align:text-top}sub{vertical-align:text-bottom}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit}input,textarea,select{*font-size:100%}legend{color:#FFF}hr{display:none}img{vertical-align:bottom}select,input,button,textarea{font-size:99%}table{font-size:inherit;font:100%;border-collapse:collapse;border-spacing:0}pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%}.hd{display:block;width:0;height:0;overflow:hidden}.cf:before,.cf:after{content:"";display:table}.cf:after{clear:both}.cf{*zoom:1}article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section,main{display:block}*{margin:0;padding:0;box-sizing:border-box;max-height:999999px;outline:none;}*:focus{outline: none;}button{background-color:transparent;border:none;cursor:pointer;outline:none;padding:0;}
/*-----------------------------------------------
 * 01. Template
 * 00. Modal
-------------------------------------------------*/
/*-----------------------------------------------
 * 01. Template
-------------------------------------------------*/
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}
body{
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
	color: #000;
	/*font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;*/
	font-family: 'Roboto Condensed', 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt";
	font-size: 14px;
	font-weight: normal;
	letter-spacing: 0.07em;
	line-height: 1.8;
	word-wrap: break-word;
}
.rb{
	font-family: 'Roboto Condensed', sans-serif;
}
.pc{ display: block; }
.sp{ display: none; }
a{ color: #222; }
a:hover{ text-decoration: none; }
.ah { transition: opacity .3s ease; }
.ah:hover { opacity: .7; }
::selection{
	background: #ffec18;
	color: #303030;
}
::-moz-selection{
	background: #ffec18;
	color:#303030;
}
::-webkit-scrollbar {
	width: 6px;
	height: 6px;
}
::-webkit-scrollbar-track {
  border-radius: 2px;
  background: #fff;
}
::-webkit-scrollbar-thumb {
	background: #f0005a;
	border-radius: 2px;
	margin: 2px;
	box-shadow: none;
}
#fullWrap{
	width: 100%;
	min-width: 1200px;
}
@media screen and (max-width:768px){
	html{
		font-size: 62.5%;
	}
	body{
		font-size: 10px; 
		font-size: 1rem;
		min-width: 320px;
	}
	.sp{ display: block; }
	.pc{ display: none; }
	.ah:hover { opacity: 1; }
	#fullWrap{
		min-width: 100%;
	}
}
/*-----------------------------------------------
 * 00. Modal
-------------------------------------------------*/
.modalBox{
	-webkit-overflow-scrolling: touch;
	/*background: rgba(0,0,0,.75);*/
	background-color: #fff;
	display: none;
	width: 100%;
	height: 100%;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
}
.oneModal{
	display: none;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.oneModalIn{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
	height: auto;
	width: 100%;
	min-width: 1200px;
	min-height: 100%;
	margin: 0 auto;
	position: relative;
}
.oneModalIn__cont{
	padding: 50px 0;
}
@media screen and (max-width:768px){
	.oneModalIn{
		min-width: 100%;
	}
	.oneModalIn__cont{
		width: 100%;
		padding: 30px 0;
	}
}
/* closeBtn */
.closeBtn{
	width: 100%;
	height: 100%;
	min-width: 1200px;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.closeBtn a{
	display: block;
	width: 80px;
	height: 110px;
	pointer-events: auto;
	position: absolute;
	top: 0;
	right: 0;
}
.closeBtn .modalClose{
	position: absolute;
	top: 0;
	right: 0;
	width: 80px;
	height: 80px;
	background-color: #000;
	transition: .3s ease-in-out;
}
.closeBtn .modalClose:after{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background:url(../img/common/modal_close.svg) no-repeat center center / contain;
	transition: .3s ease-in-out;
}
.closeBtn .closeTxt{
	position: absolute;
	width: 100%;
	text-align: center;
	bottom: 0;
	right: 0;
	left: 0;
	font-size: 16px;
	font-family: 'Roboto Condensed', sans-serif;
	font-style: italic;
	font-weight: 700;
	line-height: 1;
	transition: .3s ease-in-out;
}
.closeBtn a:hover .modalClose{
	background-color: #ffec18;
}
.closeBtn a:hover .modalClose:after{
	filter: invert(1);
}
@media screen and (max-width:768px){
	.closeBtn{
		min-width: 100%;
	}
	.closeBtn a{
		width: 12.8%;
		height: auto;
		padding-top: 18.6667%;
		margin-top: 3.2%;
		right: 3.2%;
	}
	.closeBtn .modalClose{
		width: 100%;
		height: auto;
		padding-top: 100%;
	}
	.closeBtn .closeTxt{
		font-size: 3.2vw;
	}
}
/* common */
.commonIframe{
	width: 100%;
	height: 100%;
	display: block;
}
/* youtube */
.youtubeIframeWrap{
	width: 920px;
	height: 520px;
}
@media screen and (max-width:768px){
	.youtubeIframeWrap{
		width: 100%;
		height: auto;
		padding-top: 56.25%;
		position: relative;
	}
	.youtubeIframe{
		position: absolute;
		top: 0;
		left: 0;
	}
}


/*-----------------------------------------------
 * 01. Header
-------------------------------------------------*/
.header_h1 a{
	display: block;
	width: 294px;
	padding-top: 150px;
	background: url(../img/common/nav_logo.png) no-repeat center center / contain;
	margin: 0px 0 20px;
	transition: .25s ease-in-out;
}
.header_h1 a:hover{
	transform: scale(1.025);
}
.header{
	position: absolute;
	min-height: 640px;
	z-index: 10;
/*	display: flex;
	align-items: center;*/
}
.headerIn{
	position: sticky;
	/*top: 50%;
	transform: translateY(-50%);*/
	top: 0;
}
.headerIn.js-hmin{
	top: 0;
	transform: translateY(0);
	padding-top: 40px;
}
.headerNav{
	font-family: 'Roboto Condensed', sans-serif;
	position: relative;
}
@media screen and (min-width: 768px){
	.headerIn{
		height: 100vh;
		padding-top: 40px;
	}
	.headerNav{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.headerNav.js-hmin{
		position: relative;
		top: 0;
		transform: translateY(0);
	}
}

.navTitleWrap{
	position: absolute;
	min-height: 640px;
	z-index: 100;
	mix-blend-mode: difference;
}
.navTitleInWrap{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.navTitle{
	writing-mode: vertical-rl;
	transform: translateY(-50%) rotate(180deg);
	position: absolute;
	top:50%;
	left: 32px;
	color: #f0005a;
}
@media screen and (min-width: 768px){
	.sub .navTitle{
		top: 50%;
	}
}

.navTitle span{
	font-size: 14px;
	font-weight: bold;
	font-style: italic;
	line-height: 1;
	letter-spacing: 0.025em;
}
.headerNavList{
	padding: 8px 0;
}
.headerNav_link{
	font-size: 20px;
	text-shadow: 0px 0px 2px #000, 1px 0px 2px #000, 1px 0px 2px #000, -1px 0px 2px #000, -1px 0px 2px #000, 0px 1px 2px #000, 1px 1px 2px #000, 1px 1px 2px #000, -1px 1px 2px #000, -1px 1px 2px #000, 0px 1px 2px #000, 1px 1px 2px #000, 1px 1px 2px #000, -1px 1px 2px #000, -1px 1px 2px #000, 0px 1px 2px #000, 1px 1px 2px #000, 1px 1px 2px #000, -1px 1px 2px #000, -1px 1px 2px #000, 0px -1px 2px #000, 1px -1px 2px #000, 1px -1px 2px #000, -1px -1px 2px #000, -1px -1px 2px #000, 0px -1px 2px #000, 1px -1px 2px #000, 1px -1px 2px #000, -1px -1px 2px #000, -1px -1px 2px #000, 0px -1px 2px #000, 1px -1px 2px #000, 1px -1px 2px #000, -1px -1px 2px #000, -1px -1px 2px #000;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
	font-style: italic;
	line-height: 24px;
	letter-spacing: 0;
	padding: 0px 0 0px 80px;
	transition: background-size .3s ease, margin-left .3s ease;
	background: linear-gradient(#000, #000) right center/0 100% no-repeat;
}
.headerNav_link span{
	display: inline-block;
	position: relative;
	transition: all .3s ease;
}

.headerNav_link.is-active,
.headerNav_link:hover{
	background-position: left bottom;
	background-size: 100% 100%;
	margin-left: -0.5em;
}
.headerNav_link.is-active span,.headerNav_link:hover span{
	padding-right: 40px;
}
.headerNav_link.is-active span{
	color: #ffec18;
}
.headerNav_link span:after{
	content: '';
	opacity: 0;
	right: 16px;
	transition: opacity .2s, right .275s;
}
.headerNav_link:hover span:after{
	opacity: 1;
	content: '';
	position: absolute;
	width: 24px;
	height: 8px;
	transition-delay: .15s;
	bottom: 4px;
	right: 8px;
	background: url(../img/common/menu_arrow_hv.svg) no-repeat center center / contain;
}
.headerNav_link.is-active span:after{
	content: '';
	position: absolute;
	width: 24px;
	height: 8px;
	background: url(../img/common/menu_arrow.svg) no-repeat center center / contain;
	bottom: 4px;
	right: 8px;
	opacity: 1;
}

.icon_blank span{
	padding-right: 40px;
}
.icon_blank span:after{
	content: '';
	position: absolute;
	width: 16px;
	height: 12px;
	background: url(../img/common/menu_icon_blank.svg) no-repeat center center / contain;
	bottom: 4px;
	right: 16px;
	opacity: 1;
	transition: background .15s;
}
.icon_blank:hover span:after{
	background: url(../img/common/menu_icon_blank_hv.svg) no-repeat center center / contain;
	width: 16px;
	height: 12px;
	bottom: 4px;
	right: 16px;
	opacity: 1;
}

.header_twLink{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 40px;
	height: 40px;
}
.header_twLink a{
	display: block;
	width: 100%;
	height: 100%;
	position: relative;
	background-color: #000;
	transition: .3s ease-in-out;
}
.header_twLink a:after{
	content: '';
	position: absolute;
	width: 20px;
	height: 18px;
	top: calc(50% - 9px);
	left: calc(50% - 10px);
	background: url(../img/common/sns_tw.svg) no-repeat center / contain;
	transition: .3s ease-in-out;
}
.header_twLink a:hover{
	background-color: #ffec18;
}
.header_twLink a:hover::after{
	filter: invert(1);
}

@media screen and (max-width: 768px){
	.header{
		width: 100%;
		min-height: auto;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
	}
	.sp_menu{
		position: fixed;
		max-width: 96px;
		width: 12.8%;
		padding-top: 12.8%;
		background-color: #f0005a;
		top: 0;
		margin-top: 3.2%;
		right: 3.2%;
		z-index: 1000;
	}
	.sp_menu.active{
		background-color: #000;
	}
	.menuTxt{
		position: absolute;
		right: 0;
		left: 0;
		bottom: 25%;
		color: #fff;
		font-size: 2.667vw;
		line-height: 1;
		font-weight: 700;
		letter-spacing: 0;
		font-style: italic;
		text-align: center;
	}
	.sp_menu.active .menuTxt{
		color: #ffec18;
	}
	.headerIn{
		width: 100%;
	}
	.menuLine01,.menuLine02{
		width: 50%;
		padding-top: 4.16667%;
		position: absolute;
		left: 25%;
		background-color: #fff;
		transition: .25s ease;
	}
	.menuLine01{
		top: 25%;
	}
	.menuLine02{
		top: 37.5%;
	}
	.sp_menu.active .menuLine01{
		transform: rotate(15deg);
		top: 29.1665%;
		background-color: #ffec18;
	}
	.sp_menu.active .menuLine02{
		transform: rotate(-15deg);
		top: 29.1665%;
		background-color: #ffec18;
	}
	.headerIn{
		-webkit-overflow-scrolling: touch;
		width: 100%;
		height: 100%;
		overflow: auto;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 1;
		opacity: 0;
		pointer-events: none;
		transform: translateY(0);
		transition: all .3s ease-in-out;
	}
	.headerIn.is-active {
		opacity: 1;
		pointer-events: auto;
	}
	.headerNavWrap{
		background-color: #fff;
		width: 100%;
		min-height: 100%;
		position: relative;
		overflow: hidden;
	}
	.header_h1 a{
		display: block;
		width: 96.8%;
		padding-top: 20.2667%;
		background: url(../img/common/nav_logo_sp.png) no-repeat center left / contain;
		margin: 6.4% 0;
		position: relative;
		z-index: 2;
	}
	.navTitleWrap_sp{
		mix-blend-mode: difference;
		color: #fff;
		position: absolute;
		width: calc(25.6% - 0.5em);
		z-index: 2;
	}
	.navTitle{
		left: calc(50% - 0.6rem);
		font-size: 1.2rem;
		line-height: 1;
		/*margin-top: 17.06667%;*/
		color: #fff;
	}
	.headerNav_link{
		font-size: 2rem;
		padding: 5px 0 5px 25.6%;
		line-height: 1;
	}
	.headerNav_link:hover span:after{
		bottom: 0;
	}
}


/*-----------------------------------------------
 * 02. Footer
-------------------------------------------------*/
.footer{
	width: 100%;
	position: relative;
	/*padding: 160px 0 80px;*/
	padding-top: 41.25%;
	overflow: hidden;
	background: #fff;
}
.bnrLists{
	width: 100%;
	display: flex;
	padding: 80px 5.667% 0;
	justify-content: center;
	position: absolute;
	z-index: 2;
	bottom: 176px;
	z-index: 2;
}
.bnrList{
	width: 266px;
	padding: 0 12px;
}
.bnrList a{
	width: 100%;
	display: block;
}
.bnrList img{
	width: 100%;
}

.footerBG{
	width: 100%;
	background: url(../img/common/bg_footer.svg) no-repeat 0 0 / contain;
	padding-top: 41.25%;
	position: absolute;
	top: 0;
	mix-blend-mode: difference;
	z-index: 1;
}

.toTop{
	position: absolute;
	width: 60px;
	height: 80px;
	/*margin-top: 6.667%;*/
	margin-top: 80px;
	top: 0;
	right: 2.334%;
	z-index: 2;
}
.toTop a{
	position: relative;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	text-decoration: none;
}
.toTop a span{
	font-size: 14px;
	line-height: 1;
	font-weight: 700;
	font-style: italic;
	writing-mode: vertical-lr;
}
.toTop a:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 8px;
	height: 80px;
	background: url(../img/common/arrow_toTop.svg) no-repeat 0 0 / contain;
	transition: .3s ease;
}
.toTop a:hover::before{
	top: -8px;
}
.ft_copyright{
	width: 100%;
	font-size: 14px;
	color: #fff;
	position: absolute;
	bottom: 80px;
	z-index: 2;
	text-align: center;
}

@media screen and (max-width: 768px){
	.footer{
		padding-top: 98.1334%;
		overflow: unset;
	}
	.bnrLists{
		width: 100%;
		padding: 0 4.8%;
		flex-wrap: wrap;
		bottom: 0;
		margin-bottom: 27.2%;
	}
	.bnrList{
		width: 50%;
		padding: 1.76992%;
	}
	.footerBG{
		padding-top: 94%;
		background: url(../img/common/bg_footer_sp.svg) no-repeat bottom / contain;
		top: unset;
		bottom: 0;
	}
	.toTop{
		width: 10.6667%;
		height: auto;
		padding-top: 25.6%;
		margin-top: 0;
		right: 4.26667%;
	}
	.toTop a{
		position: absolute;
		top: 0;
		right: 0;
		left: 0;
		bottom: 0;
	}
	.toTop a span{
		font-size: 3.2vw;
		line-height: 2;
	}
	.toTop a:before{
		width: 20%;
		height: auto;
		bottom: 0;
		background: url(../img/common/arrow_toTop_sp.svg) no-repeat 0 0 / contain;
	}
	.ft_copyright{
		font-size: 1rem;
		bottom: 0;
		margin-bottom: 12.8%;
	}
	.header_twLink{
		position: absolute;
		width: 48px;
		height: 48px;
		bottom: 152px;
		z-index: 3;
	}
	.header_twLink a:after{
		width: 24px;
		height: 21.6px;
		top: calc(50% - 12px);
		left: calc(50% - 10.8px);
	}
}



/*-----------------------------------------------
 * 03. Common LINE
-------------------------------------------------*/
.lineWrap{
	position: fixed;
	width: 100%;
	min-width: 1200px;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 1;
}
.line_top_left{
	min-width: 160px;
	width: 13.334%;
	padding-top: 56.667%;
	background: url(../img/common/line_top_left.svg) no-repeat 0 0 / contain;
	position: absolute;
	top: 0;
	left: 0;
}
.line_top_right{
	min-width: 640px;
	width: 53.3334%;
	padding-top: 40%;
	background: url(../img/common/line_top_right.svg) no-repeat top right / contain;
	position: absolute;
	top: 0;
	right: 0;
}
.line_bottom_left{
	min-width: 680px;
	width: 56.667%;
	padding-top: 42.8334%;
	background: url(../img/common/line_bottom_left.svg) no-repeat 0 0 / contain;
	position: absolute;
	bottom: 0;
	left: 0;
}

/*@media screen and (min-width: 1200px){
	.line_top_left{
		width: 160px;
		padding-top: 680px;
	}
	.line_top_right{
		width: 640px;
		padding-top: 480px;
	}
	.line_bottom_left{
		width: 680px;
		padding-top: 514px;
	}
}*/


@media screen and (min-width: 1500px){
	.line_top_left{
		width: 200px;
		padding-top: 850px;
	}
	.line_top_right{
		width: 800px;
		padding-top: 600px;
	}
	.line_bottom_left{
		width: 850px;
		padding-top: 642.5px;
	}
}

@media screen and (max-width: 768px){
	.lineWrap{
		min-width: 100%;
	}
	.line_top_left{
		display: none;
	}
	.line_top_right{
		max-width: 640px;
		min-width: auto;
		width: 85.3334%;
		padding-top: 64%;
		background: url(../img/common/line_top_right_sp.svg) no-repeat top right / contain;
	}
	.line_bottom_left{
		max-width: 640px;
		min-width: auto;
		width: 85.3334%;
		padding-top: 80%;
		background: url(../img/common/line_bottom_left_sp.svg) no-repeat bottom left / contain;
	}
}


/*-----------------------------------------------
 * 04. Common Share
-------------------------------------------------*/
/* sub SHARE */
.subShareWrap{
	width: 100%;
	position: relative;
	z-index: 2;
	padding: 20px 2.667% 0 0;
}
.subShareWrap .shareListsInWrap{
	justify-content: flex-end;
}

.shareListsInWrap{
	display: flex;
	align-items: center;
}
.shareLists_ttl{
	order: 2;
	font-weight: 700;
	font-style: italic;
	letter-spacing: 0.025em;
	writing-mode: vertical-lr;
	line-height: 1;
}
.shareLists{
	display: block;
	margin-right: 24px;
}
.shareLists__item{
	padding: 12px 0;
}
.shareLists__links{
	display: block;
	width: 24px;
	padding-top: 24px;
}
.shareLists__links.tw{
	background: url(../img/common/sns_tw_b.svg) no-repeat center center;
	background-size: 20px 20px;
}
.shareLists__links.fb{
	background: url(../img/common/sns_fb_b.svg) no-repeat center center;
	background-size: 20px 20px;
}
.shareLists__links.line{
	background: url(../img/common/sns_line_b.svg) no-repeat center center;
	background-size: 20px 20px;
}

@media screen and (max-width: 768px){
	.subShareWrap{
		display: none;
	}
	.shareListsInWrap{
		width: 100%;
		padding: 120px 9.6% 48px;
		justify-content: flex-end;
		position: relative;
		z-index: 2;
	}
	.shareLists_ttl{
		font-size: 1.2rem;
	}
	.shareLists{
		display: flex;
		justify-content: flex-end;
	}
	.shareLists__item{
		padding: 0 12px;
	}
	.shareLists__links{
		width: 24px;
		height: 24px;
	}
	.shareLists__links.tw,
	.shareLists__links.fb,
	.shareLists__links.line{
		background-size: contain;
	}
}

/*-----------------------------------------------
 * 05. Common Contents Parts
-------------------------------------------------*/
.contentWrap{
	width: 100%;
	position: relative;
}
.cont_h2{
	position: relative;
	width: 100%;
	text-align: right;
	overflow: hidden;
	z-index: 3;
}
.cont_h2_eng{
	font-size: 152px;
	font-weight: 700;
	text-shadow: 0px 0px 2px #000, 1px 0px 2px #000, 1px 0px 2px #000, -1px 0px 2px #000, -1px 0px 2px #000, 0px 1px 2px #000, 1px 1px 2px #000, 1px 1px 2px #000, -1px 1px 2px #000, -1px 1px 2px #000, 0px 1px 2px #000, 1px 1px 2px #000, 1px 1px 2px #000, -1px 1px 2px #000, -1px 1px 2px #000, 0px 1px 2px #000, 1px 1px 2px #000, 1px 1px 2px #000, -1px 1px 2px #000, -1px 1px 2px #000, 0px -1px 2px #000, 1px -1px 2px #000, 1px -1px 2px #000, -1px -1px 2px #000, -1px -1px 2px #000, 0px -1px 2px #000, 1px -1px 2px #000, 1px -1px 2px #000, -1px -1px 2px #000, -1px -1px 2px #000, 0px -1px 2px #000, 1px -1px 2px #000, 1px -1px 2px #000, -1px -1px 2px #000, -1px -1px 2px #000;
	color: #fff;
	display: block;
	letter-spacing: 0;
	line-height: 1;
	font-family: 'Roboto Condensed', sans-serif;
}
.cont_h2_ja{
	font-size: 20px;
	font-weight: 700;
	color: #ffec18;
	text-shadow: 0px 0px 2px #000, 1px 0px 2px #000, 1px 0px 2px #000, -1px 0px 2px #000, -1px 0px 2px #000, 0px 1px 2px #000, 1px 1px 2px #000, 1px 1px 2px #000, -1px 1px 2px #000, -1px 1px 2px #000, 0px 1px 2px #000, 1px 1px 2px #000, 1px 1px 2px #000, -1px 1px 2px #000, -1px 1px 2px #000, 0px 1px 2px #000, 1px 1px 2px #000, 1px 1px 2px #000, -1px 1px 2px #000, -1px 1px 2px #000, 0px -1px 2px #000, 1px -1px 2px #000, 1px -1px 2px #000, -1px -1px 2px #000, -1px -1px 2px #000, 0px -1px 2px #000, 1px -1px 2px #000, 1px -1px 2px #000, -1px -1px 2px #000, -1px -1px 2px #000, 0px -1px 2px #000, 1px -1px 2px #000, 1px -1px 2px #000, -1px -1px 2px #000, -1px -1px 2px #000;
	padding-top: 14px;
	display: block;
	width: 100%;
	padding-right: 6.667%;
	position: relative;
}
.cont_h2_ja:after{
	content: '';
	position: absolute;
	top: calc(50% - 2px + 7px);
	right: 0;
	width: 6.6667%;
	height: 4px;
	background-color: #000;
}
.cont_h2_ja span{
	display: inline-block;
	padding-right: 16px;
}
.contIn{
	width: 100%;
	padding: 76px 3.3334% 0 21.667%;
	position: relative;
	z-index: 3;
}
@media screen and (min-width: 768px){
	#fullWrap.sub .contIn{
		min-height: 100vh;
	}
}
@media screen and (min-width: 768px) and (max-height: 640px){
	#fullWrap.sub .contIn{
		min-height: 640px;
	}
}
.contBG{
	width: 100%;
	/*padding-top: 54.1667%;*/
	padding-top: 650px;
	background-color: #c32551;
	mix-blend-mode: multiply;
	transform: skewY(-15deg);
	position: absolute;
	z-index: 2;
	top: 208px; /* cont_h2の高さ */
}

@media screen and (max-width: 768px){
	.sp_ttl_logo a{
		width: 96.8%;
		padding-top: 20.2667%;
		background: url(../img/common/nav_logo_sp.png) no-repeat center left / contain;
		margin: 6.4% 0 2.1334%;
		position: relative;
		z-index: 2;
		display: block;
	}
	.subTop{
		padding-top: 0;
	}
	.cont_h2_eng{
		font-size: 15.4667vw;
	}
	.cont_h2_ja{
		font-size: 3.73334vw;
		padding-top: 0;
		margin-top: 4.2667%;
		padding-right: 12.8%;
	}
	.cont_h2_ja:after{
		width: 12.8%;
		top: calc(50% - 2px);
	}
	.cont_h2_ja span{
		padding-right: 3.6698%;
	}
	.contIn{
		padding: 12.8% 6.4% 0;
	}
	.contBG{
		top: 0;
		padding-top: unset;
		bottom: 0;
		margin-bottom: 10%;
	}
}

.circleWrap{
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}
.circle_txt{
	width: 122%;
	padding-top: 121.8334%;
	position: absolute;
	/*top: 50%;*/
	top: 40%;
	left: -11%;
	transform: rotate(0deg);
	background: url(../img/common/bg_circleTxt.svg) no-repeat center center / contain;
	animation: rotation_r 90s linear infinite;
	z-index: 1;
}

/*@media screen and (min-width: 1200px){
	.circle_txt{
		width: 1464px;
		padding-top: 1462px;
		left: calc(50% - 732px);
	}
}*/


@media screen and (min-width: 1500px){
	.circle_txt{
		width: 1830px;
		padding-top: 1827.5px;
		left: calc(50% - 915px);
	}
}

.circle_icon{
	position: absolute;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	transform: rotate(0deg);
	transform-origin: bottom center;
	opacity: 0.16;
	animation: rotation_r 150s linear infinite;
}
.circle_icon div{
	position: absolute;
	width: 400vw;
	height: 400vh;
	top: calc(50% - 200vh);
	left: calc(50% - 200vw);
	background: url(../img/common/bg_icon.png) repeat 0 0;
}

@keyframes rotation_r{
	0%  { transform: rotate(0); }
	100%{ transform: rotate(-360deg); }
}

@media screen and (max-width: 768px){
	.circle_txt{
		width: 195.2%;
		padding-top: 194.9334%;
		left: -47.6%;
	}
}


/* COMMON LOADING */
.js-ldWrap{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 20000;
}

.js-ld_line_tWrap{
	position: absolute;
	bottom: 49%;
	width: 100%;
	height: 100%;
	transform: skewY(-15deg);
	transition: .8s ease-in-out;
	overflow: hidden;
}
.js-ld_line_t{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 0;
	height: 5%;
	background-color: #c32551;
	transition: .4s cubic-bezier(0.97, 0.27, 0.25, 1);
}

.js-ld_line_bWrap{
	position: absolute;
	top: 50%;
	width: 100%;
	height: 100%;
	transform: skewY(-15deg);
	transition: .8s ease-in-out;
	overflow: hidden;
}
.js-ld_line_b{
	position: absolute;
	top: 0;
	left: 0;
	width: 0%;
	height: 5%;
	background-color: #f0005a;
	transition: .4s cubic-bezier(0.97, 0.27, 0.25, 1);
}

.ldbg{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #fff;
	z-index: -1;
}

.ldbgtxt{
	position: absolute;
	top: calc(50% - 80px);
	left: calc(50% - 80px);
	width: 160px;
	height: 160px;
	border-radius: 50%;
	animation: rotation_r 30s linear infinite;
	transition: .2s ease;
}
.ldbgtxt span{
	display: block;
	width: 100%;
	height: 100%;
	background: url(../img/common/bg_loadTxt.svg) no-repeat center center / contain;
}

/* js-lb_line Anime */
.js-ldWrap.a0 .ldbgtxt span{
	animation: ldbgtxt_ani 0.6s linear ;
	animation-fill-mode:forwards;
}
@media screen and (max-width: 768px){
	.js-ldWrap.a0 .ldbgtxt span{
		animation: ldbgtxt_ani_sp 0.6s linear ;
		animation-fill-mode:forwards;
	}
}

@keyframes ldbgtxt_ani{
	0%{
		transform: scale(1);
	}
	20%{
		transform: scale(1);
	}
	30%{
		transform: scale(0.8);
	}
	60%{
		transform: scale(0.6);
	}
	80%{
		opacity: 1;
	}
	100%{
		transform: scale(20);
		opacity: 0;
	}
}

@keyframes ldbgtxt_ani_sp{
	0%{
		transform: scale(1);
	}
	20%{
		transform: scale(1);
	}
	30%{
		transform: scale(0.8);
	}
	60%{
		transform: scale(0.6);
	}
	70%{
		opacity: 1;
	}
	100%{
		transform: scale(10);
		opacity: 0;
	}
}


.js-ldWrap.a1 .js-ld_line_t{
	width: 100%;
}
.js-ldWrap.a1 .js-ld_line_b{
	width: 100%;
}

.js-ldWrap.a2 .ldbgtxt{
	opacity: 0;
}
.js-ldWrap.a2 .js-ld_line_t{
	height: 100%;
	transition: 0.4s cubic-bezier(0.52, 0.6, 0.57, 1);
}
.js-ldWrap.a2 .js-ld_line_b{
	height: 100%;
	transition: 0.4s cubic-bezier(0.52, 0.6, 0.57, 1);
}
.js-ldWrap.a2 .ldbg{
	transition-delay: 0.4s;
	opacity: 0;
}

.js-ldWrap.a3 .js-ld_line_t{
	bottom: 100%;
	transition: 0.4s cubic-bezier(0.52, 0.6, 0.57, 1);
}
.js-ldWrap.a3 .js-ld_line_b{
	top: 100%;
	transition: 0.4s cubic-bezier(0.52, 0.6, 0.57, 1);
}

/* tab */
.com_TabLists{
	display: flex;
	justify-content: center;
	margin-bottom: 56px;
	flex-wrap: wrap;
}
.com_TabList{
	padding: 0 20px;
}
.tabbtn{
	width: 240px;
	padding: 25px 0;
	text-align: center;
	color: #fff;
	line-height: 1;
	font-weight: 700;
	font-size: 20px;
	border-radius: 32px;
	background-color: #000;
	letter-spacing: 0;
	transition: .25s ease;
}
.tabbtn:hover{
	background-color: #C32551;
}
.tabbtn.tab-active{
	background-color: #f0005a;
}
.tabDetail{
	display: none;
}
.tabDetail.is-active{
	display: block;
}
@media screen and (max-width: 767px){
	.com_TabLists{
		margin-bottom: 36px;
		width: calc(100% + 12px);
		margin-left: -6px;
	}
	.com_TabList{
		width: calc(100% / 3 + 6px);
		padding: 0 6px;
	}
	.tabbtn{
		width: 100%;
		padding: 20px 0;
		font-size: 1.4rem;
	}
}