@charset "utf-8";

/***********************************************************************************************************************
* 基本構造 スマホ優先構造
***********************************************************************************************************************/
html {
	color: #333;
}

* {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html *:not(br):not(span):not(strong):not(em):not(i) {
	font-size: 1.4rem;
	line-height: 1.6em;
}

.wrap {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0 15px;
}

.wrap-s {
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0 15px;
}

a {
	color: #0a4c83;
}

.pc {
	display: none !important;
}

.en {
	font-family: 'Open Sans', sans-serif;
}

main {
	display: block;
	padding-top: 63px;
}

.top-page main {
	padding-top: 0px;
}

.hover:hover {
	-ms-filter: "alpha( opacity=100 )";
	filter: alpha(opacity=100);
	opacity: 1;
}

.arrow {
	position: relative;
	padding-left: 1em;
}

.arrow::after {
	content: "";
	position: absolute;
	left: 0px;
	top: 50%;
	width: 0px;
	height: 0px;
	margin-top: -6px;
	border: 5px solid transparent;
	border-left: 5px solid #cb0000;
}

.toggle-contents {
	display: none;
}

select {
	font-family: 'Noto Sans Japanese', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'ＭＳ Ｐゴシック', 'sans-serif';
}



@media screen and (max-device-width: 767px) {
	body {
		overflow-x: hidden;
	}

	img {
		width: 100%;
		height: auto;
	}
}

.category.notice {
	background: #0a4c83;
}

.category.branch {
	background: #da1c1c;
}

.category.event {
	background: #f96900;
}

.category.service {
	background: #24b0ea;
}

.category.fooddrink {
	background: #6bbb16;
}


.mg-b1em {
	margin-bottom: 1em;
}

.mg-b2em {
	margin-bottom: 2em;
}



/*ヘッダー*/
header {
	position: fixed;
	background: #fff;
	z-index: 100;
	width: 100%;
	min-width: 100%;
	height: 63px;
	border-bottom: 3px solid #0a4c83;
}

.top-page header {
	top: -63px;
	-webkit-transition: top .5s ease-out;
	transition: top .5s ease-out;
}

.top-page.active header {
	top: 0px;
}

header .logo {
	float: left;
	width: 20%;
	height: 60px;
	overflow: hidden;
}

header .logo img {
	background: #2c4198;
	height: 60px;
}

header nav {
	background: #fff;
	position: absolute;
	right: -100%;
	top: 63px;
	width: 100%;
	padding: 0 15px;
	-webkit-transition: right .3s ease;
	-moz-transition: right .3s ease;
	-ms-transition: right .3s ease;
	-o-transition: right .3s ease;
	transition: right .3s ease;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	display: none;
	z-index: 2;
}

header nav.block {
	display: block;
}

header nav.active {
	right: 0px;
}

header .menu {
	margin-bottom: 25px;
}

header .menu>li {
	display: block;
	width: 100%;
	border: none;
	border-bottom: 1px solid #d5d5d5;
}

header .menu>li>a,
header .menu>li>span {
	position: relative;
	display: block;
	padding: 1.2em 0.5em;
	font-size: 1.5rem;
	line-height: 1.3em;
	font-weight: bold;
	color: #0a4c83
}

header .menu>li>span::after {
	dipsplay: block;
	content: "";
	background: none;
	position: absolute;
	right: 15px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -7px;
	border-right: 2px solid #0a4c83;
	border-bottom: 2px solid #0a4c83;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

header .menu>li>span.active::after {
	margin-top: -15px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

header .menu>li>.box {
	display: none;
}

header .menu>li>.box ul {
	overflow: hidden;
}

header .menu>li>.box ul li {
	position: relative;
	float: left;
	width: 50%;
}

header .menu>li>.box figcaption {
	position: absolute;
	left: 0px;
	bottom: 0px;
	background: rgba(0, 0, 0, 0.6);
	width: 100%;
	padding: 0.5em;
	font-size: 1.3rem;
	line-height: 1.4em;
	text-align: center;
	color: #fff;
}

@media screen and (max-device-width: 767px) {
	header .menu>li>.box>a {
		position: relative;
		background: #fadb32;
		display: block;
		height: 50px;
		margin: 15px 0;
		font-size: 1.5rem;
		line-height: 50px;
		font-weight: bold;
		text-align: center;
		color: #0a4c83;
		-webkit-appearance: none;
		appearance: none;
		border: 0px;
		-webkit-border-radius: 0px;
		border-radius: 0px;
		cursor: pointer;
	}

	header .menu>li>.box>a::after {
		content: "";
		position: absolute;
		right: 10px;
		top: 50%;
		width: 10px;
		height: 10px;
		margin-top: -10px;
		border-right: 2px solid #0a4c83;
		border-bottom: 2px solid #0a4c83;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
	}
}

body>header .member-link {
	padding: 0 15px;
}

body>header .member-link li {
	margin-bottom: 15px;
}

body>header .member-link li a {
	display: block;
	/*		background: #2a2a2a; */
	font-size: 1.2rem;
	line-height: 50px;
	text-align: center;
	color: rgba(255, 255, 255, 0.4);
}

body>header .member-link li .ttl {
	display: block;
	width: 120px;
	background: #da1c1c;
	padding-bottom: 2px;
	font-size: 1.4rem;
	line-height: 28px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin: 0 auto;
	-webkit-border-radius: 15px;
	border-radius: 15px;
}

/*固定下メニュー*/
body>header .foot-menu {
	position: fixed;
	left: 0px;
	bottom: 0px;
	overflow: hidden;
	width: 100%;
	height: 58px;
	z-index: 1;
}

body.top-page>header .foot-menu,
body.store-page>header .foot-menu {
	bottom: -58px;
	-webkit-transition: bottom .5s ease-out;
	transition: bottom .5s ease-out;
}

body.top-page.active>header .foot-menu,
body.store-page.active>header .foot-menu {
	bottom: 0px;
}

body>header .foot-menu li {
	float: left;
	width: 25%;
	background-color: #FADB32;
	background-size: 38px;
	background-position: center 5px;
	background-repeat: no-repeat;
}

body>header .foot-menu li:nth-child(2) {
	background-image: url("../svg/home_ftr.svg");
}

body>header .foot-menu li:nth-child(3) {
	background-image: url("../svg/phone_ftr.svg");
}

body>header .foot-menu li:nth-child(4) {
	background-image: url("../svg/access_ftr.svg");
}

body>header .foot-menu li:nth-child(5) {
	background-image: url("../svg/coupon_ftr.svg");
}

body>header .foot-menu li a {
	display: block;
	height: 58px;
	padding-top: 45px;
	font-size: 1.0rem;
	/* font-size: 2vw; */
	line-height: 1em;
	text-align: center;
	color: #0A4C83;
}

/*SP用ログイン*/
body>header .login-link {
	float: left;
	width: -webkit-calc(78% - 58px);
	width: calc(78% - 58px);
	overflow: hidden;
}

body>header .login-link li {
	float: right;
	width: 33%;
	border-right: 1px solid #d5d5d5;
}

body>header .login-link li:last-child {
	border-left: 1px solid #d5d5d5;
}

body>header .login-link li a {
	height: 60px;
	display: -webkit-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-flex-direction: column;
	flex-direction: column;
	font-size: 1.0rem;
	font-size: 2.6vw;
	line-height: 1.4em;
	text-align: center;
	letter-spacing: -1px;
}


/*ボタン*/
body>header #menu-button {
	display: block;
	position: absolute;
	background: #fff;
	top: 0px;
	right: 0px;
	width: 65px;
	height: 60px;
	cursor: pointer;
}

body>header #menu-button>div {
	width: 33px;
	height: 3px;
	background: #0a4c83;
	position: absolute;
	left: 16px;
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	-ms-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
}

body>header #menu-button>div:nth-child(1) {
	top: 13px;
	-webkit-transform: translate(0%, 0%);
	-moz-transform: translate(0%, 0%);
	-ms-transform: translate(0%, 0%);
	-o-transform: translate(0%, 0%);
	transform: translate(0%, 0%);
}

body>header #menu-button.active>div:nth-child(1) {
	top: 23px;
	-webkit-transform: translate(-5%, -50%) rotate(45deg);
	-moz-transform: translate(-5%, -50%) rotate(45deg);
	-ms-transform: translate(-5%, -50%) rotate(45deg);
	-o-transform: translate(-5%, -50%) rotate(45deg);
	transform: translate(-5%, -50%) rotate(45deg);
}

body>header #menu-button>div:nth-child(2) {
	top: 23px;
}

body>header #menu-button.active>div:nth-child(2) {
	opacity: 0;
}

body>header #menu-button>div:nth-child(3) {
	top: 32px;
	-webkit-transform: translate(0%, 0%);
	-moz-transform: translate(0%, 0%);
	-ms-transform: translate(0%, 0%);
	-o-transform: translate(0%, 0%);
	transform: translate(0%, 0%);
}

body>header #menu-button.active>div:nth-child(3) {
	top: 23px;
	-webkit-transform: translate(-5%, -50%) rotate(-45deg);
	-moz-transform: translate(-5%, -50%) rotate(-45deg);
	-ms-transform: translate(-5%, -50%) rotate(-45deg);
	-o-transform: translate(-5%, -50%) rotate(-45deg);
	transform: translate(-5%, -50%) rotate(-45deg);
}

body>header #menu-button>p {
	color: #0a4c83;
	font-size: 0.9rem;
	position: absolute;
	left: 0;
	right: 0;
	top: 40px;
	text-align: center;



}



/*フッター*/
footer {
	position: relative;
	padding-bottom: 58px;
	border-top: 1px solid #d5d5d5;
	background: #fff;
}

footer .link {
	padding: 30px 40px 15px;
}

footer .link li {
	margin-bottom: 15px;
}

footer .link a {
	display: block;
	/*		background: #2a2a2a; */
	font-size: 1.2rem;
	line-height: 50px;
	text-align: center;
	color: rgba(255, 255, 255, 0.4);
}

footer .link li span {
	display: block;
	width: 120px;
	margin: 0 auto;
	background: #da1c1c;
	padding-bottom: 2px;
	font-size: 1.4rem;
	line-height: 28px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	-webkit-border-radius: 15px;
	border-radius: 15px;
}

footer .link li div {
	letter-spacing: normal;
	font-size: 1.1rem;
	line-height: 1.5rem;
	margin-bottom: 5px;
}

footer nav .wrap:last-child {
	background: #f3f3f3;
	letter-spacing: -0.4em;
	text-align: center;
}

footer nav .wrap:last-child li {
	display: inline-block;
	letter-spacing: normal;
}

footer nav .wrap:last-child a {
	position: relative;
	color: #333;
	font-size: 1.3rem;
	line-height: 1.4em;
	padding: 0.5em 0.5em;
}

footer nav .menu {
	padding-top: 35px;
}

footer nav .menu2 {
	padding-bottom: 20px;
}

footer nav .menu a {
	font-weight: bold;
}

footer nav .wrap:last-child li a::before {
	content: "";
	position: absolute;
	right: 0px;
	top: 50%;
	width: 1px;
	height: 1em;
	margin-top: -0.5em;
	background: #959595;
}

footer nav .wrap:last-child li:last-child a::before {
	display: none;
}

footer .foot-bottom {
	background: #f3f3f3;
	padding-bottom: 25px;
}

footer .logo {
	display: block;
	width: 150px;
	margin: 0 auto 20px;
}

footer .copyright {
	font-size: 1.0rem;
	font-size: 2.2vw;
	line-height: 1.8em;
	text-align: center;
	color: #797979;
}

/*ページ遷移ボタン*/
#pagetop {
	position: fixed;
	right: 0px;
	bottom: 58px;
	-webkit-transition: opacity .5s ease;
	-moz-transition: opacity .5s ease;
	-ms-transition: opacity .5s ease;
	-o-transition: opacity .5s ease;
	transition: opacity .5s ease;
	width: 50px;
	height: 50px;
	overflow: hidden;
	z-index: 99;
}

#pagetop>span {
	position: absolute;
	left: 0px;
	top: 50px;
	display: block;
	width: 50px;
	height: 50px;
	text-align: center;
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-ms-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}

#pagetop.open>span {
	top: 0px;
}

#pagetop>span>span,
#pagetop>span>a {
	position: relative;
	display: block;
	background: #595959;
	width: 50px;
	height: 50px;
	cursor: pointer;
	-webkit-transition: all .4s ease;
	-moz-transition: all .4s ease;
	-ms-transition: all .4s ease;
	-o-transition: all .4s ease;
	transition: all .4s ease;
	opacity: 1;
}

#pagetop>span>a::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 40%;
	width: 12px;
	height: 12px;
	border-left: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: left top;
	transform-origin: left top;
}

#pagetop>span>a::before {
	content: "";
	position: absolute;
	left: 52%;
	top: 40%;
	width: 12px;
	height: 12px;
	border-top: 3px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: left top;
	transform-origin: left top;
}

/*下へスクロール点滅*/
.flash {
	animation: flash 2s infinite linear;
	-webkit-animation: flash 2s infinite linear;
	-moz-animation: flash 2s infinite linear;
}

@keyframes flash {
	0% {
		opacity: 0.2;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0.2;
	}
}

@-webkit-keyframes flash {
	0% {
		opacity: 0.2;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0.2;
	}
}

@-moz-keyframes flash {
	0% {
		opacity: 0.2;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0.2;
	}
}

/* google api */
.g-recaptcha {
	margin-top: 20px;
}

.g-recaptcha>div {
	margin: 0 auto;
}

/***********************************************************
* 共通
***********************************************************/
/*タイトル*/
.headline {
	background: #0a4c83 url("../svg/pattern_icon.svg") 18px 18px no-repeat;
	background-size: 18px;
	padding: 0.8em 15px 0.8em 15px;
	font-size: 1.8rem;
	line-height: 1.4em;
	font-weight: bold;
	text-align: center;
	color: #fff;
}

.headline-s {
	background: url("../img/stripe_gray.png");
	background-size: 4px;
	padding: 0.5em 15px;
	font-size: 1.5rem;
	line-height: 1.4em;
	font-weight: bold;
	text-align: center;
}

.headline-s .search {
	position: relative;
}

