@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 *::before, #contents *::after { -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; vertical-align:top; font-size:0; line-height:0; }
#contents { font-family: "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; }

#sqexHeader-white_rsp , #sqexFooter { z-index: 9000; position: relative;}




/* --------------------------------------------------------
#contents
-------------------------------------------------------- */
#contents::before ,
#contents::after { content: ""; display: block; clear: both; }
#contents { zoom:1; overflow: hidden; color: #000;}
#contents { background: #43181b url(../img/bg_sp.jpg) top center no-repeat; background-size: 100%; position: relative;}
#contents::before { width: 100%; height: auto; padding-top: calc(300/640*100%); position: absolute; top: 0; left: 0;}

@media screen and (min-width: 641px) {
	#contents { background: #43181b url(../img/bg_pc.jpg) top center no-repeat; background-size: calc(1920/1400*100%); position: relative;}
	#contents::before { display: none;}
}
@media screen and (min-width: 1401px) {
	#contents { background-size: 1920px; }
}
@media screen and (min-width: 1921px) {
	#contents { background-size: 100%; }
}


/* --------------------------------------------------------
#nowloading
-------------------------------------------------------- */
#nowloading { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: #000; z-index: 9990; }
#loadingicon { position: absolute; top: 50%; left: 50%; width: 180px; height: 74px; margin: -37px 0 0 -90px; text-align: center; }




/* --------------------------------------------------------
#allWrap
-------------------------------------------------------- */
#allWrap { position: relative; }


/* --------------------------------------------------------
.siteheader
-------------------------------------------------------- */
.siteheader { position: absolute; top: 0; left: 0; width: 100%; z-index: 9900; padding-top: calc(100/640*100%);
background: -webkit-linear-gradient(top, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);
background: linear-gradient(to bottom, rgba(0,0,0,0.5) 0%,rgba(0,0,0,0) 100%);
}
.siteheader::before { content: ''; display: block; width: calc(197/640*100%); height: auto; padding-top: calc(158/640*100%); position: absolute; top: 0; right: 0; 
	background: url(../img/spbtn_bg.png) top right no-repeat; background-size: contain;}
.siteheader.fixed { position: fixed; }

.siteheader .sh__siteLogo { width: calc(173/640*100%); position: absolute; top: 0; margin-top: calc(15/640*100%); left: calc(10/640*100%); cursor: pointer; z-index: 9991;}
.siteheader .sh__siteLogo img { -webkit-backface-visibility: hidden; backface-visibility: hidden;}

.siteheader .sh__spbtn { position: absolute; top: 0; margin-top: calc(15/640*100%); right: calc(15/640*100%); width: calc(64/640*100%); cursor: pointer; z-index: 9992;}
.siteheader .sh__spbtn img { position: relative;}

.siteheader .gnavArea { visibility: hidden; opacity: 0; position: absolute; top: 0; left: 0; width: 100%; z-index: 9990; background: rgba(0,0,0,0.7); }
.siteheader .gnavArea { -webkit-transition: .1s ease-in-out; transition: .1s ease-in-out; transform-origin: top; animation: spmenuoutAnime .1s ease-out forwards; }
.siteheader .gnavArea.open { visibility: visible; animation: spmenuAnime .15s ease-out both;}
@keyframes spmenuAnime {
	0% { opacity: 0; transform: scale(1.1);}
	100% { opacity: 1; transform: scale(1.0);}
}
@keyframes spmenuoutAnime {
	0% { opacity: 1; transform: scale(1.0);}
	100% { opacity: 0; transform: scale(1.1);}
}
.siteheader .gnavArea::after { content: ''; display: block; width: 100%; height: 0; padding-top: calc(200/640*100%); position: absolute; left: 0; bottom: 0; margin-bottom: calc(-200/640*100%); 
background: -webkit-linear-gradient(top, rgba(0,0,0,0.7) 0%,rgba(0,0,0,0) 100%);
background: linear-gradient(to bottom, rgba(0,0,0,0.7) 0%,rgba(0,0,0,0) 100%);
}

.siteheader .gnavArea .gA__gnav { width: 100%; padding-top: calc(130/640*100%); padding-bottom: calc(60/640*100%); 
	display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-justify-content: center; justify-content: spacecenter; }
.siteheader .gnavArea .gA__gnav .gA__gn__item { cursor: pointer; width: calc(275/640*100%); margin: 0 calc(15/640*100%) calc(30/640*100%); }
.siteheader .gnavArea .gA__gnav .gA__gn__item .gnbtn { display: block; width: 100%; height: auto; text-align: center; position: relative; 
	background: url(../img/gnav_btn_off_sp.png?190612_2) bottom center no-repeat; background-size: contain;}

