@charset "UTF-8";
/* CSS Document */
/*
	reset
-----------------------------------------------------------------------------------------------*/
html{
	margin: 0;
	padding: 0;
	font-size: 62.5%;
	background: #f2f2f2;
}
body{
	margin: 0 auto;
	padding: 0;
	font-size: 1.4em;
	font-family: "Zen Kaku Gothic New", 'Hiragino Kaku Gothic ProN', 'Yu Gothic', YuGothic, Meiryo, sans-serif;
	font-weight: 400;
	font-feature-settings: 'palt';
	color: #000000;
	word-break: break-all;
	font-style: normal;
}
#main {
	width: 100%;
	margin: 0;
	padding: 0;
	background:#f2f2f2;
}
#main *{
	font-family: "Zen Kaku Gothic New", 'Hiragino Kaku Gothic ProN', 'Yu Gothic', YuGothic, Meiryo, sans-serif;
}
h1, h2, h3, h4, h5, h6, p,figure,ul,ol,li,dl,dt,dd{
	margin: 0;
	padding: 0;
	line-height: 150%;
}
p{
	font-size: 100%;
}

*,*::before,*::after{
	box-sizing: border-box;
}
header,footer,section,aside,nav,article,main{
	display: block;
}
ul li,ol li{
	list-style: none;
}
img {
	border: none;
	vertical-align: top;
	margin: 0;
	padding: 0;
}
a{
	line-height: 125%;
	color: #333333;
	text-decoration: none;
	transition: color 0.25s;
	cursor: pointer;
}
a:link,a:visited{
	color: #333333;
}
a:hover{
	color: #333333;
	text-decoration: none;
}
button{
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	font-family: inherit;
	background: none;
	border: none;
	outline: none;
}
button:hover{
	cursor: pointer;
}
@media screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width:1200px;
	}

	/* tel pc only */
	a[href^="tel:"]{
		pointer-events: none;
	}
}
@media screen and (max-width: 812px){
	* :hover{
		
	}
	body {
		-webkit-text-size-adjust: 100%;
	}
}
/*
	common
-----------------------------------------------------------------------------------------------*/
.wrapper {
	overflow: hidden;
}
/* pc sp */
.switch{
	visibility: hidden;
}
.sp{
	display: none;
}

/* font */
.ja {
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-style: normal;
}
.ja.bold{
	font-weight: 700;
}
.en {
	font-family: "Poppins", sans-serif;
	font-style: normal;
}
.en.bold{
	font-weight: 700;
}
.ctsInner .titArea .main{
	text-align: center;
	font-size: 4.8rem;
	line-height: 130%;
	margin: 5px 0 0 0;
}
.ctsInner .titArea .main .blue{
	color: #024194
}

