/*15th*/


/* 各ブラウザの標準スタイルの破棄'
---------------------------------------------------------------------------- */
/*
Copyright (c) 2011, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.com/yui/license.html
version: 2.9.0
*/
html{color:#000;background:#FFF}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,select,p,blockquote,th,td{margin:0;padding:0}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,button,caption,cite,code,dfn,em,input,optgroup,option,select,strong,textarea,th,var{font:inherit}del,ins{text-decoration:none}li{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}q:before,q:after{content:''}abbr,acronym{border:0;font-variant:normal}legend{color:#000}



html, body {
	caret-color: transparent;
}

body {
	background: url(./img/bg.jpg) no-repeat center center fixed;
	background-size: cover;
	text-align: center;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
}

a {
	color: #fff;
	transition: all 0.3s;
}

a:hover {
	opacity: 0.7;
}

img {
	-webkit-touch-callout:none;
}


#loading {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 99999;
	background: #fff;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.loading_img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -16px;
	margin-left: -16px;
	z-index: 999999;
}

#loading ul.loading_ill {
	display: flex;
	justify-content: center;
	height: 100%;
	margin-left: -15%;
}

#loading ul.loading_ill li {
	display: block;
	width: 5.4%;
	position: relative;
	opacity: 0;
    	transform: translateY(-120%);
	animation-name: fall;
	animation-duration: 4s;
	animation-delay: 0;
	animation-timing-function: ease-in-out;
	animation-fill-mode: forwards;
	animation-play-state: paused;
}

#loading.is-animate ul.loading_ill li {
	animation-play-state: running;
}

#loading ul.loading_ill li:nth-child(1) {
	animation-delay: 0.9s;
}

#loading ul.loading_ill li:nth-child(2) {
	animation-delay: 0.8s;
}

#loading ul.loading_ill li:nth-child(3) {
	animation-delay: 0.7s;
}

#loading ul.loading_ill li:nth-child(4) {
	animation-delay: 0.6s;
}

#loading ul.loading_ill li:nth-child(5) {
	animation-delay: 0.5s;
}

#loading ul.loading_ill li:nth-child(6) {
	animation-delay: 0.4s;
}

#loading ul.loading_ill li:nth-child(7) {
	animation-delay: 0.3s;
}

#loading ul.loading_ill li:nth-child(8) {
	animation-delay: 0.2s;
}

#loading ul.loading_ill li:nth-child(9) {
	animation-delay: 0.1s;
}

#loading ul.loading_ill li img {
	height: 100vh;
	object-fit: cover;
}

@keyframes fall {
  0% {
    transform: translateY(-120%);
    opacity: 0;
  }
  30% {
    transform: translateY(0);
    opacity: 1;
  }
  70% {
    transform: translateY(0);
    opacity: 1;
  }
  100% {
    transform: translateY(120%);
    opacity: 0;
  }
}

header {
	width: 100%;
	background: #cfad63;
	text-align: center;
	position: fixed;
	padding: 10px;
	z-index: 9999;
}

header .header_logo {
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -450px;
	z-index: 9999;
}

header ul {
	display: flex;
	justify-content: center;
	margin: 0 auto 0 250px;
}

header ul li:last-child {
	margin-left: 30px;
}

.hamburger-menu {
	display: none;
}

.top_visual {
	z-index: 10;
}

.top_visual img {
	width: 100%;
}

.top_date {
	position: absolute;
	bottom: 25px;
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 10;
}

@keyframes fadeIn {
	0% {opacity: 0}
	100% {opacity: 1}
}

@keyframes fadeOut {
  0 {
      opacity: 1;
	z-index: 9999;
  }
  
  99% {
      opacity: 0;
	z-index: 9999;
  }
  
  100% {
      opacity: 0;
	z-index: -100;
  }
}

#copyright {
	padding:10px;
	font-size:12px;
	color:#FFF;
	background:#000;
}

.pagetop {
	bottom:34px;
	right:0;
	position:fixed;
	display:none;
}


.dispPc {
	display:block;
}

.dispSp {
	display:none;
}




#container {
	padding-bottom: 80px;
	color: #fff;
	overflow: hidden;
	position: relative;
}

section {
	width:90%;
	margin:0 auto 150px;
	position:relative;
	border-radius: 100px;
}

section#open_container {
	border-radius: 0;
	overflow: hidden;
	position: relative;
	z-index: 1;
	background: #0063b4;
	margin-bottom: 0;
	padding-top: 97px;
}

section p.txt_n,
section p.txt_s,
section p.txt_ss {
	padding:10px 30px;
}