.headline-s .search::after {
	content: "";
	position: absolute;
	left: -20px;
	top: 50%;
	width: 15px;
	height: 15px;
	background: url("../svg/search.svg") no-repeat;
	background-size: 15px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.headline-m {
	background: #24b0ea;
	padding: 0.8em 15px;
	font-size: 2.5rem;
	line-height: 1.3em;
	text-align: center;
	color: #fff;
}

.headline-m.bg-orange {
	background: #f69000;
}


/*スライダー矢印*/
.swiper-button-prev,
.swiper-button-next {
	position: absolute;
	background: #000;
	width: 32px;
	height: 55px;
	margin-top: -27px;
}

.swiper-button-prev {
	left: 0px;
}

.swiper-button-prev::after {
	content: "";
	position: absolute;
	left: 10px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -12px;
	border-left: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: left bottom;
	transform-origin: left bottom;
}

.swiper-button-next {
	right: 0px;
}

.swiper-button-next::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -12px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

/*ボタン*/
.btn-yellow,
.btn-reset {
	position: relative;
	background: #fadb32;
	display: block;
	height: 50px;
	margin: 0 0 32px;
	font-size: 1.5rem;
	line-height: 50px;
	font-weight: bold;
	text-align: center;
	color: #0a4c83;
	-webkit-appearance: none;
	appearance: none;
	border: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	cursor: pointer;
}

button.btn-yellow,
button.btn-reset {
	width: 100%;
}

.btn-yellow::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 46%;
	width: 10px;
	height: 10px;
	margin-top: -10px;
	border-right: 2px solid #0a4c83;
	border-bottom: 2px solid #0a4c83;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

.btn-yellow.blank::after {
	border: none;
	width: 15px;
	height: 15px;
	right: 10px;
	margin-top: -7px;
	background: url("../svg/blank.svg") no-repeat;
	background-size: 15px;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

.btn-yellow .\33 60 {
	position: relative;
}

.btn-yellow .\33 60::after {
	content: "";
	position: absolute;
	left: -40px;
	top: 50%;
	width: 30px;
	height: 30px;
	margin-top: -15px;
	background: url("../svg/360_2.svg") no-repeat;
	background-size: 30px;
}

.btn-yellow[disabled="disabled"] {
	opacity: 0.4;
	cursor: default;
}

.btn-reset {
	background-color: #e6e6e6;
	color: #333;
}

.btn-area {
	padding: 25px 15px 35px;
}

.wrap .btn-area {
	padding: 25px 0 35px;
}

.btn-area .btn-yellow,
.btn-area .btn-reset {
	margin-bottom: 10px;
}

.btn-area .btn-yellow:last-child,
.btn-area .btn-reset:last-child {
	margin-bottom: 0px;
}

.btn-yellow2 {
	height: auto;
	line-height: 1.4em;
	padding: 8px 0;
}

.btn-white {
	position: relative;
	background: #ffffff;
	display: block;
	margin: 0 0 32px;
	padding: 10px 0;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	color: #0a4c83;
	-webkit-appearance: none;
	appearance: none;
	border: 1px solid #b5b5b5;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	cursor: pointer;
}

.btn-white::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 46%;
	width: 10px;
	height: 10px;
	margin-top: -10px;
	border-right: 2px solid #0a4c83;
	border-bottom: 2px solid #0a4c83;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

.btn-white.blank::after {
	border: none;
	width: 15px;
	height: 15px;
	right: 10px;
	margin-top: -7px;
	background: url("../svg/blank.svg") no-repeat;
	background-size: 15px;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}

/*リスト*/
.list {
	padding-bottom: 1.5em;
}

.list li {
	position: relative;
	font-size: 1.2rem;
	line-height: 1.75em;
	padding-left: 1em;
	margin-bottom: 0.5em;
}

.list li * {
	font-size: 1.2rem;
	line-height: 1.75em;
}

.list li a {
	text-decoration: underline;
}

.list li a:hover {
	text-decoration: none;
}

.list li::after {
	content: "";
	position: absolute;
	left: 0px;
	top: 0.35em;
	background: #333;
	width: 1em;
	height: 1em;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

/*サービスリスト*/
.service-list {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: -webkit-calc(100% + 2px);
	width: calc(100% + 2px);
}

.service-list li {
	position: relative;
	width: 25%;
	padding: 0 2px 2px 0;
}

.service-list li.no::after {
	content: "";
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8);
}

.service-list li figure {
	background: #e6e6e6;
	display: block;
	padding: 15px 0 5px;
	text-align: center;
}

.service-list li:nth-child(2n) figure {
	background: #f3f3f3;
}

.service-list li img {
	width: 50%;
}

.service-list li figcaption {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
	height: 4.2em;
	font-size: 1.0rem;
	font-size: 2.2vw;
	line-height: 1.4em;
	color: #0a4c83;
}

/*トグル*/
.toggle-button {
	position: relative;
	border: 1px solid #b5b5b5;
	padding: 0.65em 1em;
	font-size: 1.2rem;
	line-height: 1.4em;
	font-weight: bold;
	color: #0a4c83;
	text-align: center;
	cursor: pointer;
}

.toggle-button::after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-top: -3px;
	border-right: 1px solid #0a4c83;
	border-bottom: 1px solid #0a4c83;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

.toggle-button.open::after {
	margin-top: -10px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.toggle-content {
	display: none;
	padding-top: 15px;
}

/*モーダル*/
.lity-iframe-container {
	height: 85vh;
	width: -webkit-calc(100% - 30px);
	width: calc(100% - 30px);
	margin: 0 auto;
}

.lity-iframe-container iframe {
	background: transparent;
}

.lity-close {
	top: 0.5vw;
	width: 12.5vw;
	height: 12.5vw;
	right: 10px;
	text-indent: 200%;
	overflow: hidden;
	white-space: nowrap;
}

.lity-close::before {
	content: "";
	position: absolute;
	width: 33px;
	height: 3px;
	background: #fadb32;
	position: absolute;
	left: 16px;
	top: 50%;
	-webkit-transform: translate(-5%, -50%) rotate(45deg);
	-moz-transform: translate(-5%, -50%) rotate(45deg);
	-ms-transform: translate(-5%, -50%) rotate(45deg);
	-o-transform: translate(-5%, -50%) rotate(45deg);
	transform: translate(-5%, -50%) rotate(45deg);
}

.lity-close::after {
	content: "";
	position: absolute;
	width: 33px;
	height: 3px;
	background: #fadb32;
	position: absolute;
	left: 16px;
	top: 50%;
	-webkit-transform: translate(-5%, -50%) rotate(-45deg);
	-moz-transform: translate(-5%, -50%) rotate(-45deg);
	-ms-transform: translate(-5%, -50%) rotate(-45deg);
	-o-transform: translate(-5%, -50%) rotate(-45deg);
	transform: translate(-5%, -50%) rotate(-45deg);
}

/*セレクトボックス*/
.select-box {
	position: relative;
	width: 100%;
}

.select-box::after {
	content: "";
	position: absolute;
	right: 12px;
	top: 50%;
	width: 0px;
	height: 0px;
	margin-top: -5px;
	border: 6px solid transparent;
	border-top: 10px solid #333;
}

.select-box select {
	background: #d5d5d5;
	width: 100%;
	height: 35px;
	font-size: 1.5rem;
	line-height: 35px;
	font-weight: bold;
	border: none;
	padding: 0 12px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	-webkit-border-radius: 0px;
	border-radius: 0px;
}

/*ページャー*/
.pager {
	text-align: center;
	letter-spacing: -0.4em;
	padding: 30px 0 35px;
}

.pager li {
	display: inline-block;
	margin: 0 3px;
	letter-spacing: normal;
	vertical-align: middle;
}

.pager .first {}

.pager .prev {
	margin-right: 6px;
}

.pager .next {
	margin-left: 6px;
}

.pager .last {}

.pager span {
	display: block;
	background: #0a4c83;
	width: 35px;
	font-size: 1.4rem;
	line-height: 33px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	border: 1px solid #0a4c83;
}

.pager a {
	display: block;
	width: 35px;
	font-size: 1.4rem;
	line-height: 33px;
	font-weight: bold;
	text-align: center;
	background: transparent;
	border: 1px solid #b5b5b5;
}

.pager .first a,
.pager .first span,
.pager .prev a,
.pager .prev span,
.pager .next a,
.pager .next span,
.pager .last a,
.pager .last span {
	position: relative;
	background: transparent !important;
	text-indent: 200%;
	white-space: nowrap;
	overflow: hidden;
	border: none;
}

.pager .prev a::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 12px;
	margin-top: -6px;
	width: 10px;
	height: 10px;
	border-left: 2px solid #0a4c83;
	border-bottom: 2px solid #0a4c83;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

.pager .next a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 12px;
	margin-top: -6px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #0a4c83;
	border-right: 2px solid #0a4c83;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	transform: rotate(45deg);
}

/*アンカーリンク*/
.anchor-list {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-flex-wrap: wrap;
	-flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
	padding: 15px 10px 10px 15px;
}

.anchor-list li {
	width: 25%;
	padding: 0 5px 5px 0;
}

.anchor-list.food-course li {
	width: 26%;
}

.anchor-list li a {
	display: block;
	background: #fadb32;
	min-height: 45px;
	display: -webkit-flex;
	display: -webkit-box;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
	font-size: 1.1rem;
	line-height: 1.18em;
	font-weight: bold;
	text-align: center;
	color: #0a4c83;
}

/*コース*/
.course-box .info {
	padding: 10px 15px 0px;
}

.course-box .info p {
	margin-bottom: 1em;
}

.course-box .tag {
	letter-spacing: -3px;
	margin: 0 0 10px 0;
}

.course-box .tag li {
	background: #24b0ea;
	color: #fff;
	display: inline-block;
	height: 28px;
	letter-spacing: normal;
	line-height: 28px;
	font-size: 1.4rem;
	font-weight: bold;
	margin: 0 4px 5px 0;
	padding: 0 8px;
}

/*注意*/
.attention-box {
	padding: 0 0px 30px;
}

.attention-box * {
	font-size: 1.2rem;
	line-height: 1.5em;
}

.attention-box .title {
	font-size: 1.5rem;
	line-height: 1.8em;
}

.attention-box li {
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 0.5em;
}

/*インデックス*/
.indent {
	padding-left: 1em;
	text-indent: -1em;
}

/*テーブル*/
.form-tbl,
.form-tbl tbody,
.form-tbl tr,
.form-tbl th,
.form-tbl td {
	display: block;
	width: 100%;
}

.wrap .form-tbl {
	width: -webkit-calc(100% + 30px);
	width: calc(100% + 30px);
	margin-left: -15px;
}

.form-tbl th {
	font-size: 1.5rem;
	line-height: 1.6em;
	text-align: left;
	background: url("../img/stripe_gray.png");
	background-size: 4px;
	padding: 0.3em 15px;
}

.form-tbl td {
	padding: 15px 15px;
}

/*ラジオ*/
.form-tbl label {
	display: block;
	margin-bottom: 5px;
}

.form-tbl .radio-list label {
	display: inline-block;
	padding-right: 1.5em;
}

.form-tbl input[type="radio"],
.form-tbl input[type="checkbox"] {
	display: none;
}

.form-tbl input[type="radio"]+span,
.form-tbl input[type="checkbox"]+span {
	position: relative;
	display: inline-block;
	padding-left: 28px;
	line-height: 1.8em;
	cursor: pointer;
}

.form-tbl input[type="radio"]+span::before,
.form-tbl input[type="checkbox"]+span::before {
	content: "";
	position: absolute;
	left: 0px;
	top: 50%;
	width: 18px;
	height: 18px;
	background: #fff;
	border: 1px solid #b5b5b5;
	-webkit-border-radius: 2px;
	border-radius: 2px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.form-tbl input[type="radio"]+span::before {
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

/*チェック後*/
.form-tbl input[type="radio"]:checked+span,
.form-tbl input[type="checkbox"]:checked+span {
	font-weight: bold;
}

.form-tbl input[type="radio"]:checked+span::before,
.form-tbl input[type="checkbox"]:checked+span::before {
	border: 1px solid #f96900;
	background: #fff;
}

.form-tbl input[type="radio"]:checked+span::after {
	content: "";
	position: absolute;
	left: 10px;
	top: 50%;
	width: 9px;
	height: 9px;
	background: #f96900;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.form-tbl input[type="checkbox"]:checked+span::after {
	content: "";
	position: absolute;
	left: 1px;
	top: 50%;
	width: 5px;
	height: 10px;
	margin-top: -7px;
	border-right: 2px solid #f96900;
	border-bottom: 2px solid #f96900;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

.form-tbl .select-box {
	width: 200px;
	margin-bottom: 8px;
	border: 1px solid #b5b5b5;
}

.form-tbl .select-box.stores {
	width: 100%;
}

.form-tbl .select-box select {
	height: 35px;
	line-height: 35px;
	font-weight: normal;
	background: #fff;
}

.form-tbl textarea {
	width: 100%;
	height: 220px;
	-webkit-appearance: none;
	appearance: none;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	border: 1px solid #d5d5d5;
}

.form-tbl input[type="text"] {
	width: 100%;
	height: 44px;
	line-height: 44px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	-webkit-appearance: none;
	appearance: none;
	padding: 0.5em 1em;
	margin: 0;
	border: 1px solid #d5d5d5;
}

.form-tbl input[type="text"].txt2 {
	width: 40%;
	margin-right: 0.5em;
}

.form-tbl input[type="text"].txt3 {
	width: -webkit-calc(60% - 2em);
	width: calc(60% - 2em);
	margin-left: 0.5em;
}

.form-tbl input[type="text"].txt5 {
	width: 35%;
	margin-right: 0.7em;
}

@keyframes flash {
	0% {
		opacity: 0.2;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0.2;
	}
}

@-webkit-keyframes flash {
	0% {
		opacity: 0.2;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0.2;
	}
}

@-moz-keyframes flash {
	0% {
		opacity: 0.2;
	}

	50% {
		opacity: 1;
	}

	100% {
		opacity: 0.2;
	}
}


/***********************************************************
* TOPページ 【100】
***********************************************************/
.top-visual {
	position: relative;
	height: 100%;
	height: 100vh;
	overflow: hidden;
}

.top-visual::before {
	content: "";
	position: absolute;
	left: -webkit-calc(50% - 17px);
	left: calc(50% - 17px);
	bottom: 30px;
	width: 34px;
	height: 34px;
	background: #24b0ea;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	z-index: 1;
}

.top-visual::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 42px;
	width: 7px;
	height: 7px;
	margin-left: -8px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	z-index: 1;
}

.top-visual .bg {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100vh;
	background-position: 25% center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}

.top-visual .bg .swiper-slide {
	width: 100%;
	height: 100%;
	height: 100vh;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.top-visual .box .logo {
	position: absolute;
	left: 22%;
	top: 12%;
	/*		top: 25%;
		width: 64%;*/
	width: 56%;
}

.top-visual .box .visual-news-box {
	position: absolute;
	left: 0px;
	bottom: 248px;
	width: 100%;
	padding: 0 15px;
}

.top-visual .box .visual-news-box .swiper-container {
	height: 55px;
	border-top: 1px dotted #fff;
	border-bottom: 1px dotted #fff;
}

.top-visual .box .visual-news-box a {
	color: #fff;
	display: block;
	overflow: hidden;
	padding: 12px 0 12px;
}

.top-visual .box .visual-news-box time {
	display: block;
	font-size: 1.0rem;
	line-height: 1em;
	margin-bottom: 5px;
}

.top-visual .box .visual-news-box p {
	display: block;
	font-size: 1.4rem;
	line-height: 1em;
	font-weight: bold;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.top-visual .box>ul {
	position: absolute;
	left: 0px;
	bottom: 145px;
	width: -webkit-calc(100% + 10px);
	width: calc(100% + 10px);
	padding: 0 15px;
	overflow: hidden;
}

.top-visual .box>ul li {
	float: left;
	width: 33.3333%;
	padding-right: 10px;
}

.top-visual .box>ul li a {
	display: block;
	background-color: #fadb32;
	background-repeat: no-repeat;
	background-position: center 13px;
	padding: 52px 0 12px;
	font-size: 1.4rem;
	font-size: 3.6vw;
	line-height: 1em;
	font-weight: bold;
	text-align: center;
	border: 4px solid #fff;
}

.top-visual .box>ul li:nth-child(1) a {
	background-image: url("../svg/phone_blue.svg");
	background-size: 32px;
}

.top-visual .box>ul li:nth-child(2) a {
	background-image: url("../svg/access_blue.svg");
	background-size: 32px;
}

.top-visual .box>ul li:nth-child(3) a {
	background-image: url("../svg/coupon_blue.svg");
	background-position: center 10px;
	background-size: 38px;
}

.top-visual .box .btn {
	display: block;
	position: absolute;
	left: 15px;
	bottom: 90px;
	width: -webkit-calc(100% - 30px);
	width: calc(100% - 30px);
	height: 42px;
	font-size: 1.2rem;
	line-height: 34px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	border: 4px solid #fff;
}

.top-visual>a.scroll {
	display: block;
	position: absolute;
	left: -webkit-calc(50% - 17px);
	left: calc(50% - 17px);
	bottom: 30px;
	width: 34px;
	height: 34px;
	background: #b7e3ff;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	cursor: pointer;
	z-index: 10;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
}

.top-visual>a.scroll::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 34px;
	height: 34px;
	background: #24b0ea;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	-webkit-animation: flash 1.5s infinite linear;
	-moz-animation: flash 1.5s infinite linear;
	animation: flash 1.5s infinite linear;
}

.top-visual>a.scroll::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-left: -8px;
	margin-top: -3px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

.top-visual .box .floating {
	position: absolute;
	bottom: 315px;
	right: -1%;
	width: 28%;
}

/*.top-visual .box .floating a{
	overflow: visible;
}
.top-visual .box .floating img{
	animation: bounce 4s ease 0.5s infinite normal;
}*/
@keyframes bounce {
	0% {
		animation-delay: 2s;
		transform: translateY(0);
	}

	10% {
		transform: translateY(10px);
	}

	20% {
		transform: translateY(0);
	}

	30% {
		transform: translateY(15px);
	}

	40% {
		transform: translateY(0);
	}

	100% {
		transform: translateY(0);
	}
}

@-webkit-keyframes bounce {
	0% {
		animation-delay: 2s;
		transform: translateY(0);
	}

	10% {
		transform: translateY(10px);
	}

	20% {
		transform: translateY(0);
	}

	30% {
		transform: translateY(15px);
	}

	40% {
		transform: translateY(0);
	}

	100% {
		transform: translateY(0);
	}
}

.top-box {
	position: relative;
	background: #fff;
	padding-top: 30px;
}

/*新規メインヴィジュアル20200617*/
.top-slider-visual {
	overflow: hidden;
}

.top-slider-visual .box {
	position: relative;
}

.top-slider-visual .box .bg {
	z-index: 1;
}

.top-slider-visual .box .logo {
	z-index: 2;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 51.6%;
	width: 51.6vw;
	transform: translate(-50%, -50%);
}

.top-slider-visual .link-area {
	position: relative;
	background: #efefef;
	padding: 20px 0;
}

.top-slider-visual .link-area h1 {
	color: #8a8a8a;
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 15px;
}

.top-slider-visual .link-area .yellow-btn {
	width: -webkit-calc(100% + 10px);
	width: calc(100% + 10px);
	padding: 0 15px 15px;
	overflow: hidden;
}

.top-slider-visual .link-area .yellow-btn li {
	float: left;
	width: 33.3333%;
	padding-right: 10px;
}

.top-slider-visual .link-area .yellow-btn li a {
	display: block;
	background-color: #fadb32;
	background-repeat: no-repeat;
	background-position: center 13px;
	padding: 52px 0 12px;
	font-size: 1.4rem;
	font-size: 3.6vw;
	line-height: 1em;
	font-weight: bold;
	text-align: center;
}

.top-slider-visual .link-area .yellow-btn li:nth-child(1) a {
	background-image: url("../svg/phone_blue.svg");
	background-size: 32px;
}

.top-slider-visual .link-area .yellow-btn li:nth-child(2) a {
	background-image: url("../svg/access_blue.svg");
	background-size: 32px;
}

.top-slider-visual .link-area .yellow-btn li:nth-child(3) a {
	background-image: url("../svg/coupon_blue.svg");
	background-position: center 10px;
	background-size: 38px;
}

.top-slider-visual .link-area .btn {
	display: block;
	margin-left: 15px;
	width: -webkit-calc(100% - 30px);
	width: calc(100% - 30px);
	height: 42px;
	font-size: 1.2rem;
	line-height: 34px;
	font-weight: bold;
	text-align: center;
	color: #0a4c83;
	border: 2px solid #0a4c83;
}

.top-slider-visual .link-area .floating {
	position: fixed;
	bottom: 70px;
	left: 1%;
	width: 30%;
	/* transform: translateY(-85%); */
	z-index: 3;
}


/*ご利用シーン*/
.top-scene .title,
.top-room .title {
	font-size: 1.8rem;
	line-height: 44px;
	font-weight: bold;
	text-align: center;
	background: url("../svg/pattern_icon.svg") left center no-repeat;
	background-size: 44px;
}

.top-room .title {
	line-height: 1.6em;
	margin-bottom: 15px;
}

.top-room .title small {
	display: block;
	font-size: 1.2rem;
	font-weight: normal;
}

.top-scene ul {
	position: relative;
	margin: 0 15px 10px;
	padding: 15px 0 0;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.top-scene ul::before {
	content: "";
	position: absolute;
	left: -15px;
	top: 15px;
	width: -webkit-calc(100% + 30px);
	width: calc(100% + 30px);
	height: -webkit-calc(100% - 35px);
	height: calc(100% - 35px);
	background: url("../img/stripe_blue.png");
	background-size: 4px;
	z-index: 1;
}

.top-scene ul::after {
	content: "";
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background: #efefef;
	z-index: 1;
}

.top-scene ul li {
	position: relative;
	display: inline-block;
	width: 50%;
	vertical-align: top;
	margin-bottom: 10px;
	z-index: 2;
}

.top-scene ul li .ttl {
	margin: -1em 0 0 0.4em;
}

.top-scene ul li .ttl span {
	display: inline-block;
	background: #f96900;
	padding: 0.2em 0.45em 0.3em 0.45em;
	font-size: 1.2rem;
	line-height: 1.4em;
	color: #fff;
}

.top-scene ul li p {
	display: none;
}

.top-scene .btn,
.top-room .btn,
.top-event .btn {
	position: relative;
	background: #fadb32;
	display: block;
	height: 50px;
	margin: 0 15px 36px;
	font-size: 1.5rem;
	line-height: 50px;
	font-weight: bold;
	text-align: center;
}

.top-scene .btn::after,
.top-room .btn::after,
.top-event .btn::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 46%;
	width: 10px;
	height: 10px;
	margin-top: -10px;
	border-right: 2px solid #0a4c83;
	border-bottom: 2px solid #0a4c83;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

/*ルーム*/
.top-room .swiper-container {
	padding: 0 15px;
	margin-bottom: 15px;
}

.top-room .swiper-container::before {
	content: "";
	position: absolute;
	left: -15px;
	top: 15px;
	width: -webkit-calc(100% + 30px);
	width: calc(100% + 30px);
	height: -webkit-calc(100% - 30px);
	height: calc(100% - 30px);
	background: url("../img/stripe_red.png");
	background-size: 4px;
	z-index: 1;
}

.top-room li {
	position: relative;
	background: #efefef;
	padding: 15px 35px;
}

.top-room ul li .ttl {
	margin: -2em 0 10px 0.5em;
}

.top-room ul li .ttl span {
	display: inline-block;
	background: #1991bd;
	padding: 0.3em 0.5em;
	font-size: 2.0rem;
	line-height: 1.2em;
	color: #fff;
}

.top-room ul li p {
	font-size: 1.2rem;
	line-height: 1.6em;
	color: #333;
}

.top-room ul li .icon {
	position: absolute;
	left: 45px;
	top: 25px;
	width: 45px;
	height: 45px;
	background-position: center center;
	background-repeat: no-repeat;
	text-indent: 200%;
	white-space: nowrap;
	overflow: hidden;
}

.top-room ul li .icon.\33 60 {
	background-image: url("../svg/360c.svg");
	background-size: 45px;
	z-index: 3;
}


/*各種設備・サービス*/
.top-service {
	overflow: hidden;
	padding-bottom: 50px;
}

.top-service .swiper-container {
	padding: 0 34px;
	margin-bottom: 20px;
}

.top-service .swiper-container::before,
.top-service .swiper-container::after {
	content: "";
	position: absolute;
	top: 0px;
	width: 34px;
	height: 100%;
	background: #fff;
	z-index: 4;
}

.top-service .swiper-container::before {
	left: 0px;
}

.top-service .swiper-container::after {
	right: 0px;
}

.top-service>p {
	font-size: 1.2rem;
	text-align: center;
	padding: 0 15px;
	margin-bottom: 1em;
}


/*イベント・キャンペーン*/
.top-event {
	padding-bottom: 14px;
}

.top-event .swiper-container {
	padding: 0 40px 32px;
}

.top-event .swiper-container .swiper-pagination {
	bottom: 7px;
}

.top-event .swiper-container .swiper-pagination-bullet {
	margin: 0 3px;
}

.top-event .swiper-container .swiper-pagination-bullet-active {
	background: #494949;
}

.top-event .swiper-button-prev,
.top-event .swiper-button-next {
	top: 42%;
}

.top-banner-list {
	padding: 0 30px 35px;
}

.top-banner-list li {
	margin-bottom: 15px;
}

.top-event-list-txt {
	padding: 0 20px;
	margin: 10px auto 25px;
}

.top-event-list-txt li a {
	display: flex;
	margin-bottom: 5px;
}

.top-event-list-txt__label {
	margin-right: 10px;
	width: 65px;
	background-color: #5482a8;
	color: #fff;
	font-weight: 700;
	flex-shrink: 0;
	height: fit-content;
	display: flex;
	align-items: center;
	justify-content: center;
}

.top-event-list-txt__date {
	margin-right: 15px;
}


/***********************************************************
* 利用シーン 【100】～【106】
***********************************************************/
/*一覧*/
.scene-txt {
	background: url("../img/stripe_gray.png");
	background-size: 4px;
	padding: 30px 0 60px;
	font-weight: bold;
	text-align: center;
}

.room-txt p {
	font-size: 3.733vw;
	line-height: 1.7em;
}

.scene-list {
	margin-top: -40px;
	padding: 0 10px 20px;
}

.scene-list li {
	overflow: hidden;
	padding-bottom: 25px;
}

.scene-list li>a.hover {
	overflow: visible;
}

.scene-list li figure {
	position: relative;
	float: left;
	width: 49%;
	padding-left: 10px;
}

.scene-list li figure img {
	position: relative;
	width: 100%;
}

.scene-list li figure::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0px;
	width: -webkit-calc(100% - 10px);
	width: calc(100% - 10px);
	height: 100%;
	background: #fadb32;
}

.scene-list li .info {
	position: relative;
	float: right;
	width: 51%;
	margin-top: 15px;
}

.scene-list li .title {
	position: relative;
	background: #f96900;
	padding: 4px 20px 4px 13px;
	font-size: 1.5rem;
	color: #fff;
}

.scene-list li .title::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 46%;
	width: 7px;
	height: 7px;
	margin-top: -8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

.scene-list li .txt {
	font-size: 1.2rem;
	line-height: 1.5em;
	color: #333;
	padding: 10px 0 0px 10px;
}

/*詳細*/
.scene-head p {
	font-weight: bold;
	padding: 10px 15px;
	text-align: center;
}

.scene-pickup {
	background: url("../img/stripe_yellow.png");
	background-size: 4px;
	padding: 25px 0;
}

.scene-pickup .title {
	font-size: 1.8rem;
	line-height: 1em;
	text-align: center;
	color: #0a4c83;
	margin-bottom: 15px;
	letter-spacing: 2px;
}

.scene-pickup .box {
	display: -webkit-flex;
	display: -webkit-box;
	display: block;
	padding: 15px 10px 25px 15px;
	background: #fff;
	overflow: hidden;
	text-align: center;
}

.scene-pickup .box .info {
	width: 100%;
	padding: 5px 1em 0 5px;
}

.scene-pickup .box .info .ttl {
	font-size: 1.8rem;
	line-height: 1.1em;
	color: #fff;
	margin-bottom: 5px;
}

.scene-pickup .box .info .ttl span {
	background: #fd6103;
	display: inline-block;
	margin-bottom: 3px;
	padding: 8px;
}

.scene-pickup .box .info p {
	font-size: 1.4rem;
	line-height: 1.6em;
	text-align: left;
	margin-bottom: 10px;
}

.scene-pickup .box .info img {
    width: 100%; /* 親要素の幅に合わせる */
    height: 200px; /* 高さを固定 */
    object-fit: cover; /* 画像をトリミングして要素にフィットさせる */
    display: block; /* 余計な隙間を防ぐ */
	margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
	.scene-pickup .box .info .bg {
		margin-bottom: 1rem;
	}
}

.scene-pickup .box .img {
	display: block;
	width: 100%;
}

.scene-pickup .box .img .bg {
	display: -webkit-flex;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-align-items: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	-webkit-flex-direction: column;
	flex-direction: column;
	padding: 15px 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.scene-pickup .box .img .bg img {
	width: 50px;
	margin-bottom: 5px;
}

.scene-pickup .box .img .bg p {
	font-size: 1.0rem;
	font-size: 2vw;
	font-weight: bold;
	color: #fff;
	text-align: center;
}

.scene-pickup .box .ttl {
	display: inline-block;
	background: #fd6103;
	font-size: 1.8rem;
	line-height: 1.4em;
	color: #fff;
	padding: 0 0.2em;
	margin: 10px 0;
}

@media screen and (max-width:768px) {
	.scene-pickup .box .btn-yellow.family {
		margin: 0;
	}

	.br_pc {
		display: none;
	}
}

/*休暇シーン*/
.vacation_scene {
	color: #333;
	padding-bottom: 11.5vw;
}

.vacation_scene .ttl {
	text-align: center;
	font-size: 1.8rem;
	margin-bottom: 10px;
}

.vacation_scene .ttl .no-break {
	white-space: nowrap;
}

.vacation_scene .info p {
	width: 85.9vw;
	margin: 2rem auto;

}

.vacation_scene .ttl2 {
	font-size: 1.5rem;
}

.vacation_headline {
	background: #0a4c83 url(../svg/pattern_icon.svg) 18px 18px no-repeat;
	background-size: 18px;
	padding: 0.8em 15px 0.8em 15px;
	font-size: 1.8rem;
	line-height: 1.4em;
	font-weight: bold;
	text-align: center;
	color: #fff;
}

.vacation_headline-s {
	position: relative;
	background: url(../img/stripe_gray.png);
	background-size: 8px;
	padding: 0.7em 15px;
	font-size: 1.5rem;
	line-height: 1.4em;
	color: #333;
	max-width: 1860px;
	width: 100%;
}

.family_karaoke {
	padding: 6.23vw 0;
}

.family_karaoke h3 {
	text-align: center;
}

.family_karaoke .box {
	display: flex;
	justify-content: space-between;
	margin: 0 5.84vw;
}

.family_karaoke .box .box_content {
	width: 46%;
}

.family_karaoke .box .box_content p {
	font-size: 1.4rem;
	margin-top: 15px
}

.karaoke_taikai {
	text-align: center;
}

.karaoke_taikai img {
	width: 80%;
	margin-bottom: 6.23vw;
}

.karaoke_taikai p {
	text-align: left;
	font-size: 1.4rem;
	padding: 0 5.84vw;
}

/*faq*/
.family_room_faq {
	margin-top: 15vw;
}

.family_room_faq .faq-list {
	margin-top: 5px;
}

.faq .title {
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	background: url(../svg/pattern_icon.svg) left center no-repeat;
	background-size: 44px;
}

/*お客様の声*/
.customer_voice {
	margin-top: 15vw;
}

.customer_voice .headline .span {
	margin-left: 1.5rem;
}

.customer_voice .container {
	padding: 15px;
}

.customer_voice .title {
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	background: url(../svg/pattern_icon.svg) left center no-repeat;
	background-size: 44px;
}

/*キッズ会員募集*/
.kids-member {
	text-align: center;
	margin: 55px 0;
}

.kids-member figure {
	margin: 0 10px;
}

.kids-member .btn-yellow {
	margin: 15px 15px 30px;
}


/***********************************************************
		  * 学生利用シーン
		  ***********************************************************/
.seane-freetime-top {
	background-color: rgba(36, 176, 234, 0.2);
	background-image: url("../../scene/images/school_bg_sp.png");
	background-position: center;
	background-size: 100% auto;
	padding: 10px 15px 32px;
}

.seane-freetime-top .freetime-top-title {
	color: #2C4198;
	font-weight: 900;
	font-size: 25px;
	width: 85.8vw;
	text-align: center;
	margin: 0 auto;
	line-height: 4rem;
}

.seane-freetime-top .freetime-top-title-sub {
	font-weight: bold;
}

.seane-freetime-top .freetime-top-title span {
	color: #fff;
	-webkit-text-stroke: 1.5px #2C4198;
	font-size: 30px;
}

.seane-freetime-top img {
	display: block;
	margin: 2rem auto;
}

.freetime-top-point {
	text-align: center;
	margin-top: 15px;
}

.freetime-top-point li p {
	font-size: 18px;
	font-weight: 900;
	;
}

.freetime-top-img {
	display: flex;
	gap: 1rem;
	justify-content: center;
	margin: 2rem 0;
}

.freetime-top-img img {
	width: 45%;
	display: block;
}

.btn-yellow.freetime {
	margin-bottom: 5px;
}
.btn-blue.freetime{
	font-size: 1.3rem;
    color: #fff;
    background-color: #24b0ea;
	position: relative;
    display: block;
    height: 50px;
    margin: 0 0 25px;
    line-height: 50px;
    font-weight: bold;
    text-align: center;
    -webkit-appearance: none;
    appearance: none;
    border: 0px;
    -webkit-border-radius: 0px;
    border-radius: 0px;
    cursor: pointer;
}
.btn-blue::after{
	content: "";
    position: absolute;
    right: 10px;
    top: 46%;
    width: 10px;
    height: 10px;
    margin-top: -10px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
	border-right: 2px solid #fff !important;
    border-bottom: 2px solid #fff !important;
}

.shop-note {
	text-align: center;
}

.freetime-box {
	padding: 10px 15px 0;
}

.freetime-box img {
	margin: 10px 0 5px;
}

.freetime-img {
	display: flex;
	gap: 2rem;
	justify-content: center;
	margin: 2rem 0;
}

.freetime-img .box {
	width: 50%;
}

.freetime-img .box img {
	width: 100%;
	display: block;
}

.freetime-note {
	font-size: 12px;
	margin-bottom: 15px;
}

.freetime-img-title {
	margin-top: 15px;
}

.utiage-wrap {
	margin-bottom: 20px;
}

.utiage-wrap img {
	width: 80%;
	display: block;
	margin: 0 auto;
	margin-bottom: 2rem;
}

.utiage-title {
	text-align: center;
	background-color: rgba(36, 176, 234, 0.2);
	margin: 0 15px;
	color: #333;
	padding: 5px 0;
}

.store-room.freetime {
	display: block;
	padding: 0;
}

.store-room.freetime li {
	width: 100%;
}

.student-service-list {
	margin: 10px 40px;
}

.student-service-list li {
	display: grid;
	grid-template-columns: 60px 1fr;
	/* 左60pxは画像用、右はテキスト用 */
	gap: 1.5rem;
	align-items: center;
}

.student-service-list li:first-of-type img {
	width: 80%;
	margin-left: 0.5rem;
}

.student-service-list li img {
	width: 100%;
	object-fit: contain;
}

.student-service-list li p {
	margin-left: 1rem;
	padding: 2rem 0;
}

.student-service-list li p span {
	font-weight: bold;
}
/***********************************************************
		  *スポーツ観戦
***********************************************************/
.scene-head h3{
	padding: 1rem 2rem;
        font-size: 1.8rem;
        line-height: 1.8em;
        font-weight: bold;
        text-align: center;
}
.scene-sports{
	margin-top: 3rem;
}
.sports-title{
	text-align: center;
}
.sports-title img{
	width: 100%;
}
.sports-title h2{
	font-size: 2rem;
	color:#2C4198;
}
.sports-box{
    padding: 3rem 2rem;
	width: 100%;
  }
  .sports-box  h3{
    font-size: 2rem;
  }

@media screen and (max-width: 768px) {
.sports-wrapper{
	flex-direction: column;
}
.scene-sports{
	padding: 0 2rem;
}
.sports-box{
	margin-bottom: 1.5rem;
}
}
.sports-box p{
	margin-top: 1rem;
	text-align: left;
}
.sports-box figure img {
    margin-bottom: 1rem;
}
/* 奇数番目 (1, 3, 5...) を青にする */
.sports-wrapper .sports-box:nth-child(odd) {
    background-color: #EFF6FF; 
    color: #2C4198; 
}

.sports-wrapper .sports-box:nth-child(even) {
    background-color: #FEFCE8;
    color: #e95600; 
}
.sports-wrapper .sports-box:nth-child(odd) h3.sports-point {
    display: inline-flex;
    align-items: center;
}

.sports-wrapper .sports-box:nth-child(odd) h3.sports-point::before {
    content: ''; 
    display: inline-block; 
    background-image: url('../../scene/images/megafonn_icon_blue.png'); 
    background-size: contain; 
    background-repeat: no-repeat; 
    width: 3rem; 
    height: 2rem;
    margin-right: 0.5rem; 
}

.sports-wrapper .sports-box:nth-child(even) h3.sports-point {
    display: inline-flex; 
    align-items: center; 
}

.sports-wrapper .sports-box:nth-child(even) h3.sports-point::before {
    content: ''; 
    display: inline-block; 
    background-image: url('../../scene/images/megafonn_icon_orange.png'); 
    background-size: contain; 
    background-repeat: no-repeat; 
    width: 3rem; 
    height: 2rem; 
    margin-right: 0.5rem; 
}
.sonota-osusume{
	margin-top: 1.875rem;
}
.osusume-title {
    position: relative;
    padding: 0.6rem;
    background: #2C4198;
    border: 2px solid #2C4198;
    width: 90%;
    text-align: center;
    margin: 0 auto;
    font-size: 2rem;
    border-radius: 5px;
	color:#fff;
	font-weight: bold;
}

.osusume-title::after {
    position: absolute;
    content: '';
    top: 100%; 
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #2C4198; 
    width: 0;
    height: 0;
}

.osusume-title::before {
    position: absolute;
    content: '';
    z-index: 1; 
    top: 100%;
    left: 32px; 
    border: 13px solid transparent;
    border-top: 13px solid #2C4198; 
    width: 0;
    height: 0;
    margin-top: -1px;
}

.features-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr) auto;
    gap: 1rem; 
    align-items: center; 
    padding: 2rem;
}

.feature-box {
    padding:0;
    text-align: center;
    height: 100%; 
    box-sizing: border-box; 
	display: flex;
	align-items: center;
}
.icon-wrapper {
    justify-content: center;
    align-items: center;
	width: 60px; 
    height: 60px; 
    border-radius: 15%; 
	display: inline-flex;
	margin-bottom: 1rem;
	margin-right: 1rem;
}

.icon-image {
    width: 80%; 
    height: auto;
}

.feature-box p {
    font-size: 1.4rem; 
    color: #333;
    line-height: 1.5;
    margin: 0;
	text-align: left;
}

.etc-text {
    font-size: 1.5rem; 
    font-weight: bold;
    color: #333;
    text-align: right;
	margin-right: 1.25rem; 
	margin-top: -3rem;
}

.sonota-osusume .btn-yellow{
	font-size: 2rem;
    height: 100px;
	line-height: 35px;
    padding: 1.2rem 0 0;
}
.sonota-osusume .btn-yellow span{
	font-size: 2.5rem;
}
.sonota-osusume .btn-yellow::after{
	top: 40%;
    width: 20px;
    height: 20px;
}

/* --------------------
   レスポンシブ対応 (スマホ用)
   -------------------- */
@media (max-width: 768px) {
    .features-container {
        /* 5カラムから1カラムに変更 */
        grid-template-columns: 1fr;
    }
    .etc-text {
        padding-top: 10px; /* 他のボックスとの間隔 */
    }
}
.sports-dazn{
	text-align: center;
	margin: 4rem 0;
}
.sports-dazn .dazn-title{
padding: 15px 0 25px;
font-size: 1.8rem;
line-height: 1.8em;
font-weight: bold;
text-align: center;
}
.sports-dazn .dazn-title span{
	font-size: 3.5rem;
}
.sports-dazn .dazn-txt{
	margin-bottom: 32px;
	}
	.sports-dazn img{
		margin-bottom: 30px;
	}
.btn-dazn {
	position: relative;
	background: #000;
	font-weight: bold;
	text-align: center;
	color: #EFE901;
	-webkit-appearance: none;
	appearance: none;
	border: 0px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	cursor: pointer;
	display: inline-block;
	height: 60px;
	margin: 0 auto 32px;
	font-size: 1.5rem;
	line-height: 60px;
	width: 480px;
	max-width: 100%;
}
.btn-dazn::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 46%;
	width: 10px;
	height: 10px;
	margin-top: -10px;
	border-right: 2px solid #EFE901;
	border-bottom: 2px solid #EFE901;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}
.sports-dazn .btn-yellow{
	margin-bottom: 0;
}

/***********************************************************
 * 楽器練習シーン
 ***********************************************************/
.musical-page {
    --brand-orange: #F39800;
    --brand-blue: #0068B7;
    --text-main: #333333;
    --text-gray: #4b5563; 
    --bg-slate: #f8fafc;   
    --bg-dark: #111827;    
    color: var(--text-main);
    line-height: 1.5;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.musical-page *, .musical-page *::before, .musical-page *::after {
    box-sizing: border-box;
}

.musical-page .text-brand-orange { color: var( --text-main); }
.musical-page .text-brand-blue { color: var(--brand-blue); }
.musical-page .text-red { color: #ef4444; }
.musical-page .mb-4 { margin-bottom: 1rem; }
.musical-page .mb-6 { margin-bottom: 1.5rem; }
.musical-page .mb-12 { margin-bottom: 3rem; }

.musical-page .musical-container {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
	padding:0 1.5rem;
}

.musical-page .musical-hero {
    background-color: var(--brand-blue);
    background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    padding: 6rem 0;
    position: relative;
    overflow: hidden;
    color: white;
}

.musical-page .musical-hero-overlay {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
}
.musical-page .musical-hero-content {
    position: relative;
    z-index: 10;
    text-align: center;
}
.musical-page .musical-badge {
    display: inline-block;
    background-color: var(--brand-orange);
    color: white;
    padding: 0.25rem 1.2rem;
    border-radius: 9999px;
    font-size: 1.5rem;
    font-weight: 900;
    margin-bottom: 2rem;
}

.musical-page .musical-hero-title {
    font-size: 3rem;
    font-weight: 900;
    line-height: 1.25;
    margin-bottom: 1.5rem;
}
.musical-page .musical-hero-title .text-highlight {
    color: #facc15; 
}

.musical-page .musical-hero-desc {
    font-size: 1.8rem;
    color: #f3f4f6;
    margin: 0 auto 3rem auto;
	font-weight: 600;
}

.musical-page .musical-hero-actions {
    display: flex;
    justify-content: center;
    gap: 1rem;
}

.musical-page .musical-card-feature .drinkbar_note{
	font-size: 1.2rem;
}

.musical-page .musical-section {
    padding: 4rem 0;
}
.musical-page .musical-bg-white { background-color: white; }
.musical-page .musical-bg-slate { background-color: var(--bg-slate); }
.musical-page .musical-bg-blue-brand { background-color: var(--brand-blue); }

.musical-page .musical-section-title-center {
    font-size: 2.5rem;
    font-weight: 700;
    color: var(--brand-blue);
    margin-bottom: 1.5rem;
    text-align: center;
}

.musical-page .musical-text-white .musical-section-title-center {
    color: white;
}

.musical-page .musical-lead-text {
    max-width: 80rem;
    margin: 0 auto 3rem auto;
    text-align: center;
}
.musical-page .musical-text-body {
    color: var(--text-main);
    line-height: 1.75;
	font-size: 1.6rem;
}
.musical-page .musical-lead-text .musical-text-body {
    text-align: left;
	font-size: 1.6rem;
}

.musical-page .musical-grid-3 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}
.musical-page .musical-grid-2 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
}

.musical-page .musical-card-feature {
    background-color: var(--bg-slate);
    padding: 2.5rem;
    border-radius: 0.75rem;
    border: 1px solid #f1f5f9;
    text-align: center;
    transition: box-shadow 0.3s;
}

.musical-page .musical-icon-circle {
    width: 6rem;
    height: 6rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem auto;
}
.musical-page .musical-icon-circle svg {
    width: 3rem;
    height: 3rem;
}
.musical-page .bg-blue-light { background-color: #dbeafe; } 
.musical-page .bg-orange-light { background-color: #ffedd5; } 

.musical-page .musical-card-feature h3 {
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 0.5rem;
    margin-top: 0;
}
.musical-page .musical-card-feature p {
    font-size: 1.4rem;
    color: var(--text-main);
    margin: 0;
}

.musical-page .musical-image-placeholder-wrapper {
    margin-top: 3rem;
}

.musical-page .musical-image-placeholder-wrapper .container{
	margin-bottom: 1.5rem;
}
.musical-page .musical-image-placeholder {
    background-color: #e5e7eb;
    border-radius:  1rem;
    overflow: hidden;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1);
    height: 25rem;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.musical-page .musical-image-placeholder img{
 width: 100%;
    height: 100%;
    object-fit: cover;
}

.musical-page .musical-image-placeholder svg {
    width: 4rem;
    height: 4rem;
    color: #9ca3af;
    opacity: 0.5;
}
.musical-page .musical-caption {
    text-align: center;
    color: var(--text-main);
    margin-top: 1rem;
}
.musical-page .musical-caption .title {
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0;
}
.musical-page .musical-caption .subtitle {
    font-size: 0.875rem;
    margin: 0;
}

.musical-page .musical-heading-bar {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 2rem;
}
.musical-page .musical-heading-bar h2 {
    font-size: 2.3rem;
    font-weight: 700;
    color: #1f2937;
    margin: 0;
}

.musical-page .musical-heading-bar div[class^="bar-"] {
    width: 0.4rem;
    height: 3.5rem;
    border-radius: 0.25rem;
	margin-right: 1rem;
}
.musical-page .bar-orange { background-color: var(--brand-orange); }
.musical-page .bar-blue { background-color: var(--brand-blue); }

.musical-page .musical-grid-2-equip {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
    align-items: center;
}

.musical-page .musical-equip-text {
    order: 2;
}
.musical-page .musical-equip-image {
    order: 1;
}

.musical-page .musical-equip-list-box {
    background-color: white;
    padding: 1.5rem;
    border-radius: 0.5rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    border: 1px solid #e5e7eb;
}
.musical-page .musical-equip-list-box h4 {
    font-weight: 700;
    color: var(--brand-blue);
    margin: 0 0 0.75rem 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid #e5e7eb;
}
.musical-page .musical-equip-list-box ul {
    list-style: none;
    padding: 0;
    margin: 0 0 1rem 0;
}
.musical-page .musical-equip-list-box li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--text-main);
    margin-bottom: 0.5rem;
}
.musical-page .musical-equip-list-box li svg {
    width: 1rem;
    height: 1rem;
    color: #22c55e;
}
.musical-page .musical-equip-list-box .note {
    font-size: 0.75rem;
    color: #6b7280;
    margin: 0;
}
.musical-page .musical-equip-bring {
    margin-top: 1.5rem;
}
.musical-page .musical-equip-bring h4 {
    font-weight: 700;
    color: #1f2937;
    margin: 0 0 0.5rem 0;
}
.musical-page .musical-equip-bring .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.musical-page .musical-equip-bring span {
    background-color: #e5e7eb;
    padding: 0.25rem 0.75rem;
    border-radius: 0.25rem;
    font-size: 0.875rem;
}

.musical-page .musical-equip-image {
    height: 16rem;
    background-color: #d1d5db;
    border-radius: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
}
.musical-page .placeholder-inner {
    text-align: center;
}
.musical-page .placeholder-inner svg {
    display: block;
    margin: 0 auto 0.5rem auto;
    width: 3rem;
    height: 3rem;
    opacity: 0.6;
}

.musical-page .musical-grid-2-session {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.musical-page .musical-session-img, .musical-page .musical-session-text {
    flex: 1;
}
.musical-page .musical-session-img img {
    border-radius: 0.75rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    width: 100%;
    height: auto;
}
.musical-page .musical-session-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.musical-page .musical-session-text h3 {
    font-size: 2rem;
    font-weight: 700;
    margin: 0 0 1rem 0;
}
.musical-page .musical-usage-box {
    background-color: #eff6ff;
    padding: 1.5rem;
    border-radius: 0.5rem;
    border-left: 4px solid var(--brand-blue);
}
.musical-page .musical-usage-box h4 {
    font-weight: 700;
    color: var(--brand-blue);
    font-size: 1.4rem;
    margin: 0 0 0.25rem 0;
}
.musical-page .musical-usage-box ul {
    list-style: disc;
    list-style-position: inside;
    margin: 0.5rem 0 0 0;
    padding: 0;
    font-size: 0.875rem;
    color: var(--text-main);
}

.musical-page .musical-card-room {
	background-color: #fff;
	border: 1px solid;
	border-radius: 0.75rem; 
	overflow: hidden;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
	transition: box-shadow 0.3s ease;
}

.musical-page .room-red { border-color: #fee2e2; } 
.musical-page .room-amber { border-color: #fef3c7; } 

.musical-page .room-image {
    position: relative;
    background-color: #1f2937;
}
.musical-page .room-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
}
.musical-page .room-placeholder svg {
    width: 3rem;
    height: 3rem;
}
.musical-page .room-placeholder span {
    margin-left: 0.5rem;
}
.musical-page .room-tag {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 0.5rem 1rem 1rem;
    font-size: 0.75rem;
    font-weight: 700;
    color: white;
    background: linear-gradient(to top, black, transparent); 
}
.musical-page .room-tag.bg-blue { 
    background: linear-gradient(to top, black, transparent); 
}

.musical-page .room-image .room-tag {
    background: none; 
    pointer-events: none;
    z-index: 10;
}
.musical-page .room-tag::before {
    display: inline-block;
	padding: 1rem;
    border-radius: 0.5rem;
}
.musical-page .room-black .room-tag::before { content: '映像映え'; background-color: #2563eb; }
.musical-page .room-red .room-tag::before { content: '実戦形式'; background-color: #dc2626; }
.musical-page .room-amber .room-tag::before { content: 'ステージ練習'; background-color: #d97706; }
.musical-page .room-tag {
    font-size: 0; 
}
.musical-page .room-tag::before {
    font-size: 1.2rem;
}

.musical-page .room-content {
    padding: 1.5rem 2rem;
}
.musical-page .room-content h3 {
    font-weight: 700;
    font-size: 2rem;
    margin: 0 0 0.75rem 0;
}

.musical-page .text-red-light { color: #dc2626; }
.musical-page .text-amber-light {color: #d97706; }

.musical-page .room-content p {
    font-size: 1.4rem;
    color: #333333;
    margin: 0;
    line-height: 1.6;
}

.musical-page .musical-note-right {
    text-align: right;
    font-size: 1.2rem;
    color: #333333;
    margin-top: 1rem;
}

.musical-page .musical-grid-2-service {
    display: grid;
    grid-template-columns: 1fr;
    gap: 3rem;
}

.musical-page .service-title, .musical-page .rules-title {
    font-size: 1.8rem;
    font-weight: 700;
    margin-bottom: 1rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.musical-page .musical-service-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.musical-page .musical-service-list li {
    background-color: var(--bg-slate);
    padding: 1.2rem;
    border-radius: 0.5rem;
    border: 1px solid #f1f5f9;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    display: flex;
}
.musical-page .musical-service-list .icon {
    margin-right: 1rem;
    flex-shrink: 0;
}
.musical-page .musical-service-list h4 {
    font-weight: 700;
    font-size: 1.4rem;
    margin: 0;
}
.musical-page .musical-service-list p {
    font-size: 1.2rem;
    color: #333333;
    margin: 0;
}

.musical-page .musical-rules-box {
    background-color: var(--bg-slate);
    padding: 1.5rem;
    border-radius: 0.75rem;
    border: 1px solid #e5e7eb;
}
.musical-page .rules-content {
    font-size: 0.875rem;
    color: var(--text-main);
    display: flex;
    flex-direction: column;
    gap: 1rem;
}
.musical-page .rules-content strong {
    color: #1f2937;
}
.musical-page .rules-note {
    border-top: 1px solid #e5e7eb;
    padding-top: 0.75rem;
    margin-top: 0.75rem;
    font-size: 1.2rem;
    color: #333333;
}

.musical-page .musical-card-voice {
    background-color: white;
    color: #1f2937;
    padding: 1.5rem;
    border-radius: 0.75rem;
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
    position: relative;
    margin-top: 1rem; 
}
.musical-page .voice-badge {
    position: absolute;
    top: -1rem;
    left: 1.5rem;
    background-color: var(--brand-orange);
    color: white;
    padding: 0.25rem 0.75rem;
    font-size: 0.75rem;
    font-weight: 700;
    border-radius: 0.25rem;
}
.musical-page .voice-text {
    font-size: 0.875rem;
    color: var(--text-main);
    margin: 0.5rem 0 1rem 0;
}
.musical-page .voice-user {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    border-top: 1px solid #e5e7eb;
    padding-top: 0.75rem;
}
.musical-page .user-icon {
    width: 2.5rem;
    height: 2.5rem;
    background-color: #e5e7eb;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
}
.musical-page .user-icon svg { width: 1.25rem; height: 1.25rem; }
.musical-page .user-name {
    font-weight: 700;
    font-size: 0.875rem;
    margin: 0;
}
.musical-page .user-attr {
    font-size: 0.75rem;
    color: #6b7280;
    margin: 0;
}


/***********************************************************
* ルーム紹介 【200】～【208】
***********************************************************/
/*一覧*/
.room-txt {
	background: url("../img/stripe_gray.png");
	background-size: 4px;
	padding: 30px 0 60px;
	font-weight: bold;
	text-align: center;
}

.room-txt p {
	font-size: 3.733vw;
	line-height: 1.7em;
}

.room-list {
	margin-top: -40px;
	padding-bottom: 20px;
}

.room-list li {
	overflow: hidden;
	margin-bottom: 35px;
}

.room-list li>a.hover {
	overflow: visible;
}

.room-list li figure {
	position: relative;
	float: left;
	width: 76.4%;
	padding-left: 10px;
}

.room-list li:nth-child(2n) figure {
	float: right;
	padding: 0 10px 0 0;
}

.room-list li figure img {
	position: relative;
	width: 100%;
}

.room-list li figure::before {
	content: "";
	position: absolute;
	top: 10px;
	left: 0px;
	width: -webkit-calc(100% - 10px);
	width: calc(100% - 10px);
	height: 100%;
	background: #fadb32;
}

.room-list li:nth-child(2n) figure::before {
	left: 10px;
}

.room-list li .info {
	position: relative;
	float: right;
	width: 72%;
	margin-top: -110px;
}

.room-list li:nth-child(2n) .info {
	float: left;
}

.room-list li .info .\33 60 {
	text-align: right;
	padding: 0 10px;
	margin-bottom: 5px;
}

.room-list li:nth-child(2n) .info .\33 60 {
	text-align: left;
}

.room-list li .info .\33 60 img {
	width: 50px;
}

.room-list li .title {
	margin-bottom: 15px;
	position: relative;
	display: block;
	background: #f96900;
	padding: 4px 20px 4px 13px;
	font-size: 2.0rem;
	color: #fff;
}

.room-list li:nth-child(2n) .title {
	background: #1991bd;
}

.room-list li .title::after {
	content: "";
	position: absolute;
	right: 15px;
	top: 46%;
	width: 7px;
	height: 7px;
	margin-top: -7px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

.room-list li .txt {
	color: #333;
	text-shadow: 1px 1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff, -1px -1px 1px #fff;
	padding: 0 13px;
}

/*詳細*/
.room-detail {
	background: transparent;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	color: #fff;
}

.room-detail.room-detail-center {
	text-align: center;
}

.room-detail img {
	max-width: 100%;
}

.room-title {
	font-size: 2.1rem;
	line-height: 1.3em;
	font-weight: bold;
	margin-bottom: 11px;
}

.room-detail .swiper-container {
	padding-bottom: 35px;
	margin-bottom: 20px;
	position: relative;
}

.room-detail .swiper-container::before,
.room-detail .swiper-container::after {
	content: "";
	position: absolute;
	top: 0px;
	width: 40px;
	height: -webkit-calc(100% - 35px);
	height: calc(100% - 35px);
	background: rgba(0, 0, 0, 0.8);
	z-index: 2;
}

.room-detail .swiper-container::before {
	left: 0px;
}

.room-detail .swiper-container::after {
	right: 0px;
}

.room-detail .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: #fff;
	opacity: 1;
}

.room-detail .swiper-pagination-bullet-active {
	background: #f96900;
}

.room-detail .swiper-button-prev,
.room-detail .swiper-button-next {
	background: transparent;
	margin-top: -45px;
}

.room-detail .swiper-button-prev::after {
	width: 15px;
	height: 15px;
	margin-top: -18px;
	border-left: 3px solid #fff;
	border-bottom: 3px solid #fff;
}

.room-detail .swiper-button-next::after {
	width: 15px;
	height: 15px;
	margin-top: -18px;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
}

.room-visual li {
	width: -webkit-calc(100% - 80px);
	width: calc(100% - 80px);
}

.room-detail .txt {
	margin-bottom: 1em;
}

.room-detail.room-detail-center .txt {
	margin-top: 8px;
}

.room-detail .btn-yellow {
	margin-bottom: 15px;
}

/***********************************************************
* コース紹介 【300】～【314】
***********************************************************/
/*一覧*/
.service-recommend {
	padding: 15px 15px 0px;
}

.recommend-list {
	padding-bottom: 15px;
}

.recommend-list li {
	margin-bottom: 10px;
}

/*注意*/
.service-attention {
	padding: 0 30px 30px;
}

.service-attention p {
	font-size: 1.2rem;
	line-height: 1.5em;
}

.service-attention .indent {
	padding-left: 0;
}

/*詳細*/
.service-head {
	padding-bottom: 0px;
}

.service-head .head {
	background: rgba(36, 176, 234, 1);
	padding: 15px 5px 10px;
	color: #fff;
	text-align: center;
}

.service-head .head .title {
	font-size: 2.5rem;
	line-height: 1.3em;
	margin-bottom: 0.3em;
}

.service-head .head .tag {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}

.service-head .head .tag li {
	border: 1px solid #fff;
	font-size: 1.4rem;
	line-height: 1em;
	margin: 0 5px 5px;
	padding: 5px 7px 6px;
	white-space: nowrap;
}

/*.service-head .head .limited{
		background: #0a4c83;
		color: #fadb32;
		padding: 0.6em 0.7em;
		font-size: 1.25rem;
		line-height: 1em;
		white-space: nowrap;
	}
	.service-head .head .time{
		font-size: 1.7rem;
		line-height: 1em;
	}
	.service-head .head .num{
		padding: 0.5em 1.5em;
		font-size: 1.4rem;
		line-height: 1em;
		border: 1px solid #fff;
	}*/

.service-head .swiper-button-prev,
.service-head .swiper-button-next {
	background: transparent;
}

.service-head .swiper-button-prev::after {
	width: 25px;
	height: 25px;
	left: 15px;
	margin-top: -30px;
	border-left: 5px solid #fff;
	border-bottom: 5px solid #fff;
}

.service-head .swiper-button-next::after {
	width: 25px;
	height: 25px;
	right: 15px;
	margin-top: -30px;
	border-right: 5px solid #fff;
	border-bottom: 5px solid #fff;
}

.service-head .info,
.service-menu .info {
	padding: 15px 15px 0;
	text-align: center;
}

.service-head .add-service {
	display: inline-block;
	background: #eb6100;
	font-size: 1.6rem;
	line-height: 1em;
	padding: 0.5em 1em;
	color: #fff;
	-webkit-border-radius: 1em;
	border-radius: 1em;
	margin-top: 15px;
}

.service-head .price-box {
	padding: 20px 0;
}

.service-head .add-service+.price-box {
	padding-top: 10px;
}

.service-head .price-box p {
	font-size: 2.0rem;
	line-height: 1em;
	font-weight: bold;
}

.service-head .price-box .price {
	margin-top: 10px;
}

.service-head .price-box .price em {
	font-size: 4.5rem;
	line-height: 1em;
}

.service-head .price-box .discount {
	position: relative;
	border: 1px solid #da1c1c;
	color: #da1c1c;
	padding: 10px;
	margin-top: 15px;
}

.service-head .price-box .discount span {
	display: block;
	font-size: 1.5rem;
}

.service-head .price-box .discount span:first-child {
	position: relative;
}

.service-head .price-box .discount span:first-child::after {
	content: "";
	position: absolute;
	right: 50%;
	bottom: -18px;
	width: 0px;
	margin: 0 -4px 0 0;
	border: 4px solid transparent;
	border-top: 6px solid #da1c1c;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.service-head .price-box .discount .price {
	display: block;
}

.service-head .price-box .discount .price em {
	font-size: 3.6rem;
	line-height: 1em;
}

.service-head .attention,
.service-menu .attention {
	border: 1px solid #e6e6e6;
	/*color: #da1c1c;*/
	margin-bottom: 18px;
	padding: 15px;
	text-align: center;
}

.service-head .attention em,
.service-menu .attention em {
	font-weight: bold;
}

.service-head .attention a,
.service-menu .attention a {
	color: #da1c1c;
	text-decoration: underline;
}

/*メニュー*/
.service-menu {
	padding-bottom: 25px;
}

.service-menu .box {
	padding: 15px 15px 20px;
	background: url("../img/stripe_gray.png");
	background-size: 4px;
}

.service-menu .box ul li {
	position: relative;
	font-size: 1.5rem;
	line-height: 1.6em;
	font-weight: bold;
	padding-left: 1.5em;
}

.service-menu .box ul li span {
	position: absolute;
	left: 0px;
	top: 0px;
}

.service-menu .btn-area {
	padding: 15px 15px 0px
}

/*特典*/
.service-special {
	padding-bottom: 30px;
}

.service-special .box {
	padding: 20px 15px 20px;
	background: url("../img/stripe_yellow.png");
	background-size: 4px;
}

.service-special li {
	position: relative;
	background: #fff;
	margin-bottom: 10px;
	padding: 0.3em 0.5em;
	padding-left: 65px;
}

.service-special li:last-child {
	margin-bottom: 0px;
}

.service-special li,
.service-special li * {
	font-size: 1.5rem;
	line-height: 1.6em;
	font-weight: bold;
}

.service-special li span {
	position: absolute;
	left: 0px;
	top: 0px;
	width: 53px;
	height: 100%;
	background: #eb6100;
	text-align: center;
	color: #fff;
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
}

/*注意*/
.service-attention .title {
	font-size: 1.5rem;
	line-height: 1em;
	margin-bottom: 1em;
}

/*飲み放題詳細*/
.unlimited-detail {
	background: transparent;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	color: #fff;
}

/*202006改修*/
#scene-kids-service .btn-yellow {
	margin: 15px 15px 30px;
}

#scene-room-facilities ul {
	margin: 0 auto 60px;
}

#scene-room-facilities ul li {
	margin: 0 auto 15px;
}

#scene-room-facilities ul li figure {
	text-align: center;
}

#scene-room-facilities ul li img {
	max-width: 305px;
}

ul.scene-img-txt-flex li {
	margin: 0 auto 30px;
}

ul.scene-img-txt-flex li p {
	margin: 15px auto 0;
	text-align: center;
}

#scene-platinum-member,
#scene-use-musical {
	margin: 0 auto 30px;
}

#scene-platinum-member .platinum-member-box {
	margin: 30px 15px 0;
	text-align: center;
}

#scene-platinum-member .platinum-member-box p {
	margin: 10px 0 30px;
	text-align: left;
}

#scene-use-musical .scene-use-musical-box {
	margin: 0;
	text-align: center;
}

#scene-use-musical .scene-use-musical-box p {
	margin: 10px 15px 30px;
	text-align: left;
}

.scene-img-one {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
	margin: 0 auto 30px;
}

/***********************************************************
* 検索画面 【400】
***********************************************************/
#search-box {
	padding: 15px 15px 0;
}

#search-box .box {
	border: 1px solid #b5b5b5;
	margin-bottom: 5px;
}

