@charset "utf-8";

/* CSS Document */

html{ 
  font-size: 62.5%;
  scroll-behavior: smooth;
  height: 100%;
}
body{
  direction: ltr;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.6;
  color: #333;
  height: 100%;
}

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

.notice {
	color: #CC0000;
}

.s-text {
	color: #333;
	font-size: 85%;
}

a{
	color: #333;
  text-decoration: none;
  transition: all .3s;
}
a:hover{
	opacity: .7;
}

@media (min-width: 768.1px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
	}
}

a.txt-link{
	color: #000;
	text-decoration: underline;
}
a.txt-link:hover{
	text-decoration: none;
}
a.txt-link.red{
	color: #CC0000;
}
a.txt-link.blue{
	color: #28acd6;
}
a.txt-link.orange{
	color: #c93608;
}
a.txt-link span{
	position: relative;
	display: inline-block;
	width: 1em;
	height: 1em;
	margin: 0 .3em;
}
a.txt-link span::before,
a.txt-link span::after{
	content: "";
	position: absolute;
	top: 50%;
	display: block;
}
a.txt-link span::before{
	width: 1em;
	height: 1px;
	background: #000;
	transform: translateY(-50%);
}
a.txt-link.red span::before{
	background: #CC0000;
}
a.txt-link span::after{
	content: "";
	position: absolute;
	right: 1px;
	width: 6px;
	height: 6px;
	border-right: 1px solid #000;
	border-top: 1px solid #000;
	transform: translateY(-50%) rotate(45deg);
}
a.txt-link.red span::after{
	border-right: 1px solid #CC0000;
	border-top: 1px solid #CC0000;
}

.imgEvent {
	margin-bottom:10px;
}

.instagram-post iframe {
  margin-left: auto !important;
  margin-right: auto !important;
}

.pc { display: block;}
.pc-inl { display: inline;}
.sp { display: none;}
.sp-inl { display: none;}
@media screen and (max-width: 768px) {
	.pc { display: none;}
	.pc-inl { display: none;}
	.sp { display: block;}
	.sp-inl { display: inline;}
}
/* 多言語対応 */
.en_element{
	display: none;
}
html[lang="en"] .en_element{
	display: block;
}
.en_element_sp{
  display: none;
}
html[lang="en"] .en_element_sp{
  display: none;
}
@media screen and (max-width: 768px) {
  html[lang="en"] .en_element_sp{
    display: block;
  }
}
p + p{
	margin-top: 16px;
}

.top-tac {
	margin-top: 70px;
}
.access-tac {
	margin-top: 70px;
}

.tac-pc{
	text-align: center;
}
@media screen and (max-width: 768px) {
	.tac-pc{
		text-align: left;
	}
}
.tac{
	text-align: center !important;
}

.tac .line{
	margin-top: 90px;
}

.tal{
	text-align: left;
}
.tar{
	text-align: right;
}
@media screen and (min-width: 768.1px) {
	.tar-pc{
		text-align: right;
	}
}
.comingsoon{
	text-align: center;
	margin: 60px 0;
	font-size: 4.0rem;
}

.info-guide{
	display: flex;
	flex-direction: column;
	text-align: left;
	background: #F2f2f2;
	margin-top: 30px;
	border:1px dotted #888888;
	padding: 30px 45px 40px 45px;
	/* border-radius: 8px; */
}
.info-guide h4{
	font-size: 2.4rem;
	text-align: center;
	/* margin-top: 0.5em;
	margin-bottom: 0.5em; */
}
.info-guide p:not([class]){
	margin-top: 24px;
}


/*//   Header   //*/
header{
	position: fixed;
	width: 100%;
	top: 0;	
	z-index: 100;
}
.head-wrap{
	display: flex;
	justify-content: space-between;
	padding: 0px calc(5% + 4em) 0 5%;
}
h1{
	width: 98px;
	min-width: 48px;
	z-index: 1000;
}

@media screen and (max-width: 768px) {
	.head-wrap{
		padding: 0px calc(5% + 4em) 0 5%;
	}
	h1{
		width: 20.51vw;
	}
}
/* MENU */
ul#menu{
	display: flex;
}
ul#menu > li{
	margin-left: 12px;
	font-size: 1.2rem;
	min-width: 6em;
}
@media screen and (max-width: 1200px) {
	ul#menu > li{
		margin-left: 0;
		font-size: 1.1rem;
		min-width: 5.5em;
	}
}
@media screen and (max-width: 874px) {
	ul#menu > li{
		min-width: 4.5em;
	}
}
ul#menu > li > a{
	position: relative;
	display: block;
	color: #fff;
	padding: 41px 0 0;
	text-align: center;
	transition: all .4s;
}

