@charset "utf-8";
/* ==================================================================
CSS information
style info :RESET
================================================================== */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
	margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;
}
body { line-height:1; }
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section { display:block; }
nav ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after,q:before, q:after { content:''; content:none; }
a { margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; }
ins { background-color:#ff9; color:#000; text-decoration:none; }
mark { background-color:#ff9; color:#000;  font-style:italic; font-weight:bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom:1px dotted; cursor:help; }
table { border-collapse:collapse; border-spacing:0; }
hr { display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0; }
input, select { vertical-align:middle; }

h1 , h2 , h3 , h4 { line-height:1; }
ul { list-style:none; }
p { line-height:1; }
img { vertical-align:bottom; border:none; }
table { font-size:inherit; font:100%;}




/* ==================================================================
CSS information
style info :共通
================================================================== */
html,body { -webkit-text-size-adjust: none; }
html { font-size: 62.5%; }
body { font-size: 14px; font-size: 1.4rem; }
div, h1, h2, h3, h4, h5, p { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#contents ul, #contents li, #contents ol, #contents dl, #contents dt, #contents dd, #contents a, #contents span { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
#contents header, #contents section, #contents aside, #contents article { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }


#contents img { max-width: 100%; height: auto; display: block;}
@media screen and (max-width: 640px) {
}
#sqexHeader-black_rsp , #sqexFooter { z-index: 991; position: relative;}




/* --------------------------------------------------------
#contents
-------------------------------------------------------- */
#contents:after { content: ""; display: block; clear: both;}
#contents { zoom:1; overflow: hidden; background: #000; color: #fff; position: relative;}
#contents { font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif; }
@media screen and (min-width: 1367px) {
}
#allWrap { position: relative; }

/* --------------------------------------------------------
nowloading
-------------------------------------------------------- */
#nowloading { position: fixed; width: 100%; height: 150%; top: 0px; left: 0px; background: #161616; z-index: 9990; }
#nowloading_icon { position: absolute; top: 50%; left: 50%; width: 100px; height: 100px; margin-top: -50px; margin-left: -50px; text-align: center;  z-index: 9991; }
#nowloading_icon { border-radius: 50%; border: solid 1px #161616; }
#nowloading_icon img { animation: nowloadingAnime 2s infinite linear both; width: 65%; }
@keyframes nowloadingAnime {
	from { transform: rotateY(0deg); }
	to { transform: rotateY(360deg); }
}
@media screen and (min-width: 641px) {
}



/* --------------------------------------------------------
.sec_Header
-------------------------------------------------------- */
.sec_Header { position: absolute; top: 0; left: 0; width: 100%; z-index: 9900;}
.sec_Header.fixed { position: fixed; }

.sec_Header_logo_wrap { background: url(../img/bg_dot.png); border-bottom: 3px solid rgba(244,55,57,0.6); padding: calc(62/750*100%) 0;}
.sec_Header_logo { width: calc(500/750*100%); margin: 0 auto;}

.sec_Header_gNav_wrap { background: url(../img/bg_dot.png); display: block; position: relative; padding-bottom: calc(13/750*100%); border-bottom: 3px solid rgba(244,55,57,0.6);}
.sec_Header_gNav_wrap .gNav_wrap { border-top: 1px dotted rgba(244,55,57,0.6);}
.gNav_wrap .gNav {}
.gNav .gNav_btn { border-bottom: 1px dotted rgba(244,55,57,0.6); position: relative;}
.gNav .gNav_btn a { display: block;}
.gNav .gNav_btn span { position: absolute; overflow: hidden; width: 1px; height: 1px; margin: -1px; clip: rect(0, 0, 0, 0);}
.gNav .gNav_btn *::before, 
.gNav .gNav_btn *::after { content: ''; display: block; position: absolute;
	-webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

.gNav .gNav_btn a { position: relative; z-index: 0; }
.gNav .gNav_btn.current a { z-index: 0; }
.gNav .gNav_btn a div { position: relative; width: 100%; padding-top: calc(73/750*100%); z-index: 2;}

.gNav .gNav_btn.gnb0 a div { background: url(../img/gnav/gNav_btn00.png) center center no-repeat; background-size: calc(350/750*100%);}
.gNav .gNav_btn.gnb0.current a div { background: url(../img/gnav/gNav_btn00_on.png) center center no-repeat; background-size: calc(350/750*100%);}
.gNav .gNav_btn.gnb1 a div { background: url(../img/gnav/gNav_btn01.png) center center no-repeat; background-size: calc(350/750*100%);}
.gNav .gNav_btn.gnb1.current a div { background: url(../img/gnav/gNav_btn01_on.png) center center no-repeat; background-size: calc(350/750*100%);}
.gNav .gNav_btn.gnb2 a div { background: url(../img/gnav/gNav_btn02.png) center center no-repeat; background-size: calc(350/750*100%);}
.gNav .gNav_btn.gnb2.current a div { background: url(../img/gnav/gNav_btn02_on.png) center center no-repeat; background-size: calc(350/750*100%);}
.gNav .gNav_btn.gnb3 a div { background: url(../img/gnav/gNav_btn03.png) center center no-repeat; background-size: calc(350/750*100%);}
.gNav .gNav_btn.gnb3.current a div { background: url(../img/gnav/gNav_btn03_on.png) center center no-repeat; background-size: calc(350/750*100%);}
.gNav .gNav_btn.gnb4 a div { background: url(../img/gnav/gNav_btn04.png) center center no-repeat; background-size: calc(350/750*100%);}
.gNav .gNav_btn.gnb4.current a div { background: url(../img/gnav/gNav_btn04_on.png) center center no-repeat; background-size: calc(350/750*100%);}


@media screen and (max-width: 640px) {
	/* NAVI OPEN Function */
.sec_Header { transform-style: preserve-3d; perspective: 500px; transform:translateZ(1px);}
.sec_Header_gNav_wrap { opacity: 0; max-height: 0; visibility: hidden; transform-origin: top center; transform: translateY(10%) scale(0.95) rotateX(-15deg); transition: all .3s; }
.sec_Header_gNav_wrap.gNav_open { opacity: 1; max-height: none; visibility: visible; transform: translateY(0%) scale(1) rotateX(0deg); z-index: 8000; }
}
@media screen and (max-width: 640px) {
.gNav .gNav_btn.current a::before { top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; background: #f43739;}
.gNav .gNav_btn.current a div::before ,
.gNav .gNav_btn.current a div::after { content: ''; display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0;
	border-top: 6px solid #fff; border-bottom: 6px solid #fff; width: 6px; height: 100%; }
.gNav .gNav_btn.current a div::before { }
.gNav .gNav_btn.current a div::after { left: calc(100% - 6px);}
}
@media screen and (min-width: 641px) {
	.sec_Header { }
	.sec_Header.fixed { }

	.sec_Header_logo_wrap { border-bottom: 4px solid rgba(0,0,0,0.6); padding: calc(17/1366*100%) 0 calc(13/1366*100%);}
	.sec_Header_logo { width: calc(350/1366*100%); margin: 0 auto;}

	.sec_Header_gNav_wrap { display: block; padding-bottom: 0; border-bottom: 3px solid rgba(244,55,57,0.6);}
	.sec_Header_gNav_wrap .gNav_wrap { margin-bottom: -3px; }
	.gNav_wrap .gNav { max-width: 605px; width: calc(605/1366*100%); margin: 0 auto; border-left: 1px dotted rgba(244,55,57,0.6); }
	.gNav_wrap .gNav { display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-justify-content: center; justify-content: center; }
	.gNav .gNav_btn { border-bottom: none; border-right: 1px dotted rgba(244,55,57,0.6); max-width: 121px; width: calc(121/605*100%); }
	
	.gNav .gNav_btn a { transition: all .5s; z-index: 0; }
	.gNav .gNav_btn a div { padding-top: calc(52/120*100%); z-index: 1; position: relative;}

	.gNav .gNav_btn.gnb0 a div , .gNav .gNav_btn.gnb1 a div , .gNav .gNav_btn.gnb2 a div , .gNav .gNav_btn.gnb3 a div , .gNav .gNav_btn.gnb4 a div ,
	.gNav .gNav_btn.gnb0.current a div , .gNav .gNav_btn.gnb1.current a div , .gNav .gNav_btn.gnb2.current a div , .gNav .gNav_btn.gnb3.current a div , .gNav .gNav_btn.gnb4.current a div ,
	.gNav .gNav_btn.gnb0 a:hover div , .gNav .gNav_btn.gnb1 a:hover div , .gNav .gNav_btn.gnb2 a:hover div , .gNav .gNav_btn.gnb3 a:hover div , .gNav .gNav_btn.gnb4 a:hover div { 
		background-size: calc(174/120*100%);}

	.gNav .gNav_btn.current a { z-index: 0; }
	.gNav .gNav_btn a { overflow: hidden;}
	.gNav .gNav_btn a:hover { z-index: 888; overflow: visible; }

	.gNav .gNav_btn.current a::before,
	.gNav .gNav_btn a::before { top: -40%; right: -20%; bottom: -20%; left: -20%; width: 140%; height: 160%; z-index: 0; opacity: 0; background: #000; 
		transition: all .3s; }

	.gNav .gNav_btn.current a::before,
	.gNav .gNav_btn a:hover::before { top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; opacity: 1; background: #f43739;}

	.gNav .gNav_btn a div { overflow: hidden;}
	
	.gNav .gNav_btn.current a div::before,
	.gNav .gNav_btn a div::before ,
	.gNav .gNav_btn.current a div::after,
	.gNav .gNav_btn a div::after { top: 0; right: 50%; bottom: 0; left: 0%; z-index: 0; border-top: 3px solid #fff; border-bottom: 3px solid #fff; background: #fff; width: 100%; height: 100%; opacity: 0;
		transition: all 300ms ease 200ms; }
	
	.gNav .gNav_btn.current a div::before,
	.gNav .gNav_btn a:hover div::before ,
	.gNav .gNav_btn.current a div::after,
	.gNav .gNav_btn a:hover div::after { top: 0; right: 0; bottom: 0; left: 0; background-color: transparent; width: 3px; opacity: 1; }
	.gNav .gNav_btn.current a div::after,
	.gNav .gNav_btn a:hover div::after { left: calc(100% - 3px); }

}
@media screen and (min-width: 1367px) {
	.sec_Header_logo_wrap { padding: 17px 0 13px;}
	.sec_Header_logo { width: 350px;}
}



/* --------------------------------------------------------
#spmenu
-------------------------------------------------------- */
.btn_spmenu { display: block; cursor: pointer; position: absolute; top: 0; right: 0; margin-top: calc(30/750*100%); background: #303030; width: calc(90/750*100%); z-index: 9001;}
.btn_spmenu { border-top: 2px solid #404040; border-bottom: 2px solid #404040;}
.btn_spmenu::before ,
.btn_spmenu::after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; 
	content: ""; display: block; width: 100%; height: 1px; background: #000; border-left: 10px solid #626262; border-right: 10px solid #626262;}
.btn_spmenu::before { margin: 1px auto 2px; }
.btn_spmenu::after { margin: 2px auto 1px; }

.btn_spmenu .btn_spmenu_inner { display: block; position: relative; background: #202020; padding: calc(35/90*100%) calc(20/90*100%);}
.btn_spmenu .btn_spmenu_icon { position: relative; margin: 0 auto; }
.btn_spmenu .btn_spmenu_icon, 
.btn_spmenu .btn_spmenu_icon::after, 
.btn_spmenu .btn_spmenu_icon::before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; 
	display: block; width: 100%; height: auto; padding-top: calc(8/50*100%); background-color: #a0a0a0;
	-webkit-transition: all .3s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: all .3s cubic-bezier(0.190, 1.000, 0.220, 1.000);
}
.btn_spmenu .btn_spmenu_icon:after, 
.btn_spmenu .btn_spmenu_icon:before { position: absolute; top: 0; left: 0; content: '';}
.btn_spmenu .btn_spmenu_icon:before { margin-top: calc(-18/50*100%);}
.btn_spmenu .btn_spmenu_icon:after { margin-top: calc(18/50*100%);}

.btn_spmenu.active .btn_spmenu_icon { background-color: transparent;}
.btn_spmenu.active .btn_spmenu_icon:after, 
.btn_spmenu.active .btn_spmenu_icon:before { margin-top: 0; }
.btn_spmenu.active .btn_spmenu_icon:before { -webkit-transform: rotate(45deg); transform: rotate(45deg);}
.btn_spmenu.active .btn_spmenu_icon:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

@media screen and (min-width: 641px) {
	.btn_spmenu { display: none; }
}



/* ----------------------------------------------------------------------------------------------------------------
ページ遷移アニメーション
---------------------------------------------------------------------------------------------------------------- */
.barba-container { transform-style: preserve-3d; perspective: 1000px; }
.main { opacity: 1; transform-origin: top center; transition: all .3s; }
.main.pageout { opacity: 0; transform: translateY(-100px) scale(0.95) rotateX(-10deg);}
@media screen and (min-width: 641px) {
	.main.pageout { transform: translateY(-100px) scale(0.95) rotateX(-10deg);}
}



/* ----------------------------------------------------------------------------------------------------------------
#colorbox
---------------------------------------------------------------------------------------------------------------- */
#colorbox, #cboxWrapper {
	transform: translateZ(2px)!important;
}
#cboxOverlay {}
#colorbox.forMV , .forMV #cboxWrapper ,
#colorbox.forIMG , .forIMG #cboxWrapper ,
#colorbox.forIframe , .forIframe #cboxWrapper { overflow: visible!important; }
.forMV #cboxContent ,
.forIMG #cboxContent ,
.forIframe #cboxContent { background: none; }
#cboxOverlay { background: #000!important; }
#cboxLoadingOverlay{ background: #000!important; display: none!important;}
#cboxLoadingGraphic{ /*background:url(images/loading.gif) no-repeat center center;*/ display: none!important;}
.forMV #cboxLoadedContent ,
.forIMG #cboxLoadedContent ,
.forIframe #cboxLoadedContent { background: none; padding: 0; background-color: #000;}
.forMV #cboxLoadedContent ,
.forIMG #cboxLoadedContent ,
.forIframe #cboxLoadedContent { -webkit-box-sizing: border-box!important; -moz-box-sizing: border-box!important; -ms-box-sizing: border-box!important; box-sizing: border-box!important;}
.forMV #cboxClose ,
.forIMG #cboxClose ,
.forIframe #cboxClose { width: 35px; height: 35px; background: url(../img/btn_close.png) center center no-repeat; background-size: cover; top: -45px; right: 0px;}
.forIframe #cboxClose { right: 5px;}
.forMV #cboxClose:hover ,
.forIMG #cboxClose:hover ,
.forIframe #cboxClose:hover { background-position: center center;}
@media screen and (min-width: 641px) {
	.forMV #cboxLoadedContent ,
	.forIMG #cboxLoadedContent { border: 0px solid #1f5dfa; }
	.forMV #cboxClose ,
	.forIMG #cboxClose { width: 35px; height: 35px; top: -45px; right: 0px; opacity: 0.7;}
}

/* #colorbox.forMV
---------------------------------------------------------------------------------------------------------------- */
.forMV .cboxIframe { background: none; }
.forMV .cboxIframe { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
.forIframe #cboxLoadedContent { background: transparent; }
.forIframe #cboxContent { margin-top: 50px; }
#colorbox.forIframe , .forIframe #cboxWrapper , .forIframe #cboxContent , .forIframe #cboxLoadedContent { width: 100%!important;}
@media screen and (min-width: 641px) {
}

/* #colorbox.forIMG
---------------------------------------------------------------------------------------------------------------- */
.forIMG #cboxLoadedContent { height: auto!important;}
.forIMG #cboxLoadedContent .cboxPhoto { width: 100%!important; height: auto!important;}
@media screen and (min-width: 641px) {
}

/* #colorbox.forIframe
---------------------------------------------------------------------------------------------------------------- */
.forIframe .cboxIframe { background: none; }
.forIframe .cboxIframe { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }



/* --------------------------------------------------------
汎用クラス
-------------------------------------------------------- */
@media screen and (max-width: 640px) {
.sp { display: block; }
.pc { display: none; }
}
.sp { display: none; }

/*clearfix
----------------------------------------------------*/
.clearfix:after { content: ""; display: block; clear: both; }
.clearfix { zoom:1; }
.cr { clear:both; }

/*pagetop
----------------------------------------------------*/
#pageTop { width: 100%; text-align: center; padding: calc(0/750*100%) 0 0; position: absolute; bottom: 0; left: 0; }
#pageTop a { display: block; width: 100%; height: auto; padding-top: calc(50/750*100%); margin: 0 auto; position: relative; background: url(../img/btn_pagetop_sp.png) center center no-repeat; background-size: contain;}
#pageTop a span { position: absolute; overflow: hidden; width: 1px; height: 1px; margin: -1px; clip: rect(0, 0, 0, 0);}
@media screen and (min-width: 641px) {
	#pageTop { display: none; }
}



