﻿@charset "utf-8";

/****************reset*******************/
body,div,dl,dt,dd,h1,h2,h3,h4,h5,h6,p{
	padding:0;
	margin:0;
	width:auto;
	/*height:100%;*/
	font-size: 100%;
	line-height:150%;
	font-weight: normal;
}
ul,li{ list-style:none; padding:0; margin:0; font-size: 100%; line-height:100%; font-weight: normal; }
a img { }
a{ border: none; text-decoration:none; word-break: break-all;}
a:link{cursor:pointer;}
a:link:hover{
	-webkit-transition: all 0.5s ease-in-out;
	-o-transition: all 0.5s ease-in-out;
	transition: all 0.5s ease-in-out;
}
img{max-width:100%; height:auto; line-height:100%; font-size:0px; -webkit-backface-visibility: hidden;}
hr{	
    border: 1px solid #777;
    margin: 20px 0px;}
table{
    border-collapse: collapse;}
h1,h2,h3,h4,h5,h6,p,a,td,th{
	color:rgba(255,255,255,1.00);
	font-family:"Shippori Mincho B1","futura-pt", "Noto Sans JP", serif;
    letter-spacing: 0.075em;
}
h1{
    line-height: 0;
}
h2{
	padding-top:160px;
	font-size:40px;
	font-weight:700;
	text-align:center;
	color: #FFF;
}
h2.commingsoon{
	padding:32vh 0;
}
h2 span{
	font-size:30px;
}
h3{
	margin-bottom:32px;
	font-size:40px;
    line-height: 0.9;
	text-align:left;
	letter-spacing:.1em;
	color: #FFF;
	font-family: "Shippori Mincho B1", serif;
}
h3 span{
    font-size: 20px;
    line-height: 2;
}
h3 span:before{
	content:"─ ";
}
.notes{
	font-size:13px;
}
.center{
	width:100%;
	text-align:center;
}
/****************clearfix*******************/
.clearfix { min-height: 1px; }
* html .clearfix { height: 1px; /*\*//*/ height: auto; overflow: hidden; /**/ }