#search-box .box:last-child {
	margin-bottom: 0px;
}

#search-box .title {
	position: relative;
	background: #f3f3f3;
	padding: 0 15px;
	font-size: 1.6rem;
	line-height: 38px;
	font-weight: bold;
	color: #0a4c83;
	cursor: pointer;
}

#search-box .sub-title {
	position: relative;
	border-top: 1px solid #b5b5b5;
	padding: 0 15px;
	font-size: 1.4rem;
	line-height: 38px;
	font-weight: bold;
	color: #0a4c83;
	cursor: pointer;
}

#search-box .title::after,
#search-box .sub-title::after {
	content: "";
	position: absolute;
	right: 15px;
	top: 50%;
	width: 15px;
	height: 15px;
	margin-top: -8px;
	background: url("../svg/plus.svg") no-repeat;
	background-size: 15px;
}

#search-box .title.open::after,
#search-box .sub-title.open::after {
	background: url("../svg/minus.svg") no-repeat;
	background-size: 15px;
}

#search-box .roomtype-title {
	border-top: 1px solid #b5b5b5;
	color: #f96900;
	padding: 5px 15px;
}

#search-box .roomtype-title:nth-child(1) {
	border-top: none;
	;
}

#search-box .sub-box,
#search-box .radio-box,
#search-box .check-box,
#search-box .input-box {
	display: none;
}

