/*================================================================default*/
html {
font-size: 62.5%;
}

body {
margin: 0;
padding: 0;
width: 100%;
}

body * {
box-sizing: border-box;
position: relative;
}

main {
width: 100%;
margin: 0 auto;
}

p,
h1,
h2,
h3,
dt,
dd {
margin: 0;
}

ul,
ol {
margin: 0;
padding: 0;
}

li {
list-style-type: none;
}


figure {
vertical-align: bottom;
line-height: 1;
margin: 0;
}

img {
width: 100%;
height: auto;
vertical-align: bottom;
}

a {
text-decoration: none;
}

a img,
button a {
transition: all .3s;
}

a img:hover,
button a:hover {
transform: scale(1.07, 1.07);
}

button {
	border: none;
	padding: 0;
	background: transparent;
}


/*================================================================header*/
.page-header {
background:
	url(../images/bg_header.png) repeat-x center center / 1917px 487px,
	#FFEA48;
padding: 0 0 16px;
}

@media (max-width: 960px) {
	.page-header {
	background:
		url(../images/bg_header.png) repeat-x center top 10px / 863px 220px,
		#FFEA48;
	padding: 0 0 16px;
	}
}

.page-header .inner {
width: 940px;
margin: 0 auto;
background: transparent;
}

@media (max-width: 960px) {
	.page-header .inner {
	width: 93.333333%;
	}
}

.page-header h1 {
margin: 0 0;
}

@media (max-width: 960px) {
	.page-header h1 {
	margin: 0;
	}
}

.page-header nav.pc ul {
/*width: 870px;*/
margin: 0 auto;
}

.page-header nav.pc li a:after {
	white-space: pre;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	position: absolute;
	left: 0;
	top: -82px;
	opacity: 0;
	transition: all .3s;
	background: rgba(0, 0, 0, .7);
	color: #fff;
	font-size: 2.1rem;
	line-height: 1.2;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.page-header nav.pc li:nth-of-type(1) a:after {
	content: 'ABOUT';
}

.page-header nav.pc li:nth-of-type(2) a:after {
	content: '店舗\A一覧';
}

.page-header nav.pc li:nth-of-type(3) a:after {
	content: '遊びの\A紹介';
}

.page-header nav.pc li:nth-of-type(4) a:after {
	content: 'LINE\Aポイント\Aカード';
}

.page-header nav.pc li:nth-of-type(5) a:after {
	content: 'Q&A';
}

.page-header nav.pc li:nth-of-type(6) a:after {
	content: 'バースデー\Aプラン';
}

.page-header nav.pc li:nth-of-type(7) a:after {
	content: 'お客様\Aの声';
}

.page-header nav.pc li a:hover:after {
opacity: 1;
}

.page-header nav.pc li img {
filter: drop-shadow(3px 6px 0 rgba(30, 18, 16, 0.5));
}

.page-header .btn-open {
width: 80px;
position: fixed;
top: 80px;
right: 35px;
z-index: 2;
}

@media (max-width: 960px) {
	.page-header .btn-open.sp {
		width: 112px;
		height: 27px;
		background: #45B16B;
		font-size: 2rem;
		color: #fff;
		border-left: 2px solid #fff;
		border-bottom: 2px solid #fff;
		border-radius: 0 0 0 10px;
		display: flex;
		justify-content: center;
		align-items: center;
		top: 55px;
		right: 0;
		transition: all .5s; /* 20250122 */
	}

	.page-header .btn-open.fixed { /* 20250122 */
		position: fixed;
		top: 0;
	}
}

.page-header .drawer-menu {
width: 100vw;
height: 100vh;
background: rgba(0,0,0,.7);
padding: 60px 0 0;
text-align: center;
position: fixed;
top: 0;
right: -100vw;
transition: all .5s;
overflow: scroll;
z-index: 3;
}

@media (max-width: 960px) {
	.page-header .drawer-menu {
	padding: 40px 0 0;
	}
}

.page-header .drawer-menu.open {
top: 0;
right: 0;
}

.page-header .btn-close {
width: 40px;
position: fixed;
top: 40px;
right: 54px;
z-index: 4;
display: none;
}

@media (max-width: 960px) {
	.page-header .btn-close {
	width: 30px;
	top: 10px;
	right: 10px;
	}
}

.page-header .drawer-menu.open .btn-close {
display: block;
}

.page-header .drawer-menu h2 {
width: 500px;
margin: 0 auto 20px;
}

@media (max-width: 960px) {
	.page-header .drawer-menu h2 {
	width: 92%;
	margin: 0 auto 20px;
	}
}

.page-header .drawer-menu .menu {
	margin: 0 auto 10px;
}

@media (max-width: 960px) {
	.page-header .drawer-menu .menu {
		margin: 0 auto 20px;
	}
}

.page-header .drawer-menu .menu li {
	margin:  0 0 5px;
}

.page-header .drawer-menu .menu li a {
	font-size: 2.4rem;
	font-weight: 800;
	color: #fff;
}

@media (max-width: 960px) {
	.page-header .drawer-menu .menu li a {
		font-size: 1.9rem;
	}
}

.page-header .drawer-menu .bnr {
	width: 347px;
	margin: 0 auto;
	padding: 40px 0 0;
	background: url(../images/line_drawer_menu.svg) no-repeat center top / contain;
	flex-wrap: wrap;
}

@media (max-width: 960px) {
	.page-header .drawer-menu .bnr {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 40px 0 0;
	}
}

.page-header .drawer-menu .bnr li {
	width: calc(50% - 10px);
	margin: 0 0 20px;
}

@media (max-width: 960px) {
.page-header .drawer-menu .bnr li {
	width: calc(50% - 20px);
	margin: 0 10px 20px;
}
}

.page-header .drawer-menu .bnr img {
	width: 100%;
}

/*================================================================page*/
body {
font-size: 1.8rem;
font-family: 'M PLUS Rounded 1c', sans-serif;
font-weight: 500;
line-height:1.666666;
color: #1E1210;
}

.wrapper {
display: flex;
justify-content: space-between;
}

@media (max-width: 960px) {
	.wrapper {
	display: block;
	}
}

.inner {
width: 960px;
margin: 0 auto;
background: #fff;
padding: 30px 0;
}

.top {
	width: 960px;
	margin: 0 auto;
	background: #fff;
	padding:  0;
	}

@media (max-width: 960px) {
	.inner {
	width: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	}
}

.pc {
display: block;
}

.sp {
display: none;
}

@media (max-width: 960px) {
	.pc {
	display: none;
	}

	.sp {
	display: block;
	}
}

.brake-pc {
display: block;
}

.brake-sp {
display: inline;
}

@media (max-width: 960px) {
	.brake-pc {
	display: inline;
	}

	.brake-sp {
	display: block;
	}
}

section {
overflow: hidden;
}

section .content-blk {
width: 860px;
margin: 0 auto;
border-radius: 20px;
padding: 30px;
}

@media (max-width: 960px) {
	section .content-blk {
	width: 100%;
	margin: 0;
	border-radius: 0;
	padding: 20px 5%;
	}
}

section h1 {
font-size: 3.6rem;
font-weight: 800;
text-align: center;
color: #fff;
margin: 0 0 30px;
}

section h1 span {
display: block;
font-size: 2.4rem;
line-height: 1;
}

@media (max-width: 960px) {
	section h1 {
	font-size: 2.4rem;
	margin: 0 0 20px;
	}

	section h1 span {
	font-size: 1.8rem;
	}
}

.gototop {
position: fixed;
width: 120px;
right: 16px;
bottom: 140px;
transition: all .3s;
opacity: 0;
z-index: 99999;
}

@media (max-width: 960px) {
	.gototop {
	width: 60px;
	right: 6px;
	bottom: 12px;
	}
}

.gototop.active {
opacity: 1;
}

/*================================================================about*/
#about-section {
	background: #FF7BAC;
}

