@charset "UTF-8";
/* CSS Document */


@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Antique&family=Shippori+Mincho&family=Zen+Kaku+Gothic+Antique&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Zen+Old+Mincho&display=swap');


img {
	max-width:100%;
	height:auto;
}

.zeka-anq {
  font-family: "Zen Kaku Gothic Antique", sans-serif;
}



/* -----------------------------------------------------------------------
## Reset #################################################################
----------------------------------------------------------------------- */
html,body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,img,
pre,form,fieldset,input,textarea,p,blockquote,th,td {
  margin: 0px;
  padding: 0px;
}

body {
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    font-smoothing: antialiased;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -moz-font-smoothing: antialiased;
    -moz-text-size-adjust: 100%;
    -ms-font-smoothing: antialiased;
    -ms-text-size-adjust: 100%;
    -o-font-smoothing: antialiased;
    -o-text-size-adjust: 100%;
    background-color: #415845;
    color: #001E00;
    font-style: normal;
    font-weight: 400;
    line-height: 1;
    font-family: "Zen Kaku Gothic New", sans-serif;
    letter-spacing: initial;
    overflow-wrap: break-word;
}


fieldset,img {
  border: 0;
  vertical-align: bottom;
}

address,caption,cite,code,dfn,rem,var {
  font-style: normal;
  font-weight: normal;
}
ul {
  list-style: none;
}
ol li {
	list-style-position: outside;
	list-style: decimal;
	margin-left: 25px;
	margin-bottom:5px;
}

caption,th {
  text-align: left;
  font-weight: normal;
}
h1,h2,h3,h4,h5,h6 {
  font-size: 100%;
  font-weight: normal;
}

h3 {
    width: 100%;
    margin: 0 auto;
    padding: 15px 0;
    font-size: 2.0rem;
    font-weight: bold;
}

a{
	color: #333333;
	text-decoration:none;
}
sup,sub {
    height: 0;
    line-height: 1;
    vertical-align: baseline;
    position: relative;
     
}
sup {
    bottom: 0.6ex;
}
sub {
    top: .5ex;
}
.alpha{
	display:block;
	text-decoration:none;
	opacity: 1;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}
.alpha:hover{
	opacity: 0.7;
}


.clearfix:after {
    content:" ";
    display:block;
    clear:both;
}

.ma_b5 {margin-bottom: 5px;}
.ma_b10 {margin-bottom: 10px;}
.ma_b15 {margin-bottom: 15px;}
.ma_b20 {margin-bottom: 20px;}
.ma_b21 {margin-bottom: 21px;}
.ma_b25 {margin-bottom: 25px;}
.ma_b30 {margin-bottom: 30px;}
table, tr, th, td {
    border-collapse: collapse;
	text-align:left;
	font-weight:normal;
	vertical-align:top;
}
.lett {letter-spacing: -0.1rem;}

.pc {display:block!important;}
.sp {display:none!important;}

/*---- FOR SP ----*/
@media only screen and (max-width: 768px){
body {

}

.pc {display:none !important;}
.sp {display:block!important;}
.img100 {width:100%; height:auto;}
.img90 {width:90%; height:auto;}
.img80 {width:80%; height:auto;}
.img70 {width:70%; height:auto;}
}
.re { position:relative;}

p {
	font-size: 1.32rem;
	line-height: 2.0;
}


a:hover {
	opacity: 0.6;
}

/****************************************

ly_bg

*****************************************/


.ly_bg {
    width: 100%;
    height: 100%;
	background-image: url("../img/back_bsmboo.png");
	background-attachment: fixed;
	background-repeat: repeat-y;
	background-position: top center;
	background-size: cover;
}

/******************************
ly_left
******************************/

.ly_left {
    display: grid;
    position: fixed;
    top: 0;
    left: 0;
    place-items: center;
    width: calc(50% - 16.25rem);
    height: 100lvh;
}

.ly_left .pc_logo {
	width: 280px;
	max-width: 100%;
	margin: -50vh auto 0;
	padding-left: 40px;
}

.ly_left .pc_logo h1 {
	margin: 100px auto 40px;
}


.ly_left .ly_left_inner {
	position: relative;
	width: 100%;
	top: 0;
	left: 0;
}

.ly_left .ly_left_inner .back_left {
	position: absolute;
	top: 5vh;
	left: 0;
	width: 30px;
}

.ly_left .ly_left_inner .left_img01 {
	position: absolute;
	top: -5vh;
	left: 4vw;
	width: 60px;
}

.ly_left .ly_left_inner .left_img02 {
	position: absolute;
	top: 20vh;
	left: 16%;
	width: 60px;
}

.ly_left .ly_left_inner .left_img03 {
	position: absolute;
	top: 50vh;
	left: 4vw;
	width: 60px;
}

.ly_left .ly_left_inner .back_bottom {
	position: absolute;
	top: -50px;
	left: 0;
	width: 100%;
}


/******************************
ly_right
******************************/

.ly_right {
    display: grid;
    position: fixed;
    top: 0;
    right: 0;
    place-items: center;
    width: calc(50% - 16.25rem);
    height: 100lvh;
}


.ly_right .right_menu {
	color: #fff;
	width: 340px;
	margin: 10vh auto;
	padding-left: 10px;
	z-index: 1;
}

.ly_right .right_menu p {
	padding: 5px 0 2px;
	font-size: 1.2rem;
	font-weight: 500;
}

.ly_right .right_menu ul {
	font-size: 1.0rem;
	padding-left: 30px;
	line-height: 1.6;
	font-weight: 400;
}


.ly_right .right_menu a {
	color: #fff;
	margin: auto;
}



.ly_right .ly_right_links {
	width: 280px;
	max-width: 100%;
	margin: auto;
	padding: 20px 0 10px;
	text-align: center;
}
.ly_right .ly_right_links1 {
	width: 280px;
	max-width: 90%;
	margin: 20px auto 0px;
	padding: 0;
	text-align: center;
}
.ly_right .ly_right_links2 {
	width: 16vw;
	margin: auto;
	padding: 20px 0 10px;
	text-align: center;
}

.ly_right p.right_txt {
	margin: auto;
	padding: 10px 20px 5px 0; 
	text-align: center;
	font-size: 1.1rem;
	line-height: 1.4;
	font-weight: 500;
} 



.ly_right .ly_right_inner {
	position: relative;
	width: 100%;
	bottom: 0;
	right: 0;
}

.ly_right .ly_right_inner .back_right {
	position: absolute;
	top: 25vh;
	right: 0;
	width: 30px;
	z-index: 0;
}

.ly_right .ly_right_inner .right_img01 {
	position: absolute;
	top: 15vh;
	right: 3vw;
	width: 60px;
	z-index: 0;
}

.ly_right .ly_right_inner .right_img02 {
	position: absolute;
	top: 40vh;
	right: 5vw;
	width: 60px;
	z-index: 0;
}

.ly_right .ly_right_inner .right_img03 {
	position: absolute;
	top: 65vh;
	right: 3vw;
	width: 60px;
	z-index: 0;
}

.ly_right .ly_right_inner .back_bottom {
	position: absolute;
	top: -50px;
	left: 0;
	width: 100%;
}

@media screen and (max-width: 768px) {
    .ly_left, .ly_right {
        display: none;
    }
}

/******************************
ly_wrapper
******************************/

.ly_wrapper {
    display: block;
    z-index: 0;
    position: relative;
    width: 32.5em;
    margin: 0 auto;
	padding: 0;
    background-color: #fff;
}

@media screen and (max-width: 768px) {
    .ly_wrapper {
        width: 100%;
		max-width: 100%;
		box-shadow: none;
    }
}

.ly_wrapper.is_hidden {
    overflow: hidden;
}



/******************************
main
******************************/

main.ly_main {
	width: 100%;
}

@media screen and (max-width: 768px) {
    main.ly_main {
        width: 100%;
		max-width: 100%;
    }
}

main h2 {
	width: 100%;
}

main .main_img {
	margin: 0;
	padding: 20px;
}


/******************************
header
******************************/

header {
  z-index: 9999;
  position: fixed;
  top: 0;
  left: 50%;
  padding: 0;
  transform: translateX(-50%);
  width: 32.5rem;
}

@media screen and (max-width: 768px) {
  header {
    width: 100%;
  }
}

.header__inner {
  display: flex;
  justify-content: flex-end; /* 右寄せでアイコンを配置 */
  align-items: center;
  padding: 0 1rem;
  z-index: 10000; /* header__navより高い */
  color: #fff;
}

