@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; }

html { overflow-y: scroll; }
h1 , h2 , h3 , h4 { line-height:1; }
ol, ul { list-style:none; }
p { line-height:1; }
img { vertical-align:bottom; border:none; }
table { font-size:inherit; font:100%;}
input, textarea { margin: 0; padding: 0; }
caption, th { text-align: left; }
a:focus { outline:none; }






/* ==================================================================
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; }
ul, li, ol, dl, dt, dd, a, span { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
header, section, article { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
*::before, *::after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

img { max-width: 100%; height: auto;}



/* --------------------------------------------------------
#allWrap
-------------------------------------------------------- */
#allWrap { font-family: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	position: relative; width: 100%; background: #f5f5f5;}



/* --------------------------------------------------------
#nowloading
-------------------------------------------------------- */
#nowloading { position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: #fff; z-index: 9990; }
#loadingicon { position: absolute; top: 50%; left: 50%; width: 60px; height: 60px; margin: -30px 0 0 -30px; text-align: center; 
	-webkit-animation: icon-rotate 2.0s infinite linear; animation: icon-rotate 2.0s infinite linear; }
@-webkit-keyframes icon-rotate { 100% { -webkit-transform: rotate(360deg) }}
@keyframes icon-rotate { 100% { transform: rotate(360deg); -webkit-transform: rotate(360deg) }}
.loadingicon_dot1, .loadingicon_dot2 { width: 50%; height: 50%; display: inline-block; position: absolute; top: 0; left: 50%; background-color: #fcdd4e; border-radius: 100%;
	-webkit-animation: icon-bounce 2.0s infinite ease-in-out; animation: icon-bounce 2.0s infinite ease-in-out; }
.loadingicon_dot2 { top: auto; bottom: 0; -webkit-animation-delay: -1.0s; animation-delay: -1.0s; }
@-webkit-keyframes icon-bounce {
	0%, 100% { -webkit-transform: scale(0.0) }
	50% { -webkit-transform: scale(1.0) }
}
@keyframes icon-bounce {
	0%, 100% { transform: scale(0.0); -webkit-transform: scale(0.0);}
	50% { transform: scale(1.0); -webkit-transform: scale(1.0);}	
}




/* --------------------------------------------------------
#siteHeader
-------------------------------------------------------- */
#siteHeader { position: fixed; top: 0; left: 0; width: 100%; z-index: 9000; background: #fff; display: none; box-shadow: 0px 0px 30px 0px #000;}
#siteHeader .gnavi { margin: calc(120/750*100%) 0 calc(40/750*100%); }
#siteHeader .gnavi ul { width: 100%; border-bottom: 1px solid #fbce01; }
#siteHeader .gnavi ul li { border-top: 1px solid #fbce01; }
#siteHeader .gnavi ul a { display: block; width: 100%; padding-bottom: calc(10/640*100%);}
#siteHeader .gnavi ul img { display: block; margin: 0 auto; }
@media screen and (max-width: 640px) {
#siteHeader .gnavi .gn_01 img { width: calc(151/640*100%);}
#siteHeader .gnavi .gn_02 img { width: calc(256/640*100%);}
#siteHeader .gnavi .gn_03 img { width: calc(86/640*100%);}
#siteHeader .gnavi .gn_04 img { width: calc(168/640*100%);}
#siteHeader .gnavi .gn_05 img { width: calc(71/640*100%);}
#siteHeader .gnavi .gn_06 img { width: calc(105/640*100%);}
}
@media screen and (min-width: 641px) {
	#siteHeader { display: block; box-shadow: 0px 0px 30px 0px #eee;}
	#siteHeader .gnavi { margin: 0; }
	#siteHeader .gnavi ul { width: 100%; border-bottom: none; display: -webkit-flex; display: flex; -webkit-flex-wrap: nowrap; flex-wrap: nowrap; -webkit-justify-content: center; justify-content: center; }
	#siteHeader .gnavi ul li { border-top: none; margin: 0 calc(45/1600*100%); }
	#siteHeader .gnavi ul a { padding-bottom: 0; position: relative;}
	#siteHeader .gnavi ul a:hover::after ,
	#siteHeader .gnavi .active a::after { content: ""; display: block; width: 100%; height: auto; background: #fbce01; position: absolute; left: 0; bottom: 0;}
	#siteHeader .gnavi .gn_01 { width: calc(151/1600*100%);}
	#siteHeader .gnavi .gn_01 a::after { padding-top: calc(8/151*100%);}
	#siteHeader .gnavi .gn_02 { width: calc(256/1600*100%);}
	#siteHeader .gnavi .gn_02 a::after { padding-top: calc(8/255*100%);}
	#siteHeader .gnavi .gn_03 { width: calc(86/1600*100%);}
	#siteHeader .gnavi .gn_03 a::after { padding-top: calc(8/86*100%);}
	#siteHeader .gnavi .gn_04 { width: calc(168/1600*100%);}
	#siteHeader .gnavi .gn_04 a::after { padding-top: calc(8/168*100%);}
	#siteHeader .gnavi .gn_05 { width: calc(71/1600*100%);}
	#siteHeader .gnavi .gn_05 a::after { padding-top: calc(8/71*100%);}
	#siteHeader .gnavi .gn_06 { width: calc(105/1600*100%);}
	#siteHeader .gnavi .gn_06 a::after { padding-top: calc(8/105*100%);}
}
@media screen and (min-width: 1601px) {
	#siteHeader .gnavi ul li { margin: 0 45px; }
	#siteHeader .gnavi .gn_01 { width: 151px;}
	#siteHeader .gnavi .gn_02 { width: 255px;}
	#siteHeader .gnavi .gn_03 { width: 86px;}
	#siteHeader .gnavi .gn_04 { width: 168px;}
	#siteHeader .gnavi .gn_05 { width: 71px;}
	#siteHeader .gnavi .gn_06 { width: 105px;}
}