section p.txt_s {
	text-align:left;
	font-size:20px;
	font-weight:bold;
	line-height:1.6;
}

section p.txt_ss {
	text-align:left;
}

.fes_st {
	color:#fff;
	border-top:5px double #fff;
	border-bottom:5px double #fff;
	padding:5px;
	font-size:22px;
	font-weight:bold;
	margin:0 0 10px;
}

.fes_st.pink {
	color:#6EB200;
	border-top:5px double #6EB200;
	border-bottom:5px double #6EB200;
	padding:5px;
	font-size:22px;
	font-weight:bold;
	margin:30px 0 10px;
}

.fes_gaiyou_st {
	margin: 30px 0 15px;
}

.fes_st2 {
	color:#fff;
	border-bottom:1px solid #fff;
	padding:5px;
	font-size:42px;
	font-weight:bold;
	margin:0 0 10px;
	text-align: center;
}


.fes_mc {
	background:#fff;
	overflow:hidden;
	text-align:center;
	margin-top: 10px;
	padding:30px 0 20px;
}

.fes_mc img {
	margin: 0 6px;
}


.fes_content {
	width: 900px;
	margin: 0 auto;
	padding-bottom: 80px;
}

.fes_content .icon {
	margin-top: -62px;
}


#fes_c01 {
	color: #fff;
	background: #0063b4;
	padding-top: 10px;
	border-radius: 0 0 100px 100px;
}

#fes_c02 {
	color: #fff;
	background: #6eb101;
}

#fes_timetable {
	background: #cfad63;
}

#fes_timetable .fes_content {
	width: 100%;
}

#fes_timetable a {
	display: block;
	width: 100%;
	transition: all 0.3s;
}

#fes_timetable span {
	display: block;
	width: 100%;
}

#fes_timetable a:hover {
	background: #fff;
	opacity: 1;
}

#fes_c03 {
	background: #6eb101;
}


.fes_time {
	position: relative;
	display: inline-block;
	margin: 0 5px;
	padding: 0 5px;
	width: 110px;
	height: 110px;
	line-height: 110px;
	text-align: center;
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	background: #000;
	border-radius: 50%;
	box-sizing: border-box;
}


.fes_time:before {
	content: "";
	position: absolute;
	bottom: -22px;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-top: 15px solid #000;
	z-index: 0;
}


#fes_program {
	background: #e6e6e6;
}

#fes_program section {
}

#fes_program .fes_st {
	margin-top:30px;
	color:#000;
	border-top:5px double #000;
	border-bottom:5px double #000;
}


.fes_d {
	overflow:hidden;
	padding: 30px;
}

.fes_img {
	float:left;
	width:340px;
	margin-top:10px;
}

.fes_txt {
	float:right;
	width:470px;
	text-align:left;
	margin-top:10px;
}

.fes_txt_st01 {
	font-size:20px;
	font-weight:bold;
	border-bottom:1px solid #000;
	padding-bottom:5px;
}

.fes_txt_detail {
	padding:10px 0 20px;
}

.fes_txt_st02 {
	font-size:20px;
	font-weight:bold;
	padding-bottom:5px;
}

.fes_act {
	background:#000;
	text-align:center;
	padding:15px 10px 5px;
}

.fes_act_box {
	color:#fff;
	line-height:1.1;
	display:inline-block;
	margin:0 2px 10px;
	vertical-align:top;
	width:105px;
}

.fes_act_box img {
	width:100%;
	margin-bottom:3px;
}

.fes_act_box p {
}

.fes_act_box p span {
	font-size:12px;
}

.fes_btn {
	text-align:center;
}

.fes_btn img {
	margin-top:15px;
	margin-right:5px;
}

.fes_att {
	font-size:12px;
	padding-bottom:20px;
}

.fes_txt_ending {
	text-align:center;
	font-size:24px;
	font-weight:bold;
	padding:40px 20px 30px;
}

.fes_txt_ending img {
	margin:10px 3px 0;
}

.fes_tsuika {
	margin-top:30px;
}




@media screen and (max-width: 1000px){

.dispPc {
	display:none;
}

.dispSp {
	display:block;
}

#loading ul.loading_ill {
	flex-wrap: wrap;
	margin-left: -5%;
}

#loading ul.loading_ill li {
	width: 50%;
	margin: 0 -13%;
}

#loading ul.loading_ill li:last-child {
	display: none;
}

#loading ul.loading_ill li img {
	height: 45vh;
}

header {
	height: 20px;
}

header .header_logo {
	width: 25%;
	margin-left: -15%;
}

header ul {
	display: none;
}