.header__icons {
  display: flex;
  align-items: center;
  z-index: 10000; /* header__navより高い */
}

.insta_logo {
  width: 40px;
  height: 40px;
  margin: 10px 5px 10px 10px; /* ハンバーガーの左に5px間隔 */
  position: relative; /* spanのabsolute基準 */
  z-index: 10001; /* header__navより高い */
}

@media screen and (max-width: 768px) {
  .insta_logo {
    width: 30px;
    height: 30px;
    margin: 10px 5px 10px 10px;
  }
}

.insta_logo span {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease;
}

.insta_logo span img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.insta_logo span:nth-child(1) {
  opacity: 1;
}

.insta_logo span:nth-child(2) {
  opacity: 0;
}

.insta_logo.active span:nth-child(1) {
  opacity: 0;
}

.insta_logo.active span:nth-child(2) {
  opacity: 1;
}

/* ナビゲーション */
.header__nav {
  position: fixed;
  right: 0;
  top: 0;
  width: 80%; /* PCでは幅を狭く */
  height: 100vh;
  background-color: #001E00;
  transform: translateX(500%); /* デフォルトで遠くに隠す */
  transition: transform 0.4s ease-in-out;
  z-index: 10; /* insta_logoより低い */
}

@media screen and (max-width: 768px) {
  .header__nav {
    width: 100%; /* モバイルでは幅を広めに */
  }
}

.header__nav.active {
  transform: translateX(0); /* クリックで表示 */
}

.nav__items {
  margin: 60px 0 0 20px;
  padding: 0;
  width: 100%;
}

.nav-items__item {
  padding: 15px 20px;
}

.nav-items__item a {
  color: #fff;
  display: block;
  text-align: left;
  font-size: 1.2rem;
  font-weight: 500;
  text-decoration: none;
}

.nav-items__item.txton a {
  color: #fff;
  display: block;
  text-align: left;
  font-size: 1.0rem;
  font-weight: 400;
  text-decoration: none;
}

.nav-items__item a:hover {
  opacity: 0.7;
}

.ly_main .ly_main_links1 {
	width: 60%;
	margin: 20px auto 10px;
	padding: 0;
	text-align: center;
}

.ly_main .ly_main_links2 {
	width: 60%;
	margin: auto;
	padding: 30px 0 10px;
	text-align: center;
}

.ly_main p.ly_main_txt {
	margin: auto;
	padding: 24px 20px 0px; 
	text-align: center;
	font-size: 1.0rem;
	line-height: 1.4;
	font-weight: 500;
} 



@media screen and (max-width: 768px) {
  .nav-items__item {
    padding: 10px 15px;
  }
  .nav-items__item a {
    font-size: 1rem;
  }
  .nav__items .txton {
    padding-left: 40px;
  }
  .nav__items .item2 {
    padding-top: 20px;
  }
}

/* ハンバーガーメニュー */
.header__hamburger {
  background-color: transparent;
  border: none;
  cursor: pointer;
  z-index: 10001; /* header__navより高い */
  width: 160px; /* PCで160px */
  height: 60px;
  padding: 0;
  position: relative;
  margin: 10px;
}

@media screen and (min-width: 769px) {
  .header__hamburger {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .header__hamburger {
    width: 100px; /* モバイルで80px */
    height: 40px;
  }
}

.hamburger span {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.3s ease;
}

.hamburger span img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hamburger span:nth-child(1) {
  opacity: 1;
}

.hamburger span:nth-child(2) {
  opacity: 0;
}

.hamburger.active span:nth-child(1) {
  opacity: 0;
}

.hamburger.active span:nth-child(2) {
  opacity: 1;
}


/****************************************
mv
*****************************************/

#mv {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	background-color: #F1F1ED;
}


/****************************************
request
*****************************************/

#request {
	width: 32.5rem;
	max-width: 100%;
	margin: -50px auto 0;
	padding: 0;
	text-align: center;
	background-color: #F1F1ED;
}

#request ul {
	width: 50%;
	max-width: 100%;
	margin: -50px -20% 0 50%;
	padding: 0;
	text-align: right;
	overflow: hidden
}

#request ul li {
	width: 100%;
	max-width: 100%;
	margin: 10px 0;
	padding: 0;
	text-align: right;
	overflow: hidden
}

/****************************************
lastmessage
*****************************************/

#lastmessage {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	padding: 0;
	text-align: center;
	background-color: #F1F1ED;
	color: #F73B42;
	font-size: 1.80rem;
	text-align: center;
	font-weight: 600;
	line-height: 1.4;
}





/****************************************
news
*****************************************/

#news {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	padding: 60px 0 0;
	text-align: center;
	position: relative;
	z-index: 10;
	background-color: #F1F1ED;
}

#news .slide {
	background-color: #F1F1ED;
}

#news ul {
	background-color: #F1F1ED;
}

#news ul.slider-2 {
	background-color: #F1F1ED;
}

#news .slick-dotted.slick-slider {
	background-color: #F1F1ED;
}


@media screen and (max-width: 768px) {
	#news {
		margin: 0 auto 0;
	}
  }

#news h3 {
	width: 94px;
	max-width: 100%;
	margin: auto;
	padding: 0 1% 1% 0;
	text-align: center;
	color: #001E00;
	font-size: 38px;
	line-height: 1.4;
	font-weight: 500;
}

#news .end {
	width: 780px;
	max-width: 90%;
	margin: 0 auto 50px;
	padding: 0 10px;
	background: #fff;
	border-bottom: #CCD2CC solid 4px;
	background-position: 50% 0%;
	z-index: 10;
}
#news .end p {
	height: auto;
	margin: auto;
	padding: 20px 0;
	background-color: #fff;
	background-position: 50% 0%;
	color: crimson;
	font-size: 1.36rem;
	font-weight: bold;
	z-index: 10;
}

@media screen and (max-width: 768px) {
	#news .end p {
		height: auto;
		margin: auto;
		padding: 20px 0px 20px;
		background-color: #fff;
		background-position: -10%;
		font-size: 1.36rem;
		font-weight: bold;
	}
  }



.slider {
	width: 1080px;
	max-width: 100%;
	margin: 0 auto 80px;
  }

.slider-2 .slick-slide {
	width: 320px;
	height: 136px;
	margin: 10px 20px 0;
	padding: 20px 30px;
	background-color: #fff;
	border-bottom: #CCD2CC solid 4px;
	position: relative;
	overflow: hidden;
  }
  .slider-2 .slick-slide p {
	display: block;
	width: 100%;
	height: 80%;
	text-align: left;
	font-size: 12px;
	color: #001E00;
  }
  .slider-2 .slick-slide p span {
	font-size: 15px;
	font-family: "Shippori Antique", sans-serif;
	color: #001E00;
  }
  .slider-2 .slick-slide p a {
	text-decoration: underline;
	color: #001E00;
  }

  .slider-2 .slick-arrow {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	cursor: pointer;
	border: none;
	outline: none;
	font-size: 0;
	position: absolute;
	top: 70px;
	z-index: 1;
  }
  .slider-2 .slick-arrow::before {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	border: 1px solid #FF9633;
	border-width: 3px 3px 0 0;
	position: absolute;
	top: 24px;
	transform: rotate(45deg);
  }
  .slider-2 .slick-next {
	right: 0;
  }
  .slider-2 .slick-prev {
	left: 0;
  }
  .slider-2 .slick-next::before {
	left: 20px;
  }
  .slider-2 .slick-prev::before {
	border-width: 0 0 3px 3px;
	right: 22px;
  }
  .dots-2 .slick-dots {
	text-align: center;
	position: relative;
	bottom: 10px;
  }
  .dots-2 .slick-dots li {
	display: inline-block;
  }
  .dots-2 .slick-dots button {
	display: block;
	width: 8px;
	height: 8px;
	margin: 6px;
	font-size: 0;
	padding: 0;
	border: 0;
	outline: none;
	cursor: pointer;
	background: #bcbcbc;
	border-radius: 50%;
  }
  .dots-2 .slick-dots .slick-active button {
	background: #738373;
  }

#news .fes {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 40px 0;
	text-align: center;
}

/****************************************
whats
*****************************************/

#whats {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

#whats .whats_inner {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
	background-color: #F1F1ED;
}

#whats .icon_maze {
	width: 110px;
	margin: 10% auto 0;
	padding: 1% 0 2%;
}

#whats h2 {
	line-height: 1.4;
	font-size: 2.8rem;
	margin: 20px 0;
	font-weight: 900;
}

#whats h3 {
	line-height: 1.4;
	font-size: 1.8rem;
	margin: 20px 0;
	font-weight: 900;
}

