@media print{.header, .header_sp, .navi, .weather_info_sp, .search, .footer_sp, .footer{display:none;}} 

img{
	vertical-align:top;
	width:100%;
}

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, 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: none;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

html {height: 100%;}

body {
	font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	margin:0;padding:0;
	font-size:16px;
	line-height:1.8em;
	color:#FFF;
	/*font-weight: 450;*/
	background: #f78ddf;
	/*background: linear-gradient(90deg, rgba(247, 141, 223, 1) 0%, rgba(40, 191, 184, 1) 100%);*/
	width: 100%;
	/*font-family: 'Noto Serif JP', serif;*/
	overflow-x: hidden;

	position:relative;z-index:0;
	background:url("../img/bg.webp") center center / cover;

/*
	font-weight:bold;

	font-family: "ta-kakugo-gf-03", sans-serif;
	font-style: normal;
*/

	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;

}


a {
	color: inherit;
	text-decoration: none;
	transition: all 0.3s;
}

/*
a:hover  {
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}
*/

img {
	height: auto;
	/*width: auto;*/
	max-width: 100%;
	line-height: 100%;
	vertical-align: top;
}


span.txbr{display: inline-block;}

.small{font-size:0.8em;line-height:1.0em;}
.big{font-size:1.5em;line-height:1.0em;}

.bold{font-weight:bold;}
.btm_space{margin-bottom:15px;}
.btm_border{border-bottom:1px solid #DDD;}

.font{/*font-family: "ta-kakugo-gf-03", sans-serif;font-style: normal;font-weight:100;*/
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;


}

.txt_line_link{
	background-image: linear-gradient(90deg, #fcee9c 50%,#FFF 50%);
	background-position: 100%;
	background-size: 250%;
	transition: all 0.3s;
	padding:0 5px 2px 5px;
	position: relative;
	color:#215882;
}
.txt_line_link:before {
	position: absolute;
	content: '';
	bottom: -0px;
	left: 0;
	width: 0;
	height: 0;
	border: none;
	border-right: solid 6px #FFF;
}
.txt_line_link:after {
	position: absolute;
	content: '';
	bottom: -0px;
	left: 0;
	width: 100%;
	border-right: solid 1px #FFF;
}


.txt_line_link:hover{
	background-position: 0%;

	.txt_line_txt{
		background-position: 0%;
		color: transparent;
	}
}

/*背景白*/
.txt_link{
	transition: all 0.3s;
	color:#2b64aa;
	border-bottom:#2b64aa 1px solid;
}

.txt_link:hover{
	color:#6d92bf;
	border-bottom:#6d92bf 1px solid;
}



.loading{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: #184684;
	/*background: linear-gradient(90deg, rgba(255, 217, 240, 1) 0%, rgba(209, 255, 252, 1) 100%);*/
	z-index: 10005;
}

.loading:after {
	content: "";
	background: url("../img/load.webp") no-repeat;
	background-size: 300px auto;
	width: 300px;
	height: 300px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -150px 0 0 -150px;
	z-index: 10006;
}




p.indent {
	padding-left:1em;
	text-indent:-1em;
	/*padding-bottom:5px;*/
}

p.sp_indent {}
.sp_icon{
	display:none;
}


.material-icons{
	/*margin-bottom:10px;*/
	font-size:1em;
	display: inline-flex;
	vertical-align: middle;
}

/* SNS */
/*========= レイアウトのためのCSS ===============*/
/* youtube */
/*
.yt_movie {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
	margin:10px;
}

.yt_movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.youtube_flex{display:flex;}
.youtube_flex div{flex:1;}
*/

.zone_img{background-color:#FFF;}
.zone_img a:hover{
	opacity:0.5;cursor: pointer;
}

/*========= body背景色の変化CSS ===============*/
/*------------------------------------------
タイトル下、sp用サブメニュー
------------------------------------------*/
.right_icon{
	display: none;
}

/*------トップに戻るボタン-----*/
.pagetop {
	position: fixed;
	bottom: 10px;
	/*right: -10px;*/
	right: 0px;
	z-index:99;
	font-weight:bold;
	max-width:120px;
}

.pagetop a {
	display: block;
	text-align: left;
	color: #222;
	text-decoration: none;
	padding: 0;
	color:#FFFFFF;
	transition: all 0.3s;
}

.pagetop a:hover  {
	color: #ffff00;
	transform: rotate(-5deg) scale(1.2);
	/*padding:0 10px 0 0;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.6;*/
	/*transform: rotateZ( 360deg );*/
}


/*------トップに戻るボタン-----*/

/*------右下チケットボタン-----*/
.pageticket {
	position: fixed;
	bottom: 50px;
	right: 0px;
	z-index:9;
	font-weight:bold;
	max-width:140px;
}


.pageticket a {
	display: block;
	text-align: left;
	text-decoration: none;
	padding: 0;
	color:#FFFFFF;
	transition: all 0.3s;

}

.pageticket a:hover  {
	color: #ffff00;
	/*right: 10px;*/

	transform: rotate(-5deg) scale(1.2);
	padding:0 0 0 0;
	/*filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.6;*/
}

/*------トップに戻るボタン-----*/



/*------------------------------------------
メイン画像
------------------------------------------*/
#main{
	background-color:#24190d;
	background: linear-gradient(180deg,rgba(24, 70, 132, 1) 34%, rgba(43, 100, 170, 1) 66%, rgba(154, 140, 111, 1) 73%, rgba(26, 19, 5, 1) 92%);

	padding-top:20px;
	background-blend-mode:darken;
}

#main_inner{width:100%;max-width:1000px;text-align:center;margin:0 auto;position: relative;}


#main_img{
	width:100%;
	text-align:center;
	margin:0 auto;
}

#menu_empty{
	background-color:#D91B32;
}