#about-section > .inner {
	padding: 560px 0 70px;
}

@media (max-width: 960px) {
	#about-section > .inner {
		padding: 0;
	}
}

#about-section .inner:before {
	content: '';
	display: block;
	width: 381px;
	height: 218px;
	background: url(../images/fig_access_left.png) no-repeat center center / contain;
	position: absolute;
	bottom: 68px;
	left: -441px;
}

#about-section .inner:after {
	content: '';
	display: block;
	width: 507px;
	height: 392px;
	background: url(../images/fig_access_right.png) no-repeat center center / contain;
	position: absolute;
	bottom: 40px;
	right: -547px;
}

#about-section .slide {
	width: 100vw;
	position: absolute;
	top: 40px;
	left: calc(calc(50vw - 480px) * -1);
}

.slider {
	display: none;
}
.slider.slick-initialized {
	display: block;
}

@media (max-width: 960px) {
	#about-section .slide {
	width: 100%;
	position: relative;
	top: 20px;
	left: 0;
	margin: 0 0 60px;
	}

/*
#about-section .slide:before {
	content: '';
	width: calc(50% - 170px);
	height: 100%;
	background: #fff;
	display: block;
	position: absolute;
	left: 0;
	z-index: 2;
	}
*/
}


#about-section .slide img {
	width:690px;
	margin: 0 20px;
}

@media (max-width: 960px) {
	#about-section .slide img {
		width: 340px;
	}
}

#about-section .slide a img:hover {
	transform: scale(1, 1);
}

.slick-dots li button:before {
	font-size: 20px;
	color: #eee;
	opacity: 1;
}

.slick-dots li.slick-active button:before {
	color: #0D68B7;
}

.slick-prev,
.slick-next {
	display: none !important;
}

@media (max-width: 960px) {
	.slick-prev,
	.slick-next {
		width: 40px;
		height: 40px;
		display: inline-block !important;
		z-index: 2;
	}

	.slick-prev {
		left: 0;
	}

	.slick-next {
		right: 0;
	}

	.slick-prev:before,
	.slick-next:before {
		content: '';
		width: 40px;
		height: 40px;
		display: block;
	}

	.slick-prev:before {
		background: url(../images/ico_slide_prev.svg) no-repeat center center / contain;
	}

	.slick-next:before {
		background: url(../images/ico_slide_next.svg) no-repeat center center / contain;
	}
}

#about-section #about {
	background: #F5D220;
	margin: 0 auto 30px;
}

@media (max-width: 960px) {
	#about-section #about {
		margin: 0 auto;
	}
}

#about-section #about h1 {
	background: url(../images/bg_title_about.svg) no-repeat center center / contain;
	margin: 0 0 10px;
}

#about-section #about h1 img {
	width: 447px;
}

@media (max-width: 960px) {
	#about-section #about h1 {
		background: url(../images/bg_title_about_sp.svg) no-repeat center center / contain;
		padding: 15px 0;
		margin: 0;
	}

	#about-section #about h1 img {
		width: 92%;
	}
}

#about-section #about .lead {
	font-size: 3.3rem;
	font-weight: 800;
	line-height: 1.484848;
	text-align: center;
	color: #6E0808;
	margin: 0 0 10px;
}

@media (max-width: 960px) {
	#about-section #about .lead {
		font-size: 2.4rem;
		margin: 0 0 24px;
	}
}

#about-section .book {
	justify-content: flex-start;
	align-items: flex-end;
	margin: 0 0 0 10px;
}

@media (max-width: 960px) {
	#about-section .book {
		width: 80%;
		margin: 0 auto;
	}

	#about-section .book ul {
		display: flex;
		flex-wrap: wrap;
	}

	#about-section .book li {
		width: calc(50% - 8px);
		margin: 0 0 16px;
	}
}

#about-section .book ul img {
width: 140px;
border: 1px solid #707070;
margin: 0 15px 0 0;
}


@media (max-width: 960px) {
	#about-section .book ul img {
	width: 100%;
	margin: 0;
	}
}

#about-section .book .btn {
width: 134px;
}

@media (max-width: 960px) {
	#about-section .book .btn {
	width: calc(50% - 8px);
	margin: 0 auto;
	}
}

#about-section #shop-list {
	background: #E50014;
	text-align: center;
}

#about-section #shop-list p {
	color: #fff;
	font-size: 2.4rem;
	font-weight: 800;
	margin: 0 0 20px;
}