ul#menu > li > a:hover::before,
ul#menu > li.active > a::before{
	opacity: .7;
}
ul#menu > li > a::before{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	height: 36px;
	width: 36px;
	transform: translate(-50%, 0);
	filter:invert(100%);
	transition: all .4s;
}
@media screen and (max-width: 1200px) {
	ul#menu > li > a::before{
		height: 30px;
		width: 30px;
	}
}
ul#menu > li > a.ico-art::before{
	background: url(../img/common/pict_art.svg) no-repeat center;
	background-size: contain;
}
ul#menu li > a.ico-dinosaur:before{
	background: url(../img/common/pict_dinosaur.svg) no-repeat center;
	background-size: contain;
}
ul#menu li > a.ico-gondola:before{
	background: url(../img/common/pict_gondola.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-lift:before{
	background: url(../img/common/pict_lift.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-ticket:before{
	background: url(../img/common/pict_ticket.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-event::before{
	background: url(../img/common/pict_event.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-hotel:before{
	background: url(../img/common/pict_hotel.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-food::before{
	background: url(../img/common/pict_food.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-recruit::before{
	background: url(../img/common/pict_recruit.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-rental::before{
	background: url(../img/common/pict_rental.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-school::before{
	background: url(../img/common/pict_school.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-winter::before,
ul#menu > li > a.ico-tours::before{
	background: url(../img/common/pict_tours.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-course::before{
	background: url(../img/common/pict_course.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-nature::before{
	background: url(../img/common/pict_nature.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-green::before{
	background: url(../img/common/pict_green.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-1304::before{
	background: url(../img/common/pict_1304.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-radicon::before{
	background: url(../img/common/pict_radicon.svg) no-repeat center;
	background-size: contain;
}
ul#menu > li > a.ico-contents::before{
	background: url(../img/common/pict_contents.svg) no-repeat center;
	background-size: contain;
}
/* SUB MENU */
ul.sub {
	overflow: hidden;
	position: fixed;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	padding: 100px 0 12px;
	left: 0;
	top: -100%;
	width: 100vw;
	z-index: -1;
	background: rgba(0, 0, 0, .3);
	transition: all .4s;
}
ul.sub li{
	opacity: 0;
}
ul.sub > li > a {
	display: block;
	color: #fff;
	padding: 4px 12px;
	border-radius: 4px;
}
ul.sub > li > a:hover {
	background: rgba(0, 0, 0, .9);
}
.active ul.sub {
	top: 0;
}
.active ul.sub li{
	opacity: 1;
	transition: all .8s;
}

.non-hover{
	pointer-events: none;
}

/* spnav */
@media screen and (max-width: 768px) {
	ul#menu{
		display: none;
	}
}
/* language */

.lang{
	font-size: .8em;
	margin-top: 4px;
	z-index: 10;
	line-height: 1;
	position: relative;
}
.lang label{
	display: block;
	padding: .3em 1em;
	border: 1px solid #fff;
	color: #fff;
	text-align: center;
	width: 8.5em;
	font-weight: bold;
}
#toggle {
	display: none;
	cursor: pointer;
}
#lang-menu {
	/* display: none; */
	position: absolute;
}
#lang-menu li{
	border: 1px solid #fff;
	border-top: none;
	width: 8.5em;
}
#lang-menu li a{
	display: block;
	padding: .5em 1em;
	color: #fff;
}
#lang-menu li a:hover{
	background: rgba(0, 0, 0, .3);
}
#toggle + #lang-menu {
	visibility: hidden;
	opacity: 0;
	transition: .3s;
}
#toggle:checked + #lang-menu {
	visibility: visible;
	opacity: 1;
}

.page .lang label{
	border: 1px solid #333;
	color: #333;
}
.page #lang-menu li{
	border: 1px solid #333;
	border-top: none;
	background: #fff;
}

.page #lang-menu li a{
	color: #333;
}
.page #lang-menu li a:hover{
	opacity: 1;
	background: #333;
	color: #fff;
}


@media screen and (max-width: 1200px) {
	.lang{
		font-size: .7em;
	}
}

/* bager menu */
nav {
	padding: 80px 40px 40px 40px;
	width: 400px;
	height: 100vh;
	z-index: 20;
	top: 0;
	right: -400px;
	background: #fff;
	position: fixed;
	transition: all .4s;
	overflow-y: scroll;
}
@media screen and (max-width: 768px) {
	nav {
		width: 100%;
		right: -100%;
	}
}

.nav_btn {
	width: 32px;
	height: 28px;
	z-index: 30;
	top: 16px;
	right: 5%;
	cursor: pointer;
	position: fixed;
}
@media screen and (max-width: 768px) {
	.nav_btn {
		top: 8px;
	}
}
.hamburger_line {
	transition: all .6s;
	width: 32px;
	height: 1px;
	background-color: #fff;
	position: absolute;
}
.hamburger_line1 { top: 14px; }
.hamburger_line2 { top: 21px; }
.hamburger_line3 { top: 28px; }

.nav_bg {
	opacity: 0;
	transition: all .6s;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	visibility: hidden;
	background-color: rgba(0, 0, 0, .3);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
	cursor: pointer;
	position: fixed;
	z-index: 10;
}
/* 表示された時用のCSS */
.nav_open nav{ right: 0; transition: all .4s;}
.nav_open .hamburger_line { background-color: #000;}
.nav_open .hamburger_line1 { transform: rotate(35deg); top: 21px;}
.nav_open .hamburger_line2 { width: 0;}
.nav_open .hamburger_line3 { transform: rotate(-35deg); top: 21px;}
.nav_open .nav_bg {
	opacity: 1;
	visibility: visible;
}

.nav-menu li:not(:last-child){
	margin-bottom: 16px;
}
.nav-menu li a{
	display: block;
	width: 100%;
	color: #000;
}
.nav-menu li span img{
	display: inline-block;
	width: 30px;
	height: 30px;
	vertical-align: middle;
	margin-right: 16px;
}
.nav-menu li ul{
	font-size: 0.9em;
	margin-left: 46px;
}

.ac-menu{
	display: block;
	position: relative;
	pointer-events: auto;
	cursor: pointer;
}
.ac-menu::after{
	content: "";
	display: block;
	position: absolute;
	top: 15%;
	right: 20px;
	height: 8px;
	width: 8px;
	border-right: 1px solid #000;
	border-top: 1px solid #000;
	transform: rotate(135deg);
	transition: transform .3s ease-in-out, top .3s ease-in-out;
}
.ac-menu.open::after{
	top: 32%;
	transform:  rotate(-45deg);
}

.ac-menu + ul{
	display: none;
	padding: 16px 0;
}
.ac-menu.open + ul{
	display: block;
}

/*//   下層ページ用   //*/
.page {
	position: sticky;
}
.page .head-wrap{
	width: 100%;
	background: rgba(255, 255, 255, .5);
	-webkit-backdrop-filter: saturate(180%) blur(5px);
	backdrop-filter: saturate(180%) blur(5px);
}

.page h1{
	filter: invert(100%);
}

.page ul#menu > li{
	padding-bottom: 8px;
}
.page ul#menu > li > a{
	color: #000;
}
.page ul#menu > li > a::before{
	filter: none;
}

.page ul.sub {
	padding: 0;
	top: 92px;
	height: 0;
	min-height: 0;
	background: rgba(0, 0, 0, .7);
}
.page ul.sub > li > a {
	color: #fff;
	transition: all .1s;
}
.page ul.sub > li > a:hover {
	background: rgba(0, 0, 0, .9);

}
.page .active ul.sub {
	padding: 12px 0;
	min-height: 50px;
	height: auto;
}
.page .lang a{
	color: #000;
}
.page .hamburger_line {
	background-color: #000;
}


/*//   TOP   //*/
.container {
	overflow-y: auto;
	height: 100vh;
	scroll-snap-type: y mandatory;
	-webkit-overflow-scrolling: touch;
}
.area {
	scroll-snap-align: start;
	height: 100vh;
	position: relative;
}
.area::before{
	position: absolute;
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(2, 6, 32, 0.1);
}

@media screen and (max-width: 768px) {
	.container{
		height: calc(var(--vh, 1vh) * 100);
	}
	.area {
		height: calc(var(--vh, 1vh) * 100);
	}
}

.area > video,
.area > picture,
.area picture > img,
.area #pcBox,
.area #spBox{
	width: 100%;
	height: 100%;
	object-fit: cover;
}




#pcBox,
#spBox{z-index: -1;}

.fade {
	opacity: 0;
	transition-duration: 2000ms;
}
.inview .fade {
	opacity: 1;
}

/* アニメーション設定 */
.below{
	transform: translateY(20px);
	transition: 1s ease-out;
}
.inview .below {
	transform: translateY(0);
}
.below + p{
	opacity: 0;
	transition: 3s;
	transition-delay: .2s;
}
.inview .below + p{
	opacity: 1;
}

.hero-txt{
	position: absolute;
	width: 90%;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50%);
	color: #fff;
	text-align: center;
	font-family: 'Montserrat', sans-serif;
	font-weight: 900;
}
.hero-txt.mainsp{
	font-family: "Hiragino Sans","ヒラギノ角ゴシック";
	font-weight: 900 !important;
}
.hero-txt .small_txt{
	font-size: 0.8em;
}
@media screen and (max-width: 768px) {
	.hero-txt.mainsp{
		top: 38%;
		line-height: 1.2;
	}
}
.hero-txt.mainsp h2{
	transform: skewX(-10deg);
}

.hero-txt h2{
	position: relative;
	padding-bottom: 8px;
	font-size: 2em;
	color: #ececec;
	text-shadow: 0 3px 15px rgba(0, 14, 65, .8);
}
/* .hero-txt h2:after{
	position: absolute;
	content: "";
	bottom: 0;
	left: calc(50% - 1em);
	width: 2em;
	border-top: 1px solid rgba(255, 255, 255, 1);
} */
.hero-txt p{
	margin-top: 24px;
}

.hero-wsa{
	position: absolute;
	width: clamp(215px,10vw,300px);
	top: 18%;
	left: 50%;
	transform: translateX(-50%);
}
.flex-wsa{
	display: flex;
	gap: 20px;
}
@media screen and (max-width: 768px) {
	.hero-wsa{
		width: clamp(215px,10vw,300px);
		top: 13%;
	}
}

.inview .blurring,.count-title,.count-title-2025 {
	color: transparent;
	animation: blur 1s ease-out;
	animation-fill-mode:forwards;
}
@keyframes blur {
	0% {text-shadow:  0 0 120px #fff; opacity:0;}
	40% {text-shadow:  0 0 90px #fff;}
	90% {opacity: 1;}
	100% {text-shadow: 0 0 0 #fff;}
}

@media screen and (max-width: 768px) {
	.hero-txt h2{
		font-size: 1.8em;
	}
}
.hero-news{
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50%);
}

.splide{
	padding-bottom: 40px;
}



.hero-news h2{
	text-align: center;
	padding-bottom: 24px;
	font-size: 1.4em;
	color: #ececec;
	text-shadow: 0 -1px 1px #fff;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
}

ul.news-list{
	display: flex;
}
ul.news-list li{
	width: 30%;
	border-radius: 2px;
	background: #fff;
	padding-bottom: .5em;
	aspect-ratio: 1 / 1;
}
@media screen and (max-width: 768px) {
	ul.news-list li{
		width: 100%;
	}
}
main.page{
	position: static;
}
main.page ul.news-list{
	flex-wrap: wrap;
	gap: 40px;
}
main.page ul.news-list li{
	border: 1px solid #ccc;
}

ul.news-list a{
	color: #333;
	transition: .2s ease;
}
ul.news-list li a:hover{
	opacity: 1;
	color: #bbbbbb;
}
ul.news-list li div{
	overflow: hidden;
	border-radius: 2px 2px 0 0;
}
ul.news-list li div img{
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
ul.news-list li p{
	padding: 0 1em;
}
ul.news-list li img{
	transition: transform .6s ease;
}
ul.news-list li a:hover img{
	transform: scale(1.1);
}

.date{
	margin-top: .5em;
	font-size: .8em;
}
.ttl{
	font-weight: bold;
	margin-top: 0 !important;
	transition: .3s ease;
	line-height:140%;
}
.txt{
	font-weight: normal;
	font-size: .8em;
	line-height:100% !important;
	margin-top: 20px !important;
}
@media screen and (max-width: 768px) {
.date{
	font-size: 12px;
	margin-top: 10px !important;
	}
.ttl{
	font-size: 16px;
	line-height:120%;
	margin-top: 10px !important;
	margin-bottom: 20px !important;
	}
.txt{
	font-weight: normal;
	font-size: 14px !important;
	line-height:100% !important;
	margin-top: 30px !important;
	padding-top: 20px !important;
}
}

.hero-logo{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate( -50%, -50%);
	filter: drop-shadow(0 0 10px rgba(0, 0, 0, .6));
}
.hero-logo.white{
	filter: drop-shadow(0 0 10px rgba(255, 255, 255, .6));
}
@media screen and (min-width: 768.1px) {
	.hero-logo.winter{
		top: 45%;
		width: 30%;
		filter: drop-shadow(0 0 10px rgba(255, 255, 255, .7));
	}
	.hero-logo.autumn{
		width: 28%;
		filter: drop-shadow(1px 1px 12px rgba(0, 0, 0, 1.0));
	}
	.hero-logo.leaves{
		width: 22%;
	}
	.hero-logo.newticket{
		width: 40%;
		filter: drop-shadow(0 0 10px rgba(255, 255, 255, .6));
	}
	.hero-logo.rental{
		width: 32%;
		filter: drop-shadow(0 0 10px rgba(255, 255, 255, .6));
	}
	.hero-logo.wide{
		width: 25%;
	}
	.hero-logo.wideL{
		width: 30%;
	}
	.hero-logo.up{
		top: 35%;
	}
	.hero-logo.wideHalf{
		width: 50%;
	}

}

@media screen and (max-width: 768px) {
	.hero-logo{
		position: absolute;
		top: calc((100% - 120px) / 2);
		left: 50%;
		transform: translate( -50%, -50%) translateZ(0);
	}
	.hero-logo.winter{
		width: 65%;
	}
	.hero-logo.narrow{
		width: 30%;
	}
	.hero-logo.autumn{
		width: 20%;
	}
	.hero-logo.wide-sp{
		width: 80%;
	}
	.hero-logo.newticket{
		filter: drop-shadow(0 0 10px rgba(255, 255, 255, .6));
	}
	.hero-logo.rental{
		width: 70%;
		filter: drop-shadow(0 0 10px rgba(255, 255, 255, .6));
	}
	.hero-logo.wide{
		width: 60%;
	}
	.hero-logo.wideL{
		width: 60%;
	}
	.hero-logo.up{
		top: 30%;
	}
	.hero-logo.wideHalf{
		width: 70%;
	}
}

.size-list{
	margin: 0;
	font-size: .9em;
}

.size-list > li{
	display: flex;
	align-items: center;
	border-bottom: 1px dotted #ccc;
	padding: .5em 0;
	
}
.size-list > li span{
	display: block;
	width: 11em;
	min-width: 11em;
}
.size-list > li ul{
	display: flex;
	flex-wrap: wrap;
	gap: 5px 0;
}
.size-list > li ul li{
	width: 3em;
	text-align: center;
	/* background: #efefef; */
	border: 1px solid #999;
	margin-left: -1px;
}


@media screen and (max-width: 768px) {
	.size-list > li{
		display: block;
	}
	.size-list > li span{
		width: 100%;
		min-width: 100%;
		margin-bottom: .5em;
	}

}

/* APPI copy */
.hero-catch{
	position: absolute;
	top: 35%;
	left: 50%;
	transform: translate( -50%, -50%);
	width: 50%;
}
@media screen and (max-width: 768px) {
	.hero-catch{
		top: 22%;
	}
}

.hero-catch svg{
	width: 100%;
	height: auto;
}
#catch-txt{
	fill: #fff;
	mask: url(#mask);
}
.inview #catch-mask{
	fill: none;
    stroke: #fff;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 11;
	stroke-dasharray: 5000px;
	stroke-dashoffset: 5000px;
	animation: handwriting 5s ease-out forwards;
}
@keyframes handwriting {
	10% {
	  stroke-dashoffset: 5000px;
	}
	100% {
	  stroke-dashoffset: 0px;
	}
}

/* youtube */
.hero-yt{
	margin-top: 24px;
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	overflow: hidden;
}
.hero-yt iframe,
.hero-yt object,
.hero-yt embed{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}
.hero-yt + p{ text-align: center;}
.hero-btn{
	position: absolute;
	bottom: 10%;
	left: 0;
	right: 0;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hero-btn.upper{
	top: 58%;
	bottom: initial;
}
@media screen and (max-width: 768px) {
	.hero-btn.upper{
		top: 45%;
		line-height: 1.2;
	}
}
.hero-btn li{
	text-align: center;
	width: calc((80% - 80px) / 3);
}
.hero-btn li a{
	display: block;
	color: #fff;
	background: rgba(0, 0, 0, .9);
	padding: 8px 0;
	border-radius: 50px;
}

.hero-btn li + li{
	margin-left: 40px;
}
@media screen and (max-width: 768px) {
	.hero-btn{
		flex-wrap: wrap;
		bottom: 10%;
		margin: 0 5%;
	}

	.hero-btn li{
		width: 100%;
		margin: 0 auto 10px;
	}
	.hero-btn li.half{
		width: calc((100% - 10px) / 2);
		margin: 0 auto;
		font-size: 0.8em;
		line-height: 2.0em;
	}
	.hero-btn li a{
		padding: 8px 0;
	}
	.hero-btn li + li{
		margin-left: 0;
	}
	.hero-btn li.half + li{
		margin-left: 8px;
	}
	.hero-yt + p{ color: #fff;}
}
a.arrow{
	position: relative;
}
a.arrow::after{
	position: absolute;
	content: "";
	top: 50%;
	right: 16px;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg) translate(-75%, 0);
}
@media screen and (max-width: 768px) {
	a.arrow::after{
		right: 10px;
	}
}

/* pagenation */
.pagination {
	position: fixed;
	display: block;
	top: 50%;
	right: 32px;
	transform: translateY(-50%);
}
.pagination a{
	display: block;
	width: 12px;
	height: 12px;
	margin: 24px 0;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, .5);
}
.pagination a.active {
	background-color: rgba(255, 255, 255, 1);
}

/* アニメーション設定 */
.target {
    opacity: 0;
    transform: translate3d(0, 30px, 0);
}
.target.is-active {
    opacity: 1;
    transform: translate3d(0, 0, 0);
    transition: 1s;
}

/*//   Container   //*/
.wrapper{
	width: 100%;
	max-width: 1200px;
	margin: 40px auto 10px;
	font-size:18px !important;
	line-height: 200%;
}

.wrapper p{
	font-size:18px !important;
	line-height: 200%;
}

.wrapper-bg{
	width: 90%;
	max-width: 1100px;
	margin: 0 auto 0;
}


.wrapper section + section{
	margin-top: 120px;
}
@media screen and (max-width: 768px) {
	.wrapper{
	width: 90%;
}
	
	.wrapper section + section{
		margin-top: 60px;
	}
}
.hero-head{
	position: relative;
}
.hero-head.noimg{
	height: 160px;
	border-bottom: 1px solid #000;
}

.hero-head h2{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #fff;
	text-align: center;
	filter: drop-shadow(0 0 10px rgba(0, 0, 0, .4));
	font-size: 4.0rem;
	white-space: nowrap;
}
.hero-head.noimg h2{
	filter: none;
	color: #333;
}

.hero-head h2 span{
	display: block;
	font-size: 2.1rem;
}
.hero-head:not(.h-auto) > img{
	width: 100%;
	max-height: 400px;
	object-fit: cover;
}
@media screen and (max-width: 768px) {
	.hero-head h2{
		font-size: 2.8rem;
	}
	.hero-head h2 span{
		font-size: 1.8rem;
	}
	.hero-head:not(.h-auto) > img{
		width: 100%;
		height: 200px;
	}
}

.news-head{
	max-width: 980px;
	margin: -40px auto 0 auto;
}

.event-head{
	width: 100% !important;
	margin: 0 auto 0px auto;
	border-top:solid 0px #ECEAEC;
	border-bottom:solid 0px #ECEAEC;
}

.event-head img{
	max-width: 1100px;
	margin: 0 auto;
}
.event-link{
	color: #E50014;
}

.event-footer{
	position: sticky;
	width: 728px;
	bottom: 40px;
	/* left: 50%;
	transform: translateX(-50%); */
	margin: 0 auto 40px;
}
@media screen and (max-width: 768px) {
	.event-footer{
		width: 94%;
		bottom: 50px;
		left: 3%;
		right: 3%;
		margin: 0 auto 24px;
	}
}

h3{
	font-size: 2.0rem;
	text-align: center;
	/*margin: 70px 0 20px;*/
	margin: -20px auto 30px auto;
	line-height: 190%;
}
.access-h3, .food-h3 {
	margin: 70px 0 20px;
}
/*.wsa-h3 {
	margin: 20px auto;
}*/
h3 > img{
	width: 24%;
	margin: 0 auto;
}
h3 span{
	font-weight: normal;
	display: block;
	font-size: .5em;
	margin-top: 0px;
}
h3 span a{
	margin-inline: .5em;
}
h3 + p{
	text-align: center;
	font-size: 1.8rem;
	line-height:180%;
	margin-bottom: 20px;
}
h3 + p.route{
	line-height: 1;
	margin-bottom: 0;
}
@media screen and (max-width: 768px) {
	h3 {
		font-size: 1.8rem;
		margin: 40px 0 20px;
	}
	h3 img{
		width: 50%;
	}
	h3 span{
		margin-top: 8px;
	}
	h3 + p{
		text-align: left;
	}
}

h5.h-box{
	display: inline-block;
	text-align: center;
	border: 1px solid #333;
	padding: .1em 2em;
	margin-top: 40px;
	margin-bottom: 16px;
}
@media screen and (max-width: 768px) {
	h5.h-box{
		display: block;
		width: 80%;
		margin: 40px auto 1em;
	}
}

/* page */
p.caption{
	text-align: right;
	font-size: 1.0rem;
	margin: 4px;
	line-height: 1.2;
}

#night{
	background: #000;
	padding-top: 1px;
	color: #fff;
	padding-bottom: 1px;
	/* margin-bottom: 80px; */
}
#night h3{
	margin: 80px 0;
}
.flex-box {
	display: flex;
	gap: 20px;
}
.flex-box > div{
	flex: 1;
}
/*ボタンを下揃えにしたい時*/
.flex-box .box-btm{
	display: flex;
	flex-direction: column;
}
.flex-box .box-btm.btn-red{
	margin-top: auto;
}
.center{
	display: flex;
	justify-content: center;
}

.flex-box + .flex-box {
	margin-top: 20px;
}

@media screen and (max-width: 768px) {
	.flex-box {
		flex-direction: column;
	}
	.flex-box > div + div{
		margin-left: 0;
	}
}

.flex-box-sp{
	display: flex;
	margin: 20px 0 0;
}
.flex-box-sp > div{
	flex: 1;
}
.flex-box-sp > div + div{
	margin-left: 20px;
}
@media screen and (max-width: 768px) {
	.flex-box-sp > div + div{
		margin-left: 10px;
	}
}

.alignc{
	align-items: center;
}

.flex-box.col2 {
	flex-wrap: wrap;
}
.flex-box.col2 > div{
	flex: 0 1 auto;
	width: calc((100% - 20px) / 2);
}
@media screen and (max-width: 768px) {
	.flex-box.col2 > div{
		width: 100%;
	}
}
@media screen and (max-width: 768px) {
	.flex-box.col2-sp {
		flex-direction: row;
		flex-wrap: wrap;
	}
	.flex-box.col2-sp > div{
		flex: 0 1 auto;
		width: calc((100% - 20px) / 2);
	}
}

.flex-box .col3 {
	flex-wrap: wrap;
}
.flex-box .col3 > div{
	flex: 0 1 auto;
	width: calc((100% - 40px) / 3);
}

/* attention */
.list-wrap{
	margin-top: 8px;
}
.list-wrap{
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}




.youtube_wrapper {
	position: relative;
	padding-bottom: 56.25%;
	width: 100%;
	height: 0;
	margin:60px 0 60px 0;
	overflow: hidden;
}
.youtube_wrapper iframe,
.youtube_wrapper object,
.youtube_wrapper embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.timelapse_wrapper{
	position: relative;
	padding-bottom: 95%;
	width: 100%;
	height: 0;
	overflow: hidden;
}
.timelapse_wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin-top: 9px;
}

  

@media screen and (max-width: 768px) {
	.flex-box .col3 > div{
		flex: 0 1 auto;
		width: calc((100% - 30px) / 2);
	}
	.youtube_wrapper {
		margin:60px 0 0 0;

	}
	
	/* .timelapse_wrapper{
		padding-bottom: 95%;

	} */
}

.outof{
	opacity: .3;
	filter: blur(0.5px);
}

.w30-pc{
	width: 30%;
	margin: 0 auto;
}

.w50-pc{
	width: 50%;
	margin: 0 auto;
}
.w70-pc{
	width: 70%;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.w30-pc{
		width: 90%;
	}
	
	.w50-pc,
	.w70-pc{
		width: 100%;
	}
}

.flex-box .flex-item{
	flex: 2;
	margin-left: 40px;
}
@media screen and (max-width: 768px) {
	.flex-box .flex-item{
		flex: 1;
		margin-left: 0;
	}
}



.full{
	margin: 0 calc(50% - 50vw) 40px;
}
.half{
	margin: 0 0 0 calc(50% - 50vw);
}
.half img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media screen and (max-width: 768px) {
	.half{
		margin: 0 calc(50% - 50vw);
	}
}

.round > img{
	border-radius: 2px;
}
.img-box{
	position: relative;
}
.img-box .caption{
	position: absolute;
	right: 1em;
	bottom: 1em;
}

.subscript{
	padding: 10px 0;
}
@media screen and (max-width: 768px) {
	.subscript{
		padding: 10px 0 20px;
	}
}
.lead {
	display: flex;
	align-items: flex-start;
	font-size: 1.3em;
}
.lead:before {
	border-top: 1px solid;
	content: "";
	width: 3em; /* 線の長さ */
	margin-top: .8em;
	margin-right: 1em;
}
  
.profile{
	border: 1px solid #666;
	padding: 24px;
	margin-top: 40px;
}
.profile h4 span{
	font-size: 1.2rem;
	display: inline-block;
	margin-left: 16px;
	vertical-align: middle;
}

.written{
	margin: 40px 0;
	text-align: right;
	font-size: 1.4rem;
}

.info-box{
	text-align: center;
	margin-bottom: 40px;
}
.info-box h4{
	display: inline-block;
	font-weight: bold;
	border-bottom: 1px solid #666;
	margin: 0 0 8px;
}
.info-box p + h4{
	margin-top: 40px;
}
.info{
	font-weight: bold;
}
.info span{
	display: inline-block;
	line-height: 1.1;
	border: 1px solid #666;
	text-align: center;
	width: 4em;
	margin-right: .5em;
}
@media screen and (max-width: 768px) {
	.info-box{
		margin-bottom: 20px;
	}
	.info-box p{
		text-align: left;
	}
	.info span{
		display: block;
	}
}

.info-flex{
	display: flex;
	width: 80%;
	margin: 20px auto 40px;
}

.info-flex .flex-txt{
	text-align: left;
	width: 85%;
}
.info-flex h4{
	margin-bottom: 20px;
}
.info-flex div:has(> img){
	width: 50%;
	margin-right: 20px;
}
@media screen and (max-width: 768px) {
	.info-flex{
		width: 	100%;
		margin: 20px auto 40px;
		flex-direction: column-reverse;
	}
	.info-flex .flex-txt{
		text-align: center;
		width: 100%;
	}
	.info-flex div:has(> img){
		width: 80%;
		margin: 1em auto 0;
	}
}

.note{
	display: block;
	font-size: 1.2rem;
	margin-top: 3px;
}
.note.inline{
	display: inline;
}

ul.notes{
	font-size: 1.2rem;
	margin-top: 8px;
}
ul.notes li{
	text-indent: -0.7em;
	padding-left: 1em;
}
.size-s{
	font-size: .9em;
}
.txt-s{
	font-size: 1.4rem !important;
	margin-top: 3px;
}
.txt-b{
	font-weight: bold;
}
.txt-l{
	font-size: 1.2em;
}
.txt-ll{
	font-size: 2.2em;
}
.txt-nw{
	white-space: nowrap;
}

.btn-wrap{
	display: flex;
	width: 80%;
	gap: 40px;
	margin: 0 auto;
}
@media screen and (max-width: 768px) {
	.txt-ll{
		font-size: 1.6em;
	}
	.btn-wrap{
		display: block;
		width: 100%;
		margin: 0 auto;
	}
	.btn-wrap .btn + .btn,
	.btn-wrap .btn-pink + .btn-pink{
		margin: 24px auto 0;
	}
}

.btn,
.btn-red,
.btn-white,
.btn-pink{
	margin: 40px auto 0;
	width: 50%;
	text-align: center;
}

.btn-green{
	margin: 40px auto 0;
	width: 80%;
	text-align: center;
}
.btn-wide{
	margin:10px auto 0;
	width: 100%;
	text-align: center;
}
.ticket .btn-wide{
	margin-top: auto;
}

.btn a,
.btn-wide a{
	display: block;
	color: #fff;
	background: rgba(0, 0, 0, 1);
	padding: 8px 0;
	border-radius: 50px;
}
.btn-wide.blue a{
	background: #28acd6;
}
.btn-wide.gold a{
	background: #cbb62b;
}

.btn-white a{
	display: block;
	color: #000;
	background: #fff;
	border: 1px solid #333;
	padding: 8px 0;
	border-radius: 50px;
}

.btn-red a{
	display: block;
	color: #fff;
	background: #E50014;
	padding: 8px 0;
	border-radius: 50px;
}

.btn-pink a{
	display: block;
	color: #fdfdfd;
	background: #e4007f;
	padding: 8px 0;
	border-radius: 50px;
}

.btn-red a span,
.btn-wide a span{
	display: inline-block;
	margin-left: .8em;
	width: .8em;
	vertical-align: middle;
}
.btn-green a{
	display: block;
	color: #fff;
	background: #274425;
	padding: 8px 0;
	border-radius: 50px;
}
.btn-green a span{
	display: inline-block;
	margin-left: .8em;
	width: .8em;
	vertical-align: middle;
}

.btn a span:not([class]){
	display: inline-block;
	margin-left: .8em;
	width: .8em;
	vertical-align: middle;
}
.btn-pink a span:not([class]){
	display: inline-block;
	margin-left: .8em;
	width: .8em;
	vertical-align: middle;
}
.btn a span.icon,
.btn-pink a span.icon{
	display: inline-block;
	width: 1.3em;
	margin-right: .8em;
	vertical-align: middle;
}
.btn-pdf{
	vertical-align: top;
	font-size: .8em;
	display: inline-block;
	background: url(../img/common/window.svg) right 8px center no-repeat #000;
	background-size: 12px;
	color: #fff;
	padding: 2px 24px 2px 8px;
}
.list-wrap .btn-pdf{
	background: url(../img/common/window_blk.svg) right 8px center no-repeat #fff;
	background-size: 12px;
	color: #333;
	border: 1px solid #000;
}
#night .btn-pdf{
	font-size: 1em;
	background: url(../img/common/window.svg) right 12px center no-repeat #444;
	background-size: 12px;
	margin-top: 24px;
	padding: 8px 40px 8px 16px;
}
@media screen and (max-width: 768px) {
	.btn,
	.btn-white,
	.btn-red,
	.btn-pink
	{
		width: 100%;
	}

	.btnEvent{
		width: 100%;
	}
	
	.btn-pdf{
		margin-left: 0;
	}
}

.btn.prep{
	width: 80%;
	color: #fff;
	background:#ccc;
	padding: 8px 0;
	border-radius: 50px;
}

.btn-border{
	display: inline-block;
	border: 1px solid #ccc;
	padding: .1em 2em;
	text-align: center;
	border-radius: 50px;
	margin: 1em auto 0;
}
@media screen and (max-width: 768px) {
	.btn-border{
		display: block;
		padding: .1em 0;
	}
}

/*//   art   //*/
.access{
	background: #efefef;
	padding: 24px;
	text-align: center;
	margin-top: 40px;
}

.access > dl{
	display: flex;
	flex-wrap: wrap;
	margin-top: 24px;
}
.access > dl > dt{
	width: 6em;
	background: #fff;
	padding: 2px;
	margin: 0 1em 8px 0;
}
.access > dl > dd{
	text-align: left;
	width: calc(100% - 7em);
	margin: 0 0 8px;
}
.access dd dl{
	overflow: hidden;
}
.access dd dl dt{
	width: 5em;
	float: left;
}
.access dd dl dd{
	padding-left: 5em;
	margin-bottom: 4px;
}

@media screen and (max-width: 768px) {
	.access > dl{
		flex-direction: column;
	}
	.access > dl > dt{
		width: 100%;
		margin: 0 0 8px 0;
	}
	.access > dl > dd{
		text-align: left;
		width: 100%;
		margin: 0 0 16px;
	}
	.access dd dl{
		overflow: hidden;
	}
	.access dd dl dt{
		width: 100%;
		float: none;
	}
	.access dd dl dd{
		padding-left: 0;
		margin-bottom: 8px;
		font-size: .8em;
	}
}
/*//   ACCESS   //*/
.fromto{
	display: flex;
	justify-content: center;
}
.fromto li{
	text-align: center;
}
.fromto li:nth-child(2n+1){
	padding: .5em 1em;
	border: 1px solid #ccc;
}
.fromto li:nth-child(2n){
	position: relative;
	padding: 0 1em;
	line-height: 1.2;
	z-index: 1;
}
.fromto li:nth-child(2n)::before{
	content: "";
	position: absolute;
	top: 60%;
	left: 0;
	width: 100%;
	height: 1px;
	border-top: 5px dashed #ccc;
}
.fromto li:nth-child(2n) span{
	position: relative;
	display: inline-block;
	background: rgba(255, 255, 255, .5);
	z-index: 10;
}
@media screen and (max-width: 768px) {
	.fromto{
		flex-direction: column;
	}
	.fromto li:nth-child(2n){
		padding: 1em 0;
	}
	.fromto li:nth-child(2n)::before{
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		width: 1px;
		height: 100%;
		border-top: none;
		border-left: 3px dashed #ccc;
	}
}
/* googlemap */
.gglmap{
	position: relative;
	height: 0;
	padding-bottom: 30%;
}
@media screen and (max-width: 768px) {
	.gglmap{
		padding-bottom: 100%;
	}
}
.gglmap iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/*//   GONDOLA / AUTUMN  //*/
h2.h-large{
	text-align: center;
	line-height: 110%;
}
h2.h-large,
h3.h-large{
	font-size: 4.8rem;
	letter-spacingno: .1em;
	margin:  0;
}
h2.h-large span,
h3.h-large span{
	font-weight: normal;
	display: block;
	font-size: .6em;
	margin-top: 0;
	margin-bottom: 0;
}

@media screen and (max-width: 768px) {
	h2.h-large,
	h3.h-large{
		font-size: 3.8rem;
	}
	h2.h-large span,
	h3.h-large span{
		margin-top: 8px;
	}
}

.gondola-list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px 20px;
	margin-top: 40px;
}
.gondola-list li{
	width: calc((100% - 40px) / 3);
	text-align: center;
}
@media screen and (max-width: 768px) {
	.gondola-list{
		gap: 16px;
		margin-top: 10px;
	}
	.gondola-list li{
		width: calc((100% - 16px) / 2);
		font-size: .8em;
	}
}


/* AUTUMN */

.autumn-list{
	display: flex;
	gap: 16px;
	margin-top: -24px;
	background: #e50012;
	padding: 8px 16px;
	border-radius: 8px;
	flex-wrap: wrap;
}
.autumn-list li{
	text-align: center;
	width: calc((100% - 65px) / 5);
}
.autumn-list p{
	margin-top: 8px;
	color: #fff;
	font-weight: bold;
}
.autumn-list .num{
	display: inline-block;
	color: #fff;
	border: 1px solid #fff;
	width: 1.4em;
	height: 1.4em;
	line-height: 1.3;
	border-radius: 100%;
	margin-right: .5em;
}
@media screen and (max-width: 768px) {
	.autumn-list{
		flex-wrap: wrap;
		gap: 8px;
		padding: 8px 8px;
		margin-top: -24px;
	}
	.autumn-list li{
		width: calc((100% - 8px) / 2);
		text-align: center;
	}
	.autumn-list p{
		margin-top: 8px;
		color: #fff;
		font-weight: bold;
	}
}
.cont1304{
	padding-top:16px;
	border-radius: 8px;
}
.green-bk{
	background: #09b2a5;
}
.autumn-bk{
	background: #c93608;
}
@media screen and (max-width: 768px) {
	green-bk{
		padding-top:8px;
	}
}

.gondola-ttl{
	width: min(70vw, 1200px);
}
.gondola-ttl > img{
	aspect-ratio: 2 / 1;
	object-fit: cover;
}
.left .gondola-ttl{
	margin-left: calc(50% - 50vw);
}
.left .gondola-ttl > img{
	border-radius: 0 2px 2px 0;
}
.right .gondola-ttl{
	margin-right: calc(50% - 50vw);
	margin-left: auto;
}
.right .gondola-ttl > img{
	border-radius: 2px 0 0 2px;
}
.gondola-cont{
	width: min(800px, 90%);
	background: rgba(255, 255, 255, .90);
	padding: 40px;
	border-radius: 2px;
	filter: drop-shadow(0 8px 10px rgba(0,0,0,.3));
	position: relative;
	text-align: center;
	/* border: 1px solid #fff; */
}
.left .gondola-cont{
	margin: -150px 0 0 auto;
}
.right .gondola-cont{
	margin: -150px auto 0 0;
}
.gondola-cont p{
	margin-top: 1em;
}
.left .gondola-cont .best-time{
	text-align: right;
	margin: -24px -40px 1em auto;
}
.right .gondola-cont .best-time{
	text-align: left;
	margin: -24px auto 1em -40px;
}
.gondola-cont .best-time p{
	display: inline-block;
	margin-top: 0;
	padding: .1em .8em;
	color: #ffffff;
	/* border: 1px solid #e50012; */
	font-weight: bold;
	background: #e50012;
	position: relative;
}

.gondola-cont .best-time p::after{
	content: "";
	position: absolute;
	top: 0;
	width: .5em;
	height: 100%;
	background: #e50012;
}

.left .gondola-cont .best-time p::after{
	left: -0.5em;
	clip-path: polygon(0 0, 100% 0%, 100% 100%, 0 100%, 100% 50%);
}

.right .gondola-cont .best-time p::after{
	right: -0.5em;
	clip-path: polygon(100% 0, 0 50%, 100% 100%, 0 100%, 0 0);
}

.cheki-cont{
	position: relative;
	width: min(800px, 95%);
	padding:30px 60px 0 60px;
	text-align: center;
	color: #333333;
	background-color: #fff;
}
.cheki-cont p{
	margin-top: 1em;
}
.left .cheki-cont{
	margin: -140px 0 0 auto;
}
.right .cheki-cont{
	margin: -140px auto 0 0;
}
.cheki-cont ul{
	display:grid; 
	grid-template-columns: repeat(3, 1fr);
	margin: 60px auto;
}
.cheki-cont ul li{
	position:relative;
	background-image: linear-gradient(-45deg, #fff 30%, #fafafa 20%, #fafafa 50%, #fff 50%, #fff 80%, #fafafa 80%, #fafafa);
 	background-size: 6px 6px;
	padding: 15px;
	margin: 0 10px;
	border-radius: 2px;
	filter: drop-shadow(0 1px 6px rgba(0,0,0,.2));
	max-width: 260px;
	max-height: 330px;
}
.cheki-cont ul li:nth-child(2n){
	-webkit-transform: rotate(-8deg);
    transform: rotate(-8deg);
}
.cheki-cont ul li:nth-child(3n){
	-webkit-transform: rotate(3deg);
    transform: rotate(3deg);
}
.cheki-cont ul li img {
	max-width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}
.cheki-cont ul li .cheki{
	display: block;
	margin-top: .5em;
	height: 70px;
	font-family: "Klee One", cursive;
	font-size: 1.2em;
	font-weight: 600;
}
.cheki-ttl{
	margin: 10px 0;
	font-size: 1.5em;
	font-family:  "Klee One", cursive;
	font-weight: 600;
}
.cheki-cont ul li .maste{
	position:absolute;
	top: -20px;
	left: 30%;
	width: 90px;
	height: 35px;
	background-color: rgba(255,255,255,.1);
	border-left: 2px dotted rgba(0,0,0,.1);/* ギザギザ左*/
	border-right: 2px dotted rgba(0,0,0,.1);/* ギザギザ右*/
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	transform: rotate(14deg);
}
.cheki-cont ul li .maste2{
	position:absolute;
	top: -20px;
	left: 30%;
	width: 90px;
	height: 35px;
	background-color: rgba(255,255,255,.1);
	border-left: 2px dotted rgba(0,0,0,.1);/* ギザギザ左*/ 
	border-right: 2px dotted rgba(0,0,0,.1);/* ギザギザ右*/
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	transform: rotate(14deg);
}*/

.gondola-cont dl.info-detail{
	margin-top: 1em;
	border-top: 1px dotted #ccc;
}

/* .gondola-cont dl.info-detail dd{
	border-bottom: 1px dotted #ccc;
} */
@media screen and (max-width: 768px) {
	.gondola-ttl{
		width: 100%;
	}
	.gondola-ttl > img{
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}
	.left .gondola-ttl{
		margin-left: 0;
	}
	.left .gondola-ttl > img{
		border-radius: 2px;
	}
	.right .gondola-ttl{
		margin-right: 0;
		margin-left: 0;
	}
	.right .gondola-ttl > img{
		border-radius: 2px;
	}
	.gondola-cont{
		padding: 24px;
	}
	.left .gondola-cont{
		margin: -50px auto 0 auto;
	}
	.right .gondola-cont{
		margin: -80px auto 0 auto;
	}
	.gondola-cont p{
		text-align: left;
	}
	.left .gondola-cont .best-time{
		text-align: right;
		margin: -8px -24px 1em auto;
	}
	.right .gondola-cont .best-time{
		text-align: left;
		margin: -8px auto 1em -24px;
	}
	.cheki-cont{
		padding:10px;
	}
	.cheki-cont p{
		font-size: 0.9em;
	}
	.cheki-ttl{
		font-size: 1.2em;
	}
	.cheki-cont ul{
		margin: 30px auto;
	}
	.cheki-cont ul li{
		grid-template-columns: repeat(3, 1fr);
		margin: 0 auto;
		padding: 6px;
		max-width: 100%;
		max-height: 100%;
	}
	.cheki-cont ul li .cheki{
		height: 30px;
		font-size: 0.6em;
	}
	.left .cheki-cont,.right .cheki-cont{
	    margin: -40px auto 0 auto;
	}
	.cheki-cont ul li .maste,
	.cheki-cont ul li .maste2
	{
		top: -8px;
		left: 35%;
		width: 45px;
		height: 15px;
	}

.cheki-cont ul li .maste3{
	top: -8px;
	right: -12px;
	width: 45px;
	height: 15px;
}
}


/*//   FOOD   //*/
h4.menu-tit{
	border: 1px solid #666;
	padding: 2px 24px;
	display: inline-block;
	margin-top: 40px;
}
h5.menu-time{
	margin-top: 20px;
	padding: .2em 1em;
	display: inline-block;
	color: #fff;
	background: #000;
}
.menu-list{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(400px, 100%), 1fr));
	margin-right: -24px;
}
.menu-list li{
	margin-top: 40px;
	margin-right: 24px;
}
@media screen and (max-width: 768px) {
	.menu-list{
		margin-right: 0;
	}
	.menu-list li{
		margin-right: 0;
	}
}

.menu-list li div.menu-img{
	position: relative;
	background: #efefef;
	border-radius: 0px;
}
.menu-list li div.menu-img::before{
	content: "";
	display: block;
	padding-top: 70%;
}

.menu-list li div.menu-img img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border-radius: 0px;
	object-fit: cover;
}
.menu-list li div.menu-img img.shop-logo{
	position: absolute;
	width: 50%;
	height: 50%;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: contain;
}

.menu-list dl{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 8px;
}
.menu-list dd{
	background: #000;
	color: #fff;
	padding: 0 0 0 8px;
	height: 26px;
}

.menu-list h4{
	text-align: center;
	margin: 1em 0 0;
	position: relative;
}
.menu-list h4 span{
	font-size: .5em;
	position: absolute;
	display: inline-block;
	color: #fff;
	padding: .2em 1em;
	left: 0;
}
.menu-list h4 span.blue{
	background: #036eb8;
}
.menu-list h4 span.red{
	background: #e83828;
}
.menu-list h4 span.yellow{
	background: #f39800;
}
.menu-list h4 span.white{
	border: 1px solid #ccc;
	color: #666;
}

.menu-list h4 + p{
	text-align: left;
	font-size: .9em;
}

.menu-list h5{
	text-align: center;
	margin: 0 0 1em;
}

/* modal */
.modal-open{
	cursor: pointer;
}
.modal {
  position: fixed;
  display: flex;
  align-items: center;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  border: none;
  opacity: 0;
  z-index: -1;
}

.modal-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}

.modal-inner {
  width: 90vw;
  max-width:1000px;
  max-height: 80vh;
  margin: auto;
  padding: 24px 40px;
  background: #fff;
  overflow-y: auto;
  z-index: 1;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
	.modal-inner {
		padding: 24px;
	}
}
.modal-inner h3{
	margin-top: 8px;
}
.modal-content {
	text-align: left;
}
.modal-content .modal-ttl{
	font-size: 2em;
	text-align: center;
	margin-bottom: 24px;
}
.modal-ttl + p{
	text-align: center;
	margin-bottom: 24px;
}
.modal-content > div{
	margin-bottom: 24px;
}

.modal-close{
	color: #000;
	background: #fff;
	width: 20%;
	margin: 40px auto 0;
	text-align: center;
	cursor: pointer;
	position: relative;
	border: 1px solid #000;
	border-radius: 20px;
}
.modal-close span{
	position: relative;
	width: 20px;
	height: 20px;
	margin-right: 20px;
}
@media screen and (max-width: 768px) {
	.modal-close{
		width: 80%;
	}
}

.modal-close span::before, .modal-close span::after { /* 共通設定 */
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1px; /* 棒の幅（太さ） */
	height: 16px; /* 棒の高さ */
	background: #000;
}
.modal-close span::before {
transform: translate(-50%,-50%) rotate(45deg);
}
.modal-close span::after {
transform: translate(-50%,-50%) rotate(-45deg);
}
  
.modal.is-open {
	animation: modal_open .5s ease forwards;
}
.modal.is-open .modal-inner {
	animation: modal_inner_open .5s ease forwards;
}
.modal.is-close {
	animation: modal_close .5s ease forwards;
}
.modal.is-close .modal-inner {
	animation: modal_inner_close .5s ease forwards;
}

@keyframes modal_open {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
		z-index: 10000;
	}
}

@keyframes modal_inner_open {
	0% {
		opacity: 0;
		transform: translateY(-20px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes modal_close {
	0% {
		z-index: 10000;
		opacity: 1;
	}

	100% {
		opacity: 0;

	}
}

@keyframes modal_inner_close {
	0% {
		opacity: 1;
		transform: translateY(0);
	}

	100% {
		transform: translateY(-20px);
		opacity: 0;

	}
}


/*foodページ追記*/
.food-btn{
	display: block;
    color: #fff;
	background: #333;
    padding: 0.1em 2em;
    text-align: center;
    border-radius: 40px;
    margin: 1em auto 0;
	width: 60%;
}
@media screen and (max-width: 768px) {
	.food-btn{
		display: block;
		padding: .1em 0;
	}
}

.food-list{
	margin-top: 80px;
	border: 1px dotted #333;
	padding: 24px;
}
.food-list ul{
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}
.food-list ul li{
	margin-left: auto;
	margin-right: auto;
	/* width: calc((100% - 72px) /4 ); 冬の時こっち*/
}

@media screen and (max-width: 768px) {
	.food-list{
		margin-top: 40px;
		padding: 12px;
	}
	.food-list ul{
		gap: 16px 24px;
	}

	.food-list ul li{
		width: calc((100% - 40px) /2 );
		font-size: 14px;
	}
}

/*//   ANCHOR   //*/
.anchor{
	background: #fff;
	display: flex;
	justify-content: center;
	padding: 4px;
	opacity: 0.95;
}
.anchor li + li{
	margin-left: 4em;
}
.anchor li a{
	font-size: 1.2rem;
	color: #ccc;
	position: relative;
	padding-left: 1.5em;
}
.anchor li a::before{
	content: "";
	position: absolute;
	top: 45%;
	left: 0;
	height: 6px;
	width: 6px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	transform: translateY(-50%) rotate(45deg);
}
.anchor-offset{
	scroll-margin-top: 0;
}

/*//   ANCHOR トミカ博   //*/
.anchor-red{
	/* border-top: 1px solid #E50014;
	border-bottom: 1px solid #E50014;
	background:#fff; */
	background: #E50014;
	margin-top: 30px;
}
.anchor-red li a{
	color: #fff;
}
.anchor-red li a::before{
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
}


@media screen and (max-width: 768px) {
	.anchor {
		padding: 0;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.anchor li{
		width: 50%;
		border-bottom: 1px dotted #333;
	}
	.anchor li:nth-child(n+1){
		margin-left: 0;
		border-right: 1px dotted #333;
	}
	.anchor li a{
		display: block;
		text-align: center;
		padding: 4px 0 4px 1em;
	}
	.anchor li a::before{
		left: 16px;
	}
	.anchor-offset{
		scroll-margin-top: 0;
	}
	.anchor-red{
		margin-top: 0;
		border-top: 1px dotted #fff;
	}
	.anchor-red li{
		border-bottom: 1px dotted #fff;
	}
	.anchor-red li:nth-child(n+1){
		border-right: 1px dotted #fff;
	}
}

/*//   TICKET   //*/
.box-red{
	background: #fdeded;
	padding: 16px 40px;
}
.box-red h3{
	margin-top: 0;
}
@media screen and (max-width: 768px) {
	.box-red{
		padding: 16px 24px;
	}
	.ticket-img{
		width:15%;
		height:auto;
		margin:10px 40px 10px 30px;
	}
}
.txt-red{
	color: #dd1515;
}
.food-txt-red {
	font-size: 1.8rem;
}
.shop-section-txt, .access-section-txt {
	font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
	.shop-section-txt, .access-section-txt {
		font-size: 2rem;
	}
}

.box-line{
	border: 1px solid #ccc;
	padding: 16px 40px 24px;
	margin-bottom: 40px;
	border-radius: 2px;
}
.box-line p:first-child{
	font-size: 1.1em;
}
.ticket-img{
	width:25%;
	height:auto;
	margin:10px 40px 10px 30px;
}
@media screen and (max-width: 768px) {
	.box-line{
		padding: 16px 24px;
	}
}
.box-gray{
	background: #efefef;
	padding: 16px 40px;
	margin-top: 40px;
}
.box-lightgray{
	background: #f2f2f2;
	font-size: 85%;
	padding: 16px 20px;
	margin: 5px 0 20px 0;
}
.box-dot{
	border: 1px dotted #ccc;
	padding: 16px 40px 24px;
	margin-bottom: 40px;
}
.dl-box{
	border: 1px solid #ccc;
	padding: 12px 25px 17px;
	margin-top: 20px;
	border-radius: 2px;
}
dl.apply{
	display: flex;
	flex-wrap: wrap;
	align-items: center;

}
dl.apply dt{
	width: 20%;
	min-width: 10em;
	text-align: center;
	margin-top: 2em;
}
dl.apply dd{
	width: calc(100% - 20%);
	border-left: 1px dotted #999;
	padding-left: 2em;
	margin-top: 2em;
}
dl.apply dd p{
	margin-top: 0;
	text-indent: -1.5rem;
	margin-left: 1.5rem;
}
@media screen and (max-width: 768px) {
	dl.apply{
		flex-direction: column;
	}
	dl.apply dt{
		width: 100%;
		text-align: left;
		margin-top: 2em;
		font-weight: bold;
	}
	dl.apply dd{
		width: 100%;
		border-left: none;
		padding-left: 0;
		margin-top: .5em;
	}
}
dl.info-detail{
	display: inline-block;
	text-align: left;
	overflow: hidden;
}
dl.info-detail dt{
	clear: both;
	float: left;
	font-weight: bold;
	width: 10em;
	padding-top: 16px;
}
dl.info-detail dd{
	padding: 16px 0.5em 16px 10em;
	border-bottom: 1px dotted #ccc;
}
dl.info-detail dd > span{
	margin-right: 1em;
}
dl.info-detail p.info-detail-notion{
	font-size: 4.4rem;
	text-align: right;
}
dl.info-detail ul li{
	list-style: disc inside;
	padding-left: 1.5em;
	text-indent: -1.3em;
}
dl.info-detail ul li + li{
	margin-top: .5em;
}

dl.info-detail dd > p:first-child{
	margin-top: 0;
}

@media screen and (max-width: 768px) {
	dl.info-detail{
		display: block;
	}
	dl.info-detail dt{
		float: none;
		padding-top: 8px;
	}
	dl.info-detail dd{
		padding: 8px 0.5em 8px 0;
	}
	dl.info-detail dd > span{
		display1: block;
		width: 100%;
	}
}

.online{
	display: flex;
	flex-direction: column;
	text-align: center;
	background: #efefef;
	padding: 16px 40px;
	border-radius: 8px;
}
.online h4{
	margin-bottom: 8px;
}
.online p.ticket-code{
	font-size: .8em;
	display: inline-block;
	color: #fff;
	background: #333;
	padding: 0 0.5em;
	margin-bottom: 10px;
}
.online-btn{
	width: 100%;
	margin: auto auto 0;
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #fff;
}
.online-btn a{
	display: block;
	padding: 20px 0;
}
.online-btn a img{
	width: auto;
	height: 20px;
	margin: 0 auto;
}

.ticket{
	display: flex;
	flex-direction: column;
	text-align: left;
	background: #efefef;
	padding: 16px 24px;
	border-radius: 2px;
}
@media screen and (max-width: 768px) {
	.flex-box:has(.ticket){
		flex-wrap: wrap;
	}
	.ticket{
		flex: 0 1 auto !important;
		width: calc((100% - 20px) / 2);
	}
	.ticket{
		flex: 1;
		width: 100%;
	}
}
.ticket h4{
	font-size: 2.4rem;
	text-align: center;
	margin-top: 0.5em;
	margin-bottom: 1em;
}
.ticket p:not([class]){
	margin-top: 24px;
}
.ticket .box{
	margin-top: 24px;
	background: #fff;
	padding: 24px 8px 16px 16px;
	position: relative;
	font-size: 1.2rem;
	margin-bottom: 8px;
}
.ticket .box::before{
	content: "Available";
	position: absolute;
	top: 0;
	left: 0;
	width: 6em;
	height: 1.8rem;
	text-align: center;
	font-size: 1.2rem;
	font-weight: bold;
}
.ticket .box.green{
	border: 1px dotted #1eaa39;
}
.ticket .box.blue{
	border: 1px dotted #28acd6;
}
.ticket .box.orange{
	border: 1px dotted #c93608;
}
.ticket .box.gold{
	border: 1px dotted #cbb62b;
}
.ticket .box.black{
	border: 1px dotted #000;
}
.ticket .box.green::before{
	color: #fff;
	background: #1eaa39;
}
.ticket .box.blue::before{
	color: #fff;
	background: #28acd6;
}
.ticket .box.orange::before{
	color: #fff;
	background: #c93608;
}
.ticket .box.gold::before{
	color: #fff;
	background: #cbb62b;
}
.ticket .box.black::before{
	color: #fff;
	background: #000;
}

.ticket .box ul:not([class]) li{
	list-style: disc inside;
	text-indent: -1.3em;
	padding-left: 1em;
}

.ticket .box ul.thumb-list{
	margin: 10px;
	display: flex;
	gap: 20px;
	flex-wrap:wrap;
}
.ticket .box ul.thumb-list li{
	width: calc((100% - 60px) / 4 );
}
.ticket .box ul.thumb-list li a{
	color: #28acd6;
	font-size: .9em;
}
.ticket .box ul.thumb-list li a.orange{
	color: #c93608;
	font-size: .9em;
}
.ticket .box ul.thumb-list li a:hover{
	text-decoration: underline;
}
.ticket .box ul.thumb-list li p{
	text-align: center;
	margin-top: .5em;
}
.ticket .box ul.thumb-list li img{
	border-radius: 2px;
	object-fit: cover;
}

.hukidashi{
	position: relative;
}
.hukidashi .hukidashi-box{
	position: absolute;
	top: -10px;
	right: 8px;
	background: #dd1515;
	color: #fff;
	font-size: .9em;
	padding: 0 .5em;
	border-radius: 2px;
}
.hukidashi .hukidashi-box::before{
	content: "";
	position: absolute;
	top: 20px;
	left: 50%;
	background: #dd1515;
	width: 12px;
	height: 12px;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
}
.hukidashi .hukidashi-1304{
	position: absolute;
	top: -20px;
	right: 8px;
	background: #09b2a5;
	color: #fff;
	font-size: 1.4em;
	padding: 0 .6em;
	border-radius: 20px;
}

.hukidashi .hukidashi-1304::before{
	content: "";
	position: absolute;
	top: 33px;
	left: 50%;
	background: #09b2a5;
	width: 12px;
	height: 12px;
	clip-path: polygon(0 0, 0% 100%, 100% 0);
}

@media screen and (max-width: 768px) {
	.ticket .box ul.thumb-list{
		flex-wrap: wrap;
	}
	.ticket .box ul.thumb-list li{
		flex: 0 1 auto;
		width: calc((100% - 20px) / 2 );
	}
	.ticket .box ul.thumb-list li a{
		color: #28acd6;
	}
	.ticket .box ul.thumb-list li p{
		text-align: center;
		margin-top: .5em;
	}
	.ticket .box ul.thumb-list li img{
		border-radius: 2px;
		object-fit: cover;
	}
}

.ticket .box-fee{
	text-align: center;
	color: #fff;
	padding: 8px 0;
	margin-top: auto;
	font-size: 1.8rem;
}
.ticket .box-fee.green{
	background: #1eaa39;
}
.ticket .box-fee.blue{
	background: #28acd6;
}
.ticket .box-fee.gold{
	background: #cbb62b;
}
.ticket .box-fee.black{
	background: #000;
}


h4.fee{
	margin-top: 40px;
	border-left: 5px solid #000;
	padding-left: 16px;
}
h4.fee span{
	display: block;
	margin-top: 8px;
	font-weight: normal;
	font-size: 1.4rem;
}


.chart-tbl{
	margin: 40px auto 0;
}

.chart-tbl dl{
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #666;
	border-left: 1px solid #666;
}
.chart-tbl dl dt{
	width: 43%;
	padding: 10px;
	display: flex;
	align-items: center;
	background: #666;
	color: #fff;
	border-bottom: 1px solid #fff;
}
.chart-tbl dl dt:first-child{
	justify-content: center;
}

.chart-tbl dl dd{
	width: calc(57% / 4);
	padding: 10px 20px;
	text-align: center;
	border-right: 1px solid #666;
	border-bottom: 1px solid #666;
}

@media screen and (max-width: 768px) {
	.chart-tbl dl dt{
		display: block;
		width: 100%;
		padding: .2em 0;
		text-align: center;
		border-bottom: none;
	}
	.chart-tbl dl dd{
		width: calc(100% / 4);
		padding: 10px 0;
	}
}
.chart-tbl dl dd.type{
	font-weight: bold;
	background: #efefef;
}
.chart-tbl dl dd.type img{
	width: 50%;
	margin: 0 auto;
}
.chart-tbl dl dd.art{
	color: #CC0000;
}
.chart-tbl dl dd.green{
	color: #1eaa39;
}
.chart-tbl dl dd.blue{
	color: #28acd6;
}
.chart-tbl dl dd.gold{
	color: #cbb62b;
}

.basic-tbl table{
	margin-top: 40px;
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #666;
}
.basic-tbl thead th{
	background: #333;
	color: #fff;
	border:1px solid #666;
	padding: 4px;
	text-align: center;
}
.basic-tbl tbody th{
	background: #efefef;
	border:1px solid #666;
	padding: 8px 4px;
	text-align: center;
}
.basic-tbl tbody th.th-black{
	background: #111;
	color: #fdfdfd;
}
.basic-tbl td {
	background: #fff;
	border:1px solid #666;
	padding: 8px 0;
	text-align: center;
}
.basic-tbl td.dot {
	border-top: 1px dotted #666;
	border-bottom: 1px dotted #666;
}
.basic-tbl td.dot-btm {
	border-top: 1px dotted #666;
}
.basic-tbl .double-btm {
	border-bottom: 3px double #666;
}
.basic-tbl td.dc{
	background: #f6f2c2;
}


.basic-tbl td.dot-r{
	border-right: 1px dotted #666;
}
.basic-tbl td.dot-r + td {
	border-left: 1px dotted #666;
}

.rental-tbl table{
	font-size: .9em;
}

@media screen and (min-width: 768.1px) {
	.rental-tbl thead th:first-child{
		text-align: left;
		padding: 4px 8px;
	}
}
@media screen and (max-width: 768px) {
	.rental-tbl thead th{
		border:none;
		border-left: 1px solid #666;
	}
	.rental-tbl tbody th{
		padding: 4px;
	}
	.rental-tbl tr{
		display: flex;
		flex-wrap: wrap;
	}
	.rental-tbl tbody th{
		display: block;
		width: 100%;
	}
	.rental-tbl tr .item{
		display: block;
		width: 52%;
		border-left: none;
	}
	.rental-tbl tr .per{
		width: 3em;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.rental-tbl thead tr th:not(.item):not(.per),
	.rental-tbl tr td:not(.item):not(.per){
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.rental-tbl tbody th{
		border-left: none;
		border-right: none;
	}
	.rental-tbl td {
		border: none;
		border-left: 1px solid #666;
	}
	.rental-tbl td.dot {
		border-top: none;
		border-bottom: 1px dotted #666;
	}
	.rental-tbl td.dot-btm {
		border-top: none;
	}
	.rental-tbl-4row tr .item {
		width: 24%;
	}
	.colspan-border {
		border-left: none !important;
	}
}
@media screen and (max-width: 345px) {
	.rental-tbl tr .item{
		display: block;
		width: 40%;
		border-left: none;
	}
	.rental-tbl-4row tr .item {
		width: 15%;
		font-size: 12px;
	}
}
@media screen and (max-width: 768px) {
	.station-tbl tr{
		display: flex;
		flex-wrap: wrap;
	}
	.station-tbl .station{
		display: block;
		width: 100%;
		border: none;
		border-top: 1px solid #666;
		background: #efefef;
		font-size: .9em;
	}
	.station-tbl th.station{ display: none;}
	.station-tbl td:not(.station),
	.station-tbl th{
		flex: 1;
		border: none;
		border-top: 1px dotted #666;
	}
	.station-tbl td:nth-child(n+3){
		border-left: 1px solid #666;
	}
	.station-tbl tbody th{
		border: none;
	}
	.station-tbl tbody th:not(:last-child){
		border-right: 1px solid #666;
	}
}
.slope-tbl { font-size: .9em;}
@media screen and (max-width: 768px) {
	.slope-tbl { font-size: .8em;}
	.slope-tbl tr{
		display: flex;
		flex-wrap: wrap;
	}
	.slope-tbl thead th.long{ display: none;}
	.slope-tbl tbody .long{
		display: block;
		width: 100%;
		border: none;
	}
	.slope-tbl tbody th.long{
		border-top: 1px solid #ccc;
	}
	.slope-tbl tbody td.long{
		border-top: 1px solid #ccc;
	}
	.slope-tbl td:not(.long),
	.slope-tbl th:not(.long){
		flex: 1;
		display: flex;
		justify-content: center;
		align-items: center;
		border: none;
		border-right: 1px solid #ccc;
	}
	.slope-tbl th:nth-last-child(2),
	.slope-tbl td:nth-last-of-type(2){
		border-right: none;
	}
	.slope-tbl td.dot-r{
		border-right: 1px dotted #ccc;
	}
	.slope-tbl td.dot-r + td{
		border-left: none;
	}
}




.course-tbl table{
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #666;
}
.course-tbl th{
	background: #efefef;
	border:1px solid #666;
	padding: 8px 4px;
	text-align: center;
}
.course-tbl th span{
	display: block;
	font-weight: normal;
	font-size: .8em;
}
.course-tbl td {
	border:1px solid #666;
	padding: 8px 0;
	text-align: center;
}
.course-tbl td.ticket_comingsoon{
	color: #bbb;
}
.course-tbl td.dot {
	border-top: 1px dotted #666;
	border-bottom: 1px dotted #666;
}
.course-tbl td.dot-btm {
	border-top: 1px dotted #666;
}

.ticket-tbl{
	display: flex;
	margin-top: 40px;
}
.ticket-tbl.grayout{
	color: #ccc;
}
.ticket-tbl + p{ margin-top: 8px;}

.ticket-tbl a{
	color: #28acd6;
}
.ticket-tbl a:hover{
	text-decoration: underline;
}

.ticket-tbl dl{
	width: 35%;
	border: 1px solid #666;
	border-right: none;
	text-align: center;
	display: flex;
	flex-direction: column;
}
.ticket-tbl dl dt{
	font-weight: bold;
	background: #efefef;
	border-bottom:1px solid #666;
	padding: 8px;
}
.ticket-tbl dl dd{
	height: 100%;
	padding: 8px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}
/* .ticket-tbl dl dd span{
	display: inline-block;
	background: #333;
	color: #fff;
	font-size: 1.2rem;
	margin-left: 1em;
	padding: 0 .5em;
} */

.ticket-tbl dl dd .txt-red{
	display: block;
	font-size: 12px;
	text-align: left;
}


.ticket-tbl > .tbl-w100{
	width: 100%;
}
.ticket-tbl > .tal td{
	text-align: left;
	padding: 8px .5em;
}



@media screen and (max-width: 768px) {
	.ticket-tbl .tbl-w100{
		font-size: .8em;
	}
	.ticket-tbl .tbl-w100 .th-l{
		min-width: 5em;
	}
}

.ticket-tbl table{
	width: 65%;
	border-collapse: collapse;
	border: 1px solid #666;
}

.ticket-tbl th{
	background: #efefef;
	border:1px solid #666;
	padding: 8px 4px;
	text-align: center;
	height: 1em;
}
.ticket-tbl th span{
	display: block;
	font-weight: normal;
	font-size: .8em;
}
.ticket-tbl td {
	border:1px solid #666;
	padding: 8px 0;
	text-align: center;
}
.ticket-tbl td.ticket_comingsoon{
	color: #bbb;
}

.ticket-tbl td.dot {
	border-top: 1px dotted #666;
	border-bottom: 1px dotted #666;
}
.ticket-tbl td.dot-btm {
	border-top: 1px dotted #666;
}
@media screen and (max-width: 768px) {
	.ticket-tbl{
		flex-direction: column;
	}
	.ticket-tbl dl{
		width: 100%;
		border: 1px solid #666;
		border-bottom: none;
	}
	.ticket-tbl table{
		width: 100%;
	}
}

h4.line{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 60px 0 16px;
	font-size: 2.0rem;
}
h4.line::before,
h4.line::after{
	content: "";
	height: 1px;
	width: 14em;
	background: #000;
}
h4.line::before{
	margin-right: 1em;
}
h4.line::after{
	margin-left: 1em;
}
h4.line + p{
	margin-bottom: 40px;
}

.line-sub + h4.line{
	margin: 0 0 16px;
}

h4.lineRed{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 60px 0 16px;
	font-size: 2.0rem;
	color: #E50014;
}
h4.lineRed::before,
h4.lineRed::after{
	content: "";
	height: 2px;
	width: 16em;
	background: #E50014;
}
h4.lineRed::before{
	margin-right: 1em;
}
h4.lineRed::after{
	margin-left: 1em;
}
h4.lineRed + p{
	margin-bottom: 40px;
}

h4.lineWhite{
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 60px 0 16px;
	font-size: 2.0rem;
	color: #fdfdfd;
}
h4.lineWhite::before,
h4.lineWhite::after{
	content: "";
	height: 1px;
	width: 16em;
	background: #fdfdfd;
}
h4.lineWhite::before{
	margin-right: 1em;
}
h4.lineWhite::after{
	margin-left: 1em;
}
h4.lineWhite + p{
	margin-bottom: 40px;
}


h4.line.autumn{
	font-size: 2.8rem;
	color: #e26a35;
}
h4.line.autumn::before,
h4.line.autumn::after{
	content: "";
	height: 1px;
	width: 14em;
	background: #e26a35;
}
h4.line.autumn + p{
	color: #e26a35;
	text-align: center;
}


h4.event {
  position: relative;
  font-size: 3.2rem;
  text-align: center;
  color: #E50014;
  margin-bottom: 20px;
  padding-bottom: 10px;
}

h4.event:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 6px;
  background: -webkit-repeating-linear-gradient(-45deg, #E50014, #E50014 2px, #fff 2px, #fff 4px);
  background: repeating-linear-gradient(-45deg, #E50014, #E50014 2px, #fff 2px, #fff 4px);
}

h4.recommend {
  position: relative;
  font-size: 3.2rem;
  text-align: center;
  color: #333333;
  margin-bottom: 20px;
  padding-bottom: 10px;
}

h4.recommend:after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 6px;
  background: -webkit-repeating-linear-gradient(-45deg, #333333, #333333 2px, #fff 2px, #fff 4px);
  background: repeating-linear-gradient(-45deg, #333333, #333333 2px, #fff 2px, #fff 4px);
}

h4.event-din {
	position: relative;
	font-size: 3.2rem;
	text-align: center;
	color: #274425;
	margin-bottom: 20px;
	padding-bottom: 10px;
  }
  
  h4.event-din:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 6px;
	background: -webkit-repeating-linear-gradient(-45deg, #274425, #274425 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, #274425, #274425 2px, #fff 2px, #fff 4px);
  }
@media screen and (max-width: 768px) {
	h4.line {
		text-align: center;
	}
	h4.line::before,
	h4.line::after{
		width: 2.5em;
	}
	h4.line::before{
		margin-right: .5em;
	}
	h4.line::after{
		margin-left: .5em;
	}
	
	h4.lineRed {
		text-align: center;
	}
	h4.lineRed::before,
	h4.lineRed::after{
		width: 3em;
	}

	h4.line.autumn{
		font-size: 2.0rem;
	}
	h4.line.autumn::before,
	h4.line.autumn::after{
		width: 3em;
	}

}
#night h4.line::before,
#night h4.line::after{
	background: #fff;
}

h4.bgbox{
	padding: 0 24px;
	display: inline-block;
	margin: 60px auto 16px;
	font-size: 1.8rem;
	color: #fff;
	background: #333;
}
@media screen and (max-width: 768px) {
	h4.bgbox{
		display: block;
		text-align: center;
	}
}

h4.bgbox-l{
	margin: 40px 0 1em;
	color: #fff;
	background: #333;
	padding: .2em .5em;
}

.terms{
	border: 1px solid #ccc;
	padding: 40px;
}
.terms li{
	font-size: 1.4rem;
	list-style: disc;
}
.terms li + li{
	margin-top: 8px;
}



/* メニューテキストのみ */
.menu-text_only{
  margin-top:20px;
}

.menu-text_only li h4{
	height: 31px;
	line-height: 26px;
	margin-bottom:10px;
}
.menu-text_only li{
	padding-top:15px;
	line-height: 1;
}

.menu-text_only li {
	display: flex;
	display: -ms-flexbox;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	width: 100%;
	}
	 
hr.tab-line {
	position: relative;
	margin: 0 10px;
	border: none;
	border-top: dotted 2px #CCC;
	top: 7px;
}
	
.reader {
	flex: auto;
}
.menu-text_only .tab-reader-price{
		margin-right: 40px;
}
@media screen and (max-width: 768px) {
	.menu-text_only{
		display: block;
		width:100%;
		
	}
	.menu-text_only li.tit{
		margin-top:20px;
	}
	.menu-text_only .tab-reader-price{
		margin-right: 0;
	}
}
.taxin{
	font-size:12px;
}

/* modal内 メニュー */
.menu-text {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 40px;
}

.menu-text li {
	width: calc((100% - 40px) / 2);
	line-height: 1;
	display: flex;
	display: -ms-flexbox;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
}
@media screen and (max-width: 768px) {
	.menu-text{
		flex-direction: column;
		gap: 16px;
	}
	.menu-text li{
		width: 100%;
		line-height: 1.2;
	}
}
@media screen and (min-width: 768.1px) {
	.menu-text .note{
		display: inline-block;
	}
}

.mb8{
	margin-bottom: 8px !important;
}
.mb40{
	margin-bottom: 40px !important;
}
.mb60{
	margin-bottom: 60px !important;
}
.mt0{
	margin-top: 0 !important;
}
.mt80{
	margin-top: 80px !important;
}
.mt60{
	margin-top: 60px !important;
}
.mt40{
	margin-top: 40px !important;
}
.mt20{
	margin-top: 20px !important;
}
.mt8{
	margin-top: 8px !important;
}
.pt100{
	padding-top: 100px !important;
}
.ml20{
	margin-left: 20px !important;
}
.lh2{
	line-height: 2;
}
.menu-image{
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap:40px;
	margin-top: 30px;
}

@media screen and (max-width: 768px) {
	.menu-image{
		grid-template-columns: 1fr;
		grid-gap:0;
		margin-top: 0;
	}
	.menu-image img{
		margin-top: 20px;
	}
}

/*//   APPI API   //*/
.weather_appi{
	position: absolute;
	left: 10%;
	bottom: 5%;
	padding: 4px 16px 8px;
	background: rgba(0, 0, 0, .6);
	color: #fff;
	font-size: 11px;
	border-radius: 8px;

	left: 50%;
	bottom: 5%;
	transform: translateX(-50%);
}

.weather_appi .weather_cont{
	position: relative;
}
.weather_appi .updatetime{
	text-align: left;
	font-size: 10px;
}
.weather_appi .comment{
	margin-top: 16px;
}
.weather_appi .information{
	width: 24em;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
	padding: .5em 0;
	margin-top: 4px;
	font-size: 12px;
}
/* 冬用 */
.weather_appi.winter .information{
	width: 32em;
	font-size: 13px;
}

.weather_appi .weather_info{
	display: flex;
	justify-content: space-around;
	align-items: center;
	gap: 16px;

	position: absolute;
	top: 0;
	right: 0;
}

.weather_info .weather{
	display: flex;
	align-items: center;
	font-size: 10px;
}
.weather_info .weather_txt{
	line-height: 1;
	margin-top: 0;
	text-align: center;
}
.weather_info .weather .weather_icon{
	max-width: 40px;
	margin: 0 auto;
}

.weather_info .temp{
	font-size: 30px;
	font-weight: bold;
}
.weather_info .temp span{
	font-size: 14px;
}

/* 冬用 */
.weather_appi .weather_cond{
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin-top: .5em;
}
.weather_appi .weather_cond li{
	text-align: center;
}
.weather_appi .weather_cond li > span{
	display: block;
	height: 40px;
	font-size: 1.2em;
	font-weight: bold;
}
.weather_appi .weather_cond li > span:not([class]){
	display: flex;
	align-items: center;
}
.weather_appi .weather_cond li > span.big{
	font-size: 30px;
}
.weather_appi .weather_cond li > span span{
	font-size: 10px;
}
.weather_appi .weather_link{
	margin-top: 1em;
}
.weather_appi .weather_link a{
	display: block;
	/* border: 1px solid rgba(255, 255, 255, .2); */
	padding: .5em;
	color: #fff;
	text-align: center;
	border-radius: 20px;
	background: #000;
}
.weather_appi .weather_link span{
	display: inline-block;
	filter:invert(100%);
	width: 20px;
	margin-right: 1em;
	vertical-align: middle;
}
@media screen and (max-width:768px){
	.weather_appi{
		bottom: 10%;
		font-size: 11px;
		width: 80%;
	}
	.weather_appi.winter .information{
		width: 100%;
	}
}

/*//   Footer   //*/
/*footer下の余白調整*/
body > footer{
	position: sticky;
	top: 100vh;
}
/* index footer */

.area .top-ft{
	position: absolute;
	bottom: 16px;
	left: 0;
	right: 0;
	text-align: center;
}
@media screen and (max-width: 768px) {
	.area .top-ft{
		bottom: 54px;
	}
}
.top-ft .ft-wsa{
	margin: 0 auto 8px;
}
.top-ft .ft-tel a{
	width: 400px;
	border: 1px solid #fff;
}
@media screen and (max-width: 768px) {
	.top-ft .ft-tel a{
		width: 90%;
		padding: 8px 0;
	}
}
.top-ft .top-bnr{
	width: 800px;
	margin: 24px auto 0;
}
.top-ft .top-bnr ul{
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.top-ft .top-bnr ul li{
	width: calc((100% - 48px) / 9);
}
.top-bnr img{
	opacity: .8;
}
@media screen and (max-width: 768px) {
	.top-ft .top-bnr{
		width: 90%;
	}
	.top-ft .top-bnr ul{
		flex-wrap: wrap;
		gap: 4px;
	}
	.top-ft .top-bnr ul li{
		width: calc((100% - 16px) / 5);
	}
}

/* common */
.ft-link{
	position: fixed;
	display: flex;
	flex-direction: column;
	bottom: 3%;
	right: 0;
	font-size: 1.0rem;
	line-height: 1.1;
	filter: drop-shadow( 0 0 4px rgba(0, 0, 0, .3));
}
.ft-link li{
	margin-bottom: 8px;
}
.ft-link li a{
	display: block;
	text-align: center;
	width: 7em;
	padding: 5px 0;
	color: #000;
	background: rgba(255, 255, 255, .8);
	border-radius: 8px 0 0 8px;
}
.ft-link a span.ft-icon{
	margin: 0 auto 4px;
	width: 32px;
	height: 32px;
	display: block;
}
.ft-link .ft-ticket a{
	background: #e8c936;
	letter-spacing: -0.05em;
}

.ft-link .ft-awards a{
	color: #d6b24a;
	background: rgba(31, 31, 31, .8);
}
.ft-link .ft-tomica a{
	color: #fff;
	background: rgba(230, 0, 0, 1);
}

@media screen and (max-width: 768px) {
	.ft-link{
		flex-direction: row-reverse;
		bottom: 0;
		left: 0;
		right: 0;
		font-size: 1.6rem;
		width: 100%;
	}
	.ft-link li{
		margin-bottom: 0;
	}
	.ft-link .ft-gondola{
		width: 16%;
	}
	.ft-link .ft-awards{
		width: 16%;
	}
	.ft-link .ft-ticket{

		width: 68%;
	}
	.ft-link .ft-tomica{
		width: 16%;
	}
	.ft-link .ft-ticket a{
		font-weight: bold;
	}

	.ft-link .ft-awards a{
		background:#222;
	}
	.ft-link li a{
		width: 100%;
		background: rgba(255, 255, 255, 1);
		border-radius: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.ft-link a span.ft-icon{
		margin: 0;
		width: 2em;
		height: 2em;
		display:block;
	}
	.ft-link .ft-ticket span.ft-icon{
		margin: 0 16px 0 0;
	}
}

.ft-bnr{
	background: #efefef;
	padding: 16px 0 40px 0;
}
.ft-bnr ul{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.ft-bnr ul li{
		width: calc((100% - 48px) / 3);
}
@media screen and (max-width: 768px) {

	.ft-bnr ul{
		flex-wrap: wrap;
		gap: 16px;
	}
	.ft-bnr ul li{
		width: calc((100% - 17px) / 1);
	}
}

.ft-wrap{
	background: #000;
	padding: 24px 0 8px;
}
.ft-inner{
	width: 90%;
	max-width: 1100px;
	margin: 0 auto 0;
	display: flex1;
}
.ft-logo > div img{
	height: auto;
	width: 400px;
	margin: 0 auto 40px auto;
	text-align: center;
}
.ft-add{
	margin-top: 16px;
	font-size: 10px;
	margin-right: 24px;
	color: #fff;
}
.ft-cont{
	margin-left: auto;
}
.ft-wsa{
	width: 180px;
	display: flex;
	gap: 16px;
}
@media screen and (max-width: 768px) {
	.ft-wrap{
		padding: 24px 0 56px;
	}
	.ft-inner{
		flex-wrap: wrap;
	}
	.ft-logo{
	height: auto;
	width: 320px;
	margin: 0 auto 40px auto;
	text-align: center;
	}
	.ft-add{
		margin-top: 8px;
	}
	.ft-wsa{
		width: 40%;
	}
	.ft-cont{
		margin-left: 0;
		width: 100%;
	}
}

.ft-tel a{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.4rem;
	color: #fff;
	font-weight: bold;
	border: 1px solid #666;
	border-radius: 8px;
	padding: 8px 2em;
	text-align: center;
	margin: 0 auto;
	line-height: 1;
}
@media screen and (max-width: 768px) {
	.ft-tel{
		margin-top: 8px;
	}
	.ft-tel a{
		width: 100%;
		padding: 8px 0;
		font-size:1.2rem;
	}
}
.ft-tel a span{
	font-family: 'Montserrat', sans-serif;
	white-space: nowrap;
	display: inline-block;
	font-weight: normal;
	vertical-align: middle;
	background: url(../img/common/phone.svg) no-repeat left center;
	padding-left: 1em;
	background-size: contain;
	margin-left: .5em;
	font-size: 2em;

}
@media screen and (max-width: 330px) {
	.ft-tel a span{
		font-size:1.6rem;
	}
}
.ft-menu{
	font-size: 12px;
	margin-top: 8px;
}
.ft-menu ul{
	display: flex;
	align-items: center;
	justify-content: center;
}
.ft-menu li + li{
	margin-left: 1.5em;
}
.ft-menu ul li a{
	color: #fff;
}
@media screen and (max-width: 768px) {
	.ft-menu{
		display: none;
	}
}
.sns{
	width: 1.2em;
}

.copy{
	color: #fff;
	font-size: 10px;
	text-align: center;
	margin: 16px 0 0;
}
@media screen and (max-width: 768px) {
	.copy{
		margin: 8px 0 0;
	}
}


/* ticket-modal */
#ticketBtn {
	cursor: pointer;
}

#ticket-menu {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #fff;
	background: rgba(0,0,0,0.8); 
	-webkit-backdrop-filter: blur(3px); 
	backdrop-filter: blur(3px); 
	z-index: 100;
	transition: .5s ease;
	display: none;
	overflow-y: auto;
}

#ticket-menu #ticket-position{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 830px;
	margin: 0 auto;
	overflow-y: auto;
}

/*チケットが4種以上の時に使用*/
#ticket-menu #ticket-position.ticket-wrap{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);/*チケット数が3~4つは2,1fr、5以上は3,1fr*/
    gap: 20px;
	align-items: center;
	justify-content: center;
	padding-top: 0.5em;/*吹き出しの高さを担保する*/
}

#ticket-menu #ticket-position.ticket-wrap dl{
	margin-bottom: 20px;
}
/*ここまで*/

.ticket-ttl{
	font-size: 2rem;
	background: #6c757d;
	margin-bottom: 20px;
}
/*.ticket-ttl.green{
	background: #1eaa39;
}
.ticket-ttl.red{
	background: #E50014;
} */
#ticket-menu .btn{
	border: 1px solid #fff;
	border-radius: 50px;
	margin-top: auto;
	width: 100%;
}

.ticket-box{
	display: flex;
	align-items: center;
	font-size: 1.6rem;
	font-weight: bold;
	gap:10px;
	margin-bottom: 16px;
}
.ticket-box img{
	border: 2px solid #fff;
	border-radius: 9px;
	width: 210px;
}

.open-ticket #ticket-menu {
	display: block;
	animation: modal_open .5s ease;
}
/*背景スクロールさせない*/
body.open-ticket {
	overflow: hidden;
}

/* @media screen and (min-width: 767.98px) {
	#ticket-menu dt{
		flex-direction: column;
		gap: .3em;
	}
} */

/* #ticket-menu dd + dt {
	margin-top: 40px;
} */


@media screen and (max-width: 768px) {
	#ticket-menu {
		overflow: auto;
	}
	
	#ticket-menu #ticket-position {
		position: static;
		transform: none;
		margin: 2rem auto;/*チケットメニュー数に応じて高さ調整*/
		width: min(90%, 600px);
	}
	
	#ticket-menu #ticket-position.ticket-wrap{
		display: block;
	}
	
	#ticket-menu #ticket-position dl{
		display: block;
	}
	
	.ticket-box{
		justify-content: left;
	}
	
	.ticket-box img{
		width: 150px;
	}

	#ticket-menu dd > div {
		width: 100%;
	}
}

/* INFO */
.basic-tbl.treerun table{
	margin-top: 0;
}
@media screen and (max-width: 768px) {
	.basic-tbl.treerun table{
		font-size: .8em;
	}
}
.emergency{
	text-align: center;
	font-weight: bold;
}
.emergency span{
	display: inline-block;
	font-size: 3.2rem;
	vertical-align: middle;
	margin-left: 1em;
}
@media screen and (max-width: 768px) {
	.emergency span{
		display: block;
		margin-left: 0;
	}
}

.sec-flex{
	display: flex;
	gap: 120px;
}
.sec-flex > div{
	flex: 1;
}
@media screen and (max-width: 768px) {
	.sec-flex{
		flex-direction: column;
		gap: 40px;
		margin-bottom: 40px;
	}
}
.sec-flex h3{
	font-size: 3.2rem;
}
.w50-pc h4.line::before,
.w50-pc h4.line::after,
.flex-box h4.line::before,
.flex-box h4.line::after,
.sec-flex h4.line::before,
.sec-flex h4.line::after{
	content: "";
	height: 1px;
	width: 4em;
	background: #000;
}

.course-status{
	display: inline-block;
	border: 4px solid #efefef;
	padding: .5em 1em;
	margin-top: 16px;
	font-size: 1.4rem;
	text-align: left;
}
.course-status ul{
	display: flex;
	gap: 4px 24px;
}
.course-status ul + ul{
	margin-top: 8px;
}
.course-status ul li:first-child{
	font-weight: bold;
}
.course-status ul li span{
	display: inline-block;
	margin-right: .5em;
	width: 2em;
	vertical-align: middle;
}
@media screen and (max-width: 768px) {
	.course-status ul{
		flex-wrap: wrap;
	}
	.course-status ul + ul{
		margin-top: 8px;
		border-top: 1px dotted #ccc;
		padding-top: 8px;
	}
	.course-status ul li:first-child{
		width: 100%;
	}
	.course-status ul li:not(:first-child){
		width: calc((100% - 24px) / 2);
	}
}

.data-list{
	display: flex;
	align-items: stretch;
	border: 1px solid #ccc;
}
.data-list li{
	flex: 1;
	text-align: center;
	line-height: 4;
}
.data-list li:not(:last-child){
	border-right: 1px solid #ccc;
}
.data-list li h5{
	background: #efefef;
	line-height: 1;
	padding: .5em 0;
}
.data-list li > div{
	display: inline-block;
	vertical-align: middle;
	width: 20%;
	margin-right: .5em;
}
@media screen and (max-width: 768px) {
	.data-list li{
		line-height: 3;
	}
	.data-list li > div{
		width: 30%;
		margin-right: 0;
	}
}
.lift-list li{
	display: flex;
	justify-content: space-between;
	border-bottom: 1px dotted #ccc;
	padding: .5em 1em;
}
.lift-list li div:first-child{
	min-width: 10em;
}
@media screen and (max-width: 768px) {
	.lift-list li{
		padding: .5em 0;
	}
}

.lift-list span::before{
	font-weight: bold;
	display: inline-block;
	width: 1em;
	text-align: center;
}
.lift-list span.operating::before{
	content: "●";
}
.lift-list span.standby::before{
	content: "△";
}
.lift-list span.closed::before{
	content: "×";
}
.lift-list span.end::before{
	content: "×";
}

.lift-status{
	display: flex;
	justify-content: center;
	border: 4px solid #efefef;
	font-size: 1.4rem;
	gap: 8px 24px;
	padding: .5em 1em;
	margin-top: 16px;
}
@media screen and (max-width: 768px) {
	.lift-status{
		flex-wrap: wrap;
	}
	.lift-status li{
		width: calc((100% - 24px) / 2);
		text-align: center;
	}
}
.lift-status li span{
	font-weight: bold;
	padding-right: .3em;
}

.inline-list{
	display: flex;
	align-items: stretch;
	border: 1px solid #ccc;
	margin-top: 16px;
}
.inline-list li{
	flex: 1;
	text-align: center;
	list-style: none !important;
}
.inline-list li + li{
	margin-top: 0 !important;
}
.inline-list li:not(:last-child){
	border-right: 1px dotted #ccc;
}

/*//   FORM   //*/
.form-wrap{
	width: 50%;
	margin: 40px auto 80px;
	/* font-size: 1.8rem; */
}
@media screen and (max-width: 768px) {
	.form-wrap{
		width: 100%;
	}
}
.form-wrap dl{
	margin-bottom: 40px;
	border-bottom: 1px dotted #ccc;
}
.form-wrap dt{
	font-weight: bold;
	margin-bottom: .3em;
	border-top: 1px dotted #ccc;
	padding: 1em 1em 0;
}
.form-wrap dt span{
	display: inline-block;
	vertical-align: middle;
	color: #fff;
	background: #666;
	font-weight: normal;
	font-size: .7em;
	padding: 0 .5em;
	margin-left: 1em;
}
.form-wrap dd{
	padding: 0 1em 1.5em;
}

input[type=text],
input[type=email],
input[type=password],
input[type=tel],
input[type=number],
textarea,
select {
  vertical-align: middle;
  width: 100%;
  max-width: 100%;
  padding: .5em .5em;
  color: #555;
  /* background: #efefef; */
  text-align: left;
  border: 1px solid #999;
}
textarea{
  resize: vertical;
}

input[type=submit] {
  font-family: inherit;
  width: 100%;
  margin: 0 auto 0;
  background: #000;
  color: #fff;
  padding: .5em 0;
  cursor: pointer;
  border: none;
  border-radius: 50px;
}
input[type=reset],
input[type=button] {
	font-family: inherit;
	width: 100%;
	margin: 0 auto 0;
	background: #fff;
	color: #000;
	padding: .5em 0;
	cursor: pointer;
	border: 1px solid #000;
	border-radius: 50px;
  }

/*個人情報の取り扱いについてのリスト*/
.disc{
	margin-top: 40px;
	margin-left: 1em;
	list-style: disc inside;
	text-indent: -1.3em;
}

ol{
	list-style: decimal inside;
}
ol > li{
	text-indent: -1em;
	margin-left: 1.3em;
}
ol li > ul{
	margin-top: 0 !important;
}


/* FAQ */
button{
	cursor: pointer;
	border: none;
	outline: none;
	appearance: none;
	color: inherit;
	background-color: transparent;
}
.accordion > li{
	border-bottom: 1px solid #333;
}
.ques {
	position: relative;
	text-align: left;
	width: 100%;
	padding: 1.2em 2.5em;
	color: #333;
}
.ques::before{
	position: absolute;
	content: "Q";
	font-weight: 600;
	font-size: 1.5em;
	color: #000;
	top: .5em;
	left: 8px;
}
.ques::after{
	position: absolute;
	content: "";
	top: 50%;
	right: 1em;
	transform: translate(-50%, -50%);
	display: block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #000;
	border-right: 2px solid #000;
	transform: rotate(135deg);
	transition: transform .3s ease-in-out, top .3s ease-in-out;
}
.ques.is-open::after{
	top: 55%;
	transform:  rotate(-45deg);
}

.ans{
	position: relative;
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.6s ease-in-out;
	background: #f8f8f8;
}
.ans::before{
	position: absolute;
	content: "A";
	font-weight: 600;
	font-size: 1.5em;
	color: #000;
	top: .5em;
	left: 8px;
}

.ans > *:first-child{
	border-top: 1px dotted #333;
}
.ans > *{
	padding: 1.2em 1em 1.2em 2.5em;
}
.ans > * + *{
	padding: 0 1em 1.2em 2.5em;
}
.ans a{
	color:#28acd6;
}
.ans a:hover{
	text-decoration: underline;
}
.ans .disc{
	margin-top: 0;
}

.uselist1 li{
	padding: 7px 7px;
}
.uselist2 li{
	list-style-type: none;
	list-style-position: inside;
	counter-increment: cnt;
	margin-left:60px;
	padding: 0.4rem;
}

.uselist2 li::before{
	content: "（" counter(cnt) "）";
	display: inline-block;
}

@media screen and (max-width: 768px) {
	.uselist2 li { margin-left: 0.1em;}
}

.safety-tbl table{
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #666;
}
.safety-tbl th{
	background: #efefef;
	border:1px solid #666;
	padding: 3px;
	text-align: center;
}
.safety-tbl th span{
	display: block;
	font-weight: normal;
	font-size: .8em;
}
.safety-tbl td {
	border:1px solid #666;
	padding:8px;
	text-align: left;
}

.safety-tbl .safety-tbl-r{
	text-align: right;
}

@media screen and (max-width: 768px) {
	.safety-tbl { font-size: .8em;}
}

.safety-dl{
	display: flex;
	text-align: left;
}

.safety-dl dt{
	padding-right: 30px;
	width: 110px;
}

/*night squareカレンダー*/
.google-cal iframe {
	width:100%;
	max-width:800px;
	height:400px;
  }
  
  @media (max-width: 768px) {
	.google-cal iframe {
	  height:600px;
	}
  }


/* ブラックパスページ */
.blackpass-page{
	background: #121212;
	color: #ffffff;
	overflow: hidden;
}
.blackpass-page h3{
	margin-bottom: 70px;
}
.blackpass-page h3::first-letter{
	font-size: 80px;
	font-weight: 700;
	margin-right: 3px;
	/* color: #edc549; */
}
.blackpass-page p{
	font-size: 2.2rem;
}
.blackslide{
	display: flex;
	margin-bottom: 50px;
}
.blackslide-wrap{
	display: flex;
	overflow: hidden; 
	margin: 0 calc(50% - 50vw);
}
.blackslide-wrap .blackslide-list{
	display: flex;
	list-style: none;
}
.blackslide-wrap .blackslide-left{
	-webkit-animation: blackslide-left 30s infinite linear 0.5s both;
    animation: blackslide-left 30s infinite linear 0.5s both;
}
.blackslide-wrap:hover .blackslide-left{
	animation-play-state: paused;
}
.blackslide-wrap .blackslide-list li{
	width: 400px;
	height: 250px;
	clip-path: polygon(20% 0, 100% 0, 80% 100%, 0 100%);
	object-fit: cover;
	margin-left: -60px;
}
.blackslide-wrap .blackslide-list li > img {
	width: 100%;
}

/* チェックマーク */
.check{
	list-style: none;
	font-size: 24px;
	width: 680px;
	margin: 50px auto;
	padding:30px 50px 30px 80px;
	border-radius: 10px;
}

.check li{
	position: relative;
}
.check li::before{
	display: inline-block;
	content: '';
	position: absolute;
	top: .5em;
	left: -1.2em;
	width: 18px;
	height: 8px;
	border-left: 3px solid #edc549;
	border-bottom: 3px solid #edc549;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.bg-gray{
	background: #222;
}

.blackpass-page .youtube_wrapper iframe{
	border: 5px solid #ffffff;
}

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

.interview-box1{
	display: flex;
	gap: 50px;
	flex: 1;
	margin: auto calc(50% - 50vw);
}
.interview-box{
	display: flex;
	width: 100% !important;
	gap: 50px;
	flex: 1;
	margin: 0 auto; /* 左右中央寄せ */
}
.interview-box div{
	width: 40%;
}
.interview-box div img{
	height: 100%;
	object-fit: cover;
}
.interview-name{
	display: flex;
	align-items: flex-start;
	white-space: nowrap;
	gap:1.6rem;
	font-size: 2rem;
	color: #edc549;
	margin-top: 0.5em;
	margin-bottom: 1.5em;
	width: 100%;
}

.interview-name::after{
  content: "";
  display: block;                /* ブロック要素化 */
  width: 100%;
  margin-left: auto;             /* 左マージン自動で右寄せ */
  margin-block-start: .85em;
  border-top: 1px solid #edc549; /* border-block-startより互換性安定 */
}

.interview-box h4{
	font-size: 32px;
	font-weight: 700;
}
.interview-box p{
	font-size: 16px;
	line-height: 1.8;
}
.interview-l .interview-text{
	margin-right1: 5vw;
	width: 100%;
}
.interview-r{
	flex-direction:row-reverse;

}
.interview-r .interview-text{
	margin-left: 5vw;
	width: 60%;
}


@media screen and (max-width: 768px) {
	.interview-name{
	display: flex;
	align-items: flex-start;
	white-space: nowrap;
	gap:1.8rem;
	font-size: 2rem;
	color: #edc549;
	margin-top: 0.5em;
	margin-bottom: 1.5em;
	width: auto;
}

.interview-name::after{
  content: "";
  display: block;                /* ブロック要素化 */
  margin-left: auto;             /* 左マージン自動で右寄せ */
  margin-block-start: .85em;
  border-top: 1px solid #edc549; /* border-block-startより互換性安定 */
}	
	
	.blackpass-page h3::first-letter{
		font-size: 44px;
	}
	.blackslide-wrap .blackslide-list li{
		width: 300px;
		height: 180px;
		margin-left: -45px;
	}
	.check{
		font-size: 20px;
		width: 100%;
		margin: 50px auto;
		padding: 20px 10px 20px 45px;
	}
	.check li::before{
		left: -1.4em;
	}
	.interview-box{
		display: block;
		margin: auto;
	}
	.interview-box div{
		width: 100%;
	}
	.interview-box .interview-text{
		width: 100%;
	}
	.interview-box h4{
		margin-top: 20px;
	}
	.interview-name::after{
		width: 100%;
	}
	.interview-box p{
		font-size: 18px;
	}
	.interview-l .interview-text,.interview-r .interview-text{
		margin: auto;
	}
	
}


/* 横スクロール　*/
.slide-cont{
	text-align: center;
}
.slide-cont h2{
	margin-bottom: 1em;
}
.slide-note{
	font-family: 'Montserrat', sans-serif;
	text-align: center;
	color: #000;
	margin: 0 0 80px;
	font-size: 1.4rem;
}
.slide-note .mouse{
	display: block;
	width: 24px;
	height: 40px;
	margin: 0 auto 10px;
	border: 2px solid #000;
	border-radius: 60px;
	position: relative;
}
.slide-note .mouse::before {
	content: '';
	width: 6px;
	height: 6px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	background-color: #000;
	border-radius: 50%;
	opacity: 1;
	animation: wheel 1.5s ease-out infinite;
	-webkit-animation: wheel 1.5s ease-out infinite;
}
@keyframes wheel {
	0% {
		opacity: 1;
		top: 5px;
	}
	40% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		top: 25px;
	}
}