body{line-height:1.8em; font-size:14px; color:#fff;  position:relative; box-sizing:border-box; font-family:'Noto Sans JP', sans-serif; min-width:1180px;letter-spacing: .075em;}

.sp{ display:none;}
main{padding-bottom:120px;}

@media screen and (max-width: 1200px) {
	body{ min-width:100%;}
}
@media screen and (max-width:640px) {
	.sp{ display:block;}
	.pc{display:none;}
}
.shipporimincho{
	font-family:'Shippori Mincho B1', serif;
}
.sawarabimincho{
	font-family:'Sawarabi Mincho', serif;
}
.inner1080{
	width:90%;
	max-width:1080px;
	margin:0 auto;
	position:relative;
}
.inner800{
	width:90%;
	max-width:800px;
	margin:0 auto;
	position:relative;
}
.btn_box{
	margin:12px auto 0;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
    align-items: flex-start;
}
.link_btn{
	width:calc( 50% - 6px );
	margin:12px 0 0;
	padding:24px 56px 24px 3%;
    box-sizing: border-box;
    background: linear-gradient(135deg, #9257DF, #AF5EB2);
	color:#fff;
	display:inline-block;
	font-size:16px;
	border-radius:4px;
	position:relative;
}
.houmei_link{
	width:100%;
	max-width:400px;
	padding:24px 56px 24px 3%;
    box-sizing: border-box;
    background: linear-gradient(135deg, #9257DF, #AF5EB2);
	color:#fff;
	display:inline-block;
	font-size:16px;
	border-radius:4px;
	position:relative;
}
.calloff_link{
	padding:24px 56px 24px 3%;
    box-sizing: border-box;
    background: linear-gradient(135deg, #9257DF, #AF5EB2);
	color:#fff;
	display:inline-block;
	font-size:16px;
	border-radius:4px;
	position:relative;
}
.link_btn:hover,
.houmei_link:hover,
.calloff_link:hover{
    background: linear-gradient(135deg, #AF5EB2, #9257DF);
	opacity:.75;
}
.link_btn:after,
.houmei_link:after,
.calloff_link:after{
	content:"";
	display:block;
	width:32px;
	height:32px;
	background:url("../img/link_btn.svg") no-repeat;
	background-size:contain;
	position:absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
	z-index:2;
	right:16px;
	transition: all 0.5s ease-in-out;
}
.link_btn:hover:after,
.houmei_link:hover:after,
.calloff_link:hover:after{
	right:8px;
}
.btn_txt{
	margin-top:8px;
}


/* fadeUp */

.fadeUp{
animation-name:fadeUpAnime;
animation-duration:1s;
animation-fill-mode:forwards;
opacity:0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
  	transform: translateY(100px);
  }

  to {
    opacity: 1;
  transform: translateY(0);
  }
}


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/
 
.fadeUpTrigger{
    opacity: 0;
}


/*========= ぼかしから出現 ===============*/
.blur{
  animation-name:blurAnime;
  animation-duration:2.4s;
  animation-fill-mode:forwards;
}

@keyframes blurAnime{
  from {
	  opacity:0;
  filter: blur(6px);
  transform: scale(1.01);
  }

  to {
	  opacity:1;
  filter: blur(0);
  transform: scale(1);
  }
}

/*========= 流れるテキスト ===============*/

/*全共通*/
.contents_slide{
	width:100%;
	text-align: center;
}
.slide-in {
	overflow: hidden;
    display: inline-block;
}

.slide-in_inner {
	display: inline-block;
}

/*左右のアニメーション*/
.leftAnime{
    opacity: 0;/*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
	animation-name:slideTextX100;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes slideTextX100 {
  from {
	transform: translateX(-100%); /*要素を左の枠外に移動*/
        opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

.slideAnimeRightLeft {
	animation-name:slideTextX-100;
	animation-duration:0.8s;
	animation-fill-mode:forwards;
    opacity: 0;
}


@keyframes slideTextX-100 {
  from {
	transform: translateX(100%);/*要素を右の枠外に移動*/
    opacity: 0;
  }

  to {
	transform: translateX(0);/*要素を元の位置に移動*/
    opacity: 1;
  }
}

	
header{
	width:100%;
	position: fixed;
	text-align:center;
    box-sizing: border-box;
    z-index: 2;
}
header .logo{
    height: 48px;
	z-index:100;
}
header .nav ul{
	width: 150px;
	position: absolute;
    right:80px;
}
header .nav ul li{
	display:inline-block;
	text-align:center;
	margin-right:8px;
}
header .nav ul li a{
	color:#fff;
	padding: 4px;
	font-size:18px;
	font-weight: bold;
	display: inline-block;
	line-height: 1;
}
header .nav ul li a:hover{
	text-decoration:none;
}
header .fb img{
	padding: 0;
	width:28px;
}
header .tw img{
	padding: 0;
	width:25px;
}
header .yt img{
	padding: 0;
	width:32px;
}
header .nav ul li img:hover{
	opacity: 0.75;
}
/* ハンバーガーメニュー */

.hamburger{position:fixed;left: 2%;top: 2%;z-index:999;padding:20px;}
.hamburger:after{
	content:"";
	background: linear-gradient(135deg, #9257DF, #AF5EB2);
	display: block;
	padding: 38px;
	margin: auto;
	position: absolute;
	border-radius: 40px;
	z-index: -1;
	top: 0;
	bottom: 0;
	left: 0%;
}
.menu-trigger,.menu-trigger span{ display:inline-block; transition:all .5s; box-sizing:border-box; margin:0 auto;}
.menu-trigger{ position:relative; width:35px; height:32px; cursor:pointer;}
.menu-trigger span { position:absolute; left:0; width:100%; height:3px; border-radius:3px;  background-color:#fff;}
.menu-trigger span:nth-of-type(1) { top:0;}
.menu-trigger span:nth-of-type(2) { top:15px;}
.menu-trigger span:nth-of-type(3) { bottom:0;}

.menu-trigger.active span:nth-of-type(1) { -webkit-transform:translateY(13px) rotate(-45deg); transform:translateY(13px) rotate(-45deg); width:100%;}
.menu-trigger.active span:nth-of-type(2) { opacity:0; width:100%;}
.menu-trigger.active span:nth-of-type(3) { -webkit-transform:translateY(-16px) rotate(45deg); transform:translateY(-16px) rotate(45deg); width:100%;}

.menu-trigger p{ position:absolute; left:25px; font-weight:bold;}

/* ハンバーガーメニュー内容 折り畳まれ部分 */
#navigation{
	width:100%;
	height:100vh;
	position:absolute;
	top:0;
	left:0;
	display:none;
	z-index:3;
	overflow-y:scroll;
	background-color:#000a;
}
#navigation::-webkit-scrollbar {display:none;}
#navigation .navigation_inner{
	display: table;
    width: 70%;
    overflow: scroll;
    margin-left: 30%;
    background: #fafafa;
}
#navigation .navigation_inner .navigation_menu{display:flex;flex-wrap:wrap;justify-content:space-between;}

#navigation .navigation_inner .navigation_menu li{width:100%; border-top:1px solid #ddd;}
#navigation .navigation_inner .navigation_menu li:last-child{border-bottom:1px solid #ddd;}
#navigation .navigation_inner .navigation_menu li a{padding:20px;font-size:20px;;line-height:1.25;display:block;color:#000;text-decoration:none;}



body{
	width:100%;
	background: #000;
}

.main{
	width: 100%;
	padding: 10vw 0;
	/* position:fixed; */
	/* top:0; */
	left:0;
	background:url("../img/back.jpg?1") no-repeat center;
	background-size:cover;
}

.page_main{
	width: 100%;
	padding:40px 0;
	max-height: calc( 100vh - 20vw );
	/* position:fixed; */
	/* top:0; */
	left:0;
	background:url("../img/back.jpg?1") no-repeat center;
	background-size:cover;
}
.main_img{
    height: 100%;
	display:flex;
	justify-content:center;
	align-items:center;
    box-sizing: border-box;
	text-align:center;
}
.main_img h1{
	width:90%;
	max-width:560px;
	margin:0 auto;
    filter: drop-shadow(0 0 5px #000);
}
.page_main h1{
	width:90%;
	max-width:320px;
	margin:0 auto;
    filter: drop-shadow(0 0 5px #000);
}
.main_img .days{
	width:90%;
	max-width:480px;
	margin:52px 0 0;
	filter: drop-shadow(0 0 5px #000);
}
.main_img .place {
	width:90%;
	max-width:560px;
	margin:52px auto 0;
	filter: drop-shadow(0 0 5px #000);
}
.main .ticket_btn , .page_main .ticket_btn{
	width:100%;
	margin: 24px auto 0;
	text-align:center;
}
.main .ticket_btn a{
	width:90%;
	max-width:400px;
	padding:20px;
	font-size:22px;
    line-height: 1.6;
	display:inline-block;
	border-radius:40px;
    background: linear-gradient(135deg, #9257DF, #AF5EB2);
	text-align:center;
	font-family: "Shippori Mincho B1", serif;
    filter: drop-shadow(0 0 5px #333);
}
.page_main .ticket_btn a{
	width:90%;
	max-width: 252px;
	padding: 15px;
	font-size: 14px;
	line-height: 1.6;
	display:inline-block;
	border-radius:40px;
	background: linear-gradient(135deg, #9257DF, #AF5EB2);
	text-align:center;
	font-family: "Shippori Mincho B1", serif;
	filter: drop-shadow(0 0 5px #333);
}
.main .sns{
	width:90%;
	max-width:160px;
	margin:60px auto 0;
	display:flex;
	justify-content:space-between;
	align-items:center;
    filter: drop-shadow(0 0 5px #000);
}
.main .fb img{
	padding: 0;
	width:28px;
}
.main .ig img{
	padding: 0;
	width:28px;
}
.main .tw img{
	padding: 0;
	width:25px;
}
.main .yt img{
	padding: 0;
	width:32px;
}
.main .sns li img:hover{
	opacity: 0.75;
}
.main_contents{
    /* padding-left: 50%; */
    margin: 0 auto;
}

/*movie*/
.movie{
	padding:80px 0 0;
}
.movie iframe{
	width:100%;
	height:44vh;
}
.movie .copy{
	margin:32px auto 0;
	font-size:24px;
	line-height:2.32;
	letter-spacing:.125em;
	text-align: center;
	font-family: "Shippori Mincho B1", serif;
}
/*movie*/

/*menu*/
.menu{
	margin:64px auto 0;
	display:flex;
	justify-content: flex-start;
	flex-wrap:wrap;
}
.menu a{
	width: calc( 25% - 6px );
	margin: 0 3px 6px;
	line-height:1;
}
.menu a:hover{
	opacity:.5;
}
/*menu*/

/*menu*/
.outline{
    margin:100px auto 0;
	padding-bottom:72px;
	border-bottom:solid 1px #FFF4
}
.outline .inner1080{
	margin-top:56px;
}
.outline p{
	font-size:16px;
	line-height:2;
}
/*outline*/

.top_contents{
    margin:72px auto 0;
	padding-bottom:72px;
	border-bottom:solid 1px #FFF4;
}

/*news*/
.news table {
	width:100%;
	margin-top:	12px;
}
.news table .news_box{
	width:100%;
	margin-bottom:4px;
	border-radius:4px;
    display: block;
	background:#001E40;
}
.news table th, .news table td{
	padding:28px 20px;
	font-size:15px;
}
/*news*/


/*ticket*/
.ticket_box2{
	margin-top:28px;
	padding:5%;
	background:linear-gradient(135deg,#001e40,#222232);
}
.ticket_ttl{
	margin-bottom:16px;
	text-align:center;
	font-size:24px;
}
.ticket_box2 img{
	margin-bottom:8px;
}
.ticket_box2 p{
	line-height:2;
}

/*先行販売【販売店一覧】*/
.senkou_hanbai .senkou_shop{
	width:100%;
	margin:6.4% auto 0;
}
.senkou_hanbai .senkou_shop p{
	line-height:2;
}
.senkou_hanbai .senkou_shop p strong{
	font-size:130%;
}
.senkou_hanbai .senkou_shop p.ticket_ttl{
	line-height:1.6;
}
.senkou_hanbai .senkou_shop p.ticket_ttl span{
	font-size:80%;
}
.senkou_hanbai .senkou_shop table{
	width:100%;
}
.senkou_hanbai .senkou_shop tr:nth-child(2n+1){
	background: linear-gradient(135deg,#001e40,#222232);
}
.senkou_hanbai .senkou_shop th{
    padding: 12px;
    border: 1px solid #7e98be;
	border-top:1px solid #fff;
	border-bottom:none;
	font-size:110%;
    background: #fff;
    color: #151b22;
}
.senkou_hanbai .senkou_shop th:first-child{
	border-left:1px solid #fff;
}
.senkou_hanbai .senkou_shop th:last-child{
	border-right:1px solid #fff;
}
.senkou_hanbai .senkou_shop td.shop_name{
	font-size:110%;
	font-weight:bold;
}
.senkou_hanbai .senkou_shop td{
    padding: 12px 6px;
    border: 1px solid #fff;
	text-align:center;
    line-height: 1.7;
}
.senkou_hanbai .senkou_shop td span{
	font-size:90%;
}
.senkou_hanbai .senkou_shop .senkou_table p{
	margin-top:16px;
    line-height: 2;
}
/*先行販売【販売店一覧】*/

/*ticket*/


/*traffic*/
.traffic p{
	font-size:16px;
	line-height:2;
}
/*traffic*/

/*photo_contest*/
.photo_contest_contents{
	text-align:center;
}
.photo_contest_contents p{
	margin:3% auto;
	line-height:2;
	font-size:110%;
}
/*photo_contest*/

/*access*/
.access_box iframe{
	width:100%;
	height:400px;
	margin:0 auto 20px;
}
.access_box p{
	font-size:20px;
}
.access_box p.note{
	font-size:15px;
}
.access_box .p_img{
	width:100%;
	max-width:640px;
	margin:6.4% auto 0;
}
.access_box .p_img img{
	margin:4% 0 0;
}
/*access*/

/*supporter*/
.supporter_box{
    margin:0 auto 24px;
    padding: 4%;
	box-sizing:border-box;
	background:linear-gradient(135deg,#001e40,#222232);
	border-radius:4px;
}
.supporter_box .center{
	text-align:center;
}
.supporter_box .supporter_ttl{
	font-size:24px;
}
.supporter_box .supporter_ttl img.icon{
	width:36px;
	height:auto;
    position: relative;
    top:8px;

}
.supporter_box p{
	font-size:15px;
	line-height:2;
}
.supporter_box .supporter_img{
	margin-top:2%;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.supporter_box .supporter_img img{
	width:64%;
}
.supporter_box .supporter_img2{
	margin-top:2%;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}
.supporter_box .supporter_img2 img{
	width:49%;
}
.supporter_box .supporter_img3{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.supporter_box .supporter_img3 img{
	width:32%;
	margin-top:2%;
}
/*supporter*/

/*contact*/
.contact{
	border:none;
    padding-bottom: 144px;
}
.contact_box{
    padding: 4%;
	box-sizing:border-box;
	background:linear-gradient(135deg,#001e40,#222232);
	border-radius:4px;
	text-align:center;
}
.contact_box dt{
	font-size:20px;
	font-weight:bold;
}
.contact_box dt span{
	font-size:16px;
	font-weight:normal;
}
.contact dd{
	font-size:16px;
    line-height: 1.6;
}
.contact dd a{
	font-size:40px;
}
/*contact*/

/*qa*/
.qa_contents_txt dl{
	margin-bottom:32px;
	padding: 10px 0px 10px 40px;
	border-left:6px solid #fffa;
	box-sizing:border-box;
}
.qa_contents_txt dl:last-child{margin-bottom:0;}
.qa_contents_txt dt{
    padding-left: 36px;
    position: relative;
	font-size:18px;
	font-weight:bold;
	margin-bottom:12px;
	letter-spacing:0.125em;
	line-height:1.5;
}
.qa_contents_txt dt:before{
	content:"Q：";
	position:absolute;
	left:0;
}
.qa_contents_txt dd{
    padding-left: 28px;
    position: relative;
	font-size:16px;
    font-size: 16px;
    line-height: 2;
	letter-spacing:0.125em;
}
.qa_contents_txt dd:before{
	content:"A：";
	position:absolute;
	left:0;
}
.qa_contents_txt dd a{
	font-family: 'Noto Sans JP', sans-serif;
    color: rgba(244, 4, 124, 1.00);
    word-break: break-all;
    text-decoration: underline;
}
/*qa*/

/*写真コンクール*/
.page_contents_txt .photo_contest_img{
	width:100%;
	max-width:764px;
	margin:0 auto 24px;
}
.page_contents_txt .prize_contents{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
}
.page_contents_txt .prize_img {
    width: 33%;
    max-width: 264px;
    margin-right:24px;
}
.page_contents_txt .prize_contents img{
	width: 100%;
	height:auto;
	margin: 0 auto 12px;
}
.page_contents_txt .award_contents{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
}
.page_contents_txt .award_contents_camera{
	margin-bottom:40px;
}
.page_contents_txt .award_img {
    width:calc( 50% - 16px);
	max-width:400px;
    margin-bottom: 24px;
    margin-right:24px;
}
.page_contents_txt .award_img:nth-child(2){
	margin-right:0;
}
.page_contents_txt .award_img2 {
    width: calc( 33.333333% - 14px);
    max-width: 400px;
    margin-right: 20px;
    margin-bottom: 20px;
}
.page_contents_txt .award_img2:nth-child(3n){
	margin-right:0;
}
.page_contents_txt .award_contents img{
	width: 100%;
	height:auto;
	margin: 0 auto 12px;
}
.page_contents_txt p.category_ttl{
	padding:.8em;
	margin-bottom:24px;
	color:#fff;
	font-size:110%;
	line-height:1;
	background:#556980;
	border-radius: 0.5em;
	display:inline-block;
}
.page_contents_txt .award_contents p span{
	font-size:85%;
}
.page_contents_txt img.program_img{
	width: 100%;
	max-width:800px;
	margin: 0 auto 4%;
}
/*写真コンクール*/


footer{
	width:100%;
	padding:80px 0 20px;
	background:linear-gradient(135deg,#001e40,#222232);
}
footer .ft_bnr{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto 16px;
    line-height: 0;
	text-align:center;
}
footer .ft_bnr .kyosan_bnr{
	width:280px;
	margin-right:12px;
}
footer .ft_bnr .kyosan_bnr:last-child{
	margin-right:0;
}
footer .ft_bnr .kyosan_bnr2{
	width:360px;
}
footer .ft_bnr .kyosan_bnr3{
	width:320px;
}
footer .nav ul{
	padding:40px 0 60px;
	margin: 0 auto;
	text-align: left;
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .nav ul li{
	display:inline-block;
	width: 60px;
	border-radius:3px;
	text-align:center;
	margin-right:5px;
}
footer .nav ul li a{
	color:#fff;
	padding: 4px;
	font-size:18px;
	font-weight: bold;
	display: inline-block;
	line-height: 1;
}
footer .nav ul li a:hover{text-decoration:none;}
footer .fb img{
	padding: 0;
	width:28px;
}
footer .ig img{
	padding: 0;
	width:28px;
}
footer .tw img{
	padding: 0;
	width:31px;
}
footer .yt img{
	padding: 0;
	width:32px;
}
footer .nav2 ul{
	padding-bottom: 60px;
	margin: 0 auto;
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .nav2 ul li{
	display: contents;
	width: 60px;
	border-radius:3px;
	text-align:center;
	margin-right:5px;
}
footer .nav2 ul li a{
	padding: 0 16px;
	font-size:17px;
	display: inline-block;
	line-height: 1;
}
footer .copyright{text-align:center;}




/*page*/
.page_contents{
    padding:4.8vw 0 0;
    margin: 0 auto;
	background:linear-gradient(135deg,#001e40,#1a1a1a);
}
.page_container{
	padding-bottom:10vw;
}
.page_contents_txt{
	margin-top:56px;
}
.kyosan_contents_txt:first-child{
	margin-top:0;
}
.page_contents_txt p{
	padding:0 8px 8px;
	font-size:15px;
	font-family:'Noto Sans JP', sans-serif;
	line-height:1.8;
}
.page_contents_txt p strong{
	font-size:110%;
}
.page_contents_txt p.page_ttl{
	padding:0 8px 8px;
	margin-bottom:24px;
	font-size:22px;
	font-family:"Shippori Mincho B1","futura-pt", "Noto Sans JP", serif;
	font-weight:600;
	border-bottom: solid 3px #fff;
	position: relative;
}
.page_contents_txt p.page_ttl2{
	padding:2px 0 2px 16px;
	margin:28px auto 16px;
	font-size:18px;
	font-weight:600;
	border-left: solid 3px #fff;
	position: relative;
}
.page_contents_txt p.page_ttl:after {
	content:"";
	width:144px;
	display: block;
	position: absolute;
	bottom: -3px;
    left: 0;
}
.page_contents_txt a.pdf_link{
    width: calc(50% - 6px);
    margin: 12px 0 0;
    padding: 24px 56px 24px 3%;
    box-sizing: border-box;
    background: linear-gradient(135deg, #9257DF, #AF5EB2);
    color: #fff;
    display: inline-block;
    font-size: 16px;
    border-radius: 4px;
    position: relative;
}
.page_contents_txt a.pdf_link:link:hover{
	background: linear-gradient(135deg, #AF5EB2, #9257DF);
    opacity: .75;
}
.page_contents_txt a.pdf_link:after{
    content: "";
    display: block;
    width: 32px;
    height: 32px;
    background: url(../img/link_btn.svg) no-repeat;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    z-index: 2;
    right: 16px;
    transition: all 0.5s ease-in-out;
}
.page_contents_txt a.pdf_link:hover:after{
	right:8px;
}
.txt_link{
	font-size:20px;
	text-decoration:underline;
}
.page_contents_txt p.kyosan_ttl:after,
.page_contents_txt p.history_ttl:after {
	border-bottom: solid 3px #001e40aa;
}
.page_contents_txt p.kyosan_ttl_gold:after {
	border-bottom: solid 3px #e2b900aa;
}
.page_contents_txt p.kyosan_ttl_silver:after {
	border-bottom: solid 3px #808080aa;
}
.page_contents_txt p.kyosan_ttl_bronse:after {
	border-bottom: solid 3px #9A6229aa;
}
.page_contents_txt p.area_ttl1:after {
	border-bottom: solid 3px #e9597e;
}
.page_contents_txt p.area_ttl2:after {
	border-bottom: solid 3px #26b7bc;
}
.page_contents_txt p.area_ttl3:after {
	border-bottom: solid 3px #f39800;
}
.page_contents_txt p.area_ttl4:after {
	border-bottom: solid 3px #612d82;
}
.kyosan_list{
    padding: 0;
	counter-reset: count 0;
}
.kyosan_list li{
	padding:20px;
	color:#222;
	list-style:none;
	text-align:left;
	font-size:15px;
	border:solid 1px #222;
	border-bottom:none;
	background:#f0f0f0;
}
.kyosan_list li p{
	color:#222;
	padding:8px 0 0 16px;
	font-family: 'Noto Sans JP', sans-serif;
}
.kyosan_list li:before {
	content: counter(count) ". ";
	counter-increment: count 1;
}
.kyosan_list li:last-child{
	border-bottom:solid 1px #222;
}
.kyosan_list li:nth-child(2n){
	background:#fff;
}



.history_contents{
    padding:20px 1% 40px;
    margin-bottom: 24px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	border-bottom:1px solid #fff5;
}
.history_contents p strong{
	font-size:125%;
}
.history_contents:last-child{
    margin-bottom:4%;
}
.history_img{
	width:40%;
}
.history_img p{
	font-size:90%;
}
.history_txt{
	width:57%;
	margin-top:1.6%;
}
.history_txt p{
	line-height:2;
}
.history_txt p a {
    margin: 16px auto 0px;
    padding: 8px 5%;
    background: #ff0;
    color: #001e40;
    display: inline-block;
    font-size: 110%;
    font-weight: 600;
    border-radius: 48px;
}

.history_txt p a:hover{
    background: #fff;
}


/*チケットページ*/
.ticket_page{
	margin-bottom:4%;
}
.senkou_hanbai{
	margin-top:12%;
}
.ticket_info{
    width: 75%;
    margin:64px auto 48px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
.ticket_info .ticket_content {
    padding: 2% 2% 4%;
    border-top: 1px solid #fff;
    box-sizing: border-box;
    position: relative;
}
.ticket_info .ticket_content:last-child{
    border-bottom: 1px solid #fff;
}
.ticket_info .ticket_content .detail_ttl{
	margin-top:12px;
	font-size:20px;
	font-weight:600;
}
.ticket_info .ticket_content .detail_ttl span{
	font-size:16px;
}
/*チケットページ*/


/*芳名*/
.sponsor_bnr{
	margin-bottom:12px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.sponsor_bnr .kyosan_bnr{
	width:50%;
}
.sponsor_bnr2{
	margin-bottom:12px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
    background: #fff;
    padding: 3%;
}
.sponsor_bnr2 .kyosan_bnr{
    width: 32%;
    line-height: 0;
    margin: 0.64%;
}

.houmei_list2{
	margin-bottom:2.4%;
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.houmei_list{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}
.houmei_list2{
}
.houmei_list li{
    width: 32%;
    margin: 0.65%;
    box-sizing: border-box;
    padding: 12px 6px;
    font-size: 15px;
    line-height: 1.4;
    background: #ffffff22;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}
.houmei_list2 p.houmei_lv{
	width:100%;
	margin-top:2.4%;
	font-size:200%;
	font-weight:bold;
	text-align:center;
	text-decoration:underline;
}
.houmei_list2 p.houmei_lv:first-child{
	margin-top:0;
}
.houmei_list2 li{
	margin:8px 6px;
	line-height:1;
}
.houmei_list2 li.gold{
	width:320px;
	max-width:100%;
}
.houmei_list2 li.silver{
	width:240px;
	max-width:72%;
}
.houmei_list2 li.bronze{
	width:160px;
	max-width:44%;
}
/*芳名*/



/*飲食店一覧*/
.food_area_list{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
    align-items: start;
}
.food_area_list .area_btn{
	padding:12px;
	margin-right:1.6%;
    margin-bottom: 1.6%;
	border-radius:40px;
	text-align:center;
	filter: drop-shadow(0 0 5px #333);
}
.food_area_list .area_btn:last-child{
	margin-right:0;
    margin-bottom:0;
}
.food_area_list .area_btn1{
	background:#e9597e;
}
.food_area_list .area_btn1:hover{
	background:#b93053;
}
.food_area_list .area_btn2{
	background:#26b7bc;
}
.food_area_list .area_btn2:hover{
	background:#1c9195;
}
.food_area_list .area_btn3{
	background:#f39800;
}
.food_area_list .area_btn3:hover{
	background:#d37705;
}
.food_area_list .area_btn4{
	background:#612d82;
}
.food_area_list .area_btn4:hover{
	background:#4e1473;
}
.food_img{
	display:flex;
	flex-wrap:wrap;
}
.food_img .food_contents{
    width:32%;
	margin-right:2%;
	margin-bottom:4%;
}
.food_img .food_contents:nth-child(3n){
	margin-right:0;
}
.food_img .food_contents p{
	padding: 0;
	line-height:1.6;
	text-align:center;
}
.food_img .food_contents p strong{
	font-size:120%;
}
.food_img .food_contents p strong span{
	font-size:90%;
}
.food_img img{
	width:100%;
	margin-bottom:1.6%;
}
/*飲食店一覧*/

@media screen and (max-width: 1080px) {
	header .menu{
		width:80%;margin: 25px auto 0 120px;
	}
	.main{
		width:100%;
		padding:160px 0;
		position:relative;
	}
	.main_contents,.page_contents{
		width:100%;
		padding:8vw 0 0;
	}
	
}
@media screen and (max-width:800px) {
/*芳名*/
	.houmei_list li{
		width:48%;
	}
/*芳名*/
}
@media screen and (max-width:640px) {
	.sp{display:block;}
	.pc{display:none;}
	h2{
		padding-top:16vh;
		font-size:8vw;
    	line-height: 1.2;
	}
	h2.commingsoon{
		padding:20vh 0;
	}
	h2 span{font-size:6vw;}
	h3{
   		margin-bottom: 4vh;
		font-size:6vw;
	}
	h3 span{
		font-size:3.6vw;
	}
	p{
		font-size:3.35vw;
	}
	header{padding:2.4vw;}
	header .logo{
		width: 120px;
    	height: auto;
		float:none;
		top:20px;
		left:15px;
	}
	header .nav ul{
		width:24vw;
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
		align-items:center;
		top:20px;
		right:auto;
		left:2%;
	}
	header .nav ul li{
		margin:0;
	}
	header .nav ul li a{
		padding:0;
	}
		
	#ham-menu {background-color: #111417; /*メニュー背景色*/box-sizing: border-box;height: 100%;position: fixed;color:#fff;right: -250px; /*メニュー横幅 width と合わせる*/top: 0;transition: transform 0.3s linear 0s; /*0.3s はアニメーションにかかる時間*/width: 250px; /*メニュー横幅*/z-index:10000;overflow:  scroll;}
	
	
	#navigation{top:0;}
	#navigation .navigation_inner .navigation_menu li a{
		padding:5.2vw 4vw;
		font-size:3.72vw;
	}
	.hamburger{
        top: 2vw;
    	right: 3%;
		left:auto;
	}
	.hamburger:after{
    	padding: 34px;
	}
	.menu-trigger{
    	width: 28px;
    	height: 26px;
	}
	.menu-trigger span:nth-of-type(2) {
    	top: 12px;
	}
	.menu-trigger.active span:nth-of-type(1){
		transform: translateY(10px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(3){
    	transform: translateY(-13px) rotate(45deg);
	}
	#navigation .navigation_inner{
		margin:0;
		margin-right:30%;
	}
	
	.btn_box{
        margin: 0;
	}
	.link_btn{
		width: 100%;
		margin: 3vw auto 0;
		padding: 4.96% 14% 4.96% 7%;
		line-height: 1.4;
		font-size:3.8vw;
		border-radius: 60px;
        text-align: center;
	}
	.houmei_link{
		width: 100%;
		margin: 3vw auto 0;
		padding: 4.96% 14% 4.96% 7%;
		line-height: 1.4;
		font-size:3.8vw;
		border-radius: 60px;
	}
	.link_btn:after, .houmei_link:after{
		width: 8vw;
		height: 8vw;
	}
	
	.main{padding:14vh 0;}
	.page_main{
        padding: 4vh 0;
	}
	.page_main h1{
		width:50%;
		max-width:320px;
	}
	.main .ticket_btn, .page_main .ticket_btn{
		margin-top:4vw;
	}
	.main .ticket_btn a{
    	padding: 4vw;
        font-size: 4.4vw;
	}
	.page_main .ticket_btn a{
        width: 64%;
        padding: 2.8vw 2vw;
        font-size: 3.2vw;
	}
	.main_img .days{
		margin:4vh auto 0;
	}
	.main .sns{
		margin:8vw auto 0;
	}
	.main_img .place{
		margin:2.8vh auto 0;
	}
	
	.movie{
		padding: 6vh 0 0;
	}
	.movie iframe{
		height:26vh;
	}
	.movie .copy{
    	margin: 3.2vh auto 0;
        font-size: 4.8vw;
	}
	
	.menu{
    	margin: 4vh auto 0;
	}
	.menu {
		justify-content:center;
	}
	.menu a {
		width:49%;
		margin: 0 2% 2% auto;
	}
	.menu a:nth-child(even){
		margin:0;
	}
	.menu a:last-child{
		margin:0;
	}
/*outline*/
	.outline{
		margin:8vh auto 0;
		padding-bottom:8vh;
	}
	.outline p{
		font-size:3.45vw;
	}
/*outline*/
	
	.top_contents{
		margin:6.4vh auto 0;
		padding-bottom:6.4vh;
	}
	
/*news*/
	.news table th, .news table td{
		padding:4vw 2vw;
		font-size:3.35vw;
	}
/*news*/
	
/*ticket*/
	.ticket p{
		font-size:3.4vw;
	}
	.ticket_ttl{
		font-size:5vw!important;
    	margin-bottom: 3vw;
	}
/*ticket*/
/*先行販売【販売店一覧】*/
	.senkou_hanbai{
    	margin-top:3.2vh ;
	}
	.senkou_hanbai .senkou_shop{
		margin:3.2vh auto;
	}
	.senkou_hanbai .senkou_shop .senkou_table{
		width:100%;
		overflow-x:scroll;
	}
	.senkou_hanbai .senkou_shop table{
   		min-width: 760px;
	}
	.senkou_hanbai .senkou_shop th{
    	padding: 7px 4px;
    	font-size: 3.5vw;
	}
	.senkou_hanbai .senkou_shop td{
        padding:2.4vw 2px 2vw;
        font-size: 3.3vw;
        line-height: 1.5;
	}
	.senkou_hanbai .senkou_shop td.shop_name{
    	font-size: 3.5vw;
	}
	.senkou_hanbai .senkou_shop .senkou_table p{
        min-width: auto;
		font-size:3.2vw;
	}
/*先行販売【販売店一覧】*/
	
	
/*traffic*/
	.traffic p{
		font-size:3.45vw;
	}
/*traffic*/
	
/*photo_contest*/
	.photo_contest_contents p{
		text-align:left;
		font-size:3.5vw;
	}
/*photo_contest*/
	
/*access*/
	.access_box{
		width:100%;
	}
	.access_box iframe{
		width:100%;
		height:32vh;
		margin:3.2vw auto 4vw;
	}
	.access_box p{
		font-size:4vw;
	}
	.access_box p.note{
		font-size:3.3vw;
	}
/*access*/
	
/*supporter*/
	.supporter_box{
		padding:5%;
		margin:0 auto 3vw;
	}
	.supporter_box .supporter_ttl{
		font-size:4.68vw;
	}
	.supporter_box .supporter_ttl img.icon{
        width: 7.2vw;
        top: 1.8vw;
	}
	.supporter_box p{
		font-size:3.4vw;
	}
	.supporter_box .supporter_img img{
		width:80%;
	}
	.supporter_box .supporter_img2 img{
		width:64%;
	}
	.supporter_box .supporter_img3 img{
		width:49%;
	}
/*supporter*/
	
/*contact*/
	.contact{
		padding-bottom:12vh;
	}
	.contact_box dl{
		margin-top: 4vw;
	}
	.contact_box dt{
		font-size:4vw;
		font-weight:bold;
	}
	.contact_box dt span{
		font-size:3.6vw;
		font-weight:normal;
	}
	.contact dd{
		font-size:3.35vw;
	}
	.contact dd a{
		font-size:7.6vw;
	}
/*contact*/
	
	footer{
		padding:6.4vh 0 2vh;
	}
	footer .ft_bnr{
	    margin: 0 auto 1.6vw;
	}
	footer .ft_bnr .kyosan_bnr2{
		width:72%;
	}
	footer .ft_bnr .kyosan_bnr3{
		width:60%;
	}
	footer .ft_bnr .kyosan_bnr{
		width:46%;
		margin-right:1%;
	}
	footer .ft_bnr .kyosan_bnr:nth-child(2n){
		margin-right:0;
	}
	footer .nav ul{
		padding:6.4vh 0 6vw;
	}
	footer .nav ul li{
    	width: 16vw;
	}
	footer .fb img{
		padding: 0;
		width:7.6vw;
	}
	footer .ig img{
		padding: 0;
		width:7.6vw;
	}
	footer .tw img{
		padding: 0;
		width:7.6vw;
	}
	footer .yt img{
		padding: 0;
		width:8vw;
	}
	
	
	.page_container{
		padding-bottom:12vh;
	}
	.page_contents_txt{
		margin-top:3.2vh;
	}
	.page_contents_txt p{
		font-size:3.35vw;
	}
	.page_contents_txt p.page_ttl{
		font-size:4.4vw;
	}
	.page_contents_txt p.page_ttl:after{
		width:20%;
	}
	.page_contents_txt p.page_ttl2{
		padding:1px 0 1px 4.24vw;
		margin:6vw auto 4.24vw;
		font-size:4.24vw;
		border-left: solid 2px #fff;
	}
	.txt_link{
		font-size:4.4vw;
	}
	.page_contents_txt a.pdf_link{
        width: 100%;
        margin: 3vw auto 0;
        padding: 4.96% 14% 4.96% 7%;
        line-height: 1.4;
        font-size: 3.8vw;
        border-radius: 60px;
	}
	.kyosan_list li{
        font-size: 3.6vw;
        line-height: 1.25;
	}
	
	
	.history_contents{
		padding:3vh 1% 4vh;
		margin-bottom: 2vh;
	}
	.history_contents:last-child{
		margin-bottom:4%;
	}
	.page_contents_txt p.history_ttl strong{
		font-size:107.5%;
	}
	.history_img{
		width:100%;
	}
	.history_txt{
		width:100%;
		margin-top:2vh;
	}
	
	
/*チケットページ2階層*/
	.ticket_page{
		margin-bottom:8vh;
	}
	.ticket_info {
        width: 100%;
        margin: 6.4vh auto 4vh;
    }
	.ticket_info .ticket_content{
		width:100%;
	}
	.ticket_info .ticket_content:nth-child(2n),
	.ticket_info .ticket_content:nth-child(2n+1){
        padding: 5% 3% 3%;
	}
	.ticket_info .ticket_content .detail_ttl {
        margin-top: 2.8vw;
        font-size: 4.4vw;
    }
	.ticket_info .ticket_content .detail_ttl span{
        font-size: 4vw;
    }
/*チケットページ2階層*/
	
	
/*qa*/
	.qa_contents_txt {
        margin-top: 4.8vh;
	}
	.qa_contents_txt dl{
    	margin-bottom: 8vw;
		border-left:4px solid #fffa;
        padding: 2% 0px 2% 4vw;
	}
	.qa_contents_txt dt{
        padding-left: 8vw;
        font-size: 3.8vw;
	}
	.qa_contents_txt dd{
        padding-left: 7vw;
        font-size: 3.4vw;
	}
/*qa*/

/*芳名*/
	.sponsor_bnr{
    	margin-bottom: 3vw;
		justify-content:center;
	}
	.sponsor_bnr .kyosan_bnr{
		width:90%;
	}
	.sponsor_bnr2{
		margin-bottom:3vw;
		justify-content:center;
	}
	.sponsor_bnr2 .kyosan_bnr{
        width: 48%;
	}
	.houmei_list li{
		font-size:3vw;
        padding: 2vw 1vw;
        margin: 1%;
	}
/*芳名*/
	
	
/*写真コンクール*/
	.page_contents_txt .photo_contest_img{
		margin:0 auto 1.6vh;
	}
	.page_contents_txt .prize_img{
		width: 60%;
		max-width: inherit;
		margin: 0 auto;
	}
	.page_contents_txt .prize_contents img{
		margin: 0 auto 2vh;
	}
	.page_contents_txt .prize_contents p{
		width:100%;
        font-size:3.75vw;
        font-weight: bold;
	}
	.page_contents_txt .award_img, .page_contents_txt .award_img2{
    	width:100%;
		max-width:400px;
    	margin-bottom:4vh;
    	margin-right:0;
	}
/*写真コンクール*/

	

/*飲食店一覧*/
	.food_area_list .area_btn{
		padding:2vw 3.2vw;
        margin-right: 0;
        margin-bottom: 2.4%;
	}
	.food_img .food_contents{
    	width:49%;
	}
	.food_img .food_contents:nth-child(3n){
		margin-right:2%;
	}
	.food_img .food_contents:nth-child(2n){
		margin-right:0;
	}
/*飲食店一覧*/
}
	

