@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; background: #000; }
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 table, #contents table *, #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 *::before, #contents *::after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

#contents { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "Meiryo", "Helvetica Neue", Arial, sans-serif; }
#contents img { max-width: 100%; height: auto; }
#sqexHeader-black_rsp , #sqexFooter { z-index: 9000; position: relative; }




/* --------------------------------------------------------
#contents
-------------------------------------------------------- */
#contents::before ,
#contents::after { content: ""; display: block; clear: both; }
#contents { zoom:1; overflow: hidden; background: #000; color: #fff; position: relative;}
@media screen and (min-width: 641px) {
}
@media screen and (min-width: 1361px) {
}



/* --------------------------------------------------------
#nowloading
-------------------------------------------------------- */
#nowloading { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: #000; z-index: 9998; }
#nowloading_icon { position: absolute; top: 50%; left: 50%; width: 149px; height: 45px; margin-top: -22px; margin-left: -75px; text-align: center;  z-index: 9991; }
#nowloading_icon { border-radius: 50%; border: solid 1px #000; }
#nowloading_icon img { animation: nowloadingAnime 2s infinite alternate forwards running; width: 100%; }
@keyframes nowloadingAnime {
	from { transform: scale(1); }
	to { transform: scale(0.9); }
}
@media screen and (min-width: 641px) {
}



/* ----------------------------------------------------------------------------------------------------------------
ページ遷移アニメーション
---------------------------------------------------------------------------------------------------------------- */
/*.barba-container { transform-style: preserve-3d; perspective: 1000px; }*/
.main { opacity: 1; transform-origin: center center; }
.pagechangeOut { transform-style: preserve-3d; perspective: 1000px; }
.pagechangeOut { filter: blur(20px) brightness(2.0); transition: filter 0.5s; }
@media screen and (min-width: 641px) {
}



/* --------------------------------------------------------
#spmenu
-------------------------------------------------------- */
.btn_spmenu { display: block; cursor: pointer; position: absolute; top: 0; right: 0; background: rgba(24,66,90,1); width: calc(80/750*100%); z-index: 9901; transition: background .4s; }
.btn_spmenu { padding: calc(38/750*100%) calc(22/750*100%);}
.btn_spmenu.fixed { position: fixed;}
.btn_spmenu.tp.opa0 { background: rgba(24,66,90,0); }

.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; background-color: #439bb5;
	-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 { position: relative; margin: 0 auto; padding-top: calc(6/80*100%); }