/*チェックボックス*/
#search-box .radio-box label span,
#search-box .check-box label span {
	position: relative;
	border-top: 1px solid #b5b5b5;
	display: block;
	color: #0a4c83;
	line-height: 38px;
	padding: 0 15px 0 36px;
	cursor: pointer;
}

#search-box .radio-box label span::before,
#search-box .check-box label span::before {
	content: "";
	position: absolute;
	left: 15px;
	top: 50%;
	width: 13px;
	height: 13px;
	border: 1px solid #b5b5b5;
	-webkit-border-radius: 2px;
	border-radius: 2px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

#search-box .radio-box label span::before {
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

/*チェック後*/
#search-box .radio-box label input[type="radio"]:checked+span,
#search-box .check-box label input[type="checkbox"]:checked+span {
	background: #0a4c83;
	color: #fff;
}

#search-box .radio-box label input[type="radio"]:checked+span::before,
#search-box .check-box label input[type="checkbox"]:checked+span::before {
	border: 1px solid #f96900;
	background: #fff;
}

#search-box .check-box label input[type="checkbox"]:checked+span::after {
	content: "";
	position: absolute;
	left: 16px;
	top: 50%;
	width: 3px;
	height: 7px;
	margin-top: -5px;
	border-right: 2px solid #f96900;
	border-bottom: 2px solid #f96900;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