.siteheader .gnavArea .gA__gnav .gA__gn__item .gnbtn:hover:not(.active) ,
.siteheader .gnavArea .gA__gnav .gA__gn__item .gnbtn.active { background: url(../img/gnav_btn_on_sp.png?190612_2) bottom center no-repeat; background-size: contain;}

.siteheader .gnavArea .gA__gnav .gA__gn__item .gnbtn:not(.active) { -webkit-transition: .1s ease-in-out; transition: .1s ease-in-out; transform-origin: center; animation: gnhoveroutAnime .1s ease-out forwards; }
.siteheader .gnavArea .gA__gnav .gA__gn__item:hover .gnbtn:not(.active) { animation: gnhoverAnime .15s ease-out both;}
@keyframes gnhoverAnime {
	0% { transform: scale(1.0);}
	100% { transform: scale(1.05);}
}
@keyframes gnhoveroutAnime {
	0% { transform: scale(1.05);}
	100% { transform: scale(1.0);}
}


@media screen and (min-width: 641px) {
	.siteheader { padding-top: 0; background: none; }
	.siteheader::before { width: calc(197/1400*100%); padding-top: calc(198/1400*100%); }

	.siteheader .sh__siteLogo { width: calc(239/1920*100%); margin-top: calc(20/1920*100%); left: calc(35/1920*100%); }
	
	.siteheader .sh__spbtn { margin-top: calc(15/1920*100%); right: calc(15/1920*100%); max-width: 64px; width: calc(64/1920*100%); }
	.siteheader .sh__spbtn { transition: all 100ms ease-in-out; transform-origin: center; }
	.siteheader .sh__spbtn:hover { -webkit-transform: scale(1.15); transform: scale(1.15);}

	.siteheader .gnavArea { background: rgba(0,0,0,0.8); }
	.siteheader .gnavArea { -webkit-transition: .1s ease-in-out; transition: .1s ease-in-out; transform-origin: top; animation: pcmenuoutAnime .1s ease-out forwards; }
	.siteheader .gnavArea.open { animation: pcmenuAnime .15s ease-out both;}

	.siteheader .gnavArea::after { padding-top: calc(120/1920*100%); margin-bottom: calc(-120/1920*100%); 
		background: -webkit-linear-gradient(top, rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 100%);
		background: linear-gradient(to bottom, rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 100%);
		}

	.siteheader .gnavArea .gA__gnav { padding-top: calc(1/1920*100%); padding-bottom: 0; position: relative; z-index: 9993; margin-bottom: calc(-20/1920*100%);
		display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-justify-content: center; justify-content: center; }
	.siteheader .gnavArea .gA__gnav .gA__gn__item { max-width: 170px; width: calc(170/1920*100%); margin: calc(20/1920*100%) calc(5/1920*100%) 0; }
	.siteheader .gnavArea .gA__gnav .gA__gn__item .gnbtn { background: url(../img/gnav_btn_off_pc.png?190612_2) bottom center no-repeat; background-size: contain;}
	.siteheader .gnavArea .gA__gnav .gA__gn__item.btn1 { margin-left: calc(150/1920*100%); }

	.siteheader .gnavArea .gA__gnav .gA__gn__item .gnbtn:hover:not(.active) ,
	.siteheader .gnavArea .gA__gnav .gA__gn__item .gnbtn.active { background: url(../img/gnav_btn_on_pc.png?190612_2) bottom center no-repeat; background-size: contain;}

	.siteheader .gnavArea .gA__gnav .gA__gn__item .gnbtn:not(.active) { transform-origin: top; }
	
}
@media screen and (min-width: 1921px) {
	.siteheader::before { width: 197px; padding-top: 198px; }
	.siteheader .sh__siteLogo { width: 239px; margin-top: 20px; left: 35px; }
	.siteheader .sh__spbtn { margin-top: 20px; right: 20px; }
	
	.siteheader .gnavArea::after { padding-top: 120px; margin-bottom: -120px; }
	.siteheader .gnavArea .gA__gnav { padding-top: 1px; margin-bottom: -20px; }
	.siteheader .gnavArea .gA__gnav .gA__gn__item { width: 170px; margin: 20px 8px 0; }
}
	@keyframes pcmenuAnime {
		0% { opacity: 0; transform: translate(0,-120px);}
		100% { opacity: 1; transform: translate(0,0px);}
	}
	@keyframes pcmenuoutAnime {
		100% { opacity: 1; transform: translate(0,-120px);}
		0% { opacity: 0; transform: translate(0,0px);}
	}