@media (max-width: 960px) {
	#about-section #shop-list p {
		font-size: 2.1rem;
	}
}

#about-section #shop-list li {
	width: calc(calc(100% - 20px) / 4);
}

@media (max-width: 960px) {
	#about-section #shop-list ul {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		justify-content: center;
		width: 106%;
		margin: 0 0 0 -3%;
	}

	#about-section #shop-list li {
		width: 47%;
		margin: 0 1.5% 20px;
	}
}

#about-section #shop-list li a {
	display: block;
	width: 100%;
}

#about-section #shop-list img {
	display: block;
	width: 200px;
	height: 200px;
	border-radius: 50%;
	object-fit: cover;
	border: 5px solid #fff;
	margin: 0 auto 26px;
}

@media (max-width: 960px) {
	#about-section #shop-list img {
		width: 100%;
		height: 100%;
		aspect-ratio: 1 / 1;
		margin: 0 auto 10px;
	}
}

#about-section #shop-list button {
	display: block;
	width: 100%;
}

#about-section #shop-list button a {
	width: 100%;
	height: 67px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 1.7rem;
	font-weight: 800;
	color: #fff;
	border-radius: 20px;
	border: 2px solid #fff;
}

@media (max-width: 960px) {
	#about-section #shop-list button a {
		height: 51px;
		font-size: 1.4rem;
		border-radius: 15px;
	}
}

#about-section #shop-list li:nth-of-type(1) button a {
	background: #17C481;
}

#about-section #shop-list li:nth-of-type(2) button a {
	background: #FF7BAC;
}

#about-section #shop-list li:nth-of-type(3) button a {
	background: #00ADEC;
}

#about-section #shop-list li:nth-of-type(4) button a {
	background: #F08C01;
}


@media (max-width: 960px) {
	#about-section .item-bg {
		display: none;
	}
}

#about-section .item-bg img {
	position: absolute;
	display: block;
}

#about-section .item-bg .left {
	width: 77px;
	left: -216px;
	bottom: 500px;
}

#about-section .item-bg .right {
	width: 93px;
	right: -209px;
	bottom: 520px;
}

/*@media (max-width: 960px) {
	#about-section .fish-blk {
	display: none;
	}
}

#about-section .fish-blk img {
position: absolute;
display: block;
}

#about-section .fish-blk .fish01 {
width: 155px;
left: -209px;
bottom: 435px;
}

#about-section .fish-blk .fish02 {
width: 156px;
left: -366px;
bottom: 250px;
}

#about-section .fish-blk .fish03 {
width: 150px;
left: -240px;
bottom: 79px;
}

#about-section .fish-blk .fish04 {
width: 150px;
right: -178px;
bottom: 460px;
}

#about-section .fish-blk .fish05 {
width: 179px;
right: -463px;
bottom: 275px;
}

#about-section .fish-blk .fish06 {
width: 211px;
right: -329px;
bottom: 61px;
}*/

/*================================================================play*/
#play {
	background: url(../images/bg_play.png) repeat-x center bottom 36px / 2500px 332px;
}

#play .inner {
	padding: 0 0 60px;
}

#play .content-blk {
	padding: 30px 0 0;
}

@media (max-width: 960px) {
	#play .content-blk {
		padding: 20px 5%;
	}
}

#play h1 {
	color: #000;
}

#play .play-blk .wrapper {
	flex-wrap: wrap;
	align-items: start;
	margin: 0 0 20px;
}

@media (max-width: 960px) {
	#play .play-blk .wrapper {
		margin: 0 0 20px;
	}
}

#play .play-blk .wrapper figure {
	width: calc(calc(100% - 40px) / 3);
	height: auto;
	margin: 0 0 20px;
}

@media (max-width: 960px) {
	#play .play-blk .wrapper figure {
		width: 92%;
		margin: 0 auto 20px;
	}
}

#play .play-blk .wrapper figure img {
	border-radius: 5px;
}

#play .play-blk .wrapper figure:nth-of-type(1) img {
	border: 4px solid #B7D102;
}

#play .play-blk .wrapper figure:nth-of-type(2) img {
	border: 4px solid #000;
}

#play .play-blk .wrapper figure:nth-of-type(3) img {
	border: 4px solid #56C2EA;
}

#play .play-blk .wrapper figure:nth-of-type(4) img {
	border: 4px solid #DF0012;
}

#play .play-blk .wrapper figure:nth-of-type(5) img {
	border: 4px solid #0068B7;
}

#play .play-blk .wrapper figure:nth-of-type(6) img {
	border: 4px solid #F08C01;
}

#play .play-blk .wrapper figure figcaption {
	font-size: 2.2rem;
	font-weight: 800;
	color: #fff;
	position: absolute;
	bottom: 10px;
	left: 0;
	width: 100%;
	text-align: center;
	letter-spacing: -0.04em;
}

#play .play-blk .wrapper figure:nth-of-type(1) figcaption {
	text-shadow:
		1px 1px 0 #B7D102, -1px -1px 0 #B7D102,
		-1px 1px 0 #B7D102, 1px -1px 0 #B7D102,
		0px 1px 0 #B7D102, 0 -1px 0 #B7D102,
		-1px 0 0 #B7D102, 1px 0 0 #B7D102;
}

#play .play-blk .wrapper figure:nth-of-type(2) figcaption {
	text-shadow:
		1px 1px 0 #000, -1px -1px 0 #000,
		-1px 1px 0 #000, 1px -1px 0 #000,
		0px 1px 0 #000, 0 -1px 0 #000,
		-1px 0 0 #000, 1px 0 0 #000;
}

#play .play-blk .wrapper figure:nth-of-type(3) figcaption {
	text-shadow:
		1px 1px 0 #56C2EA, -1px -1px 0 #56C2EA,
		-1px 1px 0 #56C2EA, 1px -1px 0 #56C2EA,
		0px 1px 0 #56C2EA, 0 -1px 0 #56C2EA,
		-1px 0 0 #56C2EA, 1px 0 0 #56C2EA;
}