#search-box .radio-box label input[type="radio"]:checked+span::after {
	content: "";
	position: absolute;
	left: 19px;
	top: 50%;
	width: 7px;
	height: 7px;
	background: #f96900;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

#search-box label input {
	display: none;
}

/*テキスト*/
#search-box .input-box {
	border-top: 1px solid #b5b5b5;
	padding: 20px 15px;
}

#search-box .input-box input {
	background: #f3f3f3;
	width: 100%;
	height: 35px;
	line-height: 35px;
	border: 0;
	padding: 0 15px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	-webkit-appearance: none;
	appearance: none;
}

/***********************************************************
* 検索結果画面 【401】
***********************************************************/
.result-search {
	background: url("../img/stripe_nude.png");
	background-size: 4px;
	padding: 0 0 20px;
}

.result-search .wrap {
	padding: 0 10px;
}

.result-title {
	background: #0a4c83;
	padding: 8px 0 10px;
	font-size: 1.3rem;
	line-height: 1em;
	font-weight: normal;
	color: #fff;
	text-align: center;
}

.result-title #num {
	font-size: 2.4rem;
	line-height: 1em;
	font-weight: bold;
}

.search-word {
	font-size: 1.3rem;
	line-height: 1.54em;
	padding: 1em 0;
}

#result-list article {
	position: relative;
	background: #fff;
	padding: 20px 15px;
	margin-bottom: 5px;
}

#result-list article:last-child {
	margin-bottom: 0px;
}

#result-list .title {
	margin-bottom: 5px;
}

#result-list .title a {
	font-size: 1.8rem;
	line-height: 1.4em;
	text-decoration: underline;
}

#result-list .address {
	font-size: 1.3rem;
	line-height: 1.384em;
	margin-bottom: 6px;
}

#result-list .open {
	font-size: 1.3rem;
	line-height: 1.384em;
	margin-bottom: 12px;
	word-break: break-word;
}

#result-list .flex {
	display: flex;
}

#result-list .flex p:first-child {
	flex-shrink: 0;
}

#result-list .link-list {
	overflow: hidden;
}

#result-list .link-list img {
	width: 20px;
	vertical-align: middle;
	margin-top: -3px;
	margin-right: 3px;
}

#result-list .link-list li {
	float: left;
	width: 100%;
}

#result-list .link-list li:nth-child(1) {
	width: 50%;
	padding: 0 2px 5px 0;
}

#result-list .link-list li:nth-child(2) {
	float: right;
	width: 50%;
	padding: 0 0px 5px 2px;
}

#result-list .link-list li a {
	display: block;
	background: #fadb32;
	height: 40px;
	line-height: 40px;
	font-weight: bold;
	text-align: center;
}