.slide-wrap{
	background-color: #F2F2F2;
	width: 100vw;
	height: calc(100vh - 100px);
	margin: 40px calc(50% - 50vw) 0;
	/* background: #000; */
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding-top: 40px;
}
@media screen and (max-width: 768px) {
	.slide-wrap{
		height: 60vh;
	}
}
.slide-box{
	width: 100%;
}
.slide-list{
	display: flex;
	gap: 30px;
	width: 100%;
	margin: 0 auto;
	overflow: hidden;
}
.slide:first-child{
	margin-left: 200px;
}
@media screen and (max-width: 768px) {
	.slide:first-child{
		margin-left: 30px;
	}
	.slide:last-child{
		margin-right: 30px;
	}
}
a.slide-link{
	display: block;
	width: 50vw;
	height: 50vh;
	position: relative;
}
a.slide-link .slide-txt{
	position: absolute;
	left: 0em;
	bottom: 0em;
	font-weight: bold;
	color: #fff;
	font-size:75%;
	background:rgba(255,255,255,0.6);
	padding: 3px 3px 0 6px;
}
a.slide-link .slide-txt.black{
	color: #000;
}

.slide-img{
	width: 50vw;
	height: 50vh;
	object-fit: cover;
}
@media screen and (max-width: 768px) {
	a.slide-link{
		width: 80vw;
		height: 40vw;
	}
	.slide-img{
		width: 80vw;
		height: 40vw;
		object-fit: cover;
	}
}