#whats h3 span {
	background:linear-gradient(transparent 70%, #FFF400 70%);
}

#whats p {
	padding: 10px 0 10px 30px;
	text-align: left;
	font-size: 1.16rem;
	font-weight: 500;
}

#whats .whats_img {
	width: 80%;
	max-width: 100%;
	margin: 0 10%;
	padding: 40px 10px;
	text-align: center;
}



/****************************************
event
*****************************************/

#event {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	text-align: center;
	padding: 0;
}

#event .icon_maze {
	width: 110px;
	margin: 10% auto 0;
	padding: 1% 0 2%;
}

#event h3 {
	font-weight: 900;
	text-align: center;
	line-height: 1.6;
	margin-bottom: 30px;
}

#event h3 span {
	line-height: 1.0;
	font-size: 1.96rem;
	background:linear-gradient(transparent 70%, #FFF400 70%);
	font-weight: 900;
}

#event .event_inner {
	padding: 10px 20px;
	margin: auto;
	text-align: center;
}

#event .event_inner .event_info {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 10;
	margin: auto;
	text-align: center;
}

#event .event_inner .event_info h4 {
	width: 55%;
	margin: auto;
	padding: 70px 20px 30px;
	text-align: center;
}

@media screen and (max-width: 768px) {
	#event .event_inner .event_info h4 {
	width: 60%;
	margin: auto;
	padding: 40px 10px 20px;
	text-align: center;
}
}



#event .event_inner p {
	margin: 5px auto 5px;
	padding: 0px;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 400;
}
@media screen and (max-width: 768px) {
	#event .event_inner p {
	margin: 5px auto 0px;
	padding: 0px;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 400;
}
}

#event h5.day_txt {
	margin: 0px auto 0;
	padding: 1% 12% 0;
	line-height: 1.4;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
}

#event h5.event_txt {
	margin: 0px auto 0;
	padding: 1% 12% 0;
	line-height: 1.4;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: left;
}

#event h5.event_red {
	margin: 0px auto 0;
	padding: 1% 12% 0;
	line-height: 1.4;
	font-size: 1.4rem;
	font-weight: 500;
	color: #F73B42;
	text-align: left;
}


#event h5.event_txt span {
	font-size: 24pt;
	line-height: 1.3;
	font-weight: 500;
}

#event .event_inner p.komeyotei {
	margin: 0px auto 5px;
	padding: 1% 12%;
	font-size: 1.0rem;
	text-align: center;
	font-weight: 400;
}

#event .event_inner p.coyotei {
	margin: 0px auto 5px;
	padding: 1% 12%;
	font-size: 10pt;
	text-align: left;
	font-weight: 400;
	line-height: 1.0;
}

#event .event_inner p.yotei {
	margin: 0px auto 5px;
	padding: 1% 12%;
	font-size: 1.1rem;
	text-align: left;
	font-weight: 400;
	line-height: 1.2;
}

#event .thr {
	width: 52%;
	margin: 8px auto 4px;
	padding: 1% 12%;
	border-top: #000 1px solid;


}



@media screen and (max-width: 768px) {
	#event h5.event_txt {
	margin: 0px auto 0;
	padding: 1% 12% 0;
	line-height: 1.4;
	font-size: 1.3rem;
	font-weight: 500;
	text-align: left;
}

#event .event_inner p.yotei {
	margin: 0px auto 5px;
	padding: 1% 12%;
	font-size: 1.0rem;
	line-height: 1.24;
	text-align: left;
	font-weight: 400;
}
	#event .event_inner p.address {
	margin: 0px auto 0;
	padding: 5px 0 0px;
	font-size: 0.9rem;
	text-align: center;
	font-weight: 400;
}
}

@media screen and (max-width: 375px) {
	#event h5.event_txt {
	margin: 0px auto 0;
	padding: 1% 11% 0;
	line-height: 1.4;
	font-size: 1.20rem;
	font-weight: 500;
	text-align: left;
}

	#event .event_inner p.yotei {
	margin: 0px auto 5px;
	padding: 1% 11%;
	font-size: 0.86rem;
	line-height: 1.20;
	text-align: left;
	font-weight: 400;
}
}

#event .workshop_inner {
	padding: 10px 30px;
}

#event .workshop_title {
	width: 70%;
	padding: 20px 0;
	margin: auto;
}

#event .workshop_inner h3 {
	font-weight: 900;
}

#event h3 span {
	margin-bottom: 60px;
	background:linear-gradient(transparent 70%, #FFF400 70%);
}

a.maps {
   background-image: url("../img/maps.png");
   background-repeat: no-repeat;
   background-position: right center;
   padding-right: 20px;
   margin-right: 3px;
   font-size: 0.9rem;
   text-decoration: underline;
}


#event .workshop_inner p {
	margin: 10px auto 20px;
	padding: 10px 60px 5px;
	font-size: 1.00rem;
	text-align: left;
	font-weight: 500;
}

@media screen and (max-width: 768px) {
	#event .workshop_inner p {
	margin: 10px auto 20px;
	padding: 10px 20px 5px;
	font-size: 1.00rem;
	text-align: left;
	font-weight: 500;
}
}

#event .workshop {
	width: 100%;
	height: 25vh;
	margin: 140px auto 100px;
	padding: 0;

	display: flex;
	justify-content: center;
	align-items: center;
}

#event .workshop p {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 10;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	text-decoration: underline;
}

#event .workshop .workshop_next {
	width: 100%;
	margin: 0 auto;
	padding: 0;
	z-index: 1;
}

#event .explan {
	width: 74%;
	margin: 40px auto;
	padding: 40px 0 0;
}

#event .explan p {
	margin: auto;
	color: #FC4C5A;
	text-align: center;
}


/****************************************
booth
*****************************************/


#booth {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	text-align: center;
	padding: 0;
}

#booth .icon_maze {
	width: 110px;
	margin: 10% auto 0;
	padding: 1% 0 2%;
}

#booth h3 {
	width: 70%;
	font-weight: 900;
	text-align: center;
	line-height: 1.6;
	margin-bottom: 30px;
}

#booth h3 span {
	line-height: 1.0;
	font-size: 1.96rem;
	background:linear-gradient(transparent 70%, #FFF400 70%);
	font-weight: 900;
}

#booth .booth_inner {
	padding: 10px 20px;
	margin: auto;
	text-align: center;
}


#booth .booth_inner p.yotei {
	margin: 0px auto 25px;
	padding: 1% 12%;
	font-size: 1.0rem;
	text-align: left;
	font-weight: 500;
}
.tab-inner {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
  margin: auto;
  position: relative;
}

.tab-inner > label {
  flex: 1;
  max-width: 90%;
  padding: 0.7em 1em 0.5em;
  text-align: center;
  cursor: pointer;
  color: #999;
  font-weight: 600;
  font-size: 0.9em;
  position: relative;
}

.tab-inner > label:hover {
  opacity: 0.8;
}

.tab-inner input {
  display: none;
}

.tab-inner > div.tab_content {
  display: none;
  width: 100%;
  padding: 8% 2%;
  background-color: #F1F1ED;
  order: 999;
}

/* チェックされたタブのスタイル */
.tab-inner input:checked + img {
  opacity: 1; /* 必要に応じて画像の強調 */
}

.tab-inner label:has(input:checked) {
  color: inherit;
  border-bottom: 4px solid transparent;
  position: relative;
  z-index: 1;
}

/* 各タブのアクティブカラー */
#booth .tab-inner label:nth-child(1):has(input:checked) { /* フード */
  color: #FF9633;
  border-bottom-color: #FF9633;
}
#booth .tab-inner label:nth-child(3):has(input:checked) { /* アクティビティ */
  color: #66CE32;
  border-bottom-color: #66CE32;
}
#booth .tab-inner label:nth-child(5):has(input:checked) { /* アート */
  color: #1C905F;
  border-bottom-color: #1C905F;
}
#booth .tab-inner label:nth-child(7):has(input:checked) { /* ステージ */
  color: #89A6E6;
  border-bottom-color: #89A6E6;
}

/* アクティブなタブの次のコンテンツを表示 */
.tab-inner label:has(input:checked) + .tab_content {
  display: block;
}

/* タブ間の縦線 */
.tab-inner > label:not(:last-of-type)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 30px;
  background-color: #000;
}

#booth .tab_content ul {
	width: 90%;
	margin: auto;
	
}

#booth .tab_content ul li {
	background-color: #fff;
	border-radius: 5px;
	box-shadow: 0 0 8px gray;
	margin: 30px auto;
	padding: 20px 15px 10px;
}