#play .play-blk .wrapper figure:nth-of-type(4) figcaption {
	text-shadow:
		1px 1px 0 #DF0012, -1px -1px 0 #DF0012,
		-1px 1px 0 #DF0012, 1px -1px 0 #DF0012,
		0px 1px 0 #DF0012, 0 -1px 0 #DF0012,
		-1px 0 0 #DF0012, 1px 0 0 #DF0012;
}

#play .play-blk .wrapper figure:nth-of-type(5) figcaption {
	text-shadow:
		1px 1px 0 #0068B7, -1px -1px 0 #0068B7,
		-1px 1px 0 #0068B7, 1px -1px 0 #0068B7,
		0px 1px 0 #0068B7, 0 -1px 0 #0068B7,
		-1px 0 0 #0068B7, 1px 0 0 #0068B7;
}

#play .play-blk .wrapper figure:nth-of-type(6) figcaption {
	text-shadow:
		1px 1px 0 #F08C01, -1px -1px 0 #F08C01,
		-1px 1px 0 #F08C01, 1px -1px 0 #F08C01,
		0px 1px 0 #F08C01, 0 -1px 0 #F08C01,
		-1px 0 0 #F08C01, 1px 0 0 #F08C01;
}

#play .birthday {
	background: #FFD900;
	border-radius: 20px;
	padding: 40px 30px 30px;
}

@media (max-width: 960px) {
	#play .birthday {
		border-radius: 0;
		padding: 16px 5% 40px;
	}
}

#play .birthday figure {
	width: 270px;
}

@media (max-width: 960px) {
	#play .birthday figure {
		width: 100%;
		margin: 0 0 20px;
	}
}

#play .birthday .text-blk {
	width: calc(100% - 290px);
	font-size: 2.4rem;
	font-weight: 700;
}

@media (max-width: 960px) {
	#play .birthday .text-blk {
		width: 100%;
		font-size: 2.1rem;
	}
}

#play .birthday .text-blk p {
	margin: 0 0 1em;
}

#play .birthday .wrapper .item-bg img.left {
	width: 102px;
	top: -127px;
	left: 123px;
}

#play .birthday .wrapper .item-bg img.right {
	width: 136px;
	top: -130px;
	right: 80px;
}

@media (max-width: 960px) {
	#play .birthday .wrapper .item-bg img.left {
		width: 48px;
		top: -69px;
		left: 4px;
	}

	#play .birthday .wrapper .item-bg img.right {
		width: 65px;
		top: -67px;
		right: 0;
	}
}

#play .content-blk button {
	display: block;
	width: 267px;
	margin: 0 auto;
}

#play .content-blk button a {
	width: 100%;
	height: 48px;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 800;
	background: #F21C1C;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 20px;
}

#play h1 + .wrapper .item-bg {
	position: absolute;
	top: 0;
	width: 100%;
}

#play h1 + .wrapper .item-bg img {
	position: absolute;
	display: block;
}

#play h1 + .wrapper .item-bg .left {
	width: 111px;
	top: -86px;
	left: 150px;
}

#play h1 + .wrapper .item-bg .right {
	width: 117px;
	top: -137px;
	right: 130px;
}

@media (max-width: 960px) {
	#play h1 + .wrapper .item-bg .left {
		width: 70px;
		left: 0;
		top: -54px;
	}

	#play h1 + .wrapper .item-bg .right {
		width: 74px;
		right: 0;
		top: -70px;
	}
}

@media (max-width: 960px) {
	#play .content-blk + .item-bg {
		display: none;
	}
}

#play .content-blk + .item-bg img {
	position: absolute;
	display: block;
}

#play .content-blk + .item-bg .left {
	width: 333px;
	left: -440px;
	bottom: 115px;
}

#play .content-blk + .item-bg .right {
	width: 422px;
	right: -445px;
	bottom: 80px;
}

/*================================================================safety*/
#safety {
	background: #4BC1F1;
}

#safety .inner {
	padding: 0 0 30px;
}

#safety .inner:before {
	content: '';
	display: block;
	width: 464px;
	height: 488px;
	background: url(../images/fig_price_left.png) no-repeat center center / contain;
	position: absolute;
	bottom: 10px;
	left: -464px;
}

#safety .inner:after {
	content: '';
	display: block;
	width: 480px;
	height: 525px;
	background: url(../images/fig_price_right.png) no-repeat center center / contain;
	position: absolute;
	bottom: 10px;
	right: -480px;
}

#safety .content-blk {
	background: #FF7BAC;
}

#safety h2 {
	width: 100%;
	height: 57px;
	line-height: 57px;
	margin: 0 auto 30px;
	font-size: 2.2rem;
	font-weight: 800;
	color: #fff;
	text-align: center;
	background: url(../images/bg_title_play.svg) no-repeat center center / contain;
}

@media (max-width: 960px) {
	#safety h2 {
		width: 860px;
		margin: 0 auto 30px calc(calc(430px - 50%) * -1);
		overflow: hidden;
	}
}

#safety h3 {
	width: 798px;
	height: 62px;
	line-height: 62px;
	margin: 0 auto 20px;
	font-size: 2.2rem;
	font-weight: 800;
	color: #fff;
	text-align: center;
	background: #00ADEC;
	border-radius: 31px;
}

@media (max-width: 960px) {
	#safety h3 {
		width: 100%;
		height: 40px;
		line-height: 40px;
		margin: 0 auto 16px;
		font-size: 2.1rem;
		border-radius: 10px;
	}
}

#safety .content-blk p {
	width: 770px;
	margin: 0 auto 20px;
	color: #fff;
}

@media (max-width: 960px) {
	#safety .content-blk p {
		width: 100%;
		margin: 0 auto 30px;
	}
}

#safety p.notes {
	padding: 0 0 0 1em;
	width: 770px;
	margin: -20px auto 0;
}

@media (max-width: 960px) {
	#safety p.notes {
		width: 100%;
		margin: -30px auto 0;
	}
}

#safety p.notes:before {
	content: '※';
	position: absolute;
	left: 0;
}

/*================================================================line*/
#line {
background: url(../images/bg_footer.png) no-repeat center bottom -47px / 2472px 659px,
	#000;
}

@media (max-width: 960px) {
	#line {
	background: #fff;
	}
}