#result-list .toggle-button {
	position: absolute;
	right: 0px;
	top: 5px;
	width: 50px;
	height: 50px;
	border: none;
}

#result-list .toggle-button::after {
	right: 25px;
	top: 50%;
	width: 9px;
	height: 9px;
	margin-top: -3px;
	border-right: 2px solid #0a4c83;
	border-bottom: 2px solid #0a4c83;
}

#result-list .toggle-button.open::after {
	top: 50%;
	width: 9px;
	height: 9px;
	margin-top: -12px;
}

#result-list .contents {
	padding: 15px 0 0;
	display: none;
}

#result-list .result-room-list {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-bottom: 8px;
}

#result-list .result-room-list li {
	display: inline-block;
	margin: 0 4px 4px 0;
	padding: 0.3em 0.7em 0.5em;
	font-size: 1.0rem;
	line-height: 1.5em;
	font-weight: bold;
	color: #fff;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	background: #24b0ea;
}

#result-list .result-model-list {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	padding-bottom: 8px;
	width: -webkit-calc(100% + 5px);
	width: calc(100% + 5px);
}

#result-list .result-model-list li {
	width: 33.3333%;
	padding: 0 5px 5px 0;
}

#result-list .result-service-list {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	width: -webkit-calc(100% + 4px);
	width: calc(100% + 4px);
}

#result-list .result-service-list li {
	width: 12.5%;
	padding: 0 4px 4px 0;
}

#result-list .result-service-list li span {
	display: block;
	padding: 8%;
	line-height: 0em;
	background: #f3f3f3;
	-webkit-border-radius: 5px;
	border-radius: 5px;
}

@media screen and (max-width:768px) {

	#result-list article.slo-block>.text-box .title {
		display: block;
		align-items: center;
	}

	#result-list article.slo-block.new>.text-box .title::after {
		content: "NEW";
		width: 80px;
		height: 30px;
		background: #ec661b;
		color: #fff;
		font-size: 1.4rem;
		text-align: center;
		margin-left: 10px;
		padding: 0 4px;
	}

	#result-list article.slo-block.renew>.text-box .title::after {
		content: "ReNEW";
		width: 80px;
		height: 30px;
		background: #1991bd;
		color: #fff;
		font-size: 1.4rem;
		text-align: center;
		margin-left: 10px;
		padding: 0 4px;
	}
}

/***********************************************************
* GPS検索結果画面 【402】
***********************************************************/
.gps-map-area {
	background: url("../img/stripe_gray.png");
	background-size: 4px;
	text-align: center;
	padding: 15px;
}

.gps-map-area .title {
	font-size: 1.3rem;
	line-height: 1em;
	font-weight: bold;
	margin-bottom: 15px;
}

.gps-map-area .title #num {
	font-size: 2.4em;
	line-height: 1em;
}

#map-gps {
	width: 100%;
	height: 363px;
	margin-bottom: 15px;
}

.gps-map-area .btn-yellow {
	margin: 0 30px;
}

#store-gps-list {}

#store-gps-list li {
	border-bottom: 1px solid #d5d5d5;
}

#store-gps-list li a {
	position: relative;
	display: block;
	padding: 15px;
}

#store-gps-list li a::after {
	content: "";
	position: absolute;
	right: 15px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -10px;
	border-right: 2px solid #0a4c83;
	border-bottom: 2px solid #0a4c83;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

#store-gps-list li .title {
	font-size: 2.0rem;
	line-height: 1em;
}

#store-gps-list li p {
	font-size: 1.2rem;
	line-height: 1em;
	color: #333;
	margin-top: 8px;
}

#loader {
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	z-index: 200;
}

#loader::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 16px;
	height: 16px;
	background: url("../img/ajax-loader.gif") no-repeat;
	background-size: 16px;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

/***********************************************************
* 店舗詳細 【403】
***********************************************************/
/*ヘッド*/
.store-head {
	position: fixed;
	left: 0px;
	top: 63px;
	background: #fff;
	width: 100%;
	height: auto;
	z-index: 9;
	text-align: center;
	padding-top: 6px;
}

.store-head .box {
	display: -webkit-box;
	display: flex;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
	margin-bottom: 5px;
	flex-wrap: wrap;
	flex-direction: column;
}

.store-head .title {
	font-size: 2.5rem;
	line-height: 1.2em;
}

.store-head .pref {
	margin-top: 0.5em;
	font-size: 1.5rem;
	line-height: 1.5em;
	font-weight: bold;
}

.store-head .access {
	font-weight: bold;
	font-size: 1.4rem;
}

.store-head .status p {
	margin-right: 1em;
	font-size: 1.2rem;
	line-height: 1.5em;
}

.store-head .status .free {
	padding: 0.3em 2em 0.4em;
	display: inline-block;
	background: #6bbb16;
	color: #fff;
	margin-left: 1em;
}

/*ビジュアル*/
.store-visual {
	/*position: relative;
	height: -webkit-calc(100% - 63px);
	height: calc(100% - 63px);
	height: -webkit-calc(100vh - 63px);
	height: calc(100vh - 63px);*/
	margin-top: 42px;
	overflow: hidden;
}

.store-visual .bg {
	/*position: fixed;
	left: 0px;
	top: 105px;
	width: 100%;
	height: -webkit-calc(100% - 105px);
	height: calc(100% - 105px);
	height: -webkit-calc(100vh - 105px);
	height: calc(100vh - 105px);
	background-position: 25% center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;*/
}

/*.store-visual .bg .swiper-slide{
		width: 100%;
		height: 100%;
		height: 100vh;
		background-position: center center;
		background-repeat: no-repeat;
		background-size: cover;
	}*/

.store-visual .box {
	/*position: absolute;
	left: 0px;
	bottom: 20px;
	width: 100%;*/
	position: relative;
	padding: 0 15px;
}

.store-visual .box .visual-news-box {
	margin-bottom: 20px;
}

.store-visual .box .visual-news-box .swiper-container {
	height: 55px;
	border-top: 1px dotted #fff;
	border-bottom: 1px dotted #fff;
}

.store-visual .box .visual-news-box a {
	color: #fff;
	display: block;
	overflow: hidden;
	padding: 12px 0 12px;
}

.store-visual .box .visual-news-box time {
	display: block;
	font-size: 1.0rem;
	line-height: 1em;
	margin-bottom: 5px;
}

.store-visual .box .visual-news-box p {
	display: block;
	font-size: 1.4rem;
	line-height: 1em;
	font-weight: bold;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.store-visual .box>ul {
	overflow: hidden;
	margin: 20px 0;
}

.store-visual .box>ul li {
	position: relative;
	float: left;
	width: 50%;
	padding: 0 5px 13px 0;
}

.store-visual .box>ul li:nth-child(2) {
	padding: 0 0 13px 5px;
}

.store-visual .box>ul li:nth-child(3) {
	width: 100%;
	padding: 0;
}

.store-visual .btn {
	display: block;
	padding: 13px 0;
	background: #fadb32;
	font-size: 1.4rem;
	font-size: 3.6vw;
	line-height: 25px;
	font-weight: bold;
	text-align: center;
	color: #0a4c83;
	border: 4px solid #fff;
	vertical-align: middle;
}

.store-visual .btn img {
	display: inline;
	width: 25px;
	margin-right: 5px;
}

.store-visual .tel {
	display: block;
	padding: 8px 0;
	background: #00bd20;
	font-size: 1.2rem;
	font-size: 3.2vw;
	line-height: 20px;
	text-align: center;
	color: #0a4c83;
	border: 4px solid #fff;
	color: #fff;
}

.store-visual .tel img {
	display: inline;
	width: 20px;
	margin-right: 5px;
}

.store-visual .tel+a {
	display: block;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
}

.store-visual .reserve {
	padding: 8px;
	background: #e80b25;
	font-size: 1.4rem;
	line-height: 20px;
	text-align: center;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
}

.store-visual .reserve img {
	display: inline;
	width: 50px;
	margin-right: 10px;
}

.store-visual a.scroll {
	display: block;
	position: relative;
	width: 34px;
	height: 34px;
	background: #b7e3ff;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	cursor: pointer;
	overflow: hidden;
	text-indent: 200%;
	white-space: nowrap;
	margin: 0 auto;
}

.store-visual a.scroll::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 34px;
	height: 34px;
	background: #24b0ea;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	-webkit-animation: flash 1.5s infinite linear;
	-moz-animation: flash 1.5s infinite linear;
	animation: flash 1.5s infinite linear;
}

.store-visual a.scroll::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 7px;
	height: 7px;
	margin-left: -8px;
	margin-top: -3px;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

.store-visual .box .floating {
	position: absolute;
	bottom: 280px;
	right: 15px;
	width: 30%;
}

.store-visual .box .floating a {
	overflow: visible;
}

.store-visual .box .floating img {
	animation: bounce 4s ease 0.5s infinite normal;
}

.store-detail {
	position: relative;
	background: #fff;
	padding-bottom: 30px;
	overflow: hidden;
}

.store-visual .update,
.store-campaign .update {
	font-size: 11px;
}

/*マップ*/
.map-area {
	padding: 15px 15px 30px;
	background: url("../img/stripe_gray.png");
	background-size: 4px;
}

#map {
	width: 100%;
	height: 320px;
}

/*情報*/
.store-info {
	position: relative;
	margin-top: -15px;
	padding: 0 15px 25px;
	overflow: hidden;
}

.store-info::before {
	content: "";
	position: absolute;
	left: 0px;
	top: 15px;
	width: 100%;
	height: 100%;
	background: url("../img/stripe_nude.png");
	background-size: 4px;
}

.store-info ul {
	margin-bottom: 15px;
}

.store-info li {
	display: table;
	background: #5c5c5c;
	width: 100%;
	margin-bottom: 1px;
	color: #fff;
}

.store-info li p {
	display: table-cell;
	font-size: 1.2rem;
	line-height: 1.4em;
	font-weight: normal;
	vertical-align: middle;
	padding: 0.7em 1em;
}

.store-info li p:first-child {
	width: 5em;
	padding: 0.7em 0 0.7em 1em;
	font-weight: bold;
}

.store-info li p .tel-link {
	color: #fff;
	font-size: 1.2rem;
	line-height: 1.2em;
	text-decoration: underline;
}

.store-info li p .parking_status {
	font-size: 2rem;
	line-height: 1;
	display: block;
}

.store-info li p .parking_status a {
	color: #0a4c83;
	background: #fadb32;
	line-height: 1;
	padding: 5px;
	margin: 0 0 6px;
	align-items: center;
	display: inline-flex;
	gap: 0.5rem;
}

.store-info li p .parking_status img {
	line-height: 1;
	margin-left: 3px;
	width: 14px;
}

.store-info li p .parking_status span {
	font-size: 1.1rem;
}

.btn-line {
	position: relative;
	background: #fadb32;
	display: inline-block;
	font-size: 1.2rem;
	line-height: 33px;
	font-weight: bold;
	padding: 0px 25px 0px 20px;
}

.btn-line img {
	width: 30px;
	margin-right: 5px;
	vertical-align: top;
}

.btn-line::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 46%;
	width: 6px;
	height: 6px;
	margin-top: -7px;
	border-right: 1px solid #0a4c83;
	border-bottom: 1px solid #0a4c83;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

/*機種*/
.store-model {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 20px 15px 15px;
}

.store-model li {
	width: 50%;
	padding: 0 7px 10px 0;
}

.store-model li:nth-child(2n) {
	padding: 0 0 10px 7px;
}

.store-room {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 0 25px;
}

.store-room.store-room-one {
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
}

.store-room li {
	position: relative;
	width: 50%;
}

.store-room li.no::after {
	content: "";
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.8);
}

.store-room li figcaption {
	position: absolute;
	left: 0px;
	bottom: 0px;
	background: rgba(0, 0, 0, 0.6);
	width: 100%;
	padding: 0.5em;
	font-size: 1.3rem;
	line-height: 1.4em;
	text-align: center;
	color: #fff;
}

.store-box {
	padding-top: 10px;
	padding-bottom: 25px;
}

.store-box p {
	margin-bottom: 1.5em;
}

#banner-upper-area .store-box {
	padding-bottom: 0;
}

/*キャンペーン*/
.store-campaign {
	padding: 15px 0 20px;
}

.store-campaign ul li {
	padding: 0 40px;
}

/*インフォメーション*/
.store-information {
	margin-bottom: 20px;
}

.store-information li {
	border-bottom: 1px solid #ededed;
	border-top: 1px solid #ededed;
}

.store-information li a {
	display: block;
	padding: 1em 0;
	color: #333;
}

.store-information li time {
	font-size: 1.2rem;
	color: #0a4c83;
}

.store-information02 {
	border: 1px solid #0a4c83;
	margin-top: 20px;
	padding: 15px;
}

.store-information02 a {
	color: #0a4c83;
}

/*お客様の声・X*/
.store-reviews__ttl {
	color: #FFFFFF;
	font-size: large;
	font-weight: bold;
	padding: 0.5em;
	margin: 1em 0.5em 0.5em;
	background: radial-gradient(white, rgba(255, 255, 255, 0.2) 2px, transparent 40px) 0px 0px / 550px 550px,
		radial-gradient(white, rgba(255, 255, 255, 0.15) 1px, transparent 30px) 40px 60px / 350px 350px,
		radial-gradient(white, rgba(255, 255, 255, 0.1) 2px, transparent 40px) 130px 270px / 250px 250px,
		radial-gradient(rgba(255, 255, 255, 0.4),
			rgba(255, 255, 255, 0.1) 2px, transparent 30px) 70px 100px / 150px 150px #FFF100;
	animation: 1000s linear 0s infinite normal none running animation_006;
	vertical-align: middle;
	text-align: center;

	span {
		color: #000000;
	}
}

.store-reviews__img {
	display: flex;
	flex-direction: column;
	margin: 20px auto 0;
}

.store-x {
	padding: 15px;
	margin: 0 auto 20px;
}

/* 料金注記 */
.price-notice {
	display: none;
	padding: 15px;
}

/* SNS */
.sns-box {
	border: 2px solid #d8d8d8;
	text-align: center;
	padding: 20px 0 15px;
}

.sns-box .title {
	margin-bottom: 10px;
	font-size: 1.2rem;
}

.sns-box ul {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	-webkit-align-items: center;
	-webkit-box-align: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-box-pack: center;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 15px;
}

.sns-box ul li {
	margin: 0 5px 5px;
}

.sns-box .fb_iframe_widget_fluid,
.sns-box .fb_iframe_widget_fluid span,
.sns-box iframe {
	display: block;
	height: 20px !important;
}

/*料金表*/
.price-no-view-area {
	display: none;
}

#price-area {}

.price-title {
	position: relative;
	background: #e5e9f3;
	padding: 1em 14.66vw 1em 15vw;
	margin: 0 2vw 2vw;
	font-size: 4.266vw;
	line-height: 1.25em;
	color: #0a4c83;
	cursor: pointer;
}

#banner-upper-area+.price-title,
#price-area .price-title:first-child {
	margin-top: 2vw;
}

.price-title.day_weekend_,
.price-title.night_weekend_ {
	background: #fbeed9;
	color: #fd6103;
}

.price-title::before {
	content: "";
	position: absolute;
	left: 3.466vw;
	top: 50%;
	width: 8vw;
	height: 8vw;
	background: url("../svg/noon.svg") center center no-repeat;
	background-size: 100%;
	transform: translateY(-50%);
}

.price-title.night_weekday_::before,
.price-title.night_weekend_::before {
	background: url("../svg/night.svg") center center no-repeat;
	background-size: 100%;
}

.price-title::after {
	content: "";
	position: absolute;
	right: 5vw;
	top: 50%;
	width: 4.3vw;
	height: 4.3vw;
	background: url("../svg/plus.svg") center center no-repeat;
	background-size: 100%;
	transform: translateY(-50%);
}

.price-title.open::after {
	background: url("../svg/minus.svg") center center no-repeat;
	background-size: 100%;
}

.price-title.day_weekend_::after,
.price-title.night_weekend_::after {
	background: url("../svg/plus_orange.svg") center center no-repeat;
	background-size: 100%;
}

.price-title.day_weekend_.open::after,
.price-title.night_weekend_.open::after {
	background: url("../svg/minus_orange.svg") center center no-repeat;
	background-size: 100%;
}

#price-area .price-table div {
	padding-bottom: 25px;
}

.price-table {
	padding: 0 2vw 2vw;
	display: none;
}

#price-area table {
	width: 100%;
}

#price-area table thead th {
	width: 20%;
	border: 2px solid #0a4c83;
	/*	background: #ffe2e2;*/
	font-size: 1.05rem;
	font-size: 2.95vw;
	line-height: 1.4em;
	font-weight: bold;
	text-align: center;
	color: #ff0505;
	vertical-align: middle;
	padding: 1em 0;
	padding: 0.2em 0;
}

#price-area table thead th.rowno {
	padding: 3em 0;
}

#price-area table thead th.room {
	font-size: 4.8vw;
}