@media screen and (max-width:812px){
	p{
		font-size: 1.2rem;
		line-height: 150%;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}
	.ctsInner .titArea .main {
		font-size: 2.4rem;
		letter-spacing: 0;
	}
}
/*
	kvArea
-----------------------------------------------------------------------------------------------*/
#kvArea {
	position: relative;
	z-index: 2;
}
.kvInner {
	position: relative;
	z-index: 3;
	width: 100%;
	max-width: 1460px;
	height: 780px;
	margin: 0 auto;
	padding: 20px 30px;
}
.kvInner .logoArea {
	position: relative;
	z-index: 2;
}
.kvInner .logoArea .logoInner {
	display: inline-block;
	padding: 10px;
	background: #fff;
	border-radius: 10px;
}
.kvInner .logoArea .logoInner img {
	width: 180px;
}
.kvInner .titArea {
	width: 1200px;
	margin: 150px auto 0;
}
.kvInner .titArea .titInner .mainCtach {
	font-size: 4.8rem;
	line-height: 125%;
	filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.8));
}
.kvInner .titArea .titInner .mainCtach .fs{
	font-size: 3.6rem;
}
.kvInner .titArea .titInner .mainCtach .blue{
	color: #024194
}
.kvInner .titArea .titInner .subCatchArea {
	display: inline-block;
	margin: 30px 0 0 0;
}
.kvInner .titArea .titInner .subCatchArea .subCatch{
	background: linear-gradient(to right,#678dbf,#a8cf7b);
	color: #fff;
	font-size: 1.9rem;
	line-height: 4.8rem;
	font-weight: 700;
	padding: 0 20px;
	letter-spacing: 0.15rem;
}
.kvInner .linkBtnArea {
	display: inline-block;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.6));
	position: fixed;
	right: 20px;
	bottom: 10px;
	z-index: 2;
	transition: 0.3s;
}
.isScrollEnd .kvInner .linkBtnArea {
	opacity: 0;
	pointer-events: none;
	bottom: -200px;
}
.kvInner .linkBtnArea:hover {
	opacity: 0.8;
}
.kvInner .linkBtnArea a{
	height: 160px;
	width: 160px;
	border-radius: 80px;
	font-size: 1.7rem;
	color: #fff;
	font-weight: 700;
	background: #92c35a;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	position: relative;
}
.kvInner .linkBtnArea a:hover{
}
.kvInner .linkBtnArea a .txt {
    text-align: center;
    line-height: 125%;
    padding: 10px 0 0 0;
}
.kvInner .linkBtnArea a img{
	margin: 10px 0 0 0;
	width: 32px;
	position: relative;
	transition: 0.3s;
	bottom: 0;
}
.kvInner .linkBtnArea:hover a img {
	bottom: -8px;
}
.kvInner .morphingDecoArea {
	position: absolute;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1;
	pointer-events: none;
}
.kvInner .morphingDecoArea .maskSvgDecoBlue01 {
	width: 100px;
	position: absolute;
	top: 23%;
	left: 2%;
	z-index: 1;
}
.kvInner .morphingDecoArea .maskSvgDecoWhite01 {
	width: 60px;
	position: absolute;
	top: 29%;
	left: 2.5%;
}
.kvInner .morphingDecoArea .maskSvgDecoBlue02 {
	width: 64px;
	position: absolute;
	bottom: 3%;
	right: -2%;
}
.kvInner .morphingDecoArea .maskSvgDecoBlue03 {
	width: 320px;
	position: absolute;
	bottom: -19%;
	left: 5%;
	z-index: 2;
}
.kvInner .morphingDecoArea .maskSvgDecoWhite02 {
	width: 320px;
	position: absolute;
	bottom: -18%;
	left: 4%;
	z-index: 1;
}

.maskArea{
	position: absolute;
	z-index: 2;
	overflow: hidden;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
}
.maskArea .mask{
	position: relative;
	width: 1300px;
	height: 850px;
	margin: 0 auto;
	text-align: center;
	top: -60px;
	right: -150px;
}
.maskArea .mask .maskClip{
	position: absolute;
	width: 100%;
	height: 100%;
	inset: 0;
	z-index: 2;
	overflow: hidden;
	clip-path: url("#maskClipPath");
}
.maskArea .mask .maskClip img{
	width: 106%;
	height: auto;
	object-fit: cover;
}
.maskArea .mask .maskSvgDeco {
	position: absolute;
	top: 5px;
	right: -10px;
	z-index: 2;
}