#main_logo{
	max-width:1000px;
}


/*------------------------------------------
メイン画像
------------------------------------------*/
/*
#main_bn{
	text-align:center;
	width:90%;max-width:950px;margin:0 auto;gap:0;
	position: absolute;
	right: 0;
	left: 0;
	margin: -235px auto 235px auto;
}
*/

	#main_bn{
		text-align:center;width:90%;max-width:950px;margin:0 auto;gap:0;
		position: absolute;
		bottom: 20px;
		right: 0;
		left: 0;
	}


#main_basyo{
	display:grid;grid-template-columns:50% 50%;
	place-content: center;
	place-items: center;

}

#main_contents{

	box-sizing:border-box;
	background-blend-mode:darken,normal;
}

/*------------------------------------------
本文　項目共通
------------------------------------------*/
h1{
	font-size:2.6em;
	box-sizing:border-box;
	line-height:1.8em;
	color:#bf0d0d;
	padding-top:50px;
	font-weight: lighter;
	mix-blend-mode: multiply;

	font-family: "Noto Sans JP", sans-serif;
	font-weight:bold;

/*	font-family: "ta-kakugo-gf-03", sans-serif;
	font-style: normal;
*/
}

h2{
	font-size:1.4em;
	border-bottom:1px solid #a89a7e;
	padding-bottom:5px;margin-bottom:5px;


/*
background-color:rgba(255,255,255,0.7);
padding-left:10px;
	font-family: "ta-kakugo-gf-03", sans-serif;
	font-style: normal;
*/
	font-family: "Noto Sans JP", sans-serif;
}

.text{
	line-height:2em;
	margin:0 auto;
	font-size:1.1em;
	padding:0 0 0 0;
	width:100%;max-width:1000px;margin:0 auto;
}

.text_inner{
	color:#5b2607;background-color:rgba(255,255,255,0.7);padding:20px;box-sizing:border-box;
}

/*------------------------------------------
動画
------------------------------------------*/
/*
#movie{}

#movie_frame{width:100%;max-width:640px;margin:0 auto;}
#movie_title{
	z-index:10;position: relative;border:1px solid #000;padding:5px 20px;background-color:#e61874;color:#fff100;font-weight:bold;font-size:1.3em;width:100%;border-radius:5px;box-sizing:border-box;
}
#movie_img{
	margin-top: -20px;border-radius:5px;box-sizing:border-box;
}
*/



/*------------------------------------------
NGT
------------------------------------------*/
#ngt{width:100%;max-width:1000px;margin:0 auto;padding-top:50px;}

/*------------------------------------------
SNS
------------------------------------------*/
#sns{}

#sns h1{
	font-family: 'Mochiy Pop One', sans-serif;font-weight:normal;
}

#sns .text_inner div h2 {
	position: relative;
	border-bottom:none;
	font-family: 'Mochiy Pop One', sans-serif;
	font-size:3em;line-height:1.5em;padding-bottom:10px;
	/*font-size:clamp(20px, 100%, 95px);line-height:clamp(48px, 4vw, 280px);*/

	font-size: clamp(20px, 5vw, 70px);
	text-shadow: -2px 3px 3px rgba(0, 28, 255, 0.4);

}

#sns .text_inner div h2:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 7px;
	background: repeating-linear-gradient(-45deg, #ffff00, #ffff00 2px, transparent 2px, transparent 4px);
}

#sns_grid{padding:1em;box-sizing:border-box;width:100%;margin:0 auto;display:grid;grid-template-columns:auto auto;gap:20px;padding-top:20px; place-content:center;place-items: center;}