#price-area table thead th.student em {
	font-size: 4.4vw;
	line-height: 2em;
}

#price-area table thead th.user em {
	font-size: 4.4vw;
	line-height: 2em;
}

#price-area table thead th span {
	display: block;
	font-size: 1.0rem;
	font-size: 1.2631vw;
	font-size: 2.133vw;
	line-height: 1.2em;
}

#price-area table thead th em {
	font-size: 1.4rem;
	font-size: 3.9473vw;
}

#price-area table thead tr:nth-child(1) {
	background: #0a4c83;
}

#price-area table thead tr:first-child th:last-child {
	color: #ffffff;
}

#price-area table thead tr:nth-child(2) th:nth-child(2),
#price-area table thead tr:nth-child(2) th:nth-child(3),
#price-area table thead tr:nth-child(2) th:nth-child(4) {
	color: #0a4c83;
}

#price-area table tbody th {
	width: 20%;
	border: 2px solid #0a4c83;
	border-left: none;
	border-bottom: 2px solid #fff;
	border: 2px solid #0a4c83;
	font-size: 2.405vw;
	line-height: 1.4em;
	font-weight: bold;
	text-align: center;
	color: #0a4c83;
	vertical-align: middle;
	padding: 1em 0;
	background: #f3f3f3;
}

#price-area table tbody th .minute {
	font-size: 4.8vw;
}

#price-area table tbody th .minute em {
	font-size: 8vw;
	letter-spacing: -2px;
}

#price-area table tbody th .free {
	font-size: 3.1vw;
	letter-spacing: -1px;
	white-space: nowrap;
}

#price-area table tbody tr:nth-child(2) th {
	border-bottom: 2px solid #0a4c83;
}

#price-area table tbody tr th span {
	display: block;
	font-size: 1.0rem;
	font-size: 1.6631vw;
	line-height: 1.4em;
	text-align: center;
}

#price-area table tbody tr th em {
	font-size: 1.6rem;
	font-size: 3.789vw;
	line-height: 1.4em;
}

#price-area table tbody td {
	width: 20%;
	border: 2px solid #0a4c83;
	color: #0a4c83;
	vertical-align: middle;
	font-size: 1.2rem;
	font-size: 2.405vw;
	line-height: 1.4em;
	padding: 2em 0;
}

#price-area table tbody td.nocol {
	width: 40%;
}

#price-area table tbody td p {
	font-size: 1.5rem;
	font-size: 2.5vw;
	line-height: 1.8em;
	font-weight: bold;
	text-align: center;
}

#price-area table tbody td .price em {
	font-size: 3.0rem;
	font-size: 5.052vw;
}

#price-area table tbody td .tax {
	display: block;
	font-size: 0.72rem;
	font-size: 1.21vw;
	line-height: 1.8em;
}

#price-area table tbody td .tax em {
	font-size: 1.68rem;
	font-size: 4.8vw;
}

#price-area table tbody tr td.drinkbar {
	padding: 0;
}

#price-area table tbody td.drinkbar p {
	padding: 1em;
	position: relative;
	font-size: 3.0vw;
}

#price-area table tbody td.drinkbar p em {
	font-size: 3.0rem;
	font-size: 4.652vw;
	padding-left: 0.5em;
}

.store-box .price-info,
#price-area .price-info {
	background: #fff;
	border: 3px solid #0a4c83;
	margin-top: 2vw;
	padding: 1em;
}

.store-box .price-info p,
#price-area .price-info p {
	font-size: 1.2rem;
	line-height: 1.4em;
	text-align: left;
}

.store-box .price-info p {
	margin-bottom: 0;
}

/*料金下部バナー*/
.banner-no-view-area {
	display: none;
}

.all-open-btn {
	padding: 2vw 6vw;
}

.all-open-btn p {
	cursor: pointer;
	background: #24b0ea;
	font-size: 1.5rem;
	font-size: 4vw;
	font-weight: bold;
	text-align: center;
	color: #fff;
	padding: 1em 0;
}

/*注釈*/
#price-info-area {
	padding: 0 2vw 2vw;
}

.price-info-note {
	background: #fff;
	border: 3px solid #0a4c83;
	margin-top: 2vw;
	padding: 1em;
}

.price-info-note p {
	font-size: 1.2rem;
	line-height: 1.4em;
	text-align: left;
}

/***********************************************************
* クーポン【500】
***********************************************************/
.coupon-box .box {
	padding: 20px 15px 30px;
}

.coupon-box figure {
	position: relative;
}

.coupon-box figure .period {
	position: absolute;
	left: 0px;
	top: 63.5%;
	width: 100%;
	font-size: 1.6rem;
	font-size: 5.0vw;
	text-align: center;
}

.coupon-box .dotted {
	margin: 20px 0;
	width: 100%;
	height: 2px;
	background-image: repeating-linear-gradient(90deg, #000000, #000000 20px, transparent 20px, transparent 25px);
	background-position: left top;
	background-repeat: repeat-x;
	background-size: 100% 2px;
}

.coupon-box figure figcaption {
	bottom: 20.5%;
	left: 0;
	line-height: 100%;
	margin: 0 auto;
	position: absolute;
	right: 0;
	text-align: center;
}

.coupon-box figure figcaption.coupon-limit {
	bottom: 22%;
}

.coupon-box .box p {
	margin-bottom: 0.5em;
}

.coupon-box .box strong {
	font-size: 1.5rem;
	line-height: 1.6em;
}

.coupon-box .box ul li {
	padding-left: 1em;
	font-size: 1.2rem;
	line-height: 1.5em;
	text-indent: -1em;
}

/***********************************************************
* お知らせ 【501】～【502】
***********************************************************/
/*一覧*/
.information-head {
	padding: 30px 0 0;
	border-bottom: 1px solid #d5d5d5;
	margin-bottom: 10px;
}

.information-category {
	margin-top: 15px;
	width: 100%;
	height: 38px;
	overflow-x: scroll;
	-webkit-overflow-scrolling: touch;
}

.information-category::-webkit-scrollbar {
	display: none;
}

.information-category ul {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	height: 38px;
}

.information-category li {
	height: 38px;
	margin: 0 5px;
}

.information-category a {
	position: relative;
	display: block;
	height: 38px;
	line-height: 38px;
	font-weight: bold;
	white-space: nowrap;
	padding: 0 5px;
}

.information-category .active a::after {
	content: "";
	background: #0a4c83;
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: 3px;
}

.information-list {}

.information-list article {
	border-bottom: 1px solid #d5d5d5;
}

.information-list article a {
	display: -webkit-flex;
	display: -webkit-box;
	display: flex;
	position: relative;
	padding: 15px 0 25px;
}

.information-list article figure {
	width: 39%;
}

.information-list article .info {
	width: 61%;
	padding-left: 15px;
}

.information-list article time {
	font-size: 1.3rem;
	line-height: 1em;
	font-weight: bold;
	color: #333;
	margin-right: 5px;
}

.information-list article .category {
	display: inline-block;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	padding: 0 0.8em;
	font-size: 1.0rem;
	line-height: 1.8em;
	color: #fff;
}

.information-list article .title {
	margin-top: 5px;
	text-decoration: underline;
}

/*もっと見る*/
.btn-more {
	display: block;
	background: #fadb32;
	font-weight: bold;
	text-align: center;
	color: #0a4c83;
	-webkit-border-radius: 25px;
	border-radius: 25px;
	cursor: pointer;
	width: -webkit-calc(100% - 6vw);
	width: calc(100% - 6vw);
	height: 40px;
	margin: 40px auto;
	font-size: 1.6rem;
	line-height: 40px;
}

.btn-more span {
	position: relative;
}

.btn-more span::before {
	content: "";
	background: #0a4c83;
	position: absolute;
	left: auto;
	right: -25px;
	bottom: 50%;
	width: 2px;
	border: none;
	-webkit-transform: rotate(0deg) translate(50%, 50%);
	transform: rotate(0deg) translate(50%, 50%);
	margin-right: 7px;
	height: 14px;
}

.btn-more span::after {
	content: "";
	background: #0a4c83;
	position: absolute;
	left: auto;
	right: -25px;
	bottom: 50%;
	width: 14px;
	height: 2px;
	margin-left: 0px;
	border: none;
	-webkit-transform: rotate(0deg) translateY(50%);
	transform: rotate(0deg) translateY(50%);
}

/*詳細*/
.information-detail {}

.information-detail .detail-head {
	padding: 10px 15px 15px;
}

.information-detail .detail-head time {
	font-size: 1.3rem;
	line-height: 1em;
	font-weight: bold;
	color: #333;
	margin-right: 5px;
}

.information-detail .detail-head .category {
	display: inline-block;
	-webkit-border-radius: 10px;
	border-radius: 10px;
	padding: 0 0.8em;
	font-size: 1.0rem;
	line-height: 1.8em;
	color: #fff;
}

.information-detail .detail-head .title {
	font-size: 1.8rem;
	line-height: 1.375em;
	color: #0a4c83;
	margin-top: 10px;
}

.main-img {
	margin-top: 15px;
}

.information-detail .detail-info {
	padding: 15px 15px 30px;
	line-height: 1.8em;
}

.information-detail .detail-info h1 {
	font-size: 1.8rem;
	line-height: 1.375em;
	color: #0a4c83;
	margin-bottom: 10px;
}

.information-detail .detail-info h2 {
	font-size: 1.5rem;
	line-height: 1.6em;
	font-weight: bold;
	margin-bottom: 1em;
}

.information-detail .detail-info h3,
.information-detail .detail-info h4,
.information-detail .detail-info h5,
.information-detail .detail-info h6 {
	font-size: 1.3rem;
	line-height: 1em;
	font-weight: bold;
	color: #333;
	margin-bottom: 0.5em;
}

.asta {
	padding-bottom: 1.5em;
}

.asta li {
	position: relative;
	font-size: 1.2rem;
	line-height: 1.75em;
	padding-left: 1em;
	margin-bottom: 0.5em;
}

.asta li * {
	font-size: 1.2rem;
	line-height: 1.75em;
}

.asta li a {
	text-decoration: underline;
}

.asta li a:hover {
	text-decoration: none;
}

.asta li::after {
	content: "※";
	position: absolute;
	left: 0px;
	top: 0;
	width: 1em;
	height: 1em;
}

.information-detail .detail-bottom {
	border-top: 1px solid #d5d5d5;
	padding: 20px 15px 30px;
}

.information-detail .detail-bottom .btn-yellow {
	margin-bottom: 22px;
}

/***********************************************************
* よくあるご質問 【506】
***********************************************************/
.faq-list {}

.faq-list li {
	border-bottom: 1px solid #d5d5d5;
}

.faq-list li:last-child {
	border-bottom: none;
}

.faq-list .question {
	background: url("../svg/faq.svg") 14px 17px no-repeat;
	background-size: 20px;
	position: relative;
	padding: 18px 50px 18px 40px;
	font-size: 1.5rem;
	line-height: 1.33em;
	font-weight: bold;
	color: #0a4c83;
	cursor: pointer;
}

.faq-list .question::after {
	content: "";
	position: absolute;
	right: 25px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -8px;
	border-right: 2px solid #0a4c83;
	border-bottom: 2px solid #0a4c83;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

.faq-list .question.open::after {
	margin-top: -18px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}

.faq-list .answer {
	display: none;
	padding: 0 15px 20px;
}

.faq-list .answer span {
	color: #888;
}

/***********************************************************
* お問い合わせ 【507】
***********************************************************/
.contact-faq p {
	font-weight: bold;
	text-align: center;
	padding: 0.7em 1em;
}

.contact-faq ul a {
	position: relative;
	display: block;
	padding: 15px;
	font-size: 1.5rem;
	line-height: 1.4em;
	font-weight: bold;
	border-top: 1px solid #d5d5d5;
}

.contact-faq ul a::after {
	content: "";
	position: absolute;
	right: 10px;
	top: 50%;
	width: 10px;
	height: 10px;
	margin-top: -12px;
	border-right: 2px solid #0a4c83;
	border-bottom: 2px solid #0a4c83;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
}

.contact-box .box {
	padding: 1em 0;
}

.contact-box .box p,
.contact-box .box ul {
	margin-bottom: 0.5em;
}

.contact-box .box li {
	font-size: 1.2rem;
	line-height: 1.5em;
}

.contact-box .box .clr-red {
	font-size: 1.0rem;
	line-height: 1.5em;
}

.contact-box .box .clr-red.bld {
	font-size: 1.2rem;
	margin-bottom: 0px;
}

.contact-agree {
	border: 3px solid #d5d5d5;
	padding: 15px;
}

.contact-agree p {
	margin-bottom: 1em;
}

.contact-agree .agree {
	text-align: center;
}

.contact-top p {
	padding: 1em 0;
}

.contact-top ul li:first-child .btn-yellow2 {
	margin-bottom: 15px;
}

.contact-agree-error {
	margin-top: 20px;
	padding: 20px;
}

.form-error-title {
	color: #da1c1c;
	font-size: 2.0rem;
	margin-bottom: 10px;
}

.form-error {
	color: #da1c1c;
	font-size: 1.4rem;
}

/*2019/7/16 add*/
.kids-title {
	font-size: 2.0rem;
	line-height: 1.2em;
	font-weight: bold;
	color: #0a4c83;
	border-bottom: 1px solid #0a4c83;
	padding: 20px 0 10px;
	margin-bottom: 30px;
}

.kids-title2 {
	font-size: 1.8rem;
	line-height: 1em;
	margin-bottom: 15px;
}

.kids-title3 {
	font-size: 1.6rem;
	line-height: 1em;
	margin-bottom: 15px;
}

.kids-text {
	font-size: 1.2rem;
	line-height: 1em;
	margin-bottom: 25px;
}

.kids-box {
	border-top: 1px solid #e2e2e2;
	border-bottom: 1px solid #e2e2e2;
	padding: 26px 30px;
	margin-bottom: 25px;
}

.kids-box .card {
	text-align: center;
	margin-bottom: 20px;
}

.kids-box .card img {
	max-width: 70%;
}

.kids-box .info {
	padding-left: 0px;
}

.kids-box .info p {
	font-size: 1.2rem;
	line-height: 1.666em;
}

.kids-box .info strong {
	font-size: 1.4rem;
}

.form-tbl .kids-name {
	display: flex;
}

.form-tbl .kids-name>div {
	width: 50%;
}

.form-tbl .kids-name input[type="text"] {
	width: calc(100% - 3em);
}

.form-tbl .radio-list.error {
	position: relative;
}

#change-error {
	position: absolute;
	bottom: 60px;
	width: auto;
	background: #ee0101;
	color: #fff;
	min-width: 120px;
	font-size: 11px;
	padding: 4px 10px 4px 10px;
	display: none;
}

#change-error p {
	font-size: 11px;
}

.change-area {
	display: none;
}

.change-area.type1 {
	display: block;
}

/*2020/10/22 add*/
.contacts-top {
	padding: 25px 20px 35px
}

.contacts-top ul {
	display: block;
}

.contacts-top ul li:first-child {
	margin-bottom: 25px;
}

.contacts-top ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 80px;
	line-height: 1.4em;
}

/***********************************************************
* ケータイ会員登録 【509】
***********************************************************/
.corp-box.mobile {
	padding: 30px 0 20px;
}

.corp-box.mobile .corp-step li .info p strong {
	margin-bottom: 0;
}

.corp-box.mobile>p {
	font-size: 1.2rem;
	margin: 10px 20px 0;
	padding-left: 1em;
	text-indent: -1em;
}

.mobile-box {
	background: #f96900;
	margin-bottom: 30px;
	margin-top: -10px;
	padding: 20px;
	position: relative;
}

.mobile-box .wrap>p {
	background: #f96900;
	border: 2px solid #fff;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	color: #fff;
	height: 6em;
	width: 6em;
	font-size: 1.0rem;
	font-weight: bold;
	line-height: 6em;
	letter-spacing: -1px;
	position: absolute;
	text-align: center;
	top: -50%;
	right: 0;
}

.mobile-box .wrap>div {
	display: table;
	margin: 0 auto;
	position: relative;
}

.mobile-box .wrap>div p,
.mobile-box .wrap>div figure {
	display: table-cell;
	vertical-align: middle;
}

.mobile-box .wrap>div p {
	color: #fff;
	font-size: 1.0rem;
	padding: 10px 15px;
	white-space: nowrap;
}

.mobile-box .wrap>div p a {
	color: #fff;
}

.mobile-box .wrap>div p strong {
	display: block;
	font-size: 1.4rem;
	font-weight: bold;
	margin-bottom: 0.5em;
}

.mobile-box .wrap>div figure:first-child img {
	max-width: 45px;
}

.mobile-box .wrap>div figure:last-child img {
	max-width: 70px;
}

/***********************************************************
* ログイン 【510】パスワード再発行【511】
***********************************************************/
.input-form {
	padding: 25px 15px;
}

.input-form .head {
	margin-bottom: 25px;
}

.input-form .head p {
	margin-bottom: 0.5em;
}