@media screen and (max-width:812px){
	.kvInner {
		height: 600px;
		padding: 10px 15px 0;
		max-width: 500px;
		margin: 0 auto;
	}
	.kvInner .logoArea .logoInner {
		padding: 5px;
		border-radius: 5px;
	}
	.kvInner .logoArea .logoInner img {
		width: 120px;
	}
	
	.kvInner .titArea {
		width: auto;
		position: absolute;
		z-index: 2;
		top: 50%;
		margin: -30px 0 0 0;
	}
	.kvInner .titArea .titInner .mainCtach {
		font-size: 2.8rem;
	}
	.kvInner .titArea .titInner .mainCtach .fs {
		font-size: 2rem;
	}
	.kvInner .titArea .titInner .subCatchArea {
		margin: 30px 0 0 0;
	}
	.kvInner .titArea .titInner .subCatchArea .subCatch.sp {
		font-size: 2rem;
		line-height: 3.8rem;
		padding: 0 10px;
		display: inline-block;
	}
	.kvInner .titArea .titInner .subCatchArea .subCatch:nth-of-type(3) {
		margin: 5px 0 0 0;
	}
	
	.kvInner .linkBtnArea {
		right: 10px;
		bottom: 10px;
	}
	.kvInner .linkBtnArea a {
		height: 100px;
		width: 100px;
	}
	.kvInner .linkBtnArea a .txt {
		margin: 5px 0 0 0;
	}
	.kvInner .linkBtnArea a img {
		margin: 5px 0 0 0;
		width: 24px;
	}

	.maskArea .mask {
		position: absolute;
		width: 700px;
		height: 450px;
		top: -15px;
		right: 50%;
		margin: 0 -350px 0 0;
	}
	.maskArea .mask .maskClip {
		position: absolute;
		width: 700px;
		height: 450px;
		clip-path: url("#maskClipPath2");
	}

	.maskArea .mask .maskClip img {
		width: 100%;
	}
	
	.kvInner .morphingDecoArea .maskSvgDecoBlue01 {
		width: 60px;
		position: absolute;
		top: 60%;
		left: 0%;
		z-index: 1;
	}
	.kvInner .morphingDecoArea .maskSvgDecoWhite01 {
		width: 50px;
		position: absolute;
		top: 63%;
		left: 2%;
	}
	.kvInner .morphingDecoArea .maskSvgDecoBlue02 {
		width: 50px;
		position: absolute;
		bottom: 4%;
		right: -3%;
	}
	.kvInner .morphingDecoArea .maskSvgDecoBlue03 {
		width: 180px;
		position: absolute;
		bottom: -4%;
		left: 8%;
		z-index: 2;
	}
	.kvInner .morphingDecoArea .maskSvgDecoWhite02 {
		width: 180px;
		position: absolute;
		bottom: -2%;
		left: 12%;
		z-index: 2;
	}
}
@media only screen 
and (max-device-width: 812px) 
and (orientation: landscape) {
}