#line .inner {
padding: 30px 0 0;
}

@media (max-width: 960px) {
	#line .inner {
	padding: 0;
	}
}

#line .content-blk {
background: #A0B824;
margin: 0 auto;
}

#line .content-blk h1:before,
#line .content-blk h1:after {
content: '';
display: block;
position: absolute;
}

#line .content-blk h1:before {
width: 70px;
height: 116px;
background: url(../images/fig_line_title01.png) no-repeat center center / contain;
left: 82px;
top: -10px;
}

#line .content-blk h1:after {
width: 56px;
height: 49px;
background: url(../images/fig_line_title02.png) no-repeat center center / contain;
right: 92px;
top: 40px;
}

@media (max-width: 960px) {
	#line .content-blk h1:before {
	width: 60px;
	height: 99px;
	left: -10px;
	top: -10px;
	}

	#line .content-blk h1:after {
	width: 50px;
	height: 44px;
	right: 0;
	top: 40px;
	}
}

#line h1 span {
font-size: 3.6rem;
}

#line h1 span.small {
font-size: 2.4rem;
}

@media (max-width: 960px) {
	#line h1 span {
	font-size: 2.4rem;
	}

	#line h1 span.small {
	font-size: 1.8rem;
	}
}

#line h2 {
font-size: 3.5rem;
font-weight: 800;
line-height: 1.3;
color: #FFE934;
text-align: center;
margin: 0 0 20px;
}

@media (max-width: 960px) {
	#line h2 {
	font-size: 2.4rem;
	margin: 0 0 20px;
	}
}

#line .register {
align-items: center;
padding: 25px 30px 30px 30px;
background: #3D9E26;
border-radius: 10px;
box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.16);
margin: 0 0 60px;
}

@media (max-width: 960px) {
	#line .register {
	padding: 25px;
	}
}

#line .register .logo {
width: 128px;
}

@media (max-width: 960px) {
	#line .register .logo {
	display: none;
	}
}

#line .register h3 {
font-size: 3.6rem;
font-weight: 800;
line-height: 1.166666;
text-align: center;
color: #fff;
margin: 0 0 30px;
}

#line .register h3:after {
content: '';
width: 128px;
height: 128px;
display: block;
background: url(../images/logo_line.png) no-repeat center center / contain;
position: absolute;
left: 0;
top: -23px;	
}

@media (max-width: 960px) {
	#line .register h3 {
	font-size: 2.1rem;
	margin: 0 0 1em;
	}

	#line .register h3:after {
	display: none;
	}
}

#line .register figure {
width: calc(calc(100% - 60px) / 3);
padding: 28px 0 20px;
border: 2px solid #fff;
text-align: center;
}

#line .register figure img {
width: 65%;
margin: 0 auto 15px;
display: block;
}

@media (max-width: 960px) {
	#line .register figure {
	width: 100%;
	padding:20px 0 10px; 
	margin: 0 auto 1em;
	}

	#line .register figure:last-of-type {
	margin: 0 auto;
	}

	#line .register figure img {
	width: 180px;
	margin: 0 auto 10px;
	}
}

#line .register figcaption {
font-size: 2.4rem;
font-weight: 800;
line-height: 1.5;
color: #fff;
}

#line .benefit {
display: flex;
justify-content: center;
flex-direction: column;
height: 200px;
background: url(../images/bg_benefit.svg) no-repeat center center / contain;
font-size: 2.4rem;
font-weight: 800;
line-height: 1.5;
margin: 0 0 20px;
}

@media (max-width: 960px) {
	#line .benefit {
	height: auto;
	background: none;
	font-size: 1.8rem;
	line-height: 1.7;
	color: #fff;
	margin: 0 0 20px;
	}
}

#line .benefit li {
padding: 1em 0 0 2em;
}

#line .benefit li:before {
/*content: '★';*/
position: absolute;
left: 1em;
}

@media (max-width: 960px) {
	#line .benefit li {
	padding: 0 0 0 1em;
	}

	#line .benefit li:before {
	left: 0;
	}
}

#line .benefit li .small {
font-size: 1.8rem;
}

@media (max-width: 960px) {
	#line .benefit li .small {
	font-size: 1.4rem;
	}
}

#line .benefit li .red {
color: #E50014;
}

#line .notes {
font-size: 2.1rem;
text-align: center;
line-height: 1.42857;
color: #fff;
}

@media (max-width: 960px) {
	#line .notes {
	font-size: 1.8rem;
	text-align: left;
	}
}

/*================================================================faq*/
#faq {
background:url(../images/bg_faq.png) repeat-y center top / 2136px 1396px;
}

#faq .content-blk {
background: #00B9EF;
padding: 45px 30px 30px;
}

@media (max-width: 960px) {
	#faq .content-blk {
	padding: 20px 5%;
	}
}

#faq .content-blk h1 {
margin: 0 0 35px;
}

#faq .content-blk h1:after {
content: '';
display: block;
position: absolute;
width: 72px;
height: 68px;
background: url(../images/fig_faq_title02.png) no-repeat center center / contain;
right: 190px;
top: 20px;
}

@media (max-width: 960px) {
	#faq .content-blk h1:after {
	display: none;
	}
}

#faq .content-blk h1 img {
width: 120px;
position: absolute;
display: block;
left: 140px;
top: -34px;
}

@media (max-width: 960px) {
	#faq .content-blk h1 img {
	width: 70px;
	left: 10px;
	top: -10px;
	}
}

#faq li {
background: #fff;
border-radius: 10px;
margin: 0 0 30px;
}

@media (max-width: 960px) {
	#faq li {
	margin: 0 0 20px;
	}
}

#faq li h2 {
height: 87px;
font-size: 2.1rem;
line-height: 87px;
padding: 0 100px;
cursor: pointer;
}

@media (max-width: 960px) {
	#faq li h2 {
	height: auto;
	font-size: 1.8rem;
	line-height: 1.666666;
	padding: 15px 48px 15px 62px;
	}
}

#faq li h2:before {
content: '';
width: 67px;
height: 67px;
display: block;
background: url(../images/ico_q.svg) no-repeat center center / contain;
position: absolute;
left: 15px;
top: 10px;
}