.schedule-list li{
	display: flex;
	justify-content:left;
	font-size: 16px;
	padding: .5em 1em;
}

.schedule-list li div:first-child{
	min-width: 10em;
}

@media screen and (max-width: 768px) {
	.schedule-list li{
		padding: .5em 0;
	}
}

.opacity02{
	opacity: 0.2;
}

.coming{
	position: relative;
}
.coming > span{
	position: absolute;
	top:50%;
	left: 50%;
	transform: translateX(-50%);
	font-size: 4.2rem;
	color: #dd1515;
	font-weight: bold;
	z-index: 99;
}

/* instagram */
.insta-ico{
	display: inline-block;
	margin-right: 1em;
	width: 1.8em;
	vertical-align: middle;
}
.insta-wrap{
    margin: 40px auto;
}
.insta-wrap ul {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 40px;
}

.insta-wrap ul li{
	position:relative;
	background: #fff;
	padding: 12px;
	border-radius: 2px;
	filter: drop-shadow(0 1px 6px rgba(0,0,0,.2));
}
.insta-wrap ul li:nth-child(2n){
	-webkit-transform: rotate(-6deg);
    transform: rotate(-6deg);
}
.insta-wrap ul li:nth-child(3n){
	-webkit-transform: rotate(3deg);
    transform: rotate(3deg);
}
.insta-wrap ul li:nth-child(4n){
	-webkit-transform: rotate(5deg);
    transform: rotate(5deg);
}
.insta-wrap ul li a {
  display: block;
  text-decoration: none;
  color: #333;
}
.insta-wrap ul li img {
	max-width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}