#sns_icon_grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-top:7px;}
#sns_icon_grid img{border-radius:15%;max-width:127px;}

#sns_icon_grid a{
	border-radius:15%;
	box-shadow: 0px 12px 15px -5px #782cb766;
	transition: .3s;
}
#sns_icon_grid a:hover{
	box-shadow: unset;
	transform: translateY(4px);
}

/*------------------------------------------
開催概要
------------------------------------------*/
#gaiyou{}

/*------------------------------------------
チケット
------------------------------------------*/
#ticket{}
.ticket_indent{padding-left:0.5em;}
.ticket_day{font-size:1.2em;font-weight:bold;}
/*------------------------------------------
展示ゾーン
------------------------------------------*/
#zone{}

#tenji_text{
	display:grid;grid-template-columns:1fr 150px;gap:10px;
	place-content: center;
	place-items: center;
}

#tenji_text_camera{
	grid-column: 2 / 3;
	grid-row: 1 / 3;
}

.tenji_grid{
	display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;
}


.zone_grid{
	display:grid;grid-template-columns:auto 1fr;grid-template-rows: auto auto 1fr;gap:0 5px;
}

.zone_img{
	grid-column-start: 1;
	grid-column-end: 3;
}

.zone_name{
	line-height:1em;font-size:0.5em;display:grid;
	place-content: center start;
	place-items: center start;
}

.zone_title{
	border-left:1px solid #FFF;display:grid;
	place-content: center start;
	place-items: center start;

	padding-left:5px;
}

.zone_text{
	border-top:1px solid #FFF;
	grid-column-start: 1;
	grid-column-end: 3;
}


#photo_spot{
	margin-top:80px;
}

#photo_spot_text{
	font-size:2em;text-align:center;width:100%;max-width:550px;
	display:grid;grid-template-columns:1em auto 1em;margin:1em auto;gap:20px;
	place-items: end;text-shadow: 2px 3px 3px rgba(57, 57, 147, 0.8);
}

#zone_bottom{
	display:grid;grid-template-columns:1fr 350px;gap:10px;
	place-items: start start;

}

#zone_bottom_event{
	display:grid;grid-template-columns:100px 1fr;width:100%;
}

#zone_bottom_event div{
	border-bottom:1px solid #FFF;padding:10px;box-sizing:border-box;
}

#zone_bottom_corner{
	text-align:center;
}

.zone_bottom_event_zone{
	line-height:1em;
}

.zone_bottom_event_corner{
	border-left:1px solid #FFF;
}
/*------------------------------------------
アクセス
------------------------------------------*/
#access{}
/*------------------------------------------
お問い合わせ
------------------------------------------*/
#toi{}

#inner_grid_toi{
	display:grid;grid-template-columns:auto 1fr;gap:0 20px;
}

/*------------------------------------------
fotter
------------------------------------------*/
footer{
	display:grid;
	color:#FFF;
	background-color:#3a1b06;
}

#footer_inner{
	display:grid; grid-template-columns: 100px 1fr;width:90%;max-width:1000px;margin:0 auto;padding:30px 0;
}

#footer_inner div.spo_bn:nth-child(odd){text-align:right;}
#footer_inner div:nth-child(odd){padding-right:1em;}
#footer_copy{font-size:0.8em;text-align:center;}

/*
.footer_spo{
	display:inline-block;box-sizing:border-box;
	padding:0 10px 20px 10px;background-color:#FFF;
	width:auto;
}


.footer_spo img{
	height:38px;width:auto;
}

.footer_spo img.bn_b{
	height:70px;width:auto;
}

.footer_spo img.bn_m{
	height:60px;width:auto;
}
*/
.footer_spo img{
	height:60px;width:auto;
}





@media (min-width: 0px) and (max-width: 1024px) {

	.text{width:90%;}


	#zone_bottom{
		grid-template-columns:1fr;
		place-items: start start;
	}

	#zone_bottom_event{
		grid-template-columns:100px 1fr;width:auto;
		margin:0 auto;
	}

	#zone_bottom_event div{
		border-bottom:1px solid #FFF;padding:10px;box-sizing:border-box;
	}

	#zone_bottom_corner{
		width:100%;max-width:350px;margin:1em auto 0 auto;
	}



	/*------------------------------------------
	展示ゾーン
	------------------------------------------*/
	#tenji_text{
		display:grid;grid-template-columns:1fr 25%;gap:10px;
		place-content: center;
		place-items: center;
	}
	#tenji_text_img{
		grid-column: 1 / 3;
	}

	#tenji_text_camera{
		grid-column: 2 / 3;
		grid-row: 2 / 3;
	}

	#tenji_text_main{
		grid-column: 1 / 2;
		grid-row: 2 / 3;
	}

}