/* ----------------------------------------------------------------------------------------------------------------
.contents__section
---------------------------------------------------------------------------------------------------------------- */
.contents__section { position: relative; padding-top: calc(97/640*100%); padding-bottom: calc(50/640*100%); }
@media screen and (min-width: 641px) {
	.contents__section { padding-top: calc(44/1920*100%); padding-bottom: calc(100/1920*100%); }
}
@media screen and (min-width: 1921px) {
	.contents__section { padding-top: 44px; padding-bottom: 100px; }
}

/* ----------------------------------------------------------------------------------------------------------------
.ttlsection
---------------------------------------------------------------------------------------------------------------- */
.ttlsection { position: relative; }
.ttlsection .tS__line { width: 100%; height: auto; padding-top: calc(42/640*100%); position: absolute; top: 0; margin-top: calc(123/640*100%); left: 0; background: url(../img/line_bg.png); }
.ttlsection .tS__line::before ,
.ttlsection .tS__line::after { content: ""; width: 100%; height: 3px; background: #ad7720; border-top: 1px solid #82020c; border-bottom: 1px solid #82020c; position: absolute; top: 0; left: 0;}
.ttlsection .tS__line::after { top: auto; bottom: 0;}
.ttlsection .tS__ttl { width: calc(640/640*100%); margin: 0 auto; position: relative; opacity: 1;}

@media screen and (min-width: 641px) {
	.ttlsection .tS__line { padding-top: calc(37/1400*100%); margin-top: calc(111/1400*100%); }
	.ttlsection .tS__ttl { max-width: auto; width: auto; }
}
@media screen and (min-width: 1401px) {
	.ttlsection .tS__line { padding-top: 37px; margin-top: 111px; }
}


/* ----------------------------------------------------------------------------------------------------------------
.frame
---------------------------------------------------------------------------------------------------------------- */
.frame { display: block; width: 100%; position: relative; padding: 1px; border: 1px solid #361702; background: #e6bd3f;}
.frame .frameinner { display: block; width: 100%; position: relative; padding: 1px; border: 1px solid #361702; background: #ab6d0a;}
.frame .thumb { display: block; border: 1px solid #361702; }
.frame .thumb { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

@media screen and (min-width: 641px) {
}


/* --------------------------------------------------------
.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_mfpImgGallery.mfp-bg { z-index: 9998;}
.modal_mfpYt.mfp-wrap ,
.modal_mfpImg.mfp-wrap ,
.modal_mfpImgGallery.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_mfpYt .mfp-iframe-holder .mfp-close ,
.modal_mfpImg .mfp-image-holder .mfp-close ,
.modal_mfpImgGallery .mfp-image-holder .mfp-close { position: fixed; top: 0; right: 0; background: url(../img/btn_close.png) top right no-repeat; background-size: auto 60%; background-position: calc(100% - 30px) 10px;}
.modal_mfpImg 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: 200px; }
.modal_mfpImgGallery .mfp-arrow { margin-top: -255px; height: 510px; }
.modal_mfpImgGallery .mfp-arrow:active { margin-top: -253px; }
.modal_mfpImgGallery .mfp-arrow:before,
.modal_mfpImgGallery .mfp-arrow:after { display: none; }
.modal_mfpImgGallery .mfp-arrow-left { background: url(../img/icon_arrow_left.png) left center no-repeat; }
.modal_mfpImgGallery .mfp-arrow-right { background: url(../img/icon_arrow_right.png) right center no-repeat; }
@media screen and (min-width: 641px) {
.modal_mfpImgGallery .mfp-arrow { opacity: 0.65; }
}



/* --------------------------------------------------------
汎用クラス
-------------------------------------------------------- */
@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; position: relative; }
.pageTop a { display: block; width: 100%; margin: 0 auto; position: relative; }

@media screen and (min-width: 641px) {
	.pageTop { text-align: right;}
	.pageTop a { width: calc(117/1920*100%); margin-right: calc(36/1920*100%); -webkit-transition: .1s ease-in-out; transition: .1s ease-in-out; transform-origin: bottom; }
	.pageTop a:hover { -webkit-transform: scale(1.1); transform: scale(1.1);}
}
@media screen and (min-width: 1921px) {
	.pageTop a { width: 117px; margin-right: 36px;}
}