.insta-wrap ul li a .like{
	margin-top: .5em;
	padding-left: 25px;
	font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    display: block;
    position: relative;
	height: 50px;
}
.insta-wrap ul li a .like::before,.like::after {
	content: "";
	position: absolute;
	top: 3px; 
	width: 9px;
	height: 15px;
	background: #e4007f;
	border-radius: 100px 100px 0 0;
}
.insta-wrap ul li a .like::before {
  	left: 10px;
  	transform: rotate(-45deg);
	transform-origin: 0 100%;
}
.insta-wrap ul li a .like::after {
  	left: 1px;
	transform: rotate(45deg);
	transform-origin: 100% 100%;
}

.insta-wrap ul li .maste{
	position:absolute;
	top: -15px;
	left: 30%;
	width: 70px;
	height: 22px;
	background-color: rgcba(255,255,255,.1);
	border-left: 2px dotted rgba(0,0,0,.1);/* ギザギザ左*/
	border-right: 2px dotted rgba(0,0,0,.1);/* ギザギザ右*/
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
	transform: rotate(14deg);
}
/*.insta-wrap ul li a .like{
	margin-top: .5em;
	font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    display: block;
    text-align: center;
    position: relative;
	height: 50px;
}
.insta-wrap ul li a .like::before{
    content: "\02665";
    color: #CC0000;
    font-size: 16px;
    vertical-align: middle;
    padding-right: 0.25em;
}*/