/*
	aboutArea
-----------------------------------------------------------------------------------------------*/
#aboutArea {
	position: relative;
	z-index: 1;
	padding: 70px 0 100px 0;
}
#aboutArea:after{
	content: '';
	background: url("../images/about_bg_arrow.svg") no-repeat;
	background-position: center;
	background-size: contain;
	width: 384px;
	height: 62px;
	position: absolute;
	bottom: -62px;
	left: 50%;
	margin: 0 0 0 -192px;
}
#aboutArea .ctsInner{
	width: 1140px;
	margin: 0 auto;
}
#aboutArea .ctsInner .titArea{
	display: flex;
	flex-direction: column;
	align-items: center;
}
#aboutArea .ctsInner .aboutCtsArea{
	height: 1500px;
	width: 100%;
	margin: 55px 0 0 0;
	position: relative;
}
#aboutArea .ctsInner .aboutCtsArea > div{
	position: absolute;
	display: inline-block;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts01{
	left: 105px;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts01 .imgArea .imgAreaInner img{
	width: 323px;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts01 .imgArea .imgAreaInner .svgAboutCts01 {
	width: 100%;
	position: absolute;
	top: -10px;
	left: -20px;
	z-index: -1;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts02 {
	top: 105px;
	right: 15px;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts02 .imgArea .imgAreaInner img{
	width: 358px;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts02 .imgArea .imgAreaInner .svgAboutCts02 {
	width: 80%;
	position: absolute;
	top: -5px;
	left: -20px;
	z-index: -1;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts03 {
	top: 480px;
	left: 230px;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts03 .imgArea .imgAreaInner img{
	width: 327px;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts03 .imgArea .imgAreaInner .svgAboutCts03 {
	width: 93%;
	position: absolute;
	top: -10px;
	left: -20px;
	z-index: -1;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 {
	top: 820px;
	right: 15px;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st0, .st1, .st2 {fill: none;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st3 {fill: #eea900;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st4 {fill: #ea5541;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st5 {fill: #6fba2c;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st6 {fill: #fff;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st7 {fill: #666;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st1 {stroke: #cbcbcb;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st1, .st2 {stroke-miterlimit: 10;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st2 {stroke: #9a9a9a;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st8 {fill: #004294;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg .st9 {fill: #12b8d7;}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg #btn a{
	display: inline-block;
	transition: 0.3s;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg #btn a:hover{
	opacity: 0.6;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 .imgArea .imgAreaInner {
	position: relative;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 .imgArea .imgAreaInner .mapTxt {
	position: absolute;
	right: 0;
	top: 30px;
}
#aboutArea .ctsInner .aboutCtsArea .imgArea .subTitArea {
	display: inline-block;
	background: linear-gradient(to right, #678dbf, #a8cf7b);
	position: absolute;
}
#aboutArea .ctsInner .aboutCtsArea .imgArea .subTitArea .subTit {
	display: inline-block;
	font-size: 1.6rem;
	font-weight: 700;
	color: #fff;
	line-height: 3.8rem;
	padding: 0 18px;
	white-space: nowrap;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts01 .imgArea .subTitArea {
	top: 192px;
	left: 12px;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts02 .imgArea .subTitArea {
	top: 214px;
	left: -40px;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts03 .imgArea .subTitArea {
	top: 209px;
	left: -44px;
}
#aboutArea .ctsInner .aboutCtsArea > div .txtArea {
	text-align: center;
	margin: 15px 0 0 0;
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts01 .txtArea .txt {
	line-height: 160%;
}

.svgBorder.sb01 {
	z-index: -1;
	top: 66px;
	left: 380px;
}
.svgBorder.sb02 {
	z-index: -1;
	top: 260px;
	left: 435px;
}
.svgBorder.sb03 {
	z-index: -1;
	top: 660px;
	left: 510px;
}
.sb01 svg path{
}
.sb01-1{
	fill:none;
	stroke:#B3C6E0;
	stroke-width:2;
	stroke-dasharray:5,5;
}
#aboutArea .ctsInner .chara {
	position: absolute;
	width: 110px;
	bottom: 135px;
	right: -30px;
}
#aboutArea .ctsInner .chara img{
	width: 100%
}
#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg {
	width: 720px;
}
@media screen and (max-width:812px){
	#aboutArea {
		padding: 60px 0;
	}
	#aboutArea:after {
		content: '';
		background: url(../images/about_bg_arrow.svg) no-repeat;
		background-position: center;
		background-size: contain;
		width: 200px;
		height: 32px;
		position: absolute;
		bottom: -31px;
		left: 50%;
		margin: 0 0 0 -100px;
	}
	#aboutArea .ctsInner {
		width: 100%;
		padding: 0 15px;
		max-width: 500px;
		margin: 0 auto;
	}
	#aboutArea .ctsInner .aboutCtsArea {
		height: auto;
		margin: 20px 0 0 0;
	}
	#aboutArea .ctsInner .aboutCtsArea > div {
		position: relative;
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: flex-start;
	}
	#aboutArea .ctsInner .aboutCtsArea > div .txtArea {
		text-align: justify;
		max-width: 400px;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts01 {
		left: auto;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts02 {
		top: auto;
		right: auto;
		margin: 30px 0 0;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts03 {
		top: auto;
		left: auto;
		margin: 30px 0 0;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts04 {
		top: auto;
		right: auto;
		margin: 30px 0 0;
	}
	#aboutArea .ctsInner .aboutCtsArea >.svgBorder.sb01,
	#aboutArea .ctsInner .aboutCtsArea >.svgBorder.sb02,
	#aboutArea .ctsInner .aboutCtsArea >.svgBorder.sb03{
		display: none;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts01 .imgArea .imgAreaInner .svgAboutCts01 {
		width: 323px;
		position: absolute;
		top: 10px;
		left: -10px;
		z-index: -1;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts02 .imgArea .subTitArea {
		left: 0;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts01 .imgArea .imgAreaInner .svgAboutCts01 {
		width: 323px;
		position: absolute;
		top: 10px;
		left: 50%;
		z-index: -1;
		margin: 0 0 0 -175px;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts02 .imgArea .imgAreaInner .svgAboutCts02 {
		width: 358px;
		position: absolute;
		top: -5px;
		left: 50%;
		z-index: -1;
		margin: 0 0 0 -190px;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts03 .imgArea .imgAreaInner .svgAboutCts03 {
		width: 327px;
		position: absolute;
		top: 5px;
		left: 50%;
		z-index: -1;
		margin: 0 0 0 -176px;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts03 .imgArea .subTitArea {
		left: 0;
	}
	#aboutArea .ctsInner .aboutCtsArea .imgArea .subTitArea .subTit {
		font-size: 1.4rem;
		line-height: 3.4rem;
		padding: 0 15px;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts04 .imgArea .imgAreaInner img{
		width: 100%;
	}
	#aboutArea .ctsInner .chara {
		width: 80px;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts04 .imgArea {
		width: 100%;
	}

	#aboutArea .ctsInner .aboutCtsArea .aboutCts04 svg {
		width: 100%;
	}
	#aboutArea .ctsInner .aboutCtsArea .aboutCts04 .imgArea .imgAreaInner .mapTxt {
		right: auto;
		top: 0;
		width: 130px;
		left: 0;
	}
}
@media only screen 
and (max-device-width: 812px) 
and (orientation: landscape) {
}


/*
	reservationArea
-----------------------------------------------------------------------------------------------*/
#reservationArea {
	background: #fff;
}
#reservationArea .ctsInner {
	padding: 80px 0;
	text-align: center;
	margin: 50px 0;
}
#reservationArea .ctsInner .titArea .main .green{
	color: #92c35a;
}
#reservationArea .ctsInner .titArea {
	display: inline-block;
	position: relative;
}
#reservationArea .ctsInner .titArea .chara {
	position: absolute;
	width: 110px;
	bottom: -20px;
	left: -235px;
	z-index: 1;
}
#reservationArea .ctsInner .titArea .chara img {
	width: 100%;
}
.reservationInner{
	position: relative;
	width: 1140px;
	margin: 15px auto 0;
	padding: 60px 0;
	background: #e6ecf4;
	border-radius: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.reservationCts{
	width: 330px;
	height: 330px;
	position: relative;
	z-index: 1;
}
.reservationCts:nth-of-type(1):before{
	content: '';
	width: 320px;
	height: 290px;
	background: url("../images/reservationInner_bg_01_pc.svg") no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	left: 0;
	z-index: -1;
}
.svgReservationCts01 {
	position: absolute;
	top: 0px;
	left: -15px;
	z-index: -1;
	pointer-events: none;
}
.reservationCts:nth-of-type(2){
	margin: 0 0 0 120px;
}
.reservationCts:nth-of-type(2):before{
	content: '';
	width: 320px;
	height: 290px;
	background: url("../images/reservationInner_bg_02_pc.svg") no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	left: 0;
	z-index: -1;
}
.svgReservationCts02 {
	position: absolute;
	top: 0px;
	left: -15px;
	z-index: -1;
	pointer-events: none;
}
.reservationCtsInner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 100%;
	width: 100%;
}
.reservationCtsInner .num {
	display: inline-block;
	background: linear-gradient(to right, #678dbf, #a8cf7b);
	position: absolute;
	color: #fff;
	line-height: 3.4rem;
	font-size: 2rem;
	letter-spacing: 0.4rem;
	font-weight: 700;
	padding: 0 30px;
	top: 20px;
	left: 40px;
}
.reservationCtsInner .schedule {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
	color: #fff;
	font-weight: 700;
	margin: 0 0 35px 0;
}
/* .reservationCts:nth-of-type(2) .reservationCtsInner .schedule .time{
	margin: -11px 0 0 0;
} */

.reservationCtsInner .schedule > *{
	line-height: 100%;
}
.reservationCtsInner .schedule .year {
	font-size: 2.4rem;
	letter-spacing: 0.4rem;
}
.reservationCtsInner .schedule .year .fs{
	font-size: 1.6rem;
}
.reservationCtsInner .schedule .data {
	position: relative;
	font-size: 5.2rem;
	letter-spacing: 0.4rem;
}
.reservationCtsInner .schedule .data.mon:after{
	content: '';
	background: url(../images/reservation_icon_mon.svg) no-repeat;
	background-position: center;
	background-size: contain;
	height: 34px;
	width: 34px;
	position: absolute;
	bottom: 9px;
	right: -32px;
}
.reservationCtsInner .schedule .data.tue:after{
	content: '';
	background: url(../images/reservation_icon_tue.svg) no-repeat;
	background-position: center;
	background-size: contain;
	height: 34px;
	width: 34px;
	position: absolute;
	bottom: 9px;
	right: -32px;
}
.reservationCtsInner .schedule .data.wed:after{
	content: '';
	background: url(../images/reservation_icon_wed.svg) no-repeat;
	background-position: center;
	background-size: contain;
	height: 34px;
	width: 34px;
	position: absolute;
	bottom: 9px;
	right: -32px;
}
.reservationCtsInner .schedule .data.thu:after{
	content: '';
	background: url(../images/reservation_icon_thu.1svg) no-repeat;
	background-position: center;
	background-size: contain;
	height: 34px;
	width: 34px;
	position: absolute;
	bottom: 9px;
	right: -32px;
}
.reservationCtsInner .schedule .data.fri:after{
	content: '';
	background: url(../images/reservation_icon_tri.1svg) no-repeat;
	background-position: center;
	background-size: contain;
	height: 34px;
	width: 34px;
	position: absolute;
	bottom: 9px;
	right: -32px;
}
.reservationCtsInner .schedule .data.sat:after{
	content: '';
	background: url(../images/reservation_icon_sat.1svg) no-repeat;
	background-position: center;
	background-size: contain;
	height: 34px;
	width: 34px;
	position: absolute;
	bottom: 9px;
	right: -32px;
}
.reservationCtsInner .schedule .data.sun:after{
	content: '';
	background: url(../images/reservation_icon_sun.1svg) no-repeat;
	background-position: center;
	background-size: contain;
	height: 34px;
	width: 34px;
	position: absolute;
	bottom: 9px;
	right: -32px;
}
.reservationCtsInner .schedule .data .fs{
	font-size: 3.6rem;
}
.reservationCtsInner .schedule .time {
	font-size: 2rem;
	color: #000;
	background: #fff;
	line-height: 4rem;
	display: inline-block;
	border-radius: 5px;
	padding: 0 20px;
	font-weight: 700;
	margin: 10px 0 0 0;
}
.reservationCtsInner .schedule .txt {
	font-size: 3.4rem;
	margin: 5px 0 55px 0;
}
.reservationCtsInner .schedule .txt span{
	font-size: 5rem;
}
.reservationCts .reservationBtn {
	line-height: 6.6rem;
	border: 2px solid #92c35a;
	background: #fff;
	display: inline-block;
	color: #92c35a;
	font-size: 2rem;
	font-weight: 700;
	border-radius: 35px;
	position: absolute;
	width: 270px;
	bottom: 0;
	left: 15px;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.6));
	transition: 0.3s;
}
.reservationCts .reservationBtn:hover{
	opacity: 0.8;
}
.reservationCts .reservationBtn:before{
	content: '';
	background: url("../images/../images/reservation_icon_arrow.svg") no-repeat;
	background-position: center;
	background-size: contain;
	height: 34px;
	width: 34px;
	position: absolute;
	top: 50%;
	right: 15px;
	margin: -17px 0 0 0;
	transition: 0.3s;
}
.reservationCts .reservationBtn:hover:before{
	right: 10px;
}
.reservationCts .reservationBtn.negative{
	border: 2px solid #b3b3b3;
	background: #e6e6e6;
	color: #b3b3b3;
	filter: none;
	pointer-events: none;
}
@media screen and (max-width:812px){
	#reservationArea .ctsInner {
		width: 100%;
		padding: 80px 15px;
		max-width: 500px;
		margin: 0 auto;
	}
	.reservationInner {
		width: 100%;
		flex-direction: column;
	}
	#reservationArea .ctsInner .titArea .chara {
		width: 80px;
		bottom: -120px;
		left: auto;
		right: 10px;
	}
	.reservationCts:nth-of-type(1):before {
		content: '';
		width: 90%;
		height: auto;
		background: url(../images/reservationInner_bg_01_pc.svg) no-repeat;
		background-position: center;
		background-size: contain;
		position: absolute;
		left: 50%;
		padding: 41% 0;
		margin: 0 0 0 -45%;
	}
	.svgReservationCts01 {
		position: absolute;
		top: 5px;
		left: 50%;
		z-index: -1;
		pointer-events: none;
		width: 90%;
		margin: 0 0 0 -50%;
	}
	.reservationCts:nth-of-type(2) {
		margin: 40px 0 0 0;
	}
	.reservationCts:nth-of-type(2):before {
		content: '';
		width: 90%;
		height: auto;
		background: url(../images/reservationInner_bg_02_pc.svg) no-repeat;
		background-position: center;
		background-size: contain;
		position: absolute;
		left: 50%;
		padding: 41% 0;
		margin: 0 0 0 -45%;
	}
	.svgReservationCts02 {
		position: absolute;
		top: 5px;
		left: 50%;
		z-index: -1;
		pointer-events: none;
		width: 90%;
		margin: 0 0 0 -50%;
	}

	.reservationCts .reservationBtn {
		line-height: 6.6rem;
		border: 2px solid #92c35a;
		background: #fff;
		display: inline-block;
		color: #92c35a;
		font-size: 2rem;
		font-weight: 700;
		border-radius: 35px;
		position: absolute;
		width: 80%;
		bottom: 15px;
		left: 50%;
		margin: 0 0 0 -40%;
	}
}
@media only screen 
and (max-device-width: 812px) 
and (orientation: landscape) {
}

/*
	groupArea
-----------------------------------------------------------------------------------------------*/
#movieArea {
	background: #fff;
}
#movieArea .ctsInner {
	width: 1140px;
	margin: 0 auto;
	padding: 120px 0 140px;
	position: relative;
}
#movieArea .ctsInner .titArea {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#movieArea .ctsInner .titArea .main {
	color: #024194;
}
#movieArea .ctsInner .movieCts {
	width: 65%;
	margin: 20px auto 0;
}
#movieArea .ctsInner .movieCts .movieLink .movieThum{
	position: relative;
}
#movieArea .ctsInner .movieCts .movieLink .movieThum:before{
	content: '';
	background: url("../images/movie_icon_arrow.svg") no-repeat;
	background-size: contain;
	background-position: center;
	position: absolute;
	height: 110px;
	width: 110px;
	top: 50%;
	left: 50%;
	margin: -55px 0 0 -55px;
	z-index: 2;
	transition: 0.3s;
	transform: rotateZ( 0deg ) ;
}
#movieArea .ctsInner .movieCts .movieLink:hover .movieThum:before{
	/*height: 120px;
	width: 120px;
	margin: -60px 0 0 -60px;*/
	transform: rotateZ( 360deg ) ;
}
#movieArea .ctsInner .movieCts .movieLink .movieThum:after{
	content: '';
	height: 100%;
	width: 100%;
	background: rgba(0,0,0,0.3);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	transition: 0.3s;
}
#movieArea .ctsInner .movieCts .movieLink:hover .movieThum:after{
	background: rgba(0,0,0,0.0);
	opacity: 0;
}
#movieArea .ctsInner .movieCts .movieLink .movieThum img{
	width: 100%;
}