@media (min-width: 0px) and (max-width: 768px) {

	.text{font-size:1.0em;}

	/*------------------------------------------
	メイン画像
	------------------------------------------*/
	#main_bn{
		width:90%;max-width:500px;margin:0 auto;gap:0;
		position: absolute;
		bottom: 20px;
		left: 0;
	}


	#main_basyo{
		display:grid;grid-template-columns:1fr;
		place-content: center;
		place-items: center;

	}

	/*------------------------------------------
	チケット
	------------------------------------------*/
	.ticket_indent{padding-left:0;}


	/*------------------------------------------
	展示ゾーン
	------------------------------------------*/
	.tenji_grid{
		grid-template-columns:1fr 1fr;
	}

	#tenji_text{
		display:grid;grid-template-columns:1fr 25%;gap:10px;
		place-content: center;
		place-items: center;
	}
	#tenji_text_img{
		grid-column: 1 / 2;
	}

	#tenji_text_camera{
		grid-column: 2 / 3;
		grid-row: 1 / 2;
	}

	#tenji_text_main{
		grid-column: 1 / 3;
	}


	#photo_spot_text{
		place-items: end center;
	}


	/*------------------------------------------
	お問い合わせ
	------------------------------------------*/
	#toi{}
	#inner_grid_toi{grid-template-columns:1fr;}
	#inner_grid_toi div:nth-child(odd){border-bottom:1px solid #FFF;;}
	#inner_grid_toi div:nth-child(even){padding-bottom:1em;}

	/*------------------------------------------
	footer
	------------------------------------------*/
	#footer_inner{
		grid-template-columns: 1fr;width:80%;
	}


	#footer_inner div.spo_bn:nth-child(odd){
		text-align:left;
	}
	#footer_inner>.spo_bn{padding-top:1em;text-align:left;border-bottom:1px solid #CCC;}

	.footer_spo{
		padding:10px 10px 20px 0;
	}


}



@media (min-width: 0px) and (max-width: 640px) {

	h1{font-size:1.5em;}

	/*------トップに戻るボタン-----*/
	.pagetop a {width:100px;padding-right:10px;}
	.pagetop a:hover{width:100px;}

	/*------トップに戻るボタン-----*/

	/*------右下チケットボタン-----*/
	.pageticket {bottom: 45px;z-index:99;padding-right:10px;}
	.pageticket a {width:100px;}
	.pageticket a:hover {width:100px;}
	/*------トップに戻るボタン-----*/


	/*------------------------------------------
	メイン画像
	------------------------------------------*/
/*
	#main_bg{
		--viewport-width: 100vw;
		height: calc(var(--viewport-width) * 1.3);

			#FFF;

		background-blend-mode:
			normal , normal , screen , normal , normal ,
			normal , normal , screen , normal , normal ,
			normal , normal , normal , normal , normal ;
	}


	#kingyo{width:22%;top:59%;left:74%;}
	#koi{width:28%;top:52%;left:3%;}

	@keyframes main_ani {
		0% {transform: translateY(0%);}
		100% {transform: translateY(-20px);}
	}

	#main_bn{
		grid-template-columns:1fr;gap:0;
	}

	#main_bn div{
		width:80%;max-width:auto;margin:0 auto;
	}

*/


	/*------------------------------------------
	展示ゾーン
	------------------------------------------*/
	#photo_spot_text{
		font-size:1.5em;
		font-size: clamp(18px, 4vw, 30px);
	}


}

@media (min-width: 0px) and (max-width: 450px) {

	#sns .text_inner div h2 {
		font-size: clamp(10px, 5vw, 70px);
	}
	#sns_icon_grid{gap:10px;}

	#playguide .txbr{
		display:block;
	}
	#playguide br{
		display:none;
	}


	/*------------------------------------------
	チケット
	------------------------------------------*/
	.ticket_day{font-size:1.0em;}

	/*------------------------------------------
	展示ゾーン
	------------------------------------------*/
	.tenji_grid{
		grid-template-columns:1fr;
	}




	#footer_inner .footer_spo{
		width:100%;text-align:left;
	}

	.footer_spo{
		padding:10px 10px 10px 0;
	}
	#footer_copy{font-size:0.7em;line-height:1.8em;}

	.footer_spo img{height:35px;width:auto;}
	.footer_spo.ntt>img{height:30px;width:auto;}
	.footer_spo img.bn_b{height:auto;max-height:60px;width:auto;}
	.footer_spo img.bn_m{height:50px;width:auto;}
	.footer_spo.coop>img.bn_m{height:60px;width:auto;}
}