@media screen and (max-width: 768px) {
	.insta-wrap ul li{
		padding: 10px;
	}
	.insta-ico img{
		width: 100%;
	}
	.insta-wrap ul {
		grid-template-columns: repeat(2, 1fr);
	}
	.insta-wrap ul li .maste{
		top: -12px;
		left: 28%;
	}
}

/*右揃え*/
ul.fee-txtwrap{
    width: fit-content;
    display: grid;
}
ul.fee-txtwrap li{
    list-style: none !important;
    display: flex;
    justify-content: space-between;
    gap: 40px;
}
ul.fee-txtwrap li + li{
    margin: 0 !important;
}
ul.fee-txtwrap li span{
    display: block;
}


/*カレンダー*/
.tac-left{
	margin: 0 auto;
	text-align: center;
	display: block;
}
.tac-left ul {
	padding-left: 0;

}
.tac-left ul li {
	text-align: left;
		display: inline-block;
}
.tac-left ul li::before {
	position: relative;
	content: '';
	display: inline-block;
	margin-right: 4px;
	width: 13px;
	height: 13px;
}
/* .tac-left ul li.first-li:before{
	background: #F0D9AF;
}
.tac-left ul li.second-li:before{
	background: #b0e6f0;
}
.tac-left ul li.third-li:before{
	background: #E6F0B0;
}
.tac-left ul li.forth-li:before{
	background: #aaa;
} */
.tac-left ul li .off{
	display: inline-block;
	width: 9px;
	height: 16px;
	vertical-align: middle;
	margin-right: 5px;
	background: #efefef;
}
.tac-left ul li .time1{
	display: inline-block;
	width: 9px;
	height: 16px;
	vertical-align: middle;
	margin-right: 5px;
	background: #d1e8e0;
}
.tac-left ul li .time2{
	display: inline-block;
	width: 9px;
	height: 16px;
	vertical-align: middle;
	margin-right: 5px;
	background: #e5f6f8;
}
.tac-left ul li .time3{
	display: inline-block;
	width: 9px;
	height: 16px;
	vertical-align: middle;
	margin-right: 5px;
	background: #f8e5ed;
}
.tac-left ul li .time4{
	display: inline-block;
	width: 9px;
	height: 16px;
	vertical-align: middle;
	margin-right: 5px;
	background: #e7dece;
}
.tac-left ul li.pink-li::before{
	background: #e4007f;
}
.tac-left ul li.bl-li:before {
	/*background: #333;*/
	background: #444;
}
.calendar-wrap {
  margin: 0 auto;
  max-width: 1000px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 40px;
}
@media screen and (max-width: 768px) {
  .calendar-wrap {
    display: flex;
    flex-direction: column;
  }
}
.calendar {
  width: 100%;
  border-collapse: collapse;
}
.calendar th,
.calendar td {
  /*border: 1px solid #f1f6f8;*/
  border: 1px solid #a3a3a3;
  text-align: center;
  padding: 13px;
  font-size: 14px;
  font-weight: bold;
}