.btn_spmenu .btn_spmenu_icon:after, 
.btn_spmenu .btn_spmenu_icon:before { position: absolute; top: 0; left: 0; content: ''; height: 100%;}
.btn_spmenu .btn_spmenu_icon:before { margin-top: calc(-12/36*100%);}
.btn_spmenu .btn_spmenu_icon:after { margin-top: calc(12/36*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(135deg);}
.btn_spmenu.active .btn_spmenu_icon:after { -webkit-transform: rotate(-45deg); transform: rotate(-135deg);}

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



/* ----------------------------------------------------------------------------------------------------------------
.navSection
---------------------------------------------------------------------------------------------------------------- */
.navSection { background: rgba(0,0,0,0.9); height: 100%; position: absolute; top: 0; left: 0; width: 100%; z-index: 9900; }
.navSection.open { display: block;}

.nS__Gnav__wrap { position: relative; padding: calc(60/750*100%) 0 calc(50/750*100%);}
.nS__Gnav__wrap::after { }

.nS__logo { width: calc(475/750*100%); margin: 0 auto calc(80/750*100%);}

.nS__Gnav {}
.nS__Gnav .gnavList { width: 100%; margin: 0 auto ; }
.nS__Gnav .gnavList .gL__btn { width: calc(620/750*100%); margin: 0 auto calc(20/750*100%); background: rgba(255,255,255,0.4); }
.nS__Gnav .gnavList .gL__btn:last-child { margin-bottom: 0; }
.nS__Gnav .gnavList .gL__btn .btn { display: block; position: relative; border-color: #439bb5; border-style: solid; border-width: 0 calc(4/750*100vw); }
.nS__Gnav .gnavList .gL__btn .btn div { position: relative; background: url(../img/gnav/btn_bg_off_sp.png) center center no-repeat; background-size: cover; }
.nS__Gnav .gnavList .gL__btn .btn div::before { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; 
	background: url(../img/gnav/btn_bg_on_sp.png) bottom center no-repeat; background-size: cover; opacity: 0;}
.nS__Gnav .gnavList .gL__btn .btn div::after { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; 
	border-color: rgba(13,44,57,1.0); border-style: solid; border-width: calc(2/750*100vw) calc(6/750*100vw); }
.nS__Gnav .gnavList .gL__btn .btn div img { position: relative; }

.nS__Gnav .gnavList .gL__btn.current .btn div::before { opacity: 1;}

.nS__Gnav .gnavList .gL__btnPT { display: none; }

.nS__bnrList { display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-justify-content: space-between; justify-content: space-between; 
	width: calc(620/750*100%); margin: calc(40/750*100%) auto 0; }
.nS__bnrList .nS__bL__item { width: calc(300/620*100%);}
.nS__bnrList .nS__bL__item a { display: block; position: relative; width: 100%; border-right: calc(4/750*100vw) solid #439bb5; border-left: calc(4/750*100vw) solid #439bb5; background: #1f5462; padding: 1px calc(3/750*100vw);}
.nS__bnrList .nS__bL__item a img { vertical-align: top; }

@media screen and (max-width: 640px) {
.navSection.fixed { position: fixed; }
.navSection { visibility: hidden; opacity: 0; transition: all .3s cubic-bezier(0.25, 0.1, 0.25, 1.0);}
.navSection.open { visibility: visible; opacity: 1;}
.navSection .nS__Gnav__wrap { opacity: 0; transition: all .3s cubic-bezier(0.25, 0.1, 0.25, 1.0); transform-origin: top center; transform: translateY(-0%) scale(0.85); }
.navSection.open .nS__Gnav__wrap { opacity: 1; transform: translateY(0%) scale(1);}
}
@media screen and (min-width: 641px) {
	.navSection { position: fixed; top: inherit; bottom: 0; height: auto; display: block; background: none;}
	.navSection.absolute { position: absolute; }

	.nS__Gnav__wrap { padding: 0; }
	.nS__Gnav__wrap::after { content: ""; display: block; width: 100%; height: 0; padding-top: 4px; background: #0d2c43 url(../img/gnav/line_b.png) center center no-repeat; background-size: auto 100%; }

	.nS__logo { display: none;}
	.nS__bnrList { display: none;}
	
	.nS__Gnav { position: relative; }
	.nS__Gnav::before { content: ""; display: block; width: 100%; height: 0; padding-top: 10px; position: absolute; left: 0; bottom: 0; background: url(../img/gnav/line_t.png) center center repeat-x;  }

	.nS__Gnav .gnavList { display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-justify-content: center; justify-content: center; 
		width: calc(1260/1360*100%); margin: 0 auto; padding-bottom: calc(16/1360*100%); position: relative; }
	.nS__Gnav .gnavList::before { content: ""; display: block; width: 100%; height: 0; padding-top: calc(60/1260*100%); position: absolute; left: 0; bottom: 0; 
		background: url(../img/gnav/bg_pc.png) bottom center no-repeat; background-size: 100%;}

	.nS__Gnav .gnavList .gL__btn { width: calc(200/1260*100%); margin: 0 calc(10/1260*100%); }
	.nS__Gnav .gnavList .gL__btn .btn {  border-width: 0 calc(4/1360*100vw); }
	.nS__Gnav .gnavList .gL__btn .btn div { background: url(../img/gnav/btn_bg_off_pc.png) center center no-repeat; background-size: 100%; }
	.nS__Gnav .gnavList .gL__btn .btn div::before { background: url(../img/gnav/btn_bg_on_pc.png) bottom center no-repeat; background-size: 100%; }
	.nS__Gnav .gnavList .gL__btn .btn div::after { border-color: rgba(2,33,58,0.5); border-width: calc(2/1360*100vw) calc(6/1360*100vw); }
	
	.nS__Gnav .gnavList .gL__btn .btn { -webkit-transition: .2s ease-in-out; transition: .2s ease-in-out; -webkit-backface-visibility: hidden; 
		-webkit-transform: scale(1.0); transform: scale(1.0);
		box-shadow: 0px 0px 10px 10px rgba(67,155,181,0); -webkit-box-shadow: 0px 0px 10px 10px rgba(67,155,181,0);}
	.nS__Gnav .gnavList .gL__btn .btn:hover { -webkit-transform: scale(1.05); transform: scale(1.05); box-shadow: 0px 0px 6px 3px rgba(67,155,181,0.8); -webkit-box-shadow: 0px 0px 6px 3px rgba(67,155,181,0.8);}
	.nS__Gnav .gnavList .gL__btn .btn div::before { -webkit-transform: scale(1,0); transform: scale(1,0); -webkit-transition: .15s ease-in-out; transition: .15s ease-in-out; -webkit-backface-visibility: hidden; }
	.nS__Gnav .gnavList .gL__btn.current .btn div::before ,
	.nS__Gnav .gnavList .gL__btn .btn:hover div::before { opacity: 1; -webkit-transform: scale(1); transform: scale(1);}

	.nS__Gnav .gnavList .gL__btnPT { width: calc(66/1260*100%); margin: 0; display: block; position: absolute; top: 0; right: calc(19/1260*100%);}
	.nS__Gnav .gnavList .gL__btnPT a img { display: block; transform-origin: center bottom; -webkit-transform-origin: center bottom; transition: all 0.1s ease 0s; -webkit-transition: all 0.1s ease 0s; 
		-webkit-transform: scale(1.0); transform: scale(1.0);}
	.nS__Gnav .gnavList .gL__btnPT a:hover img { -webkit-transform: translateY(-5px); transform: translateY(-5px);}

}
@media screen and (min-width: 1361px) {
	.nS__Gnav .gnavList { width: 1260px; padding-bottom: 16px;}
	.nS__Gnav .gnavList::before { padding-top: 60px; background-size: 1260px; }
	.nS__Gnav .gnavList .gL__btn .btn {  border-width: 0 4px; }
	.nS__Gnav .gnavList .gL__btn .btn div::after { border-width: 2px 6px; }

}



/* --------------------------------------------------------
#allwrap
-------------------------------------------------------- */
#allwrap { position: relative; }
@media screen and (min-width: 641px) {
	#allwrap { max-width: 1920px; margin: 0 auto; }
	#allwrap { max-width: 1920px; box-shadow:0px 0px 100px 0px #001c24;}
}



/* --------------------------------------------------------
.secConts
-------------------------------------------------------- */
.secConts { position: relative; }



/* --------------------------------------------------------
.secInner
-------------------------------------------------------- */
.secInner { position: relative; }
@media screen and (min-width: 641px) {
	.secInner { width: calc(1260/1360*100%); margin: auto; }
}
@media screen and (min-width: 1361px) {
	.secInner { width: 1260px; }
}



/* --------------------------------------------------------
#pageTop
-------------------------------------------------------- */
#pageTop { width: 100%; position: absolute; left: 0; bottom: 0; }
#pageTop a { display: block; width: 100%; height: 0; padding-top: calc(74/750*100%); background: url(../img/btn_pagetop_sp.png) center bottom no-repeat; background-size: 100%; position: relative; }
#pageTop a span { display: block; text-indent: 100%; white-space: nowrap; overflow: hidden; }
@media screen and (min-width: 641px) {
	#pageTop { display: none; }
}



/* --------------------------------------------------------
.btn_ov
-------------------------------------------------------- */
@media screen and (min-width: 641px) {
	.btn_ov a { -webkit-transform: scale(1.0); transform: scale(1.0); -webkit-transition: .1s ease-in-out; transition: .1s ease-in-out; -webkit-backface-visibility: hidden; display: block; }
	.btn_ov a:hover { -webkit-transform: scale(1.05); transform: scale(1.05); }
}





/* ----------------------------------------------------------------------------------------------------------------
magnific
---------------------------------------------------------------------------------------------------------------- */
.modal_mfpYt.mfp-bg ,
.modal_mfpImg.mfp-bg ,
.modal_mfpIframe.mfp-bg ,
.modal_mfpImgGallery.mfp-bg ,
.modal_mfpInline.mfp-bg { z-index: 9998; opacity: 0.9;}
.modal_mfpYt.mfp-wrap ,
.modal_mfpImg.mfp-wrap ,
.modal_mfpIframe.mfp-wrap ,
.modal_mfpImgGallery.mfp-wrap ,
.modal_mfpInline.mfp-wrap { z-index: 9999;}
.modal_mfpYt .mfp-iframe-holder .mfp-content { max-width: 1080px; }
.modal_mfpImg .mfp-iframe-holder .mfp-content ,
.modal_mfpImgGallery .mfp-iframe-holder .mfp-content { max-width: 1280px; }
.modal_mfpIframe .mfp-iframe-holder .mfp-content { max-width: 1280px; }

.modal_mfpYt .mfp-iframe-holder .mfp-close ,
.modal_mfpImg .mfp-image-holder .mfp-close ,
.modal_mfpIframe .mfp-iframe-holder .mfp-close ,
.modal_mfpImgGallery .mfp-image-holder .mfp-close ,
.modal_mfpInline .mfp-inline-holder .mfp-close { position: fixed; top: 0; right: 0; background: url(../img/btn_close.png?200826) top right no-repeat; background-size: auto 100%; background-position: calc(100% - 10px) 0px;}
.modal_mfpImg img,
.modal_mfpIframe img,
.modal_mfpImgGallery img {
-webkit-touch-callout:none;
-webkit-user-select:none;
-moz-touch-callout:none;
-moz-user-select:none;
touch-callout:none;
user-select:none;
}

/* .modal_mfpImgGallery ---------------------------------------------------------------------------------------------------------------- */
.modal_mfpImgGallery .mfp-arrow { opacity: 0.5; width: 20%; height: 80%; top:10%; margin-top: 0;}
.modal_mfpImgGallery .mfp-arrow:active { margin-top: 0; }
.modal_mfpImgGallery .mfp-arrow:before,
.modal_mfpImgGallery .mfp-arrow:after { display: none; }
.modal_mfpImgGallery .mfp-arrow-left { background: url(../img/btn_prev.png) center center no-repeat; }
.modal_mfpImgGallery .mfp-arrow-right { background: url(../img/btn_next.png) center center no-repeat; }
@media screen and (min-width: 641px) {
	.modal_mfpImgGallery .mfp-arrow { opacity: 0.5; width: 100px;}
	.modal_mfpImgGallery .mfp-arrow:hover { opacity: 1; }
}

/* .modal_mfpIframe ---------------------------------------------------------------------------------------------------------------- */
.modal_mfpIframe .mfp-container { padding: 30px 0;}
.modal_mfpIframe .mfp-iframe-scaler { padding-top: calc(640/640*100%);}
.modal_mfpIframe .mfp-iframe-scaler .mfp-iframe { background: transparent!important; box-shadow: none;}
@media screen and (min-width: 641px) {
	.modal_mfpIframe .mfp-iframe-scaler { padding-top: calc(500/1060*100%);}
}
@media screen and (min-width: 1361px) {
	.modal_mfpIframe .mfp-iframe-scaler { padding-top: 500px;}
}

/* .modal_mfpInline ---------------------------------------------------------------------------------------------------------------- */
.modal_mfpInline .mfp-container { font-family: "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }
.modal_mfpInline .mfp-container img { max-width: 100%; height: auto;}
.modal_mfpInline .mfp-container { padding: 0;}
.modal_mfpInline .mfp-inline-holder .mfp-close { width: 100%; }
.modal_mfpInline .mfp-arrow { opacity: 0.5; width: 20%; height: 80%; top:10%; margin-top: 0;}
.modal_mfpInline .mfp-arrow:active { margin-top: 0; }
.modal_mfpInline .mfp-arrow:before,
.modal_mfpInline .mfp-arrow:after { display: none; }
.modal_mfpInline .mfp-arrow-left { background: url(../img/btn_prev.png) 20% center no-repeat; }
.modal_mfpInline .mfp-arrow-right { background: url(../img/btn_next.png) 80% center no-repeat; }
@media screen and (min-width: 641px) {
	.modal_mfpInline .mfp-arrow { opacity: 0.5; width: 100px;}
}
@media screen and (min-width: 1361px) {
}




/* --------------------------------------------------------
汎用クラス
-------------------------------------------------------- */
.nosp { display: none; }
@media screen and (min-width: 641px) {
	.nosp { display: inline-block; }
	.nopc { display: none; }
}

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