#booth .tab_content ul li.noshadow {
	background-color: #fff;
	border-radius: 5px;
	box-shadow: none;
	margin: 30px auto;
	padding: 20px 15px 10px;
}

#booth .tab_content ul h5 {
	min-width: 3em;
	text-align: left;
	padding-top: 0.2rem;
}

#booth .tab_content ul h5 p {
	display: inline-block;
	padding: 0em 1em;
	border: #000 1px solid;
	border-radius: 20px;
	font-size: 1.0rem;
	margin-right: 10px;
}

#booth .tab_content ul dl {
	display: flex;
	margin: 10px auto;
}


#booth .tab_content ul dl dt {
	width: 40%;
}


#booth .tab_content ul dl dd {
	width: 58%;
	padding-left: 2%;
	font-family: "Shippori Antique", sans-serif;
	text-align: left;
}

body #booth .tab_content ul dd p {
	font-family: "Shippori Antique", sans-serif;
	text-align: left;
	font-size: 1.2rem;
	line-height: 1.3;
	font-weight: 400;
}

#booth .tab_content ul dl dd div {
	width: 98%;
	text-align: right;
	padding-top: 1em;
}

#booth .tab_content ul dl dd div img {
	width: 36px;
	text-align: right;
}

#booth .tab_content ul dl dd .colabo {
	width: 98%;
	text-align: left;
	padding-top: 0.6em;
	font-size: 1.06rem;
	line-height: 1.2;
	color: #666;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 400;
}

#booth .booth_cate {
	display: flex;
	align-content:center;
	line-height: 1.4;
}

#booth .booth_cate p {
	line-height: 1.4;
}

#booth .foody {
	color: #FF9633;
}


#booth .acty {
	color: #84D35B;
}


#booth .arty {
	color: #1C905F;
}


#booth .stagy {
	color: #89A6E6;
}



/****************************************
booth-eve
*****************************************/


#booth-eve .mv {
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

#booth-eve .info {
	width: 84%;
	margin: 5% auto;
}

#booth-eve .info h4 {
	min-width: 3em;
	text-align: left;
}

#booth-eve .info h4 p {
	display: inline-block;
	padding: 0em 1em;
	border: #000 1px solid;
	border-radius: 20px;
	font-size: 1.0rem;
	text-align: left;
}

#booth-eve .info h5 {
	display: inline-block;
	padding: 2% 0;
	font-size: 1.8rem;
	font-family: "Shippori Antique", sans-serif;
	text-align: left;
	line-height: 1.5;
	font-weight: 400;
}


#booth-eve .info .photo-img {
	margin: 6% auto;
}

#booth-eve .info .event-cotion {
	text-align: left;
	font-size: 1.1rem;
	padding-top: 10px;
	padding-bottom: 20px;
}

#booth-eve .info .detail {
	margin: 6% auto 10%;
	text-align: left;
	font-size: 1.16rem;
	font-weight: 500;
}

#booth-eve .info .point {
	width: 98%;
	margin-right: 2%;
	padding: 20px 0 0;
}


#booth-eve .info .colab {
	margin: 6% auto 10%;
	text-align: left;
	font-size: 1.24rem;
	font-weight: 700;
}

#booth-eve .info .menu {
	border-radius: 20px 0px 0px 20px; 
	background-color: #FEF5EC;
	margin: 50px -10% 50px 0;
	padding: 10px 30px;
}

#booth-eve .info .menu p.menu_title {
	padding: 5px 0 10px;
	font-size: 1.4rem;
	font-weight: 700;
}

#booth-eve .info .menu p {
	padding: 5px 0 20px;
	font-size: 1.1rem;
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	#booth-eve .info .detail {
	margin: 6% auto 10%;
	text-align: left;
	font-size: 1.0rem;
	font-weight: 500;
}

#booth-eve .info .colab {
	margin: 6% auto 10%;
	text-align: left;
	font-size: 1.04rem;
	font-weight: 700;
}

#booth-eve .info .menu {
	border-radius: 20px 0px 0px 20px; 
	background-color: #FEF5EC;
	margin: 50px -10% 50px 0;
	padding: 10px 30px;
}

#booth-eve .info .menu p.menu_title {
	padding: 5px 0 10px;
	font-size: 1.2rem;
	font-weight: 700;
}

#booth-eve .info .menu p {
	padding: 5px 0 20px;
	font-size: 1.0rem;
	line-height: 1.4;
}
}

#booth-eve .info .link {
	width: 90%;
	margin: 60px auto 20px;
	text-align: left;
}

#booth-eve .info .link h6  {
		font-size: 1.10rem;
		font-weight: 500;
		padding-bottom: 5px;
    }



#booth-eve .link li {
	width: 100%;
	margin: auto;
	padding: 10px 0 6px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	border-bottom: #333 1px dotted;
}
#booth-eve .link li p {
	font-size: 1.10rem;
}
#booth-eve .link li span img {
	width: 20px;
	height: 20px;
}
#booth-eve .link li a {
	width: 100%;
}



#booth-eve .booth_faq {
	width: 80%;
	margin: 50px auto 80px;
	text-align: center;
	padding: 0.4em 1em;
	border: #FF9633 3px solid;
	border-radius: 20px;
	font-size: 1.3rem;
	font-weight: 500;

}

@media screen and (max-width: 768px) {
	#booth-eve .booth_faq {
	width: 80%;
	margin: 50px auto 80px;
	text-align: center;
	padding: 0.8em 1em;
	border: #FF9633 3px solid;
	border-radius: 24px;
	font-size: 1.0rem;
	font-weight: 500;

}
}

#booth-eve .foody {
	color: #FF9633;
}
#booth-eve .foody-border {
	border: #FF9633 3px solid;
}

#booth-eve .acty {
	color: #84D35B;
}
#booth-eve .acty-border {
	border: #84D35B 3px solid;
}

#booth-eve .arty {
	color: #1C905F;
}
#booth-eve .arty-border {
	border: #1C905F 3px solid;
}

#booth-eve .stagy {
	color: #89A6E6;
}
#booth-eve .stagy-border {
	border: #89A6E6 3px solid;
}

#booth-eve .booth_back {
	width: 80%;
	margin: auto;
	display: flex;
}

#booth-eve .booth_back dt {
	width: 16%;
	margin: auto;
	padding-right: 4%;
	display: flex;
}

#booth-eve .booth_back dd {
	width: 80%;
	margin: auto;
	display: flex;
}


@media screen and (max-width: 768px) {
	#booth-eve .booth_back {
	width: 90%;
	margin: auto;
	display: flex;
}
}


/****************************************
time
*****************************************/

#time {
	width: 100%;
	max-width: 100%;
	margin: 0% auto 0;
	text-align: center;
	padding: 0;
}

#time .icon_maze {
	width: 110px;
	margin: -30% auto 0;
	padding: 0;
	z-index: 10;
	position: absolute;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

#time .head {
	margin: 0 auto 0;
	padding: 20px 0 0;
	z-index: 10;
	background-color: #F1F1ED;
}

#time h3 {
	font-weight: 900;
	text-align: center;
	line-height: 1.6;
	margin-bottom: 30px;
}

#time h3 span {
	line-height: 1.0;
	font-size: 1.96rem;
	background:linear-gradient(transparent 70%, #FFF400 70%);
	font-weight: 900;
}

#time .time_inner {
	padding: 10px 20px;
	margin: auto;
	text-align: center;
	background-color: #DFEAE3;
}

#time .coming {
	width: 90%;
	margin: auto;
	padding: 0;
}

#time .zoom {
	width: 60%;
	margin: 8% auto;
	padding: 0;
}



/****************************************
kmap
*****************************************/

#kmap {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	text-align: center;
	padding: 0;
}

#kmap .icon_maze {
	width: 110px;
	margin: -10% auto 0;
	padding: 1% 0 2%;
}

#kmap h3 {
	font-weight: 900;
	text-align: center;
	line-height: 1.6;
	margin-bottom: 30px;
}

#kmap h3 span {
	line-height: 1.0;
	font-size: 1.96rem;
	background:linear-gradient(transparent 70%, #FFF400 70%);
	font-weight: 900;
}

#kmap .kmap_inner {
	padding: 10px 20px;
	margin: auto;
	text-align: center;
}


#kmap .coming {
	width: 90%;
	margin: auto;
	padding: 0;
}

#kmap .zoom {
	width: 60%;
	margin: 8% auto;
	padding: 0;
}



/****************************************
access
*****************************************/