.calendar th {
  padding: 1px 10px;
  color: #fff;
  /*background-color: #333;*/
  background-color: #666;
}
@media screen and (max-width: 768px) {
  .calendar th,
  .calendar td {
    padding: 8px;
    font-size: 12px;
  }
  .calendar th {
    padding: 2px 6px;
  }
}

.calendar .today {
  background-color: #fadcdb;
}
.open-bl {
	color: #fff;
	background-color: #222;
  }
.calendar_pink{
	color: #fdfdfd;
	background-color: #e4007f;
}
.calendar_white{
	color: #111111;
	background: #fdfdfd;
}
.calendar_gray{
	color: #fdfdfd;
	background-color: #cccccc;
}


/* カレンダー*/
/* .calendarcont {
    max-width: 800px;
    margin: 0 auto;
    background-color: white;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
} */
.calendar-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
	margin-bottom: 15px;
}
.calendar-nav button{
	width: 5.5em;
}
.btn-month{
    background: #000000;
    color: white;
    border: none;
    padding: 4px 16px;
    border-radius: 20px;
}
.btn-month.arrow-left,.btn-month.arrow{
	position: relative;
}
.btn-month.arrow-left::after{
	position: absolute;
	content: "";
	top: 50%;
	left: 21px;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(225deg) translate(75%, 0);
}
.btn-month.arrow::after{
	position: absolute;
	content: "";
	top: 50%;
	right: 16px;
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg) translate(-75%, 0);
}
.btn-month:hover {
	background: rgba(0, 0, 0, .9);
}
.current-month {
	font-size: 20px;
	font-weight: bold;
}
.monthcont table {
	width: 100%;
	border-collapse: collapse;
}
.monthcont th, .monthcont td {
	padding: 10px;
	text-align: center;
	/* border: 1px solid #e0e0e0; */
}
.monthcont th {
	border-top: 1px solid #333333;
	border-bottom: 1px solid #333333;
}
.monthcont td.calendar_today {
    background: #e8f4f8;
    font-weight: bold;
    border: 2px solid #4aa8d4;
    color: #4aa8d4;
}
.other-month {
    color: #bbb;
}
.off {
  color: #999999;
  background: #efefef;
}
.time1{
	color: #333333;
	background: #d1e8e0;
}
.time2{
	color: #333333;
	background: #e5f6f8;
}
.time3{
	color: #333333;
	background: #f8e5ed;
}
.time4{
	color: #333333;
	background:#e7dece;
}
.monthcont th .txt-ss{
	display: block;
	font-size: 10px;
	font-weight: lighter;
}

/* 表示制御用 */
.monthcont{
    display: none;
}
.calendaractive {
    display: block;
}

@media screen and (max-width: 768px) {
	.btn-month.arrow-left::after{
		left: 17px;
	}
	.btn-month.arrow::after{
		right: 10px;
	}
}
/*カレンダーここまで*/


/* イルミネーションナイターカレンダー */
.calendar_illumi {
  	width: 100%;
  	border-collapse: collapse;
  	margin-top: 40px;
  	border-radius: 6px;
}
.calendar_illumi td {
	text-align: center;
	padding: 13px;
	font-size: 14px;
	font-weight: bold;
	border: 1px solid #111111;
}

.calendar_illumi th {
	text-align: center;
	font-size: 14px;
	font-weight: bold;
	padding: 1px 10px;
	color: #fdfdfd;
	background-color: #111111;
	border:1px solid #111;
	
}
.calendar_illumi .th-month,.basic-tbl .th-month{
	background: #00cbc5;
	color: #111111;
	padding: 3px;
	font-size: 24px;
	font-weight: 900;
	border: 1px solid #111111;
}



@media screen and (max-width: 768px) {
  .calendar_illumi th,
  .calendar_illumi td {
    padding: 8px;
    font-size: 12px;
  }
  .calendar_illumi th {
    padding: 2px 6px;
  }
}



/*relay.php*/
.relay-p {
	text-align: left; 
	width: fit-content; 
	margin: 0 auto;
}
.relay-link-button {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.relay-btn-wrap {
	width: 35%;
    margin: 0 20px;
}
.relay-btn, .relay-btn-wrap a {
	width: 100%;
}
.relay-tac {
	margin: 0 auto;
}
@media screen and (max-width: 810px) {
	.relay-btn-wrap {
		width: 100%;
		margin: 0 auto;
	}
}
.relay-btn_news_topics {
	display: block;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    width: 70%;
    margin: 20px auto;
    padding: 1rem 2rem;
    font-weight: bold;
    border: 2px solid #cc2200;
    background: #cc2200;
    color: #fff;
    transition: 0.5s;
    border-radius: 4px;
}
.relay-tel {
	pointer-events: auto !important;
}
.sp-br {
	display: none;
}
@media screen and (max-width: 430px) {
	.relay-btn_news_topics, .relay-plan p {
		font-size: 11px;
	}
	.relay-plan h4 {
		font-size: 13px;
	}
	.sp-br {
		display: block;
	}
	.relay-tel {
		pointer-events: auto !important;
	}
}
/*.relay-pdf {
	background: #2e4328 !important;
}
.relay-attend {
	background: #4f71be !important;
}*/

/*h3半透明装飾*/
.heading-tl {
	position: relative;
	padding-top: 50px;
	padding-bottom: 50px;
	font-size: 4.2rem;
	text-align: center;
	/*color: #28acd6;*/
}
.grada-b{
	background: linear-gradient(45deg,#28ACD6,#28ACD6 40%,#09b2a5 60%);
	-webkit-background-clip: text;
  	-webkit-text-fill-color: transparent;
}
.heading-tl span {
	position: relative;
	z-index: 1;
}
.heading-tl::before {
	content: attr(data-en);
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(51,51,51,0.2);
	font-size: 90px;
	font-style: italic;
}
/*斜線*/
.heading-tl::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 2px;
	height: 40px;
	transform: translate(-50%) rotate(30deg);
	background-color: #28acd6;
}
@media screen and (max-width: 768px) {
  .heading-tl{
	padding-top: 40px;
	padding-bottom: 40px;
	font-size: 3rem;
  }
  .heading-tl::before {
	top: -30px;
	font-size: 75px;
  }
  .heading-tl::after {
	height:30px;
  }
}

/*シーズンパスページリンクボタン*/

/* 各言語への対応ここから */
html[lang="en"] .season-event-footer {
  width: 550px;
}
html[lang="zh-CN"] .season-event-footer,
html[lang="zh-TW"] .season-event-footer{
  width: 430px;
}
@media screen and (max-width:768px){
	html[lang="en"] .season-event-footer {
		width: 90%;
	}
}
/* 各言語への対応ここまで */
.season-event-footer{
	position: sticky;
	bottom: 40px;
	margin: 0 auto 40px;
	padding: 12px;
	line-height: 1;
	border: 2px solid #28acd6;
	border-radius: 2px;
	background:rgb(255, 255, 255,0.8) ;
	display: block;
	justify-content:center;
	align-items: center;
	transition: all .3s;
	font-weight: bold;
	width: 420px;
}
/* .season-pass{
	font-weight: bold;
	margin: 0 5px 0 0;
	width: auto;
} */
.timer {
	display: block;
}
.timer .lost{
	font-size: 18px;
}
.timer #countdown{
	display: inline-block;
	margin-bottom: 5px;
}
.date-number {
	font-size: 48px;
	color: #28acd6;
	margin-left: 5px;
}
/*カウントダウンが終了したら表示*/
.season-event-footer a.disabled {
	pointer-events: none;
    font-size: 26px;
	background: #e1e1e1;
    color: #28acd6;
}
.season-event-footer a.disabled .season-pass{
	text-align: center;
	width: 100%;
}
.season-event-footer a.disabled .lost {
	display: none;
}
.season-event-footer a.disabled .span-txt {
	display: none;
}
.season-txt {
	display: flex;
	justify-content:center;
}
.span-txt {
	font-size: 26px;
	font-weight: bold;
	color: #28acd6;
}
.span-circle {
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #28acd6;
	position: relative;
	transition: all .3s;
	margin-left: 10px;
}
.span-circle::after {
	position: absolute;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-top: 5px solid transparent;
	border-bottom: 5px solid transparent;
	border-left: 10px solid #fff;
	border-right: 0;
	top: 50%;
	left: 55%;
	transform: translate(-50%, -50%);
	z-index: 2;
	transition: all .3s;
}
.season-event-footer a.disabled .span-circle,
.season-event-footer a.disabled .span-circle::after {
	display: none;
}
.span-txt2{
	display: block;
	background: #28acd6;
	color: #ffffff;
	font-size: 26px;
	border-radius: 3px;
	margin: 7px 7px 0 0;
	padding: 7px 10px;
	
}

@media screen and (max-width: 768px) {
	.season-event-footer {
		width: 94%;
        bottom: 50px;
        left: 3%;
        right: 3%;
        margin: 0 auto 24px;
	}
	/* 各言語への対応ここから */
	html[lang="en"] .season-event-footer .date-number {
		font-size: 26px;
	}
	html[lang="en"] .season-event-footer .timer {
		text-align: left;
	}
	html[lang="en"] .season-event-footer .date-number {
		font-size: 24px;
	}
  html[lang="zh-CN"] .season-event-footer,
  html[lang="zh-TW"] .season-event-footer{
  width: 90%;
	}
	html[lang="zh-CN"] .season-event-footer .date-number,
	html[lang="zh-TW"] .season-event-footer .date-number {
		font-size: 30px;
	}
	/* 各言語への対応ここまで */
	.season-event-footer{
		display: block;
		padding: 5px;
	}
	.timer {
		font-size: 14px;
		text-align: center;
	}
	.timer #countdown{
		margin-top: 0;
	}
	.timer .lost{
		font-size: 16px;
	}
	.date-number {
		font-size: 38px;
		margin-left:5px;
	}
	.season-txt {
		margin-top: 5px;
		justify-content: center;
	}
	.span-txt {
		font-size: 18px;
	}
	.span-circle {
		width: 17px;
		height: 17px;
	}
	.span-circle::after {
		border-top: 3px solid transparent;
		border-bottom: 3px solid transparent;
		border-left: 6px solid #fff;
	}
	.season-event-footer a:hover .span-circle::after {
		border-top: 3px solid transparent;
		border-bottom: 3px solid transparent;
		border-left: 6px solid #e3007f;
	}
	.span-txt2{
		font-size: 24px;
		margin: 7px 0;
		padding: 5px;
	}
}
.cover{
	position: relative;
	width: 100vw;
	height: 100vh;
}
.cover img{
	position: absolute;
	top: 0;
	object-fit: cover;
	width: 100%;;
	height: 100%;
}
.fixed-1{
	position: fixed;
	top: 0;
	z-index: -1;
	width: 100vw;
	height: 100vh;
}
.fixed-1 video{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.season-cont{
	text-align: center;
	text-shadow: 2px 2px 5px rgb(255, 255, 255,0.4);
	color: #fff;
	font-size: 24px;
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	font-style: normal;
	margin: 150px auto;
}
.summer-bg{
	position: relative;
}
.summer-bg video{
	object-fit: cover;
	height: 100vh;
	width: 100vw;
}
.summer-bg p{
	position: absolute;
	top: 30%;
	text-align: center;
	text-shadow: 2px 2px 5px rgb(255, 255, 255,0.4);
	color: #fff;
	font-size: 24px;
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	font-style: normal;
	width: 100%;
	margin: 0!important;
	padding: 0!important;
}
.slash{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 4.2rem;
	text-align: center;
	margin: 60px 0 20px;
}
.slash::before,
.slash::after {
	content: '';
	width: 3px;
	height: 40px;
	background-color: #fff;
}
.slash::before {
	margin: auto 30px auto 10px;
	transform: rotate(-25deg)
}
.slash::after {
	margin: auto 10px auto 30px;
	transform: rotate(25deg)
}
@media screen and (max-width: 768px) {
	.summer-bg p{
		padding-left: 4%;
		padding-right: 4%;
		font-size: 18px;
	}
	.season-cont{
		font-size: 18px;
		margin: 70px auto;
	}
	.season-cont.left .gondola-ttl{
    width: min(90vw, 1200px);
	}
	.season-cont.right .gondola-ttl{
    width: min(90vw, 1200px);
		margin-left:auto;
	}
	.slash{
		margin: 30px 0 10px;
		font-size: 2.8rem;
	}
	.slash::before,
	.slash::after {
		width: 2px;
		height: 50px;
	}
}

/* winterカウントダウン共通*/
.ctcont{
	position: absolute;
	width: 90%;
	top: 60%;
	left: 50%;
	text-align: center;
	font-family: "Chakra Petch", system-ui;
	font-style: italic;
	color: #fff;
	transform: translate( -50%, -50%);
	
	opacity: 0;
    animation: fadeIn 0.3s ease 1.4s forwards;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.count-title{
	font-size: clamp(16px,5vw,26px);
	letter-spacing:3px;
}

.count-title-2025{
	font-size: clamp(28px,5vw,48px);
	font-family: "Chakra Petch", system-ui;
	font-weight: 700!important;
	line-height:150%;
	color: #fff;
	text-shadow: 3px 3px 1px rgba(0, 0, 0, 0.1)!important;
}
.count-title-2025 span{
	font-size: clamp(18px,3.5vw,30px);
}
/* winterカウントダウン*/
.time-cont{
	display: block;
	line-height: 1;
}
.time-cont .day-flex{
	display: flex;
	justify-content: center;
	align-items:first baseline;
}
.time-cont .day-flex .time-day{
	font-size: clamp(104px,10vw,180px);
	font-weight: 600;
	/*text-shadow: 5px 5px 0 rgba(41, 144, 176, 0.4);*/
	text-shadow: 5px 5px 1px rgba(0, 0, 0, 0.2);
	margin-right: 10px;
}
.time-cont .day-flex .text-day{
	font-size: clamp(20px,8vw,40px);
	font-weight: bold;
}
.time-cont .time-flex{
	display: flex;
	justify-content: center;
	vertical-align: top;
	border: #fff solid 1px;
	border-radius: 3px;
	padding:7px 10px;
	margin-left: auto;
	margin-right: auto;
	max-width: 340px;
}
.winter-time{
	display: flex;
	flex-direction: column;
	font-size: clamp(14px, (1rem + 5vw)16px);
	margin: 0 5px;
}
.time-flex .time-num{
	font-size: clamp(46px, (1rem + 5vw),60px);
	font-weight: 500;
}
#open{
	font-size: 40px;
	font-style: italic;
	text-shadow: 3px 3px 1px rgba(0, 0, 0, 0.2);
	color: #fff;
	line-height: 1;
}
#weather{
	display: none;
}