/* --------------------------------------------------------
#spMenuBtn
-------------------------------------------------------- */

#spMenuBtn { display: block; cursor: pointer; position: fixed; top: 0; right: calc(30/750*100%); margin-top: calc(30/750*100%); z-index: 9900; background-color: #fcdd4e;
	width: calc(80/750*100%); padding: calc(37/750*100%) calc(22/750*100%); box-shadow: 0px 0px 3px 0px #fff;}
#spMenuBtn .spmenu_icon { position: relative; margin: 0 auto; }
#spMenuBtn .spmenu_icon, #spMenuBtn .spmenu_icon:after, #spMenuBtn .spmenu_icon:before { display: block; width: 100%; height: auto; padding-top: calc(6/36*100%); background-color: #000;
	-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);
}
#spMenuBtn .spmenu_icon:after, #spMenuBtn .spmenu_icon:before { position: absolute; top: 0; left: 0; content: '';}
#spMenuBtn .spmenu_icon:before { margin-top: calc(-13/36*100%);}
#spMenuBtn .spmenu_icon:after { margin-top: calc(14/36*100%);}

#spMenuBtn.active { }
#spMenuBtn.active .spmenu_icon { background-color: transparent;}
#spMenuBtn.active .spmenu_icon:after, #spMenuBtn.active .spmenu_icon:before { margin-top: 0; }
#spMenuBtn.active .spmenu_icon:before { -webkit-transform: rotate(45deg); transform: rotate(45deg);}
#spMenuBtn.active .spmenu_icon:after { -webkit-transform: rotate(-45deg); transform: rotate(-45deg);}

.spmenuOpen #mainvisual ,
.spmenuOpen #pageTtl ,
.spmenuOpen #contentsMain { -webkit-filter: blur(5px); filter: blur(5px);}

@media screen and (min-width: 641px) {
	#spMenuBtn { display: none;}
}





/* --------------------------------------------------------
#contents
-------------------------------------------------------- */
#contents:after { content: ""; display: block; clear: both; }
#contents { zoom:1; overflow: hidden; color: #000;}
@media screen and (min-width: 641px) {
}
@media screen and (min-width: 1281px) {
}



/* --------------------------------------------------------
#siteFooter
-------------------------------------------------------- */
#siteFooter { position: relative; width: 100%; background: #f5f5f5; padding: calc(20/750*100%) 0; }
#siteFooter .copyright { margin: 0 auto; text-align: center; font-size: 1.0rem;}
@media screen and (min-width: 641px) {
	#siteFooter { padding: 20px 0; }
	#siteFooter .copyright { font-size: 1.3rem;}
}



/* ----------------------------------------------------------------------------------------------------------------
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; }