#access {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	text-align: center;
	padding: 0;
}

#access .icon_maze {
	width: 110px;
	margin: -20% auto 0;
	padding: 1% 0 2%;
}

#access h3 {
	font-weight: 900;
	text-align: center;
	line-height: 1.6;
	margin-bottom: 30px;
}

#access h3 span {
	line-height: 1.0;
	font-size: 1.96rem;
	background:linear-gradient(transparent 70%, #FFF400 70%);
	font-weight: 900;
}

#access .access_inner {
	padding: 10px 20px;
	margin: auto;
	text-align: center;
	background-color: #D3EBFB;
}

#access p {
	font-size: 1.2em;
	line-height: 1.5;
	padding: 1% 0 2%;
}

#access p.kaijo {
	font-size: 1.2em;
	line-height: 1.5;
	font-weight: 500;
}


#access .shu_bus {
	width: 60%;
	margin: 10% auto 2%;
	padding: 0;
}

#access .free_bus {
	width: 80%;
	margin: 5% auto 2%;
	padding: 0;
}



#access .coming {
	width: 90%;
	margin: 5% auto 1%;
	padding: 0;
}

#access .zoom {
	width: 60%;
	margin: 8% auto;
	padding: 0;
}

.accordion-001 {
    max-width: 90%;
	margin: 5% auto 1%;
}

.accordion-001:not([open]) {
    margin-bottom: 7px;
}

.accordion-001 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1.2em 2.4em;
    border-radius: 25px;
    background-color: #FF9633;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    content: '';
    transition: transform .3s;
}

.accordion-001[open] summary::after {
    transform: rotate(225deg);
}

.accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: 1em 2em 2em 2em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-001[open] p {
    transform: none;
    opacity: 1;
}

.accordion-001 div img {
    margin: 10px 0 30px;
}



/****************************************
gallery
*****************************************/

#gallery {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	padding: 0 ;
	text-align: center;
}

#gallery .gallery_inner {
	background-color: #D3EBFB;
	padding: 0 0 60px;
}

#gallery .icon_maze {
	width: 110px;
	margin: -16% auto 2%;
	padding: 1% 0 2%;
}

#gallery h3 {
	font-weight: 900;
}

#gallery p {
	margin: 50px auto 80px;
	font-size: 1.10rem;
	text-align: center;
	font-weight: 500;
}

.scroll-infinity__wrap {
	margin: 10px auto 0;
	display: flex;
	overflow: hidden;
	background-color: #D3EBFB;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
  background-color: #D3EBFB;
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 100s infinite linear 0.0s both;
  background-color: #D3EBFB;
}
.scroll-infinity__item {
  width: 50vw;
  background-color: #D3EBFB;
}
.scroll-infinity__item>img {
  width: 100%;
  height: 100%;
}


@media only screen and (max-width: 768px) {
	.scroll-infinity__item {
  width: 130vw;
  height: 140px;
  background-color: #D3EBFB;
}
.scroll-infinity__item>img {
  width: 100%;
  height: 100%;
}

}


.scroll-infinity__list--right{
  animation :infinity-scroll-right 110s infinite linear 0.0s both;
  background-color: #D3EBFB;
}


@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}


@keyframes infinity-scroll-right {
from {
  transform: translateX(-100%);
}
  to {
  transform: translateX(0%);
}
}

/****************************************
instagram
*****************************************/

#instagram {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	text-align: center;
	padding: 0;
}

#instagram .insta_inner {
	padding: 20px 10px;
 background-color: #F1F1ED;
}

#instagram .icon_maze {
	width: 110px;
	margin: 10% auto 0;
	padding: 1% 0 2%;
}

#instagram p {
	font-size: 1.1rem;
	padding: 2% 0 0;
	font-weight: 500;
}


#instagram ul.insta {
	width: 100%;
	max-width: 100%;
	margin: 40px auto 60px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#instagram ul.insta li {
	width: 45%;
	margin: 10px auto;
}

@media only screen and (max-width: 768px) {
	#instagram ul.insta li {
		width: 45%;
		margin: 2%;
	}
}


/****************************************
share
*****************************************/

#share {
	width: 100%;
	margin: auto;
}

#share h3 {
	width: 70%;
	margin: 80px auto 0;
	padding: 0 15%;
}

#share .share_inner {
	margin: auto;
	padding: 10px 50px;
}

#share p {
	margin: 50px auto 80px;
	font-size: 1.00rem;
	text-align: center;
	font-weight: 500;
}

#share ul {
	width: 100%;
	margin: 50px auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#share ul li {
	width: 20%;
}



/*** index2 ***/



/****************************************
membertxt
*****************************************/

#membertxt {
	width: 80%;
	margin: auto auto 60px;
}


/****************************************
movement
*****************************************/

#movement {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	text-align: center;
	padding: 0;
}

#movement h2 {
	font-size: 2.8rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.3;
	margin: 30px auto;
}

#movement h3 {
	width: 60%;
	margin: 80px auto 0;
	padding: 0 15%;
}

#movement p {
	margin: 50px auto 20px;
	padding-left: 30px;
	font-size: 1.06rem;
	text-align: left;
	font-weight: 500;
}

#movement .flex {
	width: 100%;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.6vw;
}


#movement .flex p {
	margin: 20px 0;
	padding: 0 5px 0 0;
	font-size: 0.89rem;
}

#movement .flex img {
	width: 36px;
	height: 36px;
}


/****************************************
overview
*****************************************/

#overview {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	text-align: center;
	padding: 0;
}

#overview .overview_inner {
	width: 100%;
	max-width: 100%;
	margin: 0;
	text-align: center;
	padding: 0;
	background-color: #D3EBFB;
}

#overview .misejimu {
	width: 90%;
	max-width: 100%;
	margin: 0 5% 0;
	text-align: center;
}

#overview p {
	margin: 50px auto 0;
	padding: 10px 30px;
	font-size: 1.06rem;
	text-align: left;
	font-weight: 500;
}

#overview .overview_img {
	width: 86%;
	max-width: 100%;
	margin: 10% 7% 0;
	text-align: center;
}

#overview p.annai {
	margin: 5px auto 0;
	padding: 10px 40px;
	text-align: center;
	font-weight: 500;
	color: #FC4C5A;
}

#overview p.cotion {
	margin: 5px auto 0;
	padding: 10px 40px;
	font-size: 0.89rem;
	text-align: center;
	font-weight: 300;
}

#overview h3 {
	font-size: 2.2rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.3;
	margin: 30px auto;
}



/****************************************
flow
*****************************************/

#flow {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	text-align: center;
	padding: 0;
}

#flow .flow_inner {
	width: 100%;
	max-width: 100%;
	margin: 0;
	text-align: center;
	padding: 0;
	background-color: #D3EBFB;
}


#flow .icon_maze {
	width: 110px;
	margin: -10% auto 0;
	padding: 1% 0 2%;
}

#flow h3 {
	font-size: 2.2rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.3;
	margin: 30px auto;
}

#flow p {
	margin: 20px auto 40px;
	padding: 10px 40px;
	font-size: 1.16rem;
	text-align: center;
	font-weight: 500;
}

/****************************************
explain
*****************************************/

#explain {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 0;
	text-align: center;
	padding: 0;
}

#explain h3 {
	font-size: 2.6rem;
	font-weight: 500;
	text-align: center;
	line-height: 1.3;
	margin: 30px auto;
}

#explain p {
	margin: 20px auto 40px;
	padding: 10px 30px;
	font-size: 1.06rem;
	text-align: center;
	font-weight: 400;
}

#explain .second_inner {
	width: 80%;
	margin: auto;
	padding: 5%;
	border: #38A5ED 3px solid;
	border-radius: 20px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#explain .second_inner p.ex {
	margin: auto;
	padding: 0;
	color: #38A5ED;
	text-align: left;
	font-size: 1.2rem;
	font-weight: 500;
}

#explain .second_inner h4 {
	margin: auto;
	padding: 0 0 24px;
	color: #38A5ED;
	text-align: left;
	font-size: 1.8rem;
	font-weight: 500;
}

#explain .second_inner p {
	margin: auto;
	padding: 0 0 40px;
	text-align: left;
	font-size: 1.00rem;
	line-height: 1.4;
	font-weight: 400;
}

#explain .second_inner dl {
	text-align: left;
}

#explain .second_inner dl dt {
	color: #38A5ED;
	padding: 10px 0 5px
}

#explain .second_inner dl dd {
	line-height: 1.4;
	padding: 0px 0 10px;
	font-size: 1.00em;
}