section#open_container {
	padding-top: 50px;
}


.top_visual {
}

.top_date {
	width: 90%;
	bottom: 10px;
}

img {
	max-width:100%;
}

.rubybox {
	display:inline;
	padding-top:0;
}

section {
	width:90%;
	border-radius: 40px;
	margin-bottom: 100px;
}


section p.txt_n {
	font-size:16px;
	padding:10px 10px;
}

section p.txt_s {
	font-size:16px;
	padding:10px 10px;
	line-height:1.4;
}

.fes_content {
	width: 100%;
	padding-bottom: 20px;
}

.fes_content .icon {
	margin-top: -62px;
}

#fes_c01 {
	border-radius: 0 0 40px 40px;
}

#fes_timetable a,
#fes_timetable span {
	background: #fff;
}

#fes_timetable a img,
#fes_timetable span img {
	width: 94%;
}

#fes_timetable a:hover {
	background: #fff;
}

.index_c {
	margin-top:0;
	padding:0 0 20px 0;
}


#sns_btn {
	position:relative;
	top:10px;
	right:0;
}

.pagetop {
	width:10%;
}




.txt_c_name {
	float:left;
	margin:10px;
	max-width:20%;
}

section p.txt_c {
	text-align:left;
	font-size:14px;
	font-weight:normal;
	padding:10px 15px 20px;
	margin-left:0;
	line-height:1.7;
}


#fes2026 section {
	width:100%;
	padding-bottom:30px;
}


#fes2026 section#fes_main {
	padding-bottom:0;
}

#fes2026 section p.txt_n {
	padding:10px;
}

#fes2026 section p.txt_s {
	padding:10px 20px;
	text-align:left;
}

#fes2026 section p.txt_ss {
	padding:10px 20px;
	text-align:left;
	font-size:12px;
}

.fes_st2 {
	font-size:28px;
}

.fes_sst {
	margin:10px 0 10px;
	padding:10px 10px 10px 50px;
	font-size:20px;
}

.fes_sst span.sub {
	font-size:16px;
}

.fes_img {
	float:none;
	width:100%;
	margin-bottom:10px;
}

.fes_txt {
	float:none;
	width:90%;
	margin:0 5%;
}

.fes_act_box {
	width:40%;
}

.fes_act_box img {
	width:100%;
}

.fes_mc_txt {
}

.fes_mc_about {
	margin:10px 0;
}

.fes_mc {
	padding:40px 20px 0;
}

.fes_mc img {
	margin: 0 0 20px;
}

.fes_mc_img {
	width:90%;
	float:none;
	margin:0 5%;
	padding:10px 0 0;
}

.fes_btn {
	margin-top:10px;
}

.fes_btn img {
	margin-top:5px;
	margin-right:5px;
}

.fes_d {
	overflow:hidden;
	margin-bottom:0px;
	padding: 30px 0;
}

.fes_tsuika {
	margin-top:0;
}


.danmachi_block {
	margin: 20px 0 0;
	text-align: center;
}

.danmachi_image {
	float:none;
	margin-right: 0;
	margin-bottom: 15px;
}

.danmachi_title {
	margin-left: 0;
	width: 90%;
}



.hamburger-menu {
	display: block;
}

.menu-btn {
	position: absolute;
	top: 0;
	right: 20px;
	display: flex;
	height: 40px;
	width: 40px;
	justify-content: center;
	align-items: center;
	z-index: 90;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
	content: '';
	display: block;
	height: 2px;
	width: 22px;
	border-radius: 3px;
	background-color: #ffffff;
	position: absolute;
	transition: all 0.2s 0s ease;
}
.menu-btn span:before {
	bottom: 6px;
}
.menu-btn span:after {
	top: 6px;
}


#menu-btn-check:checked ~ .menu-btn span {
	background-color: rgba(255, 255, 255, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before {
	bottom: 0;
	transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
	top: 0;
	transform: rotate(-45deg);
}

#menu-btn-check {
	display: none;
}

#menu {
	display: block;
	position: fixed;
	margin-top: 0;
	top: 100%;
	left: 0;
	width: 100%;
	height: 100%;
	background: #cfad63;
	padding-top: 30px;
	overflow: auto;
	transition: all 0.5s 0s ease;
	border-radius: 0;
}

header #menu ul {
	display: block;
	margin: 0;
	border-top: 1px solid #fff;
}

header #menu ul li {
	padding: 10px 0;
	border-bottom: 1px solid #fff;
}

header #menu ul li:last-child {
	margin-left: 0;
}

#menu-btn-check:checked ~ #menu {
	top: 40px;
}


}