@media (max-width: 960px) {
	#faq li h2:before {
	width: 40px;
	height: 40px;
	left: 10px;
	}
}

#faq li h2:after {
content: '';
width: 42px;
height: 42px;
display: block;
background: url(../images/ico_arrow.svg) no-repeat center center / contain;
position: absolute;
right: 20px;
top: 20px;
transition: all .5s;
}

#faq li h2.active:after {
transform: rotate(180deg);
}

@media (max-width: 960px) {
	#faq li h2:after {
	width: 30px;
	height: 30px;
	right: 8px;
	top: 10px;
	}
}

#faq li p {
background:
	url(../images/line_faq.svg) no-repeat center top / 347px 15px,
	#fff;
padding: 30px 100px 20px;
border-radius: 0 0 10px 10px;
min-height: 110px;
display: none;
}

@media (max-width: 960px) {
	#faq li p {
	background:
		url(../images/line_faq.svg) no-repeat center top / 90% 20px,
		#fff;
	padding: 30px 48px 25px 62px;
	}
}

#faq li p:before {
	content: '';
	width: 62px;
	height: 62px;
	display: block;
	background: url(../images/ico_a.svg) no-repeat center center / contain;
	position: absolute;
	left: 15px;
	top: 30px;
}

@media (max-width: 960px) {
	#faq li p:before {
		width: 40px;
		height: 40px;
		left: 10px;
		top: 30px;
	}
}

.page-footer {
	text-align: center;
	width: 960px;
	margin: 0 auto;
	padding: 80px 0 50px;
	background:
		url(../images/bg_footer_inner.png) no-repeat center bottom 80px / contain,
		#fff;
}

@media (max-width: 960px) {
		.page-footer {
		width: 100%;
		margin: 0;
		padding: 32px 0 10px;
		background:
		url(../images/bg_footer_inner_sp.png) no-repeat center bottom 30px / contain,
		#fff;
	}
}

.page-footer h1 {
	font-size: 3.6rem;
	font-weight: 800;
	color: #000;
	text-align: center;
}

.page-footer h1:before {
	content: '';
	width: 80px;
	height: 79px;
	display: block;
	background: url(../images/fig_link01.png) no-repeat center center / contain;
	position: absolute;
	left: 70px;
	top: 0;
}

.page-footer h1:after {
	content: '';
	width: 80px;
	height: 79px;
	display: block;
	background: url(../images/fig_link02.png) no-repeat center center / contain;
	position: absolute;
	right: 55px;
	top: -30px;
}

@media (max-width: 960px) {
	.page-footer h1:before {
		width: 60px;
		height: 60px;
		left: 20px;
		top: 20px;
	}

	.page-footer h1:after {
		width: 60px;
		height: 60px;
		right: 23px;
		top: -23px;
	}
}

.page-footer h1 span {
	display: block;
	font-size: 2.4rem;
	line-height: 1;
}

.page-footer .shop {
	width: 90%;
	max-width: 800px;
	margin: 0 auto;
}

@media (max-width: 960px) {
	.page-footer .shop {
		width: 70%;
	}
}

.page-footer .shop li {
	width: calc(calc(100% - 20px) / 4);
	margin: 0 0 30px;
}

@media (max-width: 960px) {
	.page-footer .shop li {
		width: 100%;
		margin: 0 0 10px;
	}
}

.page-footer .shop button {
	display: block;
	width: 100%;
}

.page-footer .shop button a {
	width: 100%;
	height: 67px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-size: 1.7rem;
	font-weight: 800;
	color: #fff;
	border-radius: 20px;
	border: 1px solid #707070;
}

.page-footer .shop li:nth-of-type(1) button a {
	background: #17C481;
}

.page-footer .shop li:nth-of-type(2) button a {
	background: #FF7BAC;
}

.page-footer .shop li:nth-of-type(3) button a {
	background: #00ADEC;
}

.page-footer .shop li:nth-of-type(4) button a {
	background: #F08C01;
}

.page-footer .btn {
	width: 454px;
	margin: 0 auto 40px;
}

@media (max-width: 960px) {
	.page-footer .btn {
		width: 330px;
		margin: 0 auto 30px;
	}
}

.page-footer .sns-blk {
	width: 200px;
	margin: 0 auto 106px;
}

@media (max-width: 960px) {
	.page-footer .sns-blk {
		width: 200px;
		display: flex;
		margin: 0 auto 83px;
	}

	.page-footer .sns-blk li {
		width: calc(calc(100% - 60px) / 2);
	}
}

.page-footer .bnr {
	width: 194px;
	margin: 0 auto 70px;
}

@media (max-width: 960px) {
	.page-footer .bnr {
		width: 140px;
		margin: 0 auto 25px;
	}
}

.page-footer .copyright {
	width: 200px;
	margin: 0 auto;
}

@media (max-width: 960px) {
	.page-footer .copyright {
		width: 154px;
	}
}

.fuwafuwa1 {
	-webkit-animation:fuwafuwa1 2.5s infinite linear alternate;
	animation:fuwafuwa1 2.5s infinite linear alternate;
	animation-delay: -1s;
}