@media screen and (max-width: 768px) {
	.count-title{
		margin-bottom: 15px;
	}
	.count-title-2025{
		margin-bottom: 15px;
	}
	.time-cont .day-flex .time-day{
		text-shadow: 4px 4px 1px rgba(0, 0, 0, 0.2);
	}
	.time-cont .time-flex{
		padding:4px 10px;
	}
	.winter-time{
		margin: 0 5px;
	}
	#open{
		margin-top: 20px;
		font-size: clamp(24px,6.4vw,50px);
		
	}
}

/*======================================
	シーズンチケット2024-25(2024/10/22追加)
=======================================*/
.tac-price  {
	font-size: 1.8rem;
}
dl.seasonpass-detail dd > span {
	margin-right: 0;
}
.seasonpass-arrow {
	margin: 0 10px !important;
    width: fit-content !important;
}
.seasonpass-txt-red {
	width: fit-content !important;
    color: #dd1515;
}
@media screen and (max-width: 768px) {
	dl.seasonpass-detail dd {
		display: flex;
	}
	.snow-forecast-wrapper {
		overflow-y: auto;
	}
}
#wf-weatherfeed {
	margin: 5px auto !important;
}

/*===============================================
	スクール用メニュー(school/school_class_menu.php)
===============================================*/
.menu-table {
	overflow-x: auto;
	margin: 40px auto;
	border-right: 1px solid #666;
}
@media screen and (max-width: 768px) {
	.menu-table {
		overflow-y: auto;
		/*height: 400px;*/
		height: 530px;
		border-bottom: 1px solid #666;
	}
}
.menu-table table {
	width: 2000px;
	border-collapse: collapse;
	font-size: .8em;
	font-weight: bold;
}
.menu-table table th, .menu-table table td,
.school_menu_list th, .school_menu_list td {
	padding: 8px 4px;
	border: 1px solid #666;
}
/*.menu-table table td {
	width: 80px;
}*/
.menu-table table th {
	background: #efefef;
	width: clamp(170px, 40vw, 410px);
	text-align: left;
}
.menu-table-fixed {
	position: sticky;
	top: 0;
	left: 0;
	border-left: none !important;
  	border-right: none !important;
	background: none !important;
	padding: 8px 4px;
}
.menu-table table tr:last-child .menu-table-fixed {
	border-bottom: 1px solid #666;
}
.menu-table-fixed::before {
	content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-right: 1px solid #666;
    border-left: 1px solid #666;
	background: #efefef;
    z-index: -1;
	box-sizing: content-box;
}
.menu-table table tr:last-child .menu-table-fixed::before {
	border-bottom: 1px solid #666;
}

.menu-shop {
	background: #333 !important;
    color: #fff;
    width: 100%;
    height: 100%;
    display: inline-block;
    padding: 8px 4px;
	position:relative;
}
.menu-shop::before {
	content: "";
    position: absolute;
    display: inline-block;
    background: #5e5e5e !important;
    top: 0;
    left: 1px;
    width: 100%;
    height: 100%;
    z-index: -1;
}
.menu-table-fixed.menu-shop-title {
	padding: 0 !important;
}
.menu-shop, .menu-space {
	/*background: #efefef;*/
	background: #5e5e5e !important;
}
.menu-circle {
	text-align: center;
}
.allergy-menu {
	text-align: center;
}
.allergy-menu img {
	width: 3rem;
    margin: 0 auto;
}
.allergy-8 {
	background: #ffff9a;
}
.allergy-fish {
	background: #d5dcef;
}
.allergy-meat {
	background: #fcf1c9;
}
.allergy-vegetable {
	background: #e1ecd6;
}
.allergy-fruits {
	background: #ffe4e8;
}
.allergy-nuts {
	background: #fcf3e8;
}
.allergy-gelatin {
	background: #ffd8b2;
}
.allergy-main-title  {
	text-align: center;
}
.sticky_cross {
	position: sticky;
  top: 0;
  left: 0;
  background: none;
  border-top: none;
  border-bottom: none;
  border-left: none;
  border-right: none;
  z-index: 1;
}
.sticky_cross::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 100%;
	border-top: 1px solid #666;
	border-bottom: 1px solid #666;
	border-left: 1px solid #666;
	border-right: 1px solid #666;
	/*background: #333;*/
	z-index: -1;
}
.sticky_col {
	position: sticky;
	top: 0;
	/*left: 0;*/
	background: none;
	border-top: none;
	border-bottom: none;
}
.sticky_col::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 100%;
	border-top: 1px solid #666;
	/*border-bottom: 1px solid #666;*/
	background: #ccc;
	z-index: -1;
  }
  .sticky_col2 {
	position: sticky;
	top: 37px;
	/*left: 0;*/
	background: none;
	border-top: none;
	border-bottom: none;
}
.sticky_col2::before {
	content: "";
	position: absolute;
	top: 1px;
	left: 0;
	width: 100%;
	height: 100%;
	/*border-top: 1px solid #000;
	border-bottom: 1px solid #000;*/
	border-bottom: 1px solid #666;
	background: #ccc;
	z-index: -1;
  }
  .sticky_col3 {
	position: sticky;
	top: 74px;
	left: 0;
	background: none;
	border-top: none;
	border-bottom: none;
}
.sticky_col3::before {
	content: "";
	position: absolute;
	top: 1px;
	left: 0;
	width: 100%;
	height: 100%;
	/*border-top: 1px solid #666;*/
	border-bottom: 1px solid #666;
	background: #ccc;
	z-index: -1;
  }
  /*@media screen and (max-width: 768px) {
	.sticky_col3::before {
		top: 2px;
	}
  }*/
  .sticky_col.allergy-8,
.sticky_col3.allergy-8,
.sticky_col.allergy-8::before,
.sticky_col3.allergy-8::before {
	background: #ffffd9 !important;;
}
.sticky_col.allergy-fish,
.sticky_col3.allergy-fish,
.sticky_col.allergy-fish::before,
.sticky_col3.allergy-fish::before  {
	background: #cceaff !important;
}
.sticky_col2.allergy-8,
.sticky_col2.another-allergy,
.sticky_col2.allergy-8::before,
.sticky_col2.another-allergy::before  {
	background: #efefef !important;
}
.sticky_col.allergy-meat,
.sticky_col3.allergy-meat,
.sticky_col.allergy-meat::before,
.sticky_col3.allergy-meat::before {
	background: #fcf1c9;
}
.sticky_col.allergy-vegetable,
.sticky_col3.allergy-vegetable,
.sticky_col.allergy-vegetable::before,
.sticky_col3.allergy-vegetable::before {
	background: #d4f7e1;
}
.sticky_col.allergy-fruits,
.sticky_col3.allergy-fruits,
.sticky_col.allergy-fruits::before,
.sticky_col3.allergy-fruits::before {
	background: #ffe4e8;
}
.sticky_col.allergy-nuts,
.sticky_col3.allergy-nuts,
.sticky_col.allergy-nuts::before,
.sticky_col3.allergy-nuts::before {
	background: #fcf3e8;
}
.sticky_col.allergy-gelatin,
.sticky_col3.allergy-gelatin,
.sticky_col.allergy-gelatin::before,
.sticky_col3.allergy-gelatin::before {
	background: #ffd8b2;
}
.border-right-none {
	border-right: none !important;
}
.school_menu_list {
	width: 30%;
	border-collapse: collapse;
}
@media screen and (max-width: 768px) {
	.border-bottom-none, .menu-table table tr:last-child .menu-table-fixed::before{
		border-bottom: none !important;
	}
	.school_menu_list {
		width: 100%;
	}
}
/*.school_menu_list li {
	padding: 8px 4px;
    border: 1px solid #666;
}*/

/* イルミネーションナイターページ */
.snow {
  /*雪の色*/
  color: snow;
  /*雪の大きさ*/
  font-size: 10px;
  /*初期位置*/
  position: fixed;
  top: -5%;
  /*雪を適当な幅で降らせる*/
  text-shadow:
  5vw   -100px 2px,
  10vw  -400px 3px,
  20vw  -500px 4px,
  30vw  -580px 1px,
  39vw  -250px 2px,
  42vw  -340px 5px,
  56vw  -150px 2px,
  63vw  -180px 0,
  78vw  -220px 4px,
  86vw  -320px 9px,
  94vw  -170px 7px;
  /*雪アニメーション1*/
  animation: roll 10s linear infinite;
}
  /*2つめの雪アニメーション*/
.snow2nd{animation: anim 20s linear infinite;}

@keyframes roll {
    0% {transform:rotate(0deg);}
   90% {opacity:1;}
   100% {transform:rotate(20deg);top:100%;opacity:0;}
}
@keyframes anim {
  100% {color:transparent;top:150%;}
}

.bg-img{
	width: 100%;
	background-image: url("../../assets/img/course/illumination_bg.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}
.bg-img .wrapper{
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 40px;
	padding-bottom: 40px;
}


/*ページを開いたら2秒後にポップアップ表示-*/
.open_popup {
    overflow: hidden;
}

.bg_onetime_popup {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 9999;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
}

.open_popup .bg_onetime_popup {
    opacity: 1;
    visibility: visible;
}

.onetime_popup {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 50%;
    min-width: 600px;
    background-color: #fff;
	border-radius: 10px;
}

.onetime_popup_content h4.line {
	margin: 10px auto;
}
.onetime_popup_content h4.line::before,
.onetime_popup_content h4.line::after {
	width: 4em;
}

/* .onetime_popup_title {
    position: relative;
    padding: 0.5em 70px;
    margin: 0px;
    font-size: 26px;
    text-align: center;
    line-height: 1.5;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
} */

.onetime_popup_title_close {
    position: absolute;
    top: 20px;
    right: 15px;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    cursor: pointer;
}
.onetime_popup_title_close::before,
.onetime_popup_title_close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 100%;
    height: 2px;
    background-color: #111;
    content: "";
	border-radius: 30px;
}
.onetime_popup_title_close::before {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}
.onetime_popup_title_close::after {
    transform: translateX(-50%) translateY(-50%) rotate(-45deg);
}

.onetime_popup_content {
    padding: 40px 30px 0;
    text-align: center;
}
.onetime_popup_content img{
	border-radius: 5px;
}
@media screen and (max-width: 768px) {
	.onetime_popup {
		min-width: 330px;
	}
	.onetime_popup_title_close {
		
	}
	.onetime_popup_content h4.line {
		font-size: 16px;
	}
	.onetime_popup_content {
		padding: 40px 18px 0;
	}
	.onetime_popup_content img{
		border-radius: 3px;
	}
}

/*Instagramキャンペーンページ*/
.ico-ttl{
	display: inline-block;
	margin: 0.1em 0.5em 0.3em 0;
	width: 1.3em;
	vertical-align: middle;
}

.anchor li .insta-ico{
	margin-right: 0.4em;
	margin-bottom: 0.2em;
	width: 1.4em;
	
}
.bg-sky{
	background: #f2f2f2;
	color: #333;
}
.bg-about{
	background: #fefafa;
	color: #333;
	padding-top: 80px;
}
.btr{
	border-radius: 0px;
	margin-top: 0px;
	padding-top: 10px;
	padding-bottom: 80px;
}
.btr h3{
	margin: 0;
	padding: 40px 0 30px 0;
}
.btr-cont{
	position: relative;
	height: auto;
	padding: 40px;
	margin-top: 60px;
	background: #ffffff;
	border-radius: 0px;
	box-shadow: 8px 0 #333333;
	border: solid  1px #1e1e1e;
}
.box-ttl{
	position: absolute;
	top: 0%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%); 
	font-size: 2.2rem;
	font-weight: bold;
	color: #ffffff;
	background-image: linear-gradient(to right top, #6b9ddf, #61a9e2, #5db4e3, #61bee1, #6bc7df);
	border: solid 1px #1e1e1e;
	border-radius: 30px;
	text-align: center;
	padding: 3px 20px;
}
.btr-cont .disc{
	margin-top: 20px;
}
.btr + section{
	margin: 80px  auto 130px auto;
}
.cp-flex{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 30px auto;
	max-width: 1200px;
}
.cp-flex > div{
	flex: 1; /* 両サイドの要素を同じ幅に */
    text-align: center; 
    max-width: calc((100% - 41px) / 2); /* 縦線とgapを考慮した最大幅 */
}
.cp-flex .cp_box{
	background: #f0f6f8;
	padding: 16px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 20px;
}
.cp-flex .cp_box p{
	min-height: 70px;
}

.cp-flex img{
	width: 50%;
	margin: 8px auto auto auto;
}

/* .tate-line{
	background: #efefef;
	flex: none !important;
	height: 60px;
	margin: 0;
	padding: 0;
	width: 1px !important;
	min-width: 1px;
} */

dl.award{
	text-align: left;
	font-weight: bold;
	display: inline-block;
	flex-direction: column;
	overflow:hidden;
	margin-top: 20px;
}

dl.award dt{
	clear: both;
    float: left;
	text-align: center;
	color: #ffffff;
	border-radius:2px;
	width: 6em;
	padding: 4px 10px 4px 10px;
	margin-right: 10px;
}
dl.award dd{
	padding: 5px 0.5em 16px 8em;
	margin-bottom: 14px;
	border-bottom: 1px dotted #efefef;
}
.gold-bg{
	background: #cbb62b;
}
.silver{
	background: #a7a7a7;
}
.comin{
	font-size: 3.2rem;
	font-weight: bold;
	background: #eeeeee;
	color: #ffffff;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 200px;
}
.award-ttl1{
	font-size: 2.2rem;
	font-weight: bold;
	color: #ffffff;
	background: #cbb62b;
	/* border: solid 1px #1e1e1e; */
	border-radius: 30px;
	padding: 3px 20px;
	margin-bottom: 40px;
}
.award-ttl2{
	font-size: 2.2rem;
	font-weight: bold;
	color: #ffffff;
	background: #a7a7a7;
	border-radius: 30px;
	padding: 3px 20px;
}
.blue_ttl{
	color: #28acd6;
	font-weight: bold;
	font-size: 32px;
	margin-bottom: 30px;
}
.photo-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
.photo-list > * {
	flex: 0 0 282px;
  	margin-bottom: 24px; 
}
.photo-list li{
	margin: 40px 10px 0 10px;
}


@media screen and (max-width: 768px) {
	.btr{
		border-radius: 0px;
		margin-top: -30px;
		padding-bottom: 40px;
	}
	.btr h3 {
		padding: 50px 0 10px 0;
	}
	.btr-cont{
		padding: 28px;
	}
	.box-ttl{
		font-size: 1.8rem;
		width: 70%;
	}
	.cp-flex{
		display: block;
		margin: 30px auto;
	}
	.cp-flex > div{
		max-width: 100%;
	}
	.cp-flex .cp_box{
		margin-top: 10px;
	}
	.cp-flex img{
		width: 80%;
	}
	dl.award{
		margin-top: 14px;
	}
	dl.award dt{
		font-size: 14px;
		padding: 3px 6px 3px 6px;
		margin-right: 6px;
		width: 5em;
	}
	dl.award dd{
		padding: 0 0 16px 5.5em;
	}
	.photo-list > * {
		flex: 0 0 43%;
		margin-bottom: 0; 
	}
	.photo-list li{
		margin: 30px 10px 0 10px;
	}
/* 	
	.tate-line{
		height: 1px;
		margin: 20px auto;
		width: 80%;
		min-width: 80%;
	}
	 */
}
/* --- グルーミングレポートスプレッドシートここから
----------------------------------------- */
.grooming-report-section{
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}
.grooming-report-table {
	width: 100%;
	text-align: left;
	border-collapse: collapse;
	white-space: nowrap;
}
@media screen and (max-width: 768px) {
	.grooming-report-table {
		font-size: 1.3rem;
	}
}
.grooming-report-table td, 
.grooming-report-table th {
	padding: 5px 10px;
	border: 1px solid #ccc;
}
.grooming-report-table tr:first-child td{
	border: none;
}
.grooming-report-table tr:nth-child(29){
	/* 29行目非表示 */
	display: none;
}
.grooming-report-table p {
	text-align: left;
}
.grooming-report-table tr:nth-child(2) {
	text-align: center;
	background-color: #efefef;
	padding: 10px;
	font-size: 1.3rem;
	font-weight: bold;
	position: sticky;
	z-index: 3;
	top: 0;
}
.grooming-report-table tr td.c2,
.grooming-report-table tr td.c3,
.grooming-report-table tr td.c4,
.grooming-report-table tr td.c5 {
	text-align: center;
}
.grooming-report-comment {
	margin-top: 20px;
	text-align: left;
}

.grooming-report-comment p {
	margin-top: 5px;
}

.grooming-report-comment p.title {
	font-weight: bold;
}
/* --- グルーミングレポートスプレッドシートここまで
----------------------------------------- */
/* --- アクセスページバナー用 削除予定 ここから
----------------------------------------- */
.flex_div2{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}
.flex_div2 > div{
	flex: 1;
	text-align: center; 
	max-width: calc((100% - 20px) / 2);
}
@media screen and (max-width: 768px) {
	.flex_div2 > div{
		max-width: 100%;
	}
}
/* --- アクセスページバナー用 削除予定 ここまで
----------------------------------------- */