#explain .second_inner dl dd.day {
	font-size: 1.4em;
	font-weight: bold;
}

#explain .second_inner dl dd ul {
	text-decoration: none;
	list-style: none;
}
#explain .second_inner dl dd ul li {
	text-decoration: none;
	list-style: none;
	padding: 2px 0 6px;
	text-indent: -1rem;
	padding-left: 1rem;
	font-size: 1.00rem;
}


#explain .second_inner .btn_movie {
	width: 90%;
	margin: 30px auto;
}



#explain .second_inner p.howto1 {
	margin: -10px auto 0;
	padding: 0 0 20px;
	text-align: left;
	font-size: 1.00rem;
	line-height: 1.5;
	font-weight: 400;
}


#explain .second_inner p.howto {
	margin: auto;
	padding: 0 0 10px;
	text-align: left;
	font-size: 1.16rem;
	line-height: 1.3;
	font-weight: 500;
}

#explain .second_inner p.howto2 {
	margin: auto;
	padding: 0 0 40px;
	text-align: left;
	font-size: 1.00rem;
	line-height: 1.5;
	font-weight: 400;
}

#explain .second_inner p.howto3 {
	margin: auto;
	padding: 20px 0 60px;
	text-align: center;
	font-size: 1.00rem;
	color: #38A5ED;
	line-height: 1.5;
	font-weight: 500;
}

#explain .second_inner p.howto4 {
	margin: auto auto 40px;
	padding: 20px 30px 10px;
	text-align: center;
	font-size: 1.00rem;
	line-height: 1.5;
	font-weight: 500;
}

#explain .second_inner p.howto5 {
	margin: 0 auto;
	padding: 20px 0 0px;
	text-align: center;
	font-size: 1.00rem;
	color: #38A5ED;
	line-height: 1.5;
	font-weight: 500;
}

#explain .second_inner p.cotion {
	margin: auto;
	padding: 10px 0 40px;
	text-align: left;
	font-size: 0.88rem;
	line-height: 1.5;
	font-weight: 400;
}

#explain .second_inner p.show {
	margin: 20px auto 0;
	padding: 12px 0 12px;
	text-align: center;
	background-color: #38A5ED;
	border-radius: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: 500;
}

#explain .second_inner .show_more.active1 {
	margin: 20px auto 0;
	padding: 20px 0;
	text-align: center;
	background-color: #38A5ED;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: 500;
}

#explain p.annai {
	margin: 5px auto 0;
	padding: 10px 40px 20px;
	text-align: center;
	font-weight: 500;
	color: #FC4C5A;
}


#explain .dot_line01 {
	width: 1.5%;
	margin: 40px auto;
}


#explain .member_inner {
	width: 80%;
	margin: auto;
	padding: 5%;
	border: #FC4C5A 3px solid;
	border-radius: 20px;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#explain .member_inner p.ex {
	margin: auto;
	padding: 0;
	color: #FC4C5A;
	text-align: left;
	font-size: 1.2rem;
	font-weight: 500;
}

#explain .member_inner h4 {
	margin: auto;
	padding: 0 0 24px;
	color: #FC4C5A;
	text-align: left;
	font-size: 1.8rem;
	font-weight: 500;
}

#explain .member_inner p {
	margin: auto;
	padding: 0 0 40px;
	text-align: left;
	font-size: 1.16rem;
	line-height: 1.3;
	font-weight: 400;
}

#explain .member_inner dl {
	text-align: left;
}

#explain .member_inner dl dt {
	color: #FC4C5A;
	padding: 10px 0 5px
}

#explain .member_inner dl dd {
	line-height: 1.4;
	padding: 0px 0 10px;
	font-size: 1.16em;
}

#explain .member_inner dl dd.day {
	font-size: 1.4em;
	font-weight: bold;
}

#explain .member_inner dl dd ul {
	text-decoration: none;
	list-style: none;
}
#explain .member_inner dl dd ul li {
	text-decoration: none;
	list-style: none;
	padding: 2px 0 6px;
	text-indent: -1rem;
	padding-left: 1rem;
}


#explain .line01 {
	width: 100%;
	margin: 40px auto;
}

#explain .member_inner p.howto1 {
	margin: -10px auto 0;
	padding: 0 0 20px;
	text-align: left;
	font-size: 1.10rem;
	line-height: 1.5;
	font-weight: 400;
}


#explain .member_inner p.howto {
	margin: auto;
	padding: 0 0 10px;
	text-align: left;
	font-size: 1.16rem;
	line-height: 1.3;
	font-weight: 500;
}

#explain .member_inner p.howto2 {
	margin: auto;
	padding: 0 0 40px;
	text-align: left;
	font-size: 1.10rem;
	line-height: 1.5;
	font-weight: 400;
}

#explain .member_inner p.howto3 {
	margin: auto;
	padding: 20px 0 60px;
	text-align: center;
	font-size: 1.10rem;
	color: #FC4C5A;
	line-height: 1.5;
	font-weight: 500;
}

#explain .member_inner p.howto4 {
	margin: auto auto 40px;
	padding: 20px 30px 10px;
	text-align: center;
	font-size: 1.10rem;
	line-height: 1.5;
	font-weight: 500;
}

#explain .member_inner p.howto5 {
	margin: 0 auto;
	padding: 20px 0 0px;
	text-align: center;
	font-size: 1.10rem;
	color: #FC4C5A;
	line-height: 1.5;
	font-weight: 500;
}

#explain .member_inner p.cotion {
	margin: auto;
	padding: 10px 0 60px;
	text-align: left;
	font-size: 0.98rem;
	line-height: 1.5;
	font-weight: 400;
}


.text_wrapper {
  position: relative;
  margin-bottom: 65px;
}
.text {
  height: 180px;
  overflow: hidden;
}
.text.hidden {
  height: 180px;
  overflow: hidden;
}
.show_more,
.show_more2 {
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 5px;
  padding-top: 30px;
  text-align: center;
  line-height: 30px;
  background: linear-gradient(
    180deg,
    rgb(255, 255, 255, 0) 0%,
    rgb(255, 255, 255, 1) 40%
  );
  cursor: pointer;
  transition: bottom 0.2s;
}
.active1 {
  background: none;
  bottom: -40px;
}

#explain .member_inner p.show {
	margin: 20px auto 0;
	padding: 12px 0 12px;
	text-align: center;
	background-color: #FC4C5A;
	border-radius: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: 500;
}

#explain .member_inner .show_more.active1 {
	margin: 20px auto 0;
	padding: 20px 0;
	text-align: center;
	background-color: #FC4C5A;
	border-radius: 5px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	font-weight: 500;
}






#explain #takayama {
	margin: 50px auto;
}


#explain .takayama_inner {
	width: 88%;
	margin: auto;
	padding: 4% 1%;
	border: #079F07 3px solid;
	border-radius: 20px;
	background-color: #EFF8E9;
	font-family: "Zen Kaku Gothic New", sans-serif;
}

#explain .takayama_inner h4 {
	margin: auto;
	padding: 0 0 30px;
	color: #079F07;
	text-align: left;
	font-size: 1.8rem;
	font-weight: 500;
}


#explain .takayama_inner p {
	margin: auto;
	padding: 0 0 40px;
	text-align: left;
	font-size: 1.10rem;
	line-height: 1.6;
	font-weight: 400;
}

#explain .takayama_inner dl {
	text-align: left;
}

#explain .takayama_inner dl dt {
	color: #079F07;
	padding: 10px 0 5px
}

#explain .takayama_inner dl dd {
	padding: 5px 0 15px;
	line-height: 1.6;
	padding: 5px 0 20px;
	font-size: 1.24em;
}

#explain .takayama_inner dl dd.day {
	font-size: 1.4em;
	font-weight: bold;
}

#explain .takayama_inner dl dd ul {
	text-decoration: none;
	list-style: none;
}
#explain .takayama_inner dl dd ul li {
	text-decoration: none;
	list-style: none;
	padding: 5px 0 20px;
}

#explain .line02 {
	width: 100%;
	margin: 40px auto;
}

#explain .takayama_inner .setsumei {
	margin: auto;
	padding: 0 0 40px;
	font-size: 1.16rem;
	line-height: 1.4;
	text-align: left;
	color: #FC4C5A;
}

#explain .takayama_inner .btn_takayama {
	margin: auto;
	padding: 0 0 5px;
	
}

#explain .takayama_inner p.howto {
	margin: auto;
	padding: 0 0 10px;
	text-align: left;
	font-size: 1.16rem;
	line-height: 1.3;
	font-weight: 500;
}