@-webkit-keyframes fuwafuwa1 {
	0% {-webkit-transform:translate(0, 0) rotate(-0deg);}
	50% {-webkit-transform:translate(0, -10px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(0deg);}
}

@keyframes fuwafuwa1 {
	0% {transform:translate(0, 0) rotate(-0deg);}
	50% {transform:translate(0, -10px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(0deg);}
}


.fuwafuwa2 {
	-webkit-animation:fuwafuwa2 2.5s infinite linear alternate;
	animation:fuwafuwa2 2.5s infinite linear alternate;
}

@-webkit-keyframes fuwafuwa2 {
	0% {-webkit-transform:translate(0, 0) rotate(-0deg);}
	50% {-webkit-transform:translate(0, -10px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(0deg);}
}

@keyframes fuwafuwa2 {
	0% {transform:translate(0, 0) rotate(-0deg);}
	50% {transform:translate(0, -10px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(0deg);}
}



.fuwafuwa3 {
	-webkit-animation:fuwafuwa3 2.5s infinite linear alternate;
	animation:fuwafuwa3 2.5s infinite linear alternate;
	animation-delay: -2s;
}

@-webkit-keyframes fuwafuwa3 {
	0% {-webkit-transform:translate(0, 0) rotate(-0deg);}
	50% {-webkit-transform:translate(0, -10px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(0deg);}
}

@keyframes fuwafuwa3 {
	0% {transform:translate(0, 0) rotate(-0deg);}
	50% {transform:translate(0, -10px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(0deg);}
}

/*================================================================other*/
#voice,
#note,
#event,
body.shop {
	background:
		url(../images/bg_header.png) center center / 1917px 487px,
		#FFEA48;
}

#voice .page-header,
#note .page-header,
#event .page-header,
body.shop .page-header {
	background: none
}

#voice section .content,
#note section .content,
#event section .content,
body.shop section .content {
	background: #FFEA48;
}

/*料金改定案内用*/
/*#event .inner {
width: 940px;
margin: 0 auto;
padding: 30px 0 0;
}

@media (max-width: 960px) {
	#event .inner {
	width: 100%;
	margin: 0;
	padding: 20px 0 0;
	overflow: hidden;
	}
}*/

/*================================================================shop*/
body.shop .page-header nav.pc li:nth-of-type(1) a:after {
	content: 'ABOUT';
}

body.shop .page-header nav.pc li:nth-of-type(2) a:after {
	content: '店舗\A情報';
}

body.shop .page-header nav.pc li:nth-of-type(3) a:after {
	content: '遊びの\A紹介';
}

body.shop .page-header nav.pc li:nth-of-type(4) a:after {
	content: 'LINE\Aポイント\Aカード';
}

body.shop .page-header nav.pc li:nth-of-type(5) a:after {
	content: 'Q&A';
}

body.shop .page-header nav.pc li:nth-of-type(6) a:after {
	content: '料金\A案内';
}

body.shop .page-header nav.pc li:nth-of-type(7) a:after {
	content: 'バースデー\Aプラン';
}

body.shop .page-header nav.pc li:nth-of-type(8) a:after {
	content: 'お客様\Aの声';
}

body.shop .page-header nav.pc li:nth-of-type(9) a:after {
	content: 'お客様\Aの声';
}

body.shop main h1 a {
	font-size: 3rem;
	color: #fff;
	max-width: 830px;
	height: 110px;
	margin: 0 auto 23px;
	background: #17C481;
	border-radius: 55px;
	display: flex;
	justify-content: center;
	align-items: center;
}

@media (max-width: 960px) {
	body.shop main h1 a {
		width: 90%;
		font-size: 1.8rem;
		height: 73px;
		margin: 0 auto 20px;
		padding: 7px 0 0;
		border-radius: 20px;
		align-items: flex-start;
	}
}

#laketown main h1 a {
	background: #FF7BAC;
}

#minato main h1 a {
	background: #00ADEC;
}

#sakai main h1 a {
	background: #F08C01;
}

body.shop main h1 a:after {
	content: 'アクセスは\Aこちら';
	white-space: pre;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 94px;
	height: 94px;
	background: #fff;
	border-radius: 50%;
	font-size: 1.6rem;
	color: #6E0808;
	line-height: 1.3;
	border: 1px solid #6E0808;
	position: absolute;
	right: 16px;
	top: 7px;
}

@media (max-width: 960px) {
	body.shop main h1 a:after {
		content: 'アクセスはこちら';
		width: 140px;
		height: 28px;
		border-radius: 10px;
		font-size: 1.5rem;
		right: auto;
		left: 50%;
		transform: translateX(-50%);
		top: auto;
		bottom: 7px;
	}
}

body.shop main h1 a span {
	font-size: 4.5rem;
	color: #FFFF19;
	display: inline;
	margin: 0 0 0 10px;
}

@media (max-width: 960px) {
	body.shop main h1 a span {
		font-size: 2.4rem;
		margin: 0 0 0 5px;
	}
}

body.shop .content {
	background: #fff !important;
	border-radius: 20px 20px 0 0;
	border: 1px solid #707070;
	border-bottom: none;
}

@media (max-width: 960px) {
	body.shop .content {
		border-radius: 0;
		border: none;
		padding: 10px 0 0;
	}
}

body.shop .guide-map {
	width: 90%;
	max-width: 860px;
	margin: 0 auto 20px;
	border: 1px solid #707070;
}

body.shop .shop-slide {
	max-width: 886px;
	margin: 0 auto 34px;
}

body.shop .shop-slide .slick-slide {
	width: calc(calc(100% - 52px) / 3);
	margin: 0 13px;
}

body.shop .shop-slide .slick-slide img {
	width: 100%;
	height: 190px;
	object-fit: cover;
	border-radius: 5px;
	border: 1px solid #707070;
}

@media (max-width: 960px) {
	body.shop .shop-slide {
		width: calc(90% + 10px);
		margin: 0 auto 34px;
	}

	body.shop .shop-slide .slick-slide {
		width: calc(calc(100% - 20px) / 3);
		margin: 0 5px;
	}

	body.shop .shop-slide .slick-slide img {
		height: 74px;
	}
}

body.shop .shop-slide .slick-slide a:hover img {
	transform: scale(1, 1);
}

body.shop .content-blk h2 {
font-size: 3.6rem;
font-weight: 800;
text-align: center;
margin: 0 0 30px;
}

body.shop #price h2 {
	color: #fff;
}

body.shop .content-blk h2 span {
display: block;
font-size: 2.4rem;
line-height: 1;
}

@media (max-width: 960px) {
	body.shop .content-blk h2 {
	font-size: 2.4rem;
	margin: 0 0 20px;
	}

	body.shop .content-blk h2 span {
	font-size: 1.8rem;
	}
}

body.shop #price {
	background: #FF7BAC;
	margin: 0 auto 50px;
}

body.shop #price h2:after {
	content: '';
	width: 76px;
	height: 89px;
	display: block;
	background: url(../images/fig_price01.png) no-repeat center center / contain;
	position: absolute;
	right: 152px;
	top: 10px;
}

@media (max-width: 960px) {
	body.shop #price h2:after {
		width: 50px;
		height: 58px;
		right: 30px;
		top: -10px;
	}
}