.input-form .head .under {
	font-size: 1.2rem;
	font-size: 3.2vw;
	line-height: 1.4em;
}

.input-form .form {
	width: -webkit-calc(100% + 30px);
	width: calc(100% + 30px);
	margin-left: -15px;
	background: #f3f3f3;
	padding: 25px 15px 15px;
	margin-bottom: 15px;
}

.input-form .form .title {
	font-size: 1.5rem;
	line-height: 1em;
	font-weight: bold;
	padding-bottom: 10px;
}

.input-form .form .input {
	padding-bottom: 15px;
}

.input-form .form input {
	width: 100%;
	height: 44px;
	line-height: 44px;
	-webkit-border-radius: 0px;
	border-radius: 0px;
	-webkit-appearance: none;
	appearance: none;
	padding: 0.5em 1em;
	margin: 0;
	border: 1px solid #d5d5d5;
}

.input-form .btn-box .btn-yellow {
	margin-bottom: 10px;
}

.input-form .btn-box p {
	font-size: 1.2rem;
	line-height: 1.8em;
}

.input-form .birth-box {
	display: table;
}

.input-form .birth-box>div {
	width: 33.3333%;
	display: table-cell;
	vertical-align: middle;
	line-height: 44px;
}

.input-form .birth-box>div input,
.input-form .birth-box>div .select-box {
	float: left;
	display: block;
	width: -webkit-calc(100% - 2em);
	width: calc(100% - 2em);
	margin-right: 0.5em;
	height: 44px;
	border: 1px solid #d5d5d5;
}

.input-form .birth-box>div .select-box select {
	background: #fff;
	height: 42px;
	line-height: 42px;
}

/***********************************************************
* ポケモン会員 【513】
***********************************************************/
.birth-box {
	display: inline-block;
}

.birth-box>p {
	display: inline-block;
}

.birth-box .select-box {
	display: inline-block;
	width: auto;
	overflow: visible;
}

.birth-box .select-box select {
	padding-right: 30px;
}

#pokemon-print {
	display: none;
}

.pokemon-print-tbl {
	width: 100%;
}

.pokemon-print-tbl th {
	border: 1px solid #d1cbe5;
	border-right: none;
	font-size: 1.2rem;
	font-weight: normal;
	text-align: left;
	padding: 0.5em;
	color: #222587;
	white-space: nowrap;
}

.pokemon-print-tbl td {
	border: 1px solid #d1cbe5;
	border-left: none;
	padding: 0.5em;
	font-size: 1.2rem;
	color: #222587;
	vertical-align: middle;
}

.pokemon-print-tbl td:nth-child(3) {
	text-align: center;
	white-space: nowrap;
}

.pokemon-print-tbl td[colspan="3"] {
	border: 1px solid #d1cbe5;
}

.pokemon-print-tbl td span {
	font-size: 1.6rem;
	font-weight: bold;
	color: #000;
}

/***********************************************************
* 法人会員メール 【516】
***********************************************************/
.corp-info {
	padding: 0 0 20px;
	background: #f1f1f1;
	background-size: 4px;
	margin-bottom: 10px;
}

.corp-main {
	margin-bottom: 20px;
}

.corp-title {
	font-size: 1.8rem;
	line-height: 1.3em;
	text-align: center;
	margin-bottom: 1em;
}

.corp-benefits {
	padding: 0 15px;
	margin-bottom: 30px;
}

.corp-benefits li {
	display: table;
	width: 100%;
	margin-bottom: 5px;
}

.corp-benefits li .title {
	display: table-cell;
	background: #0a4c83;
	width: 4em;
	text-align: center;
	color: #fff;
	vertical-align: middle;
}

.corp-benefits li .info {
	display: table-cell;
	background: #fff;
	vertical-align: middle;
	padding: 10px;
}

.corp-benefits li .info h4 {
	margin-bottom: 5px;
}

.corp-benefits li .info p {
	font-size: 1.0rem;
	line-height: 1.6em;
}

.corp-box {
	background: #fff;
	margin: 0 15px 20px;
	padding-bottom: 20px;
}

.corp-box:last-child {
	margin-bottom: 0px;
}

.corp-box .title {
	font-size: 1.5rem;
	line-height: 1.8em;
	font-weight: bold;
	text-align: center;
	color: #0a4c83;
	padding-top: 20px;
	margin-bottom: 20px;
}

.corp-box .title em {
	background: #0a4c83;
	padding: 0.1em 0.5em 0.2em 0.5em;
	font-size: 1.3rem;
	font-weight: normal;
	margin-right: 8px;
	color: #fff;
}

.corp-step {
	padding: 0 20px;
}

.corp-step li {
	position: relative;
	background: #f1f1f1;
	margin-bottom: 20px;
	display: table;
	width: 100%;
	padding: 20px 0;
}

.corp-step li:last-child {
	margin-bottom: 0px;
}

.corp-step li .step {
	background: #f96900;
	position: absolute;
	left: -1em;
	top: -1em;
	width: 4em;
	height: 4em;
	font-size: 1.0rem;
	line-height: 4em;
	color: #fff;
	text-align: center;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}

.corp-step li figure {
	display: table-cell;
	width: 100px;
	padding: 0 15px 0 30px;
	text-align: center;
	/* vertical-align: top; */
	vertical-align: middle;
}

.corp-step li .info {
	display: table-cell;
	vertical-align: middle;
	padding-right: 15px;
}

.corp-step li .info p {
	font-size: 1.0rem;
}

.corp-step li .info p strong {
	display: block;
	font-size: 1.2rem;
	line-height: 1.5em;
	font-weight: normal;
	margin-bottom: 0.5em;
}

.corp-step li .info .ttl strong {
	font-weight: bold;
}

.corp-box .box {
	display: table;
	background: #f1f1f1;
	margin: 0 20px;
	padding: 20px 0;
}

.corp-box .box figure {
	display: table-cell;
	width: 100px;
	padding: 0 15px 0 20px;
	text-align: center;
	vertical-align: top;
}

.corp-box .box .info {
	display: table-cell;
	vertical-align: middle;
	padding-right: 15px;
}

.corp-box .box .info p {
	font-size: 1.2rem;
	line-height: 1.5em;
}

.corp-entry {
	background: #fd6103;
	padding: 15px;
	margin-bottom: 30px;
}

.corp-entry .title {
	font-size: 1.5rem;
	line-height: 1.6em;
	font-weight: normal;
	text-align: center;
	color: #fff;
	margin-bottom: 15px;
}

.corp-entry .box {
	background: #fff;
	padding: 15px 15px 20px;
}

.corp-entry p {
	font-size: 1.2rem;
	text-align: center;
	margin-bottom: 1em;
}

.corp-entry .headline-s {
	font-size: 4vw;
	padding: 0.5em 5px;
}

.corp-entry .btn-yellow {
	margin-bottom: 0px;
}

.corp-bnr {
	margin: 0 auto 30px;
	text-align: center;
}

.corporate-bnr {
	display: block;
	text-align: left;

}

.corporate-bnr img {
	width: 40%;
}

.corporate-bnr .text {
	text-align: left;
	font-size: 1.1rem;
	border-left: none;
	padding: 2%;
	margin-top: 2%;
	border-top: 1px solid #333333;
}

.corporate-bnr .text a {
	text-decoration: underline;
	color: #333333;
	font-size: 1.1rem;
}

.corp_terms {
	width: 100%;
	border: 1px solid #e6e6e6;
	height: 200px;
}


/***********************************************************
* サイトポリシー 【518】
***********************************************************/
.rule-box {
	padding-top: 10px;
	padding-bottom: 20px;
}

.rule-box:last-child {
	padding-bottom: 30px;
}

.rule-box.top {
	padding-bottom: 12px;
}

.rule-box p {
	font-size: 1.4rem;
	line-height: 1.8em;
	margin-bottom: 1.5em;
}

.rule-box p.top {
	margin-bottom: 2.5em;
}

.rule-box a {
	text-decoration: underline;
}

.rule-box .sub-title {
	font-size: 1.4rem;
	line-height: 1.2em;
	margin-bottom: 10px;
}

.rule-box ol {
	list-style-type: decimal;
	padding-left: 1em;
	margin-bottom: 1.5em;
}

.rule-box ol li {
	line-height: 1.8em;
	list-style-type: decimal;
}

.rule-box ol.parentheses {
	list-style: none;
	text-indent: -1.2em;
	padding-left: 1.2em;
}

.rule-box ol.parentheses2 {
	list-style: none;
	text-indent: -2.5em;
	padding-left: 2.5em;
}

.rule-box ol.parentheses li,
.rule-box ol.parentheses2 li {
	list-style: none;
}


/***********************************************************
* 物件募集情報 【519】
***********************************************************/
.estate-tbl {
	width: 100%;
	border-top: 1px solid #d5d5d5;
	margin-bottom: 10px;
}

.estate-tbl tr {
	border-bottom: 1px solid #d5d5d5;
}

.estate-tbl tr:last-child {
	border-bottom: none;
}

.estate-tbl th {
	width: 8.5em;
	padding: 1em;
	font-size: 1.4rem;
	color: #0a4c83;
	text-align: left;
	vertical-align: top;
}

.estate-tbl td {
	padding: 1em 0;
}

.estate-contact {
	padding-top: 5px;
}

.estate-contact img {
	width: 20px;
	margin-right: 3px;
}

.estate-contact .number {
	font-size: 1.8rem;
	line-height: 20px;
	font-weight: bold;
}

.estate-contact p {
	margin-bottom: 3px;
}

.estate-box {
	background: url("../img/stripe_nude.png");
	background-size: 4px;
}

.wrap-s .estate-box {
	width: -webkit-calc(100% + 30px);
	width: calc(100% + 30px);
	margin-left: -15px;
	padding: 15px 15px 25px;
}

.estate-box p {
	line-height: 1.8em;
	margin-bottom: 15px;
}

.estate-box span {
	font-weight: bold;
}

.estate-box figcaption {
	padding: 0.3em 0 0.4em;
	background: #0a4c83;
	font-size: 3.733vw;
	color: #fff;
	text-align: center;
}

/***********************************************************
* 取材・撮影募集 【520】
***********************************************************/
.img-max {
	width: 100%;
	margin-bottom: 15px;
}

.wrap .img-max,
.wrap-s .img-max {
	width: -webkit-calc(100% + 30px);
	width: calc(100% + 30px);
	margin-left: -15px;
}

.media-contact {
	background: #eee;
	padding: 15px;
	margin-bottom: 34px;
}

.media-contact img {
	width: 24px;
	margin-right: 3px;
}

.media-contact ul {
	margin-top: 12px;
}

.media-contact ul li {
	margin-bottom: 10px;
}

.media-contact ul li p {
	font-size: 1.2rem;
	margin-bottom: 5px;
}

.media-contact .number,
.media-contact a.number,
.media-contact .number a {
	font-size: 2.4rem;
	line-height: 24px;
	font-weight: bold;
	margin-bottom: 5px;
}

.media-contact p strong {
	font-size: 1.2rem;
}

/***********************************************************
* 会員募集 【521】
***********************************************************/
/*ケータイ会員*/
.member-mobile {
	margin: 30px auto;
	width: 100%;
}

.member-mobile img {
	display: block;
	vertical-align: top;
}

/*キッズサービス*/
.member-kids {
	margin: 30px auto;
	width: 100%;
}

.member-kids p {
	font-size: 1.2rem;
	padding: 0 15px;
	margin-top: 1em;
}

/***********************************************************
* アレルゲン情報 【522】
***********************************************************/
.allergen-note {
	clear: both;
	padding: 10px 15px 0px;
}

.allergen-note p {
	padding-left: 1em;
	text-indent: -1em;
}

.allergen-box table {
	display: block;
	margin-bottom: 30px;
	width: 100%;
}

.allergen-box table thead {
	display: block;
	float: left;
	overflow-x: scroll;
}

.allergen-box tbody {
	display: block;
	overflow-x: auto;
	white-space: nowrap;
	width: auto;
}

.allergen-box tbody tr {
	display: inline-block;
	margin: 0 -3px;
}

.allergen-box table th,
.allergen-box table td {
	border-bottom: 1px solid #b5b5b5;
	padding: 0 8px;
	position: relative;
	text-align: center;
	vertical-align: middle;
}

.allergen-box table th span,
.allergen-box table td span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.allergen-box table th span,
.allergen-box table td span {
	height: 30px;
}

.allergen-box table th:first-child span,
.allergen-box table td:first-child span {
	height: 60px;
}

.allergen-box table th {
	background: #f3f3f3;
	border-right: 1px solid #b5b5b5;
	display: block;
	height: 30px;
}

.allergen-box table th:first-child {
	height: 60px;
}

.allergen-box table td {
	border-right: 1px solid #b5b5b5;
	display: block;
	font-size: 1.2rem;
	height: 30px;
	line-height: 1.4em;
}

.allergen-box table td:first-child {
	height: 60px;
}

/***********************************************************
* 2018/7/30 add
***********************************************************/
.main-wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column-reverse;
	flex-direction: column-reverse;
}

main.sp-off {
	padding-top: 0px;
}

/*パンくず*/
.breadcrumb {
	border-top: 1px solid #d5d5d5;
	width: 100%;
	padding: 8px 15px 11px;
	letter-spacing: -0.4em;
	display: none;
}

.breadcrumb li {
	position: relative;
	display: inline-block;
	letter-spacing: normal;
	margin-right: 2em;
	font-size: 1.2rem;
	color: #333;
}

.breadcrumb li::after {
	content: "";
	position: absolute;
	top: 50%;
	right: -1.2em;
	width: 5px;
	height: 5px;
	margin-top: -3px;
	border-top: 1px solid #333;
	border-right: 1px solid #333;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.breadcrumb li:last-child::after {
	display: none;
}

.breadcrumb li a {
	font-size: 1.2rem;
	color: #808080;
}

.store-page .breadcrumb {
	position: relative;
	background: #fff;
	z-index: 2;
}

/*各種お問い合わせ*/
.various-box {
	padding: 10px;
	margin-bottom: 20px;
}

.various-box .flex {
	display: block;
}

.various-box .box {
	padding: 10px;
	margin-bottom: 15px;
}

.various-box .box .title {
	font-size: 1.6rem;
	line-height: 1em;
	text-align: center;
	color: #204f81;
	padding-bottom: 1em;
	margin-bottom: 1em;
	border-bottom: 1px solid #204f81;
}

.various-box .box.mail p {
	font-size: 1.3rem;
	line-height: 1.7em;
	margin-bottom: 1em;
}

.various-box .box.mail a {
	position: relative;
	display: block;
	background: #fadb32;
	height: 40px;
	font-size: 1.4rem;
	line-height: 40px;
	font-weight: bold;
	text-align: center;
	color: #204f81;
}

.various-box .box.mail a::after {
	content: "";
	position: absolute;
	right: 15px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid #204f81;
	border-right: 2px solid #204f81;
	-webkit-user-select: none;
	user-select: none;
	pointer-events: none;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: top right;
	transform-origin: top right;
}

.various-box .box.tel p {
	font-size: 1.4rem;
	line-height: 1.6em;
	font-weight: bold;
	text-align: center;
	margin-bottom: 1em;
}

.various-box .box.tel p em,
.various-box .box.tel p a {
	color: #204f81;
	vertical-align: middle;
	display: inline-block;
	font-size: 2.6rem;
	line-height: 1em;
	padding: 5px;
	margin: 0;
}

.various-box .box.tel p span {
	font-size: 1.8rem;
	margin-top: 0.5em;
	display: inline-block;
}

.various-box .box.tel ul li {
	font-size: 1.2rem;
	line-height: 1.5em;
	text-indent: -1em;
	padding-left: 1em;
	color: #636363;
}

.various-box .info {
	background: #f8f8f8;
	padding: 10px;
	color: #636363;
}

.various-box .info p {
	font-size: 1.2rem;
	line-height: 1.666em;
}

.various-box .info a {
	font-size: 1.2rem;
	line-height: 1.666em;
	color: #204f81;
	text-decoration: underline;
}

.various-box .info a:hover {
	text-decoration: none;
}

/***********************************************************
* POPUP CSS
***********************************************************/
.popup {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: .6s;
}

.popup.is-show {
	opacity: 1;
	visibility: visible;
}

.popup-inner {
	position: absolute;
	left: 50%;
	width: 80%;
	max-width: 941px;
	background-color: rgba(0, 0, 0, .6);
	z-index: 2;

	padding: 35px 15px;
	transform: translateX(-50%);
	top: 100px;
}

.popup-inner img {
	width: 100%;
}

.popup-close-btn {
	background: #fff;
	color: #000;
	position: absolute;
	right: 70px;
	top: 30px;
	width: 7em;
	height: 40px;
	line-height: 40px;
	text-align: center;
	cursor: pointer;
	font-size: 1.6rem;
	font-weight: bold;

	right: 15px;
	top: 10px;
	width: 7em;
	height: 25px;
	line-height: 25px;
	font-size: 1.1rem;
}

.black-background {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
	cursor: pointer;
}