@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; overflow: hidden; }
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: transparent!important; 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) {
}



/* ----------------------------------------------------------------------------------------------------------------
ページ遷移アニメーション
---------------------------------------------------------------------------------------------------------------- */
.main { opacity: 1; transform-origin: center center; }
.pagechangeOut { transform-style: preserve-3d; perspective: 1000px; }
.pagechangeOut { filter: blur(20px) brightness(0.0); transition: filter 0.5s; }
/*.pagechangeIn { filter: blur(0px) brightness(1.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 .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: #061d2b url("../img/gnav/spmenu_bg_v2.jpg") center top no-repeat; background-size: 100%; height: 100%; position: absolute; top: 0; left: 0; width: 100%; z-index: 9900; }
.navSection.open { display: block; }

.nS__Gnav__wrap { position: relative; padding: calc(147/750*100%) 0 calc(50/750*100%); }
.nS__Gnav__wrap::after { }

.nS__logo { width: calc(504/750*100%); margin: 0 auto calc(70/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%); }
.nS__Gnav .gnavList .gL__btn:last-child { margin-bottom: 0; }
.nS__Gnav .gnavList .gL__btn .btn { display: block; position: relative; }
.nS__Gnav .gnavList .gL__btn .btn div { display: block; position: relative; border-color: #439bb5; border-style: solid; border-width: 0 calc(4/750*100vw); 
	background: url(../img/gnav/btn_bg_off_sp.png) center center no-repeat; background-size: cover; }
.nS__Gnav .gnavList .gL__btn .btn div::before, 
.nS__Gnav .gnavList .gL__btn .btn div::after { content: ""; display: block; width: 100%; height: 100%; position: absolute; top: 0; left: 0; }
.nS__Gnav .gnavList .gL__btn .btn div::before { 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 { border-color: rgba(13,44,67,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__TW { width: calc(280/750*100%); margin: calc(35/750*100%) auto 0; }

@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 { width: 100vw; height: 100vh; padding-bottom: calc(100/750*100vw); overflow-x: hidden; overflow-y: auto; 
	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: 14px; position: absolute; bottom: 0; left: 0; 
		background: url(../img/gnav/underline_v2.png) center bottom repeat-x; background-size: calc(1920/1360*100%); }
	
	.nS__logo { display: none; }
	
	.nS__Gnav { position: relative; }
	.nS__Gnav .gnavList { width: calc(1150/1360*100%); margin: 0 auto; padding-bottom: calc(20/1360*100%); position: relative; 
		display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-justify-content: center; justify-content: center; }
	.nS__Gnav .gnavList::before { content: ""; display: block; width: 100%; height: 0; padding-top: calc(64/1150*100vw); position: absolute; left: 0; bottom: 0; 
		background: url(../img/gnav/bg_v2_pc.png) bottom center no-repeat; background-size: 100%; }

	.nS__Gnav .gnavList .gL__btn { width: calc(166/1150*100%); margin: 0 calc(5/1150*100%); }
	.nS__Gnav .gnavList .gL__btn .btn div { border-width: 0 calc(4/1360*100vw); }
	.nS__Gnav .gnavList .gL__btn .btn div { background: url(../img/gnav/btn_bg_off_v2_pc.png) center center no-repeat; background-size: cover; }
	.nS__Gnav .gnavList .gL__btn .btn div::before { background: url(../img/gnav/btn_bg_on_v2_pc.png) bottom center no-repeat; background-size: cover; }
	.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); }
	.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); }
	.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/1150*100%); margin: 0; display: block; position: absolute; top: 0; right: calc(10/1150*100%); }
	.nS__Gnav .gnavList .gL__btnPT a img { display: block; 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); }
	
	.nS__Gnav .gnavList .gL__btn.gnb0 { display: none; }
	.nS__Gnav .gnavList .gL__btn.gnb1 { margin-left: calc(-40/1150*100%); }
	.nS__TW { display: none; }
}
@media screen and (min-width: 1361px) {
	.nS__Gnav__wrap::after { background-size: 1920px auto; }
	.nS__Gnav .gnavList { width: 1150px; padding-bottom: 20px;}
	.nS__Gnav .gnavList::before { padding-top: 64px; }
	.nS__Gnav .gnavList .gL__btn .btn div { border-width: 0 4px; }
	.nS__Gnav .gnavList .gL__btn .btn div::after { border-width: 2px 6px; }
}



/* --------------------------------------------------------
#allwrap
-------------------------------------------------------- */
#allwrap { padding-top: calc(100/750*100%); position: relative; }
#allwrapBG { display: block; width: 100%; height: 100%; position: fixed; top: 0; left: 0; 
	background: #66c4e6 url("../img/bg_sp.jpg") center top no-repeat; background-size: 100%; z-index: -1; }