@media screen and (max-width:812px){
	#movieArea .ctsInner {
		width: 100%;
		padding: 60px 15px 80px;
		max-width: 500px;
		margin: 0 auto;
	}
	#movieArea .ctsInner .movieCts {
		width: 100%;
	}
	#movieArea .ctsInner .movieCts .movieLink .movieThum:before {
		height: 70px;
		width: 70px;
		margin: -35px 0 0 -35px;
	}
}
@media only screen 
and (max-device-width: 812px) 
and (orientation: landscape) {
}



/*
	groupArea
-----------------------------------------------------------------------------------------------*/
#groupArea .ctsInner {
	width: 1140px;
	margin: 0 auto;
	padding: 100px 0 140px;
	position: relative;
}
#groupArea .ctsInner .titArea {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.groupList {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	margin: 60px 0 0 0;
}
.groupList li{
	width: calc((100% - 90px) / 4);
	height: 260px;
	background: #fff;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	margin: 0 30px 0 0;
	padding: 0 0 30px 0;
}
.groupList li:nth-of-type(4n){
	margin: 0 0 30px 0;
}
.groupList li .type {
	line-height: 3.6rem;
	color: #fff;
	font-weight: 700;
	position: absolute;
	min-width: 130px;
	top: 22px;
	left: -10px;
	padding: 0 20px 0;
	text-align: center;
}
.groupList li .type.blue{
	background: #004294
}
.groupList li .type.red{
	background: #EA5541;
}
.groupList li .type.orange{
	background: #6FBA2C;
}
.groupList li .type.brown{
	background: #EEA900;
}
.groupList li .type.gray{
	background: #00bfdd;
}
.groupList li .name{
	font-size: 1.8rem;
	line-height: 125%;
	text-align: center;
	font-weight: 700;
	margin: 0 0 10px 0;
}
.groupList li.line02 .name {
	margin: 0 0 -5px 0;
}
.groupList li .btn{
	display: inline-block;
	font-size: 1.5rem;
	font-weight: 700;
	color: #92c35a;
	line-height: 4.4rem;;
	width: 200px;
	border: 2px solid #92c35a;
	border-radius: 2.4rem;
	text-align: center;
	background: #fff;
	position: relative;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.3));
	transition: 0.3s;
	margin: 15px 0 0 0;
}
.groupList li .btn:nth-of-type(2){
	margin: 5px 0 0 0;
}
.groupList li .btn:before{
	content: '';
	background: url("../images/../images/group_icon_arrow.svg") no-repeat;
	background-position: center;
	background-size: contain;
	height: 22px;
	width: 22px;
	position: absolute;
	top: 50%;
	right: 13px;
	margin: -11px 0 0 0;
	transition: 0.3s;
}
.groupList li .btn:hover{
	opacity: 0.8;
}
.groupList li .btn:hover:before{
	right: 10px;
}
.groupList li.line02 .btn {
}
#groupArea .ctsInner .chara {
	position: absolute;
	width: 110px;
	bottom: -5px;
	right: -40px;
	z-index: 1;
}
#groupArea .ctsInner .chara img {
	width: 100%;
}
#groupArea .ctsInner .titArea .lead {
	margin: 10px 0 0 0;
	font-size: 2rem;
	letter-spacing: 0.5rem;
}
@media screen and (max-width:812px){
	#groupArea .ctsInner {
		width: 100%;
		padding: 80px 15px;
		max-width: 500px;
		margin: 0 auto;
	}
	.groupListArea{
	}
	.groupList {
		margin: 20px 0 0 0;		
		justify-content: space-between;
	}
	.groupList li {
		width: calc((100% - 15px) / 2);
		height: 220px;
		margin: 0 0 20px 0;
	}
	.groupList li:nth-of-type(n + 3),
	.groupList li:nth-of-type(n + 5){
		margin: 0 0 20px 0;
	}
	.groupList li .name {
		font-size: 1.4rem;
		line-height: 130%;
		margin: 50px 0 0 0;
	}
	.groupList li .btn {
		font-size: 1.1rem;
		line-height: 3.6rem;
		width: 80%;
		border-radius: 2.4rem;
		margin: 15px 0 0 0;
	}
	.groupList li .btn:before {
		height: 16px;
		width: 16px;
		right: 6px;
		margin: -8px 0 0 0;
	}
	.groupList li .type {
		font-size: 1.2rem;
		line-height: 2.8rem;
		min-width: 90px;
		top: 22px;
		left: -5px;
		padding: 0 10px 0;
	}
	#groupArea .ctsInner .chara {
		width: 80px;
		bottom: -5px;
		right: 20px;
	}
	#groupArea .ctsInner .titArea .lead {
		margin: 5px 0 0 0;
		font-size: 1.2rem;
		letter-spacing: 0.3rem;
	}
}
@media only screen 
and (max-device-width: 812px) 
and (orientation: landscape) {
}