#explain .takayama_inner p.howto2 {
	margin: auto;
	padding: 0 0 40px;
	text-align: left;
	font-size: 1.10rem;
	line-height: 1.5;
	font-weight: 400;
}

#explain .takayama_inner p.howto3 {
	margin: auto;
	padding: 20px 0 60px;
	text-align: center;
	font-size: 1.10rem;
	color: #FC4C5A;
	line-height: 1.5;
	font-weight: 500;
}

#explain .takayama_inner p.howto4 {
	margin: auto;
	padding: 20px 30px 10px;
	text-align: center;
	font-size: 1.10rem;
	line-height: 1.5;
	font-weight: 500;
}

#explain .takayama_inner p.annai {
	margin: 5px auto 0;
	padding: 10px 40px 20px;
	text-align: center;
	font-weight: 500;
	color: #FC4C5A;
}


#explain .takayama_inner p.cotion {
	margin: auto;
	padding: 10px 30px 60px;
	text-align: left;
	font-size: 0.98rem;
	line-height: 1.5;
	font-weight: 400;
}


.toggle-takayama {
  display: none;
}

.Label { /* タイトル */
  padding: 1em;
  display: block;
  color: #fff;
  position: relative; /* 矢印の位置基準 */
}

.Label::before { /* タイトル横の矢印 */
  content: "";
  width: 12px;
  height: 12px;
  border-top: 2px solid #079F07;
  border-right: 2px solid #079F07;
  position: absolute;
  top: 32px;
  right: 20px;
  transform: rotate(135deg);
}

.Label,
.content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}

.content { /* 本文 */
  height: 0;
  margin-bottom: 10px;
  padding: 0 20px;
  overflow: hidden;
}

.toggle-takayama:checked + .Label + .content { /* 開閉時 */
  height: auto;
  padding: 20px;
  transition: all 0.3s;
}

.toggle-takayama:checked + .Label::before {
  transform: rotate(-45deg) !important;
}

/* 閉じるボタンのスタイル */
.close-btn {
  display: none; /* 初期状態（アコーディオン閉）で非表示 */
  margin: 20px auto 10px;
  padding: 10px 20px;
  background-color: #079F07; /* 矢印と同じ色 */
  color: #fff;
  border: none;
  border-radius: 5px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
  width: 360px; /* 適切な幅 */
  transition: background-color 0.3s ease;
}

.close-btn:hover {
  background-color: #067d06; /* ホバー時に少し暗く */
}

.toggle-takayama:checked + .Label + .content .close-btn {
  display: block; /* アコーディオン開で表示 */
}

/* レスポンシブ対応（必要に応じて調整） */
@media screen and (max-width: 768px) {
  .close-btn {
    width: 68vw;
    font-size: 0.9rem;
    padding: 8px 16px;
  }
}


/****************************************
minievent
*****************************************/

.minievent p {
	font-size: 1.24rem;
	line-height: 2.0;
}
@media screen and (max-width: 768px) {
  .minievent p {
	font-size: 1.00rem;
	line-height: 2.0;
}
}




#mevent {
	margin: auto;
	text-align: center;
}

#mevent h3 {
	width: 60%;
	margin: auto auto 40px;
	text-align: center;
}

#schedule {
	margin: auto;
	text-align: center;
}

#schedule .icon_maze {
	width: 110px;
	margin: 2% auto 0;
	padding: 1% 0 2%;
}

#schedule h4 {
	width: 74%;
	margin: 0 auto 20px;
	padding: 0 0 2%;
}

#schedule .schedule_inner {
	background-color: #FDF9E3;
}

.slider_eve {
      max-width: 1000px;
      margin: 10px auto 130px;
      position: relative;
    }
    .slider_eve img { width: 100%; height: auto; display: block; }

    /* 矢印：50px丸（前回と同じサイズに戻した） */
    .slider_eve .slick-prev,
.slider_eve .slick-next {
  width: 30px;
  height: 30px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  z-index: 10;
  top: 50%;                /* スライダーの縦中央 */
  transform: translateY(-50%);
  border: none;
  padding: 0;
  cursor: pointer;
  overflow: hidden;        /* ←追加：子要素の三角がはみ出さないように */
}

.slider_eve .slick-prev  { left: -10px; }
.slider_eve .slick-next  { right: -10px; }

/* ホバーエフェクト（ボタン本体だけ拡大） */
.slider_eve .slick-prev:hover,
.slider_eve .slick-next:hover {
  background: #f5f5f5;
  transform: translateY(-50%) scale(1.08);
}

    /* 三角（クリックしても一切ブレない） */
    .slider_eve .slick-prev::before,
.slider_eve .slick-next::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 10px;
  border: solid #333;
  border-width: 2px 2px 0 0;
  /* ここが大事！margin → transform に変更 */
  transform: translate(-50%, -50%) rotate(45deg);   /* 次へ矢印 */
}

.slider_eve .slick-prev::before {
  transform: translate(-50%, -50%) rotate(-135deg); /* 前へ矢印 */
}

/* ホバー時に三角が一緒に拡大しないように固定 */
.slider_eve .slick-prev::before,
.slider_eve .slick-next::before {
  /* ホバー時のscaleが親にしか効かないようにする */
  transform-origin: center;
}

    /* ドット：現在地＝黒実丸 / 他＝枠線のみ */
    .slider_eve .slick-dots {
      bottom: -24px;
    }
    .slider_eve .slick-dots li button:before {
      content: '';
      width: 8px;
      height: 8px;
      border: 1px solid #aaa;
      border-radius: 50%;
      background: transparent;
      opacity: 1;
    }
    .slider_eve .slick-dots li.slick-active button:before {
      background: #333;
      border-color: #333;
    }

/* アコーディオン全体 */
.event_contents {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 0 8px gray;
  width: 82%;
  margin: 0 auto 60px;
}

/* クリック領域 */
.accordion-trigger {
  cursor: pointer;
  user-select: none;
}

/* ボタンラッパー */
.accordion-toggle-wrapper {
  width: 100%;
  text-align: center;
  margin: 20px 0 0;
  display: block;
}

.accordion-toggle {
  min-width: 200px;
  padding: 10px 20px;
  background: #F2F2F2;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 500;
}

/* コンテンツ（初期非表示） */
.accordion-content {
  display: none;
}

/* 開いた状態 */
.event_contents.is-open .accordion-content {
  display: block !important;
}

.event_contents.is-open .accordion-toggle-wrapper {
  display: none;
}

/* 閉じるボタン */
.accordion-close-btn {
  width: 100%;
  padding: 12px;
  background: #F2F2F2;
  border: none;
  border-radius: 0 0 24px 24px;
  text-align: center;
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 500;
  display: none;
  margin: 0;
}

.event_contents.is-open .accordion-close-btn {
  display: block !important;
}

/* 開いた状態では全体がクリック可能（ただしボタン除く） */
.event_contents.is-open {
  cursor: pointer;
}

.event_contents.is-open .accordion-content {
  display: block !important;
}
.event_contents.is-open .accordion-close-btn {
  display: block !important;
}

#schedule .event_contents {
	width: 82%;
	margin: auto auto 60px;
	border-radius: 24px;
	background-color: #fff;
	box-shadow: 0 0 8px gray;
}

#schedule .event_contents h5 {
	width: 98%;
	margin: auto;
	padding: 3% 1%;
	background-color: #E0EFFC;
	border-bottom: solid 3px #3D7BE0;
	text-align: left;
	color: #3D7BE0;
	text-align: center;
	font-size: 1.32rem;
	line-height: 1.6;
	border-radius: 24px 24px 0 0;
	font-weight: 500;
}

#schedule .event_contents ul.event_detail {
	width: 80%;
	margin: 4% auto;
}

#schedule .event_contents ul.event_detail .eve_closed {
	color: #F73B42;
	margin: 1% auto;
	text-align: left;
	font-size: 1.2rem;
	padding-left: 4rem;
	font-weight: bold;
}

#schedule .event_contents .date-time {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	font-weight: 500;
}
#schedule .event_contents .date-time span {
	width: 52px;
	padding: 2px 3px 4px; 
	background-color: #6D8895;
	border-radius: 6px;
	color: #fff;
	text-align: center;
	font-size: 1.00rem;
	font-weight: 400;
}
#schedule .event_contents .date-time p {
	padding-left: 10px;
	font-size: 1.10rem;
}

#schedule .event_contents .photo-img {
	margin: 6% auto;
}

#schedule .event_contents .event-cotion {
	text-align: left;
	color: #F73B42;
	font-size: 0.86rem;
}