body.shop #price figure {
	margin: 0 0 10px;
}

@media (max-width: 960px) {
	body.shop #price .notes {
		font-size: 1.2rem;
	}
}

body.shop #price .notes li {
	padding: 0 0 0 1em;
}

body#minato #price .notes li {
	display: inline;
}

body#minato #price .notes li:last-of-type {
	display: block;
}

body.shop #price .notes li:before {
	content: '※';
	position: absolute;
	left: 0;
}

body.shop #price .calender {
	text-align: center;
	margin: 50px 0;
}

@media (max-width: 960px) {
	body.shop #price .calender {
		margin: 30px 0;
	}
}

body.shop #price .calender h2:after {
	display: none;
}

body.shop #price .calender p {
	font-size: 3.8rem;
	font-weight: 800;
	background: #f8c170;
	width: 597px;
	height: 57px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 15px;
}

body.shop #price .calender p2 {
	font-size: 3.8rem;
	font-weight: 800;
	background: #FFFF19;
	width: 817px;
	height: 57px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 15px;
}

@media (max-width: 960px) {
	body.shop #price .calender p {
		font-size: 2.2rem;
		width: 100%;
		height: 40px;
	}
}

@media (max-width: 960px) {
	body.shop #price .calender p2 {
		font-size: 1.8rem;
		width: 100%;
		height: 40px;
	}
}

body.shop #price .calender p span {
	color: #FF0000;
}

body.shop #price .calender p2 span {
	color: #FF0000;
}

body.shop #price .calender .wrapper > div {
	width: calc(50% - 10px);
}

/*カレンダーが1つ表示の時*/
/*body.shop #price .calender .wrapper > div {
		width: 50%;
		margin: 0 auto;
	}*/

@media (max-width: 960px) {
	body.shop #price .calender .wrapper > div {
		width: 90%;
		margin: 0 auto;
	}
	body.shop #price .calender .wrapper > div:nth-of-type(1) {
		margin: 0 auto 20px;
	}
}

body.shop #price .calender h3 {
	font-size: 3.6rem;
	margin: 0 0 5px;
}

@media (max-width: 960px) {
	body.shop #price .calender h3 {
		font-size: 2.4rem;
	}
}

body.shop #price .calender li {
	display: inline-block !important;
}

body.shop #price .calender .btn_price {
  display: flex;
  justify-content: center; /* 必要に応じて space-between などに変更可能 */
  width: 100%;
  gap: 10px;
  margin-bottom: 20px;
}

.btn_price .btn_img {
  width: 250px;
  height: auto;
  object-fit: contain; /* 必要なら追加：縦横比を保ったまま収める */
  cursor: pointer;
}

@media (max-width: 960px) {
.btn_price .btn_img {
  width: 26vw;  /* 画面幅の1/3 */
  height: auto;
  object-fit: contain; /* 必要なら追加：縦横比を保ったまま収める */
  cursor: pointer;
	}
}


body.shop #shop-info {
	padding: 0;
}

body.shop #shop-info h2:before {
	content: '';
	width: 80px;
	height: 80px;
	display: block;
	background: url(../images/fig_shopinfo01.png) no-repeat center center / contain;
	position: absolute;
	left: 0;
	top: -20px;
}

body.shop #shop-info h2:after {
	content: '';
	width: 80px;
	height: 79px;
	display: block;
	background: url(../images/fig_shopinfo02.png) no-repeat center center / contain;
	position: absolute;
	right: 30px;
	top: 20px;
}

@media (max-width: 960px) {
	body.shop #shop-info h2:before {
		width: 60px;
		height: 60px;
		left: 22px;
		top: -30px;
	}

	body.shop #shop-info h2:after {
		width: 60px;
		height: 60px;
		right: 22px;
		top: 10px;
	}
}

body.shop #shop-info h3 {
	width: 90%;
	max-width: 800px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.4rem;
	font-weight: 800;
	color: #fff;
	background: #17C481;
	border-radius: 20px;
	margin: 0 auto 20px;
}

@media (max-width: 960px) {
	body.shop #shop-info h3 {
		font-size: 2.1rem;
	}
}

#laketown #shop-info h3 {
	background: #FF7BAC;
}

#minato #shop-info h3 {
	background: #00ADEC;
}

#sakai #shop-info h3 {
	background: #F08C01;
}

body.shop #shop-info .address-blk {
	max-width: 740px;
	margin: 0 auto 30px;
}

body.shop #shop-info dl {
	max-width: 740px;
	font-size: 1.6rem;
	flex-wrap: wrap;
	margin: 0 auto;
}

body.shop #shop-info dt {
	width: 5em;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 23px;
	color: #fff;
	background: #E50014;
	border-radius: 5px;
	margin: 0 1em 10px 0;
}

body.shop #shop-info dd {
	width: calc(100% - 6em);
}

@media (max-width: 960px) {
	body.shop #shop-info dl {
		width: 90%;
		margin: 0 auto 2em;
	}

	body.shop #shop-info dt {
		margin: 0 0 0.5em;
	}

	body.shop #shop-info dd {
		width: 100%;
		margin: 0 0 1em;
	}
}

body.shop #shop-info dd .notes {
	display: block;
	font-size: 1.4rem;
	padding: 0 0 0 1em;
}

body.shop #shop-info dd .notes:before {
	content: '※';
	position: absolute;
	left: 0;
}

body.shop #shop-info dd a {
	color: #1E1210;
	text-decoration: underline;
}

body.shop #shop-info dd ul {
	padding: 0 0 10px 1.5em;
}

body.shop #shop-info dd li {
	list-style-type: disc;
}

body.shop #shop-info .map {
	width: 250px;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
}

@media (max-width: 960px) {
	body.shop #shop-info .map {
		position: relative;
		width: 90%;
		margin: 0 auto 10px;
		right: auto;
		top: auto;
	}
}

body.shop #shop-info .map iframe {
	width: 100%;
	aspect-ratio: 16/9;
}

body.shop #shop-info .btn {
	width: 350px;
	margin: 0 auto 20px;
}

body.shop .content .page-footer {
	width: calc(100% - 1px);
}