/*
	footer
-----------------------------------------------------------------------------------------------*/
.footerInner{
	height: 100px;
	background: #024194;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}
.footerInner .copyright{
	display: inline-block;
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: 0.1rem;
	color: #fff;
}
@media screen and (max-width:812px){
	.footerInner {
		height: 60px;
	}
}
@media only screen 
and (max-device-width: 812px) 
and (orientation: landscape) {
}

/*
	loading
-----------------------------------------------------------------------------------------------*/
#loading {
	transition: all 1s;
	background: #fff;
	z-index: 6;
	position: fixed;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 100vw;
	height: 100vh;
	top: 0;
	left: 0;
	min-width: 100%;
	min-height: 100%;
}

#loading.loaded {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

@media screen and (max-width:812px){
	#loading .loaders img {
		width: 50%;
		margin: 0 auto;
		display: block;
	}
}
@media only screen 
and (max-device-width: 812px) 
and (orientation: landscape) {
}

/*
	animation
-----------------------------------------------------------------------------------------------*/
.fadeInTrigger, .fadeUpTrigger, .fadeDownTrigger, .fadeLeftTrigger, .fadeRightTrigger {
	opacity: 0;
}
.fadeIn{
	animation-name: fadeInAnime;
	animation-duration:1.5s;
	animation-fill-mode:forwards;
	opacity:0;
}
.fadeIn.second{
	animation-delay: 0.3s;
}
@keyframes fadeInAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}