@media screen and (min-width: 641px) {
	#allwrap { padding-top: calc(78/1360*100%); }
	#allwrapBG { background: #66c4e6 url("../img/bg_pc.jpg") center top no-repeat; background-size: calc(1920/1360*100%); }
}
@media screen and (min-width: 1361px) {
	#allwrap { padding-top: 78px; }
	#allwrapBG { background-size: 1920px; }
}
@media screen and (min-width: 1921px) {
	#allwrapBG { background-size: 100%; }
}




/* --------------------------------------------------------
.secBlock
-------------------------------------------------------- */
.secBlock { position: relative; width: 100%; margin: auto; }



/* --------------------------------------------------------
.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; }
}



/* --------------------------------------------------------
#secBgm
-------------------------------------------------------- */
.secBgmControllerWrap { width: calc(560/750*100%); position: absolute; bottom: 0; left: 50%; margin-left: calc(-280/750*100%); margin-bottom: calc(120/750*100%); z-index: 8998; 
	background: linear-gradient(to right,  rgba(0,0,0,0) 0%,rgba(0,0,0,0.5) 20%,rgba(0,0,0,0.5) 80%,rgba(0,0,0,0) 100%); }
.secBgmControllerWrap::before, 
.secBgmControllerWrap::after { content: ""; display: block; width: 100%; height: 1px; position: absolute; left: 0; 
	background: linear-gradient(to right,  rgba(38,108,136,0) 0%,rgba(38,108,136,0.5) 20%,rgba(38,108,136,0.5) 80%,rgba(38,108,136,0) 100%); }
.secBgmControllerWrap::before { top: 0; }
.secBgmControllerWrap::after { bottom: 0; }

.secBgmController { position: relative; }
.secBC__state { width: calc(350/560*100%); margin: 0 auto; padding-top: calc(80/560*100%); position: relative; 
	background: url("../img/bgm/btn_off_sp.png") center center no-repeat, url("../img/bgm/btn_on_sp.png") center bottom -100px no-repeat; background-size: 100%; }
.secBC__state.play { background-position: center bottom -100px, center center; }

@media screen and (min-width: 641px) {
	.secBgmControllerWrap { width: calc(112/1360*100%); margin-left: calc(563/1360*100%); margin-bottom: calc(17/1360*100%); z-index: 9901; background: none; }
	.secBgmControllerWrap::before, 
	.secBgmControllerWrap::after { display: none; }
	.secBgmControllerWrap { position: fixed; }
	.secBgmControllerWrap.absolute { position: absolute; }

	.secBgmController {}
	.secBC__state { width: 100%; padding-top: calc(39/112*100%); cursor: pointer;
		background: url("../img/bgm/btn_off_pc.png") center center no-repeat, url("../img/bgm/btn_on_pc.png") center bottom -100px no-repeat; background-size: 100%; }
	.secBC__state.play { background-position: center bottom -100px, center center; }
	
	.secBC__state { -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; }
	.secBC__state:hover { -webkit-transform: scale(1.15); transform: scale(1.15); }
}
@media screen and (min-width: 1361px) {
	.secBgmControllerWrap { width: 112px; margin-left: 563px; margin-bottom: 17px; }
}



/* --------------------------------------------------------
#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) top right no-repeat; background-size: auto 80%; background-position: left calc(100% - 10px) bottom;}
.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; background-size: calc(20/750*100vw); }
.modal_mfpImgGallery .mfp-arrow-right { background: url(../img/btn_next.png) center center no-repeat; background-size: calc(20/750*100vw); }
@media screen and (min-width: 641px) {
	.modal_mfpImgGallery .mfp-arrow { opacity: 0.5; width: 100px;}
	.modal_mfpImgGallery .mfp-arrow:hover { opacity: 1; }
	.modal_mfpImgGallery .mfp-arrow-left { background-size: calc(20/1360*100vw); }
	.modal_mfpImgGallery .mfp-arrow-right { background-size: calc(20/1360*100vw); }
}
@media screen and (min-width: 1361px) {
	.modal_mfpImgGallery .mfp-arrow-left { background-size: 20px; }
	.modal_mfpImgGallery .mfp-arrow-right { background-size: 20px; }
}

/* .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; }