#schedule .event_contents .detail {
	margin: 6% auto;
	text-align: left;
	font-size: 0.86rem;
	font-weight: 500;
}

#schedule .event_contents .gaiyou, #schedule .event_contents .subscription, #schedule .event_contents .link {
	width: 80%;
	margin: 40px auto 30px;
	text-align: left;
}

#schedule .event_contents .gaiyou h6, #schedule .event_contents .subscription h6, #schedule .event_contents .link h6  {
        color: #3C7BE0;
		font-size: 1.10rem;
		font-weight: 500;
		padding-bottom: 5px;
    }

#schedule .event_contents h6::after {
        content:"";
        bottom:0;
        left:0;
        display:block;
        width: 100%;
        height: 8px;
		margin-top: 5px;
        background-image: url("../../minievent/img/event_line.png");
		background-size: contain;
    }


#schedule .event_contents .gaiyou dl.gaiyou_dl {
	width: 100%;
	margin: 16px auto;
	line-height: 1.2;
	display: flex;
	flex-wrap: wrap;
}

#schedule .event_contents .gaiyou dl.gaiyou_dl dt {
	margin-bottom: 30px;
	width: 22%;
	color: #3C7BE0;
}
#schedule .event_contents .gaiyou dl.gaiyou_dl dd {
	margin-bottom: 20px;
	width: 78%;
	color: #333;
}

#schedule .event_contents .gaiyou .gmap {
	width: 100%;
	margin: 0px auto 20px;
	text-align: center;
}

#schedule .event_contents .gaiyou .time {
	color: #3C7BE0;
}

#schedule .event_contents .gaiyou dl.time_dl {
	width: 100%;
	margin: 16px auto;
	line-height: 1.2;
	display: flex;
	flex-wrap: wrap;
}

#schedule .event_contents .gaiyou dl.time_dl dt {
	margin-bottom: 5px;
	width: 14%;
	color: #333;
}
#schedule .event_contents .gaiyou dl.time_dl dd {
	margin-bottom: 15px;
	width: 86%;
	color: #333;
}


#schedule .andmore {
	width: 64%;
	margin: auto;
	padding: 6% 8% 4%;
	text-align: center;
	font-weight: 500;
}

#schedule p.otherevent {
	margin: auto;
	padding: 2% 8%;
	text-align: center;
	font-weight: 500;
}

#schedule .insta_mini {
	width: 64%;
	margin: auto;
	padding: 4% 8% 14%;
	text-align: center;
	font-weight: 500;
}

.event_contents .event_ex {
  margin: 0 auto 10px;
  width: 80%;
  text-align: left;
  font-size: 0.98rem;
  font-weight: 500;
  line-height: 1.6;
}

/* 既存のCSSに追加 */


.accordion-content {
  display: none;
  width: 100%;
  margin: 0 auto;
}

.accordion-toggle, .accordion-close {
  width: 100%;
  margin-top: 20px;
  padding: 10px;
  background-color: #F2F2F2;
  border: none;
  border-radius: 0 0 24px 24px;
  text-align: center;
  cursor: pointer;
  font-size: 0.86rem;
  font-weight: 500;
}

.accordion-toggle .toggle-text, .accordion-close .toggle-text {
  display: block;
}


#schedule .subscription dl {
	width: 100%;
	margin: 16px auto;
	line-height: 1.2;
	display: flex;
	flex-wrap: wrap;
}

#schedule .subscription dl dt {
	margin-bottom: 2px;
	width: 100%;
	color: #3C7BE0;
}
#schedule .subscription dl dd {
	margin-bottom: 15px;
	width: 100%;
	color: #333;
	line-height: 1.4;
}

#schedule .subscription .apply {
	width: 90%;
	margin: 10px auto 20px;
	text-align: center;
}

#schedule .link li {
	width: 100%;
	margin: auto;
	padding: 10px 0 2px;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	border-bottom: #333 1px dotted;
}
#schedule .link li p {
	font-size: 1.10rem;
}
#schedule .link li span img {
	width: 20px;
	height: 20px;
}
#schedule .link li a {
	width: 100%;
}


#ontheday {
	margin: auto;
	padding: 2% 8%;
	text-align: center;
	font-weight: 500;
}

#ontheday .kira {
	width: 72%;
	margin: auto;
	padding: 12% 8%;
	text-align: center;
	font-weight: 500;
}

#ontheday .fesmaze {
	margin: auto;
	padding: 8% 4%;
	text-align: center;
	font-weight: 500;
}

#ontheday .btn_ontheday {
	margin: auto;
	padding: 6% 10%;
	text-align: center;
	font-weight: 500;
}


/****************************************
youtube
*****************************************/

.modal {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.8);
  z-index: 1000;
  align-items: center;
  justify-content: center;
}

.modal.active {
  display: flex;
}

.modal-content {
  position: relative;
  width: 70vw;
  max-width: 70vw;
  background: #000;
}
@media (max-width: 768px) {
  .modal-content {
  position: relative;
  width: 90vw;
  max-width: 90vw;
  background: #000;
}
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}

.video-wrapper iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
}

.close {
  position: absolute;
  top: -10px; right: -10px;
  background: #fff;
  width: 30px; height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 18px;
  z-index: 10;
}



    /* モーダル背景 */
.modal-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.75);
  justify-content: center;
  align-items: center;
  z-index: 9999;
  backdrop-filter: blur(5px);
}
.modal-overlay.active {
  display: flex;
}

/* 動画コンテナ */
.modal-video {
  position: relative;
  width: 90vw;
  max-width: 90vw;
  aspect-ratio: 16 / 9;
}
@media (min-width: 768px) {
  .modal-video {
    width: 60vw;
    max-width: 60vw;
  }
}
.modal-video iframe {
  width: 100%;
  height: 100%;
  border: none;
  border-radius: 8px;
}


/* スマホでYouTubeのコントロールバーを少し強調 */
@media (max-width: 768px) {
  .modal-video iframe {
    /* コントロールバーを強制表示 */
  }
  
  /* YouTubeの音量ボタンを大きく（CSSハック） */
  #youtubeIframe::-webkit-media-controls-panel,
  #youtubeIframe::-webkit-media-controls-volume-slider {
    opacity: 1 !important;
    height: 44px !important;
  }
}

/* 閉じるボタン（モーダル用） */
.modal-overlay .close-bttn {
  position: absolute;
  top: -40px;
  right: 0;
  background: rgba(255,255,255,0.9);
  color: #000;
  border: none;
  width: 36px;
  height: 36px;
  font-size: 24px;
  line-height: 36px;
  text-align: center;
  border-radius: 50%;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.modal-overlay .close-btn:hover {
  background: white;
  transform: scale(1.1);
}

/* サムネイル */
.youtube-thumb {
  position: relative;
  display: inline-block;
  cursor: pointer;
  max-width: 100%;
  margin: 15px 0;
  border-radius: 8px;
  overflow: hidden;
}
.youtube-thumb img {
  width: 100%;
  height: auto;
  display: block;
}
/* .youtube-thumb::after {
  content: "▶";
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  font-size: 60px;
  color: white;
  text-shadow: 0 0 10px rgba(0,0,0,0.7);
  pointer-events: none;
}*/




/****************************************
pagetop
*****************************************/


 #js-pagetop {
	max-width: 100%;
	margin: auto;
 }

 #js-pagetop .pagetop {
	width: 80px;
	height: 80px;
	margin: 60px auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
	cursor: pointer;
  }


/****************************************

footer

*****************************************/
footer {
	width: 100%;
	max-width: 100%;
	margin: auto;
}

footer h3 {
	margin: auto;
	padding: 10px 20px 20px;
}

.footer-inner {
	margin: auto;
	padding: 10px 40px 0;
	background-color: #CDECD1;
}

.footer_logo {
	width: 100px;
	margin: 20px auto;
	padding: 10px;
	text-align: center;
}

footer p {
	margin: auto;
	width: 100%;
	font-size: 0.84rem;
	line-height: 2.0;
	font-weight: 500;
	color: #000;
}
@media screen and (max-width: 768px) {
.footer p {
	margin: auto;
	width: 100%;
	font-size: 2.6vw;
	line-height: 1.5;
	font-weight: 500;
}
}

footer p a {
	color: #000;
}

footer span.space01 {
	padding-right: 2rem;
}
footer span.space02 {
	padding-right: 1rem;
}

footer p.info {
	padding-top: 30px;
}
footer p.cotion {
	font-size: 0.78rem;
}
footer p.copyright {
	color: #999;
}