@charset "utf-8";

/***********************************************************************************************************************
* 基本構造
***********************************************************************************************************************/
html{
	line-height: 1.6em;
	min-width: 1200px;
}
*{
	-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;
}
.font-en{
	font-family: 'Muli', sans-serif;
	letter-spacing: 2px;
	 font-weight: 800;
}
.font-color{
	color: #ec661b;
}

.wrap{
	position: relative;
	max-width: 1440px;
	margin: 0 auto;
}
.wrap-s{
	max-width: 1200px;
	padding: 0 100px;
	margin: 0 auto;
}
.wrap-s.pg-top{
	padding-top: 30px;
}

/*画像切り替えなど*/
.sp{ display: none; }

main{
	position: relative;
	display: block;
	padding-top: 80px;
	overflow: hidden;
}

/*ヘッダー*/
header{
	position: fixed;
	left: 0px;
	top: 0px;
	width: 100%;
	min-width: 1250px;
	height: 80px;
	z-index: 100;
	display: -webkit-flex;
	display: flex;
	-webkit-box-shadow: 0px 2px 3px rgba(0,0,0,0.1);
	box-shadow: 0px 2px 3px rgba(0,0,0,0.1);
}
header::before{
	background: #fff;
	content: "";
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 80px;
	z-index: 1;
}
	header .logo{
		position: relative;
		width: 80px;
	   	height: 80px;
		z-index: 1;
	}
header .menu{
	padding: 0 18px;
	z-index: 1;
}
	header .menu>li>a{
		position: relative;
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		height: 80px;
		padding: 0 16px;
		font-size: 1.6rem;
		font-weight: bold;
		color: #ec661b;
		-webkit-transition: color .4s ease;
		transition: color .4s ease;
		z-index: 1;
	}
	header .menu>li>a:hover,
	header .menu>li.menu-hover.active>a{
		color: #000;
	}
	header .menu>li.menu-hover.active>a::after{
		content: "";
		position: absolute;
		left: 50%;
		bottom: 12px;
		width: 6px;
		height: 6px;
		margin-left: -3px;
		border-bottom: 2px solid #000;
		border-right: 2px solid #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
/*メニュープルダウン*/
header .menu .box{	
	display: block;
	position: absolute;
	left: 0px;
	top: -300px;
	background: #000;
	width: 100%;
	padding: 40px 0;
	z-index: 0;
	-webkit-transition: all .8s cubic-bezier(0.37, 0.16, 0.12, 1);
	transition: all .8s cubic-bezier(0.37, 0.16, 0.12, 1);
}
header .menu>li.menu-hover.active .box{
	top: 80px;
}
	header .menu .box>div>p,
	header .menu .box>div>a{
		min-width: 260px;
		border-left: 1px solid #ec661b;
		border-right: 1px solid #ec661b;
		font-size: 2.0rem;
		line-height: 1.3em;
		font-weight: bold;
		color: #ec661b;
		text-align: center;
	}
		header .menu .box>div>p span,
		header .menu .box>div>a span{
			position: relative;
			padding-bottom: 20px;
		}
			header .menu .box>div>p span::before,
			header .menu .box>div>a span::before{
				content: "";
				background: #ec661b;
				position: absolute;
				left: 50%;
				bottom: 0px;
				width: 18px;
				height: 18px;
				-webkit-border-radius: 50%;
				border-radius: 50%;
				-webkit-transform: translateX(-50%);
				transform: translateX(-50%);
			}
			header .menu .box>div>p span::after,
			header .menu .box>div>a span::after{
				content: "";
				position: absolute;
				left: 50%;
				bottom: 0px;
				width: 6px;
				height: 6px;
				margin: 0 0 5px -5px;
				border-top: 1px solid #000;
				border-right: 1px solid #000;
				-webkit-transform: rotate(45deg);
				transform: rotate(45deg);
			}
		header .menu .box>div>p i,
		header .menu .box>div>a i{
			display: block;
			font-size: 1.2rem;

		}
	header .menu .box>div>ul{
		padding-left: 4px;
	}
		header .menu .box>div>ul>li{
			width: 184px;
			padding-left: 24px;
		}
		header .menu .box>div>ul>li a{
			color: #fff;
			text-align: center;
			font-weight: bold;
		}
		header .menu .box>div>ul>li p{
			margin-top: 8px;
		}
		header .menu .box>div>ul>li>ul{
			display: none;
		}
header .menu-right{
	position: absolute;
	right: 0px;
	top: 24px;
	width: auto;
	z-index: 1;
}
	header .menu-right .link{
		padding: 0 15px 0 0;
	}
		header .menu-right .link li{
			margin: 0 8px;
		}
		header .menu-right .link a{
			font-size: 1.3rem;
			line-height: 18px;
			white-space: nowrap;
		}
		header .menu-right .link a img{
			margin-right: 5px;
			width: 16px;
		}
		header .menu-right .link a.btn-inquiry{
			background: #000;
			padding: 0 1.2em;
			font-size: 1.2rem;
			line-height: 32px;
			font-weight: bold;
			color: #fff;
			-webkit-border-radius: 16px;
			border-radius: 16px;
		}
	header .menu-right .sns{
		padding-right: 25px;
	}
		header .menu-right .sns li{
			margin-right: 15px;
		}
		header .menu-right .sns a{
			font-size: 2.4rem;
			line-height: 1em;
			color: #ec661b;
		}
@media screen and (min-width:768px) and ( max-width:1300px) {
	header .menu-right .sns{
		display: none;
	}
}

/*フッター*/
footer .follow-us{
	background: #efefef;
	padding: 50px 0;
}
	footer .follow-us strong{
		font-size: 1.6rem;
		line-height: 1em;
	}
	footer .follow-us .font-en{
		font-size: 3.2rem;
		margin-right: 1em;
		line-height: 1em;
	}
	footer .follow-us ul{
		margin-left: 20px;
	}
	footer .follow-us ul li{
		margin: 0 9px;
	}
		footer .follow-us ul li a{
			position: relative;
			display: block;
			background: #ec661b;
			width: 68px;
			height: 68px;
			-webkit-border-radius: 50%;
			border-radius: 50%;
		}
		footer .follow-us ul li i{
			position: absolute;
			left: 50%;
			top: 50%;
			font-size: 3.1rem;
			line-height: 1em;
			color: #fff;
			-webkit-transform: translate(-50%,-50%);
			transform: translate(-50%,-50%);
		}
footer .credit-point ul li{
	width: 50%;
}
	footer .credit-point ul li a{
		position: relative;
		padding: 20px 20px 20px 0;
	}
	footer .credit-point ul li:nth-child(2) a{
		padding: 20px 0px 20px 20px;
	}
	footer .credit-point ul li a::after{
		content: "";
		position: absolute;
		right: 22px;
		top: 50%;
		margin-top: -5px;
		width: 10px;
		height: 10px;
		border-top: 2px solid #ec661b;
		border-right: 2px solid #ec661b;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
		footer .credit-point ul li figure{
			position: relative;
			width: 70px;
			height: 70px;
			border: 1px solid #e3e3e3;
			margin-right: 15px;
		}
			footer .credit-point ul li figure img{
				position: absolute;
				left: 50%;
				top: 50%;
				width: 44px;
				-webkit-transform: translate(-50%,-50%);
				transform: translate(-50%,-50%);
			}
footer .link-area{
	background: #343434;
	padding: 40px 0 25px;
}
	footer .banner-link{
		width: -webkit-calc(100% + 20px);
		width: calc(100% + 20px);
		margin-left: -20px;
		padding-bottom: 10px;
	}
		footer .banner-link li{
			position: relative;
			width: 33.3333%;
			padding: 0 0 20px 20px;
		}
	footer nav ul li{
		position: relative;
		padding: 5px 15px;
	}
		footer nav ul li::after{
			content: "";
			position: absolute;
			right: 0px;
			top: 50%;
			margin-top: -8px;
			width: 1px;
			height: 16px;
			background: #888;
		}
		footer nav ul li a{
			color: #fff;
		}
footer .footer-bottom{
	border-top: 1px solid #505050;
	background: #343434;
	padding: 36px 0;
	color: #fff;
}
	footer .footer-bottom .wrap-s{
		position: relative;
	}
	footer .footer-bottom .logo{
		width: 173px;
		margin-right: 20px;
	}
	footer .footer-bottom .trademark{
		position: absolute;
		right: 100px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}

#pagetop{
	position: fixed;
	right: 20px;
	bottom: 25px;
	width: 60px;
	height: 60px;
	overflow: hidden;
	z-index: 99;
}
	#pagetop a{
		display: block;
		position: absolute;
		left: 0px;
		top: 60px;
		width: 60px;
		height: 60px;
		background: #000;
		-webkit-border-radius: 50%;
		border-radius: 50%;
		-webkit-transition: all .4s ease;
		transition: all .4s ease;
	}
	#pagetop.open a{
		top: 0px;
	}
	#pagetop a::after{
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		width: 10px;
		height: 10px;
		margin-top: -5px;
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: top left;
		transform-origin: top left;
	}

/*パンくずリスト*/
.breadcrumbs{
	position: absolute;
	left: 0px;
	top: 80px;
	width: 100%;
	background: rgba(0,0,0,0.4);
	padding: 0.75em 1.2em;
	z-index: 98;
}
.breadcrumbs li,
.breadcrumbs li>a{
	font-size: 1.2rem;
	color:#fff;
}
.breadcrumbs li{
	margin-right: 1.5em;
	position: relative;
}
	.breadcrumbs li::after{
		content: "";
		position: absolute;
		display: block;
		top:50%;
		right:-1em;
		width: 0.4em;
		height: 0.4em;
		margin-top: 0.1em;
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: top right;
		transform-origin: top right;
	}
	.breadcrumbs li:last-child::after{
		display: none;
	}

/*モーダウィンドウ*/
#modal .iframe{
	width: 700px;
}
	#modal .iframe iframe{
		width: 100%;
		min-height: 600px;
		vertical-align: bottom;
	}
#modal .box{
	padding: 20px 15px 15px;
	background: #fff;
}
	#modal .box .title{
		font-size: 2.8rem;
		line-height: 1.6428em;
		font-weight: bold;
		text-align: center;
		margin-bottom: 10px;
	}
	#modal .box .img{
		width: 100%;
		max-height: 510px;
		overflow: auto;
		-webkit-overflow-scrolling: touch;
	}
	#modal .box .img::-webkit-scrollbar {
		width: 10px;
	}
	/*スクロールバーの軌道*/
	#modal .box .img::-webkit-scrollbar-track {
		border-radius: 10px;
		box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
	}

	/*スクロールバーの動く部分*/
	#modal .box .img::-webkit-scrollbar-thumb {
		background-color: rgba(0, 0, 50, .5);
		border-radius: 10px;
		box-shadow:0 0 0 1px rgba(255, 255, 255, .3);
	}
#modal .close{
	position: absolute;
	top:-19px;
	right:-19px;
	width: 45px;
	height: 45px;
	text-align: center;
	cursor: pointer;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	background: #000;
	opacity: 1;
}



#modal .close::after,
#modal .close::before{
	content:"";
	position: absolute;
	width:18px;
	height: 2px;
	background: #fff;
}

#modal .close::after{
	top: 48%;
	left:32%;
	-webkit-transform:rotate(45deg);
	   -moz-transform:rotate(45deg);
	    -ms-transform:rotate(45deg);
	     -o-transform:rotate(45deg);
	        transform:rotate(45deg);
}

#modal .close::before{
	top: 48%;
	left:32%;
	-webkit-transform:rotate(-45deg);
		   -moz-transform:rotate(-45deg);
		    -ms-transform:rotate(-45deg);
		     -o-transform:rotate(-45deg);
		        transform:rotate(-45deg);
}


#modal .close span{
	display: none;
	position: relative;
}
/*	#modal .close span::before,
	#modal .close span::after{
		content: "";
		position: absolute;
		width: 19px;
		height: 1px;
		background: #fff;
		position: absolute;
	}
	#modal .close span::before{
		left: -20px;
		top: 55%;
		-webkit-transform: translate(-5%,-50%) rotate(45deg);
		transform: translate(-5%,-50%) rotate(45deg);
	}
	#modal .close span::after{
		top: 55%;
		left: -20px;
		-webkit-transform: translate(-5%,-50%) rotate(-45deg);
		transform: translate(-5%,-50%) rotate(-45deg);
	}*/
.lity{
	background: rgba(0,0,0,0.8);
}
.lity-close{
	display: none;
}


/***********************************************************************************************************************
* パーツ
***********************************************************************************************************************/
/*フォーム*/
input,
select,
option,
button,
textarea{
	font-family: 'Noto Sans Japanese','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック','sans-serif';
	-webkit-appearance: none;
	-moz-appearance:none;
	appearance: none;
	border: none;
	cursor: pointer;
}
input:placeholder-shown{color: #000;}
input::-webkit-input-placeholder{color: #000;}
input:-ms-input-placeholder{ color: #000;}
select::-ms-expand{
	display: none;
}
input,
select,
optgroup,
option{
	background: #fff;
	font-size: 1.6rem !important;
	line-height: 2.5em !important;
	font-weight: normal !important;
	width: 100%;
	height: 40px;
	padding: 0 10px;
}
.select-box{
	position: relative;
}
	.select-box::after{
		content: "";
		position: absolute;
		right: 10px;
		top: 50%;
		width: 8px;
		height: 8px;
		margin-top: -2px;
		border-bottom: 2px solid #ec661b;
		border-right: 2px solid #ec661b;
		-webkit-user-select: none;
		user-select: none;
		pointer-events: none;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: bottom right;
		transform-origin: top right;
	}
.select-list{
	width: 100%;
	padding: 0px 0 30px;
}
	.select-list .select-box{
		width: 200px;
		border: 3px solid #ec661b;
	}
	.select-list .select-box select{
		padding: 0 1em;
		font-weight: bold !important;
		color: #ec661b;
	}

.checkbox label{
	position: relative;
	display: inline-block;
	color: #fff;
	cursor: pointer;
}
	.checkbox label input{
		position: absolute;
		left: 0px;
		top: 0px;
		opacity: 0;
	}
	.checkbox label span{
		display: block;
		position: relative;
		padding: 0 24px;
	}
	.checkbox label span::before{
		content: "";
		position: absolute;
		left: 0px;
		top: 2px;
		background: #ffa572;
		width: 18px;
		height: 18px;
		-webkit-border-radius: 3px;
		border-radius: 3px;
	}
	.checkbox label input:checked + span::before{
		background: #fff;
	}
	.checkbox label input:checked + span::after{
		content: "";
		position: absolute;
		left: 2px;
		top: 6px;
		width: 4px;
		height: 7px;
		border-right: 2px solid #ec661b;
		border-bottom: 2px solid #ec661b;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: right bottom;
		transform-origin: right bottom;
	}

.radio-list{
	width: 100%;
}
	.radio-list label{
		line-height: 17px;
		display: inline-block;
		margin: 0 40px 5px 0;
	}
	.radio-list input{display: none;}
	.radio-list span{
		position: relative;
		position: relative;
		display: inline-block;
		padding-left: 1.5em;
		font-size: 1.6rem;
		cursor: pointer;
	}
	.radio-list span::before{
		content: "";
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 12px;
		height: 12px;
		background: #bababa;
		-webkit-border-radius: 50%;
		border-radius: 50%;
		border: 3px solid #f5f5f5;
	}
	.radio-list input:checked + span::before{
		background: #ec661b;
		border: 3px solid #efefef;
	}
	.radio-list a{
		color: #ec661b;
		text-decoration: underline;
		padding-left:1.5em;
	}

/*スライダー*/
.swiper-button-prev,
.swiper-button-next{
	width: 50px;
	height: 50px;
	background: #000;
	border: 2px solid #fff;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.swiper-button-prev::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	margin-left: -5px;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	-webkit-transform-origin: top left;
	transform-origin: top left;
}
.swiper-button-next::after{
	content: "";
	position: absolute;
	top: 50%;
	right: 50%;
	width: 10px;
	height: 10px;
	margin-right: -5px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	-webkit-transform-origin: top right;
	transform-origin: top right;
}

/*タイトル*/
.headline-box{
	text-align: center;
	margin: 0 0 40px;
}
.headline-box.top{
	margin-top: -16px;
}
	.headline-box span{
		display: inline-block;
		background: #000;
		min-width: 360px;
		padding: 22px 25px 24px;
		margin: 0 auto;
		font-size: 2.8rem;
		line-height: 1.285em;
		text-align: center;
		color: #fff;
	}
	.headline-box .font-en{
		display: block;
		font-size: 1.4rem;
		line-height: 1em;
		font-weight: 800;
		color: #ec661b;
		letter-spacing: 3px;
		margin: 1.0em 0 0em;
	}

.headline-border{
	font-size: 3.2rem;
	line-height: 1.4em;
	text-align: center;
	color: #ec661b;
	margin-bottom: 20px;
}
	.headline-border span{
		position: relative;
	}
		.headline-border span::before,
		.headline-border span::after{
			content: "";
			position: absolute;
			top: 50%;
			background: #ec661b;
			width: 40px;
			height: 2px;
			-webkit-transform: translateY(-50%);
			transform: translateY(-50%);
		}
		.headline-border span::before{
			left: -64px;
		}
		.headline-border span::after{
			right: -64px;
		}

.headline-sub{
	font-size: 2.4rem;
}
.headline{
	font-size: 2.8rem;
	line-height: 1.6em;
	font-weight: bold;
	text-align: center;
	padding: 10px 0;
	border-bottom: 1px solid #000;
	margin-bottom: 40px;
}
.headline.border-no{
	border-bottom: none;
	margin-bottom: 10px;
}

/*ボタン*/
.btn-area{
	text-align: center;
}
.btn-c,
.btn-a,
.btn-b,
.btn-d,
.btn-red{
	display: inline-block;
	background: #ec661b;
	height: 50px;
	padding: 0 85px;
	font-size: 1.8rem;
	line-height: 44px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	-webkit-border-radius: 25px;
	border-radius: 25px;
	border: 3px solid #ec661b;
}

.btn-b{
	background: #fff;
	color: #ec661b;
	padding: 0 95px;
}

.btn-c,
.btn-d{
	height: 40px;
	padding: 0 40px;
	font-size: 1.6rem;
	line-height: 34px;
	border: 2px solid #fff;
}
.btn-d.smh{
	border:none;
	width: 100%;
	height: 32px;
	line-height: 30px;
	font-size: 1.35rem;
	padding:0;
}

.btn-d.smh2{
	border:none;
	width: 100%;
	height: 32px;
	line-height: 30px;
	font-size: 1.35rem;
	padding:0;
	max-width: 340px;
}

.btn-d{
	border:none;
	max-width: 240px;
	width: 100%;
	line-height: 38px;
}

.btn-d.bgbk{
	background: #000;
}
.btn-d.bgbk>span{
	color:#fff;
}
.btn-red{
	background: #e81119;
	border: 3px solid #fff;
	color: #fff;
	padding: 0 95px;
}

	.btn-c>span,
	.btn-a>span,
	.btn-b>span,
	.btn-d>span,
	.btn-e>span,
	.btn-red>span{
		position: relative;
		padding-right: 15px;
	}
	.btn-c>span,
	.btn-e>span{
		padding-right: 8px;
	}
	.btn-e>span{
		padding-right: 5px;
		font-size: 1.4rem;
	}
	.btn-d.smh>span{
		padding-right: 5px;
	}
	

	.btn-c>span::after,
	.btn-a>span::after,
	.btn-b>span::after,
	.btn-d>span::after,
	.btn-e>span::after,
	.btn-red>span::after{
		content: "";
		position: absolute;
		right: -10px;
		top: 50%;
		width: 9px;
		height: 9px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: top right;
		transform-origin: top right;
	}

	.btn-b>span::after,
	.btn-e>span::after{
		border-top: 2px solid #ec661b;
		border-right: 2px solid #ec661b;
	}
		.btn-e>span::after{
			width: 6px;
			height: 6px;
		}
	.btn-c>span::after,
	.btn-d>span::after{
		width: 7px;
		height: 7px;
		margin-top: 1px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
	}


/*もっと見る*/
.btn-more{
	display: block;
	background: #ec661b;
	width: 446px;
	height: 50px;
	margin: 0 auto 68px;
	font-size: 1.8rem;
	line-height: 50px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	-webkit-border-radius: 25px;
	border-radius: 25px;
	cursor: pointer;
}
	.btn-more span{
		position: relative;
	}
	.btn-more span::before{
		content: "";
		background: #fff;
		position: absolute;
		left: auto;
		right: -25px;
		bottom: 50%;
		margin-right: 8px;
		width: 2px;
		height: 16px;
		border: none;
		-webkit-transform: rotate(0deg) translate(50%,50%);
		transform: rotate(0deg) translate(50%,50%);
	}
	.btn-more span::after{
		content: "";
		background: #fff;
		position: absolute;
		left: auto;
		right: -25px;
		bottom: 50%;
		width: 16px;
		height: 2px;
		margin-left: 0px;
		border: none;
		-webkit-transform: rotate(0deg) translateY(50%);
		transform: rotate(0deg) translateY(50%);
	}

/*コミックタブ等*/
.tab-list{
	padding: 40px 15px 0;
	border-bottom: 3px solid #ec661b;
}
	.tab-list li{
		-webkit-flex-basis: 100%;
		flex-basis: 100%;
		padding: 0 5px;
	}
	.tab-list li a{
		background: #888;
		display: -webkit-flex;
		display: flex;
		height: 57px;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
		font-size: 1.6rem;
		line-height: 1.2em;
		font-weight: bold;
		color: #fff;
		text-align: center;
		padding: 0 1.5em;
	}
	.tab-list li a.active{
		background: #ec661b;
	}

/*アンカーリンク*/
.anchor-link{
	width: 100%;
	padding: 50px 0 32px;
}
.anchor-link.tab{
	padding: 35px 0 32px;
}
	.anchor-link li{
		width: 25%;
		border-right: 1px solid #e3e3e3;
		margin-bottom: 18px;
	}
	.anchor-link li:nth-child(4n+1){
		border-left: 1px solid #e3e3e3;
	}
	.anchor-link a{
		position: relative;
		display: block;
		background: #fff;
		width: 100%;
		height: 40px;
		padding: 0 2.0em 0 1em;
		font-size: 1.6rem;
		line-height: 2.5em;
		font-weight: bold;
		color: #ec661b;
	}
	.anchor-link li a::after{
		content: "";
		position: absolute;
		right: 15px;
		top: 50%;
		width: 8px;
		height: 8px;
		margin-top: -2px;
		border-bottom: 2px solid #ec661b;
		border-right: 2px solid #ec661b;
		-webkit-user-select: none;
		user-select: none;
		pointer-events: none;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: bottom right;
		transform-origin: top right;
	}


/*下部のリンク*/
.lower-link{
	padding: 50px 0 55px;
	border-top: 1px solid #e3e3e3;
}
	.lower-link li{
		width: 50%;
		padding: 0 10px 0 0;
	}
	.lower-link li:nth-child(2n){
		padding: 0 0 0 10px;
	}
	.lower-link a{
		display: block;
		border: 3px solid #ec661b;
		font-size: 1.8rem;
		line-height: 64px;
		font-weight: bold;
		text-align: center;
		color: #ec661b;
	}
	.lower-link img{
		width: auto;
		height: 25px;
		vertical-align: middle;
		margin-right: 10px;
		margin-top: -2px;
	}

/*下部のリンク*/
.lower-link-four{
	padding:0 0 55px;
}
	.lower-link-four li{
		width: 24%;
		margin-right: 1.3%;
	}
	.lower-link-four li:nth-child(4n){
		margin-right: 0;
	}
	.lower-link-four a{
		display: block;
		border: 3px solid #ec661b;
		font-size: 1.8rem;
		line-height: 64px;
		font-weight: bold;
		text-align: center;
		color: #ec661b;
	}
	.lower-link-four img {
	    width: auto;
	    height: 21px;
	    vertical-align: middle;
	    margin-right: 6px;
	    margin-top: -3px;
	}

.inner-section{
	margin-bottom: 85px;
}

/*エラーアラート*/
.error-msg{
	position: absolute;
	left: 0px;
	top: -10px;
	background: #e32134;
	font-size: 12px;
	line-height: 1.4em;
	padding: 0.5em 1em;;
	white-space: nowrap;
	color: #fff;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	-webkit-user-select: none;
	user-select: none;
	pointer-events: none;
	z-index: 2;
	opacity: 0;
	-webkit-transition: .8s opacity ease;
	transition: .8s opacity ease;
}
.error-msg.active{
	opacity: 1;
}
	.error-msg.bottom{
		top: auto;
		bottom: -10px;
		-webkit-transform: translateY(100%);
		transform: translateY(100%);
	}
.error-msg::after{
	content: "";
	position: absolute;
	left: 10px;
	bottom: -20px;
	width: 0px;
	height: 0px;
	border: 10px solid transparent;
	border-top: 10px solid #e32134;
}
	.error-msg.bottom::after{
		bottom: auto;
		top: -20px;
		border: 10px solid transparent;
		border-bottom: 10px solid #e32134;
	}


/***********************************************************************************************************************
* 00 TOPページ
***********************************************************************************************************************/
/*吹き出し*/
#fukidashi{
	position: fixed;
	bottom: 45px;
	left:30px;
	z-index: 10;
}
#fukidashi a{
	cursor: pointer;
}
#fukidashi-close{
	position:absolute;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	right:-11px;
	top:-11px;
}


/*メインビジュアル*/
.top-visual{
	position: relative;
	width: 100%;
	height: -webkit-calc(100vh - 80px);
	height: calc(100vh - 80px);
	background: #000;
}
.top-visual .swiper-container{
	opacity: 0;
	-webkit-transition: opacity 0.8s ease;
	transition: opacity 0.8s ease;
}
.top-visual .swiper-container.swiper-container-fade{
	opacity: 1;
}
	.top-visual .swiper-slide{
		width: 100%;
		height: -webkit-calc(100vh - 80px);
		height: calc(100vh - 80px);
	}
@media screen and (max-height: 680px){
	.top-visual,
	.top-visual .swiper-slide{
		height: 600px;
	}
}
	.top-visual .msg{
		position: absolute;
		left: 50%;
		top: 43%;
		-webkit-transform: translate(-50%,-50%);
		transform: translate(-50%,-50%);
		color: #fff;
		z-index: 2;
		text-align: center;
		white-space: nowrap;
	}
		.top-visual .msg .title{
			font-size: 4.2rem;
			line-height: 1.5em;
			font-weight: normal;
		}
		.top-visual .msg p{
			font-size: 1.6rem;
			line-height: 1.875em;
			margin-top: 2em;
			-webkit-text-shadow: 1px 1px 10px rgba(0,0,0,0.4),-1px -1px 10px rgba(0,0,0,0.4);
			text-shadow: 1px 1px 10px rgba(0,0,0,0.4),-1px -1px 10px rgba(0,0,0,0.4);
		}

/*検索*/
.search-area{
	background: rgba(0,0,0,0.8);
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	padding: 20px 0 29px;
	z-index: 2;
}
.search-area .wrap-s{
	position: relative;
}

.search-area .balloon{
	position: absolute;
	top: -187px;
	right: 100px;
}

.search-area .balloon img{
  	animation: bounce 4s ease 0.5s infinite normal;
}

/*balloon anime*/
@keyframes bounce {
  from {
  	animation-delay:2s;
    margin-top: 0px;
    
  }
  10% {
    margin-top: 10px;
    
  }
  20% {
    margin-top: 0px;
    
  }
  30% {
    margin-top: 15px;
    
  }
  40% {
    margin-top: 0px;
  }
  to {
    margin-top: 0px;
  }
}

@-webkit-keyframes bounce {
  from {
  	animation-delay:2s;
    margin-top: 0px;
    
  }
  10% {
    margin-top: 20px;
    
  }
  20% {
    margin-top: 0px;
    
  }
  30% {
    margin-top: 30px;
    
  }
  40% {
    margin-top: 0px;
  }
  to {
    margin-top: 0px;
  }
}



	.search-area ul li.shop{
		width: 42%;
		padding-right: 20px;
	}
	.search-area ul li.comic{
		width: 58%;
	}
	.search-area .title{
		line-height: 1em;
		color: #ec661b;
		margin-bottom: 10px;
	}
	.search-area .title img{
		padding: 4px 5px 0 0;
		width: 20px;
	}
	.search-area ul li input{
		width: 240px;
	}
	.search-area ul li.shop .select-box{
		width: -webkit-calc(100% - 100px);
		width: calc(100% - 100px);
	}
	.search-area ul li.comic .select-box{
		width: 140px;
		margin-left: 5px;
	}
	.search-more-button{
		position: relative;
		width: 40px;
		height: 40px;
		margin-left: 10px;
		border: 2px solid #fff;
		font-size: 1.2rem;
		line-height: 36px;
		color: #fff;
		text-align: center;
		cursor: pointer;
		overflow: visible;
	}
	.search-more-button i:last-child{display: none;}
	.search-more-button.active i{display: none;}
	.search-more-button.active i:last-child{display: inline;}
	.search-more-button.active::after{
		content: "";
		position: absolute;
		left: 50%;
		top: 42px;
		width: 0;
		height: 0;
		margin-left: -13px;
		border: 13px solid transparent;
		border-bottom: 13px solid #ec661b;
		z-index: 3;
	}

	.search-area .submit{
		position: relative;
		background: #ec661b;
		width: 40px;
		height: 40px;
		margin-left: 10px;
		overflow: hidden;
		cursor: pointer;
	}
		.search-area .submit img{
			position: absolute;
			left: 50%;
			top: 50%;
			width: 22px;
			-webkit-transform: translate(-50%,-50%);
			transform: translate(-50%,-50%);
		}

.more-search-area{
	display: none;
	background: #ec661b;
	position: absolute;
	left: 0px;
	top: 118px;
	width: 100%;
	padding: 36px; 0;
}
	.more-search-area .box{
		width: 840px;
		margin: 0 auto;
	}
	.more-search-area .checkbox label{
		margin-bottom: 15px;
	}
	.more-search-area .btn-area{
		padding-top: 15px;
	}
	.more-search-area .btn-search{
		width: 320px;
		height: 40px;
		margin-right: 10px;
		background: #fff;
		-webkit-border-radius: 20px;
		border-radius: 20px;
		font-size: 1.6rem;
		font-weight: bold;
		color: #ec661b;
		line-height: 1.2em;
	}
	.more-search-area .btn-search img{width: 18px; margin-right: 5px;}

/*pickup*/
.top-pickup{
	position: relative;
	background: #efefef;
	padding: 30px 0 70px;
	overflow: hidden;
}
	.top-pickup .title{
		font-size: 2.8rem;
		line-height: 1em;
		text-align: center;
		margin-bottom: 25px;
		letter-spacing: 5px;
	}
	.top-pickup .swiper-slide{
		width: 288px;
	}
	.top-pickup .swiper-slide a{
		width: 100%;
	}
	.top-pickup a.arrow{
		position: absolute;
		right: 25px;
		top: 30px;
	}

/*サービス*/
.top-service>.wrap{
	padding-bottom: 50px;
}
.top-service .msg{
	font-size: 1.6rem;
	line-height: 1.75em;
	text-align: center;
	margin-bottom: 2em;
}
.top-service .msg2{
	font-size: 1.8rem;
	line-height: 1.4em;
	text-align: center;
	margin-bottom: 2em;
}
.three-rows-box{
	width: 100%;
	padding: 0 20px 25px;
}
	.three-rows-box li{
		width: 33.3333%;
		padding: 0 10px 20px;
	}
	.three-rows-box .img{
		position: relative;
		width: 100%;
		height: 240px;
		color: #fff;
		margin-bottom: 20px;
	}
		.three-rows-box .bg,
		.three-rows-box .bg2{
			position: absolute;
			left: 0px;
			top: 0px;
			width: 100%;
			height: 240px;
			-webkit-transition: .8s opacity ease;
			transition: .8s opacity ease;
		}
		.three-rows-box .bg2{opacity: 0;}
		.three-rows-box .img:hover .bg2{opacity: 1;}
	.three-rows-box .title{
		position: relative;
		font-size: 1.8rem;
		line-heihgt: 1.4em;
		font-weight: normal;
		text-align: center;
		padding-top: 15px;
	}
		.three-rows-box .title .font-en{
			display: block;
			font-size: 3.4rem;
			line-height: 1.3em;
			font-weight: bold;
			letter-spacing: 5px;
		}
	.three-rows-box p{
		font-size: 1.6rem;
		line-height: 1.5em;
		margin-bottom: 1.5em;
	}
.top-border-line{
	border-top: 1px solid #e3e3e3;
	border-bottom: 1px solid #e3e3e3;
}
	.top-border-line .three-rows-box{
		position: relative;
		padding: 0;
		border-right: 1px solid #e3e3e3;
		border-left: 1px solid #e3e3e3;
	}
		.top-border-line .three-rows-box::before,
		.top-border-line .three-rows-box::after{
			content: "";
			background: #e3e3e3;
			position: absolute;
			left: 33.3333%;
			top: 0px;
			width: 1px;
			height: 100%;
		}
		.top-border-line .three-rows-box::after{
			left: 66.6666%;
		}
	.top-border-line .three-rows-box li{
		padding: 35px 30px 45px;
	}
		.top-border-line .three-rows-box .headline-border{
			margin-bottom: 40px;
		}
		.top-border-line .three-rows-box img{
			width: 100%;
			margin-bottom: 20px;
		}
		.top-border-line .three-rows-box figure{
			position: relative;
		}
		.top-border-line .three-rows-box figure img:nth-child(n+2){
			position: absolute;
			left: 0px;
			top: 0px;
			opacity: 0;
			-webkit-transition: opacity .8s ease;
			transition: opacity .8s ease;
			opacity: 0;
		}
		.top-border-line .three-rows-box figure:hover img:nth-child(n+2){opacity: 1;}


/***********************************************************************************************************************
* 01 はじめての方はこちら
***********************************************************************************************************************/
.guide-top-area{
	padding: 65px 0 50px;
	background: #ec661b;
}
	.guide-top-area .inner{
		position: relative;
		text-align: right;
	}
	.guide-top-area .inner .text-block{
		position: relative;
		width: 540px;
		height: auto;
		background:#fff;
		padding: 37px 40px 40px;
		color:#ec661b;
		text-align: center;
		margin-top: -195px;
	}

		.guide-top-area .inner .text-block .movie-title{
			border-bottom: 1px solid #ec661b;
			padding-bottom: 30px;
		}
			.guide-top-area .inner .text-block .movie-title>em{
				font-size: 3.6rem;
				vertical-align: middle;
			}
			.guide-top-area .inner .text-block .movie-title>span{
				font-size: 1.6rem;
				vertical-align: middle;
			}

				.guide-top-area .inner .text-block p{
					padding: 25px 0 30px;
				}

/*ムービーボタン*/
.guide-top-area .btn-b{
	width: 100%;
	max-width: 424px;
	color:#fff;
	height: 51px;
	line-height: 43px;
	border:3px solid #ec661b;
	background: #ec661b;
}

.guide-top-area .btn-b>span{
	padding-right: 10px;
}
.guide-top-area .btn-b>span::after{
	margin-top: 2px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

.comic-guide{
	background:url("/guide/images/bk.jpg") no-repeat;
	background-size:100% auto;
	padding-bottom: 50px;
 }
.howto-enjoy-list{}
.howto-enjoy-list>li{
	width: 50%;
	margin: 30px 0;
	padding: 0 20px;
	text-align: center;
}

.howto-enjoy-list>li .img-box{
	margin-bottom: 20px;
}
	.howto-enjoy-list>li .img-box img{
		-webkit-border-radius: 50%;
		border-radius: 50%;
	}

.howto-enjoy-list>li .title{
	font-size: 2.4rem;
	color:#ec661b;
	margin-bottom: 20px;
	white-space: nowrap;
}
.howto-enjoy-list>li a .title{
	position: relative;
	display: inline-block;
}
.howto-enjoy-list>li a .title::after{
	content: "";
	position: absolute;
	right: -20px;
	top: 50%;
	margin-top: -5px;
	width: 10px;
	height: 10px;
	border-top: 2px solid #ec661b;
	border-right: 2px solid #ec661b;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.guide-inter-area {
    padding: 50px 0;
    background: #efefef;

}

.guide-inter-area .inter-area-block .btn-d {
    max-width: 446px;
    width: 100%;
    height: 50px;
    line-height: 50px;
    font-size: 1.818rem;
}

.guide-inter-area .inter-area-block{
	padding: 0 20px;
}
.guide-inter-area .inter-area-block>.box{
	width: 50%;
	text-align: center;
	padding: 0 5px;
}
.guide-inter-area .inter-area-block>.box.under{
	padding: 0 20px;
}
.guide-inter-area .inter-area-block>.box.under:nth-child(2n){
}
.guide-inter-area .inter-area-block>.box.under a{
	color: #ec661b;
	font-size: 1.6rem;
	text-decoration: underline;
}
.guide-inter-area .inter-area-block>.box.under a:hover{
	text-decoration: none;
}

.guide-img-text{
	margin: 87px 0;
}
.guide-img-text.mgn{
	margin: 60px 0;
}

.guide-img-text>.img-box{
	width: 53%;
}

.guide-img-text>.text-box{
	width: 48%;
	padding-left:28px;
}
.guide-img-text.revs>.text-box {
    padding-left:0px;
    padding-right: 28px;
}
.guide-img-text .title{
	font-size: 2.4rem;
	color:#ec661b;
	margin-bottom: 20px;
}

.guide-img-text>.text-box p.mgn{
	margin-bottom: 1.5em;
}

.guide-bottom-area .gb-btn-area{
	text-align: left;
	margin-top: 20px;
}

/***********************************************************************************************************************
* 01-01 快活クラブとは
***********************************************************************************************************************/
.headline-guide{
	font-size: 3.6rem;
	text-align: center;
	color:#ec661b;
}
.other-area{
	padding: 100px 0 0;
}

/***********************************************************************************************************************
* 01-02 ご利用方法
***********************************************************************************************************************/
.headline-howto {
    font-size: 2.8rem;
    text-align: center;
    color: #000;
    padding-bottom: 48px;
}

.howto{
	padding: 60px 0;
}
.step-block{
	position: relative;
	border-bottom:1px solid #ec661b;
	padding:50px 0 50px;
	margin: 10px 0 0;
}
.step-block.top{
	border-top:1px solid #ec661b;
}
.step-block::after{
	content:"";
	left:50%;
	margin-left: -42px;
	bottom:-36px;
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 36px 42px 0 42px;
	border-color: #ec661b transparent transparent transparent;
}
.step-block:last-child::after{
	display: none;
}

.step-block .text-box{
	width: 56%;
	padding-left: 22px;
}
.step-block .img-box{
	width: 44%;
	padding:0 22px;
}
.step-block .text-box .title {
	position: relative;
	padding-left: 96px;
	font-size: 2.4rem;
	color:#ec661b;
	margin-bottom: 15px;
}
.step-block .text-box .title>span {
	position: absolute;
	display: block;
	left:2px;
	top: 9.2%;
	width: 84px;
    padding: 0.93% 0 0.93%;
    line-height: 1em;
	-webkit-border-radius: 15px;
	border-radius: 15px;
	font-size: 1.8rem;
	color:#ec661b;
	border:2px solid #ec661b;
	background: #fff;
	text-align: center;
	letter-spacing: normal;
}
.step-block .text-box p {
	margin-bottom: 1em;
}

.step-block .text-box p a{
    color: #ec661b;
    text-decoration: underline;
}

.step-block .text-box p a:hover{
    text-decoration: none;
}

.child-border-head{
	text-align: center;
	border-bottom:1px solid #000;
	margin: 40px 0;
}
.child-border-head .title{
	font-size: 2.8rem;
	padding: 20px 0;
}

.figure-list-four>li{
	position: relative;
	width: 23%;
	margin-right: 2%;
	margin-bottom: 95px;
	text-align: center;
}
.figure-list-four>li:nth-child(4n){
	margin-right: 0;
}
.figure-list-four.jc-cent-pc>li,
.figure-list-four.jc-cent-pc>li:nth-child(4n){
	margin-right: 1%;
	margin-left: 1%;
}

.figure-list-four>li .title{
	font-size: 2rem;
	line-height: 1.2em;
	padding: 15px 0 12px;
	white-space: nowrap;
}
.figure-list-four>li p{
	margin-bottom: 2em;
	text-align: left;
}

.figure-list-four>li .btn-area{
	width: 100%;
	position: absolute;
	left: 0px;
	bottom: -40px;
}

/***********************************************************************************************************************
* 02 店舗検索・料金
***********************************************************************************************************************/
	/*フリーワード検索*/
	.tline{
		border-top:3px solid #000;
	}
	.freeword-section{
		margin:  0 0 47px 0;
	}

	.freeword-section .freeword{
		display: block;
		max-width: 600px !important;
		height: 55px !important;
		background: #efefef !important;
		margin:0 auto;
		cursor:text;
	}

	input.freeword:placeholder-shown {
	    color:#888888;
	    text-indent: 1em;
	}
	input.freeword::-webkit-input-placeholder {
	    text-indent: 1em;
	    color:#888888; 
	}
	.search-submit-area{
		margin:58px 0;
		text-align: center;
	}
		.search-submit-area .btn-d{
			max-width: 446px;
			height: 50px;
			line-height: 50px;
			font-size: 1.818rem;
		}
.area-section{
	margin-bottom: 60px;
}
	.area-section .area-nav{
		margin: 20px 0;

	}
	.area-section .area-nav>li{
		width: 19.2%;
		margin-right: 1%;
		margin-bottom: 1%;
	}
	.area-section .area-nav>li>a {
	    display: block;
	    border: 3px solid #ec661b;
	    background: #fff;
	    height: 55px;
	    line-height: 50px;
	    text-align: center;
	    color: #ec661b;
	    box-sizing: border-box;
	    font-size: 1.6rem;
	}
		.area-section .area-nav>li>a.active{
			border:3px solid #000000;
			color:#000;
		}

	.area-section .area-nav>li:nth-child(5n){
		margin-right: 0;
	}

	.conditions-section  .check-area1,
	.conditions-section  .check-area2{
		background: #efefef;
		padding: 25px 20px;
	}

	.conditions-section  .check-area1,
	.conditions-section  .check-area2{
		background: #efefef;
		margin: 10px 0 50px;
		padding: 25px 20px 10px;
	}

	.area-section .check-tab .item{
		display: none;
		background: #efefef;
		padding: 25px 20px;
	}
	.area-section .check-list>li{
		margin-right: 25px;
	}
	.conditions-section  .check-list>li{
		width: 230px;
		margin-bottom: 18px;
	}
	.conditions-section .check-area2  .large-cate{
		margin-top: 5px;
		margin-bottom: 10px;
	}
	.conditions-section .check-area2  .check-list>li{
		width: 230px;
		padding-left: 20px;
	}

.large-cate .check-group.mgn{
	margin-bottom:15px;
}
.large-cate .check-group .check-attention{
	margin-top: 10px;
	font-size: 1.2rem;
	font-weight: bold;
}


/***********************************************************************************************************************
* 02 店舗詳細
***********************************************************************************************************************/
/*内部リンク*/


.page-area-nav-w{
	border-top: 1px solid #d1d1d1;
	width: 100%;
}

.page-area-nav{
	position: relative;

}

.page-area-nav>li{
	width: 33.33%;
	border-right: 1px solid #d1d1d1;
}
.page-area-nav>li:nth-child(1){
	border-left: 1px solid #d1d1d1;
}


	.page-area-nav>li::after{
		display: none;
	}
	.page-area-nav>li>a{
		width: 100%;
		position: relative;
		display: block;
		color:#ec661b;
		text-align: center;
		line-height: 1em;
		font-size: 1.8rem;
		padding: 27px 0 38px;
		text-decoration: none;
	}

		.page-area-nav>li>a::after {
		    content: "";
		    position: absolute;
		    top: 50%;
		    margin-top: 19px;
		    margin-left: -7px;
		    left: 50%;
		    width: 8px;
		    height: 8px;
		    border-left: 2px solid #ec661b;
		    border-bottom: 2px solid #ec661b;
		    -webkit-transform: translate(0, -50%) rotate(-45deg);
		    transform: translate(0, -50%) rotate(-45deg);
		    transform-origin: 0 0;
		}


.shop-detail-visual,
.shop-detail-visual .bg,
.shop-detail-visual .bg .visual,
.shop-detail-visual .bg iframe{
	position: relative;
	width: 100%;
	height: -webkit-calc(100vh - 198px);
	height: calc(100vh - 198px);
}
	.shop-detail-visual .bg .visual,
	.shop-detail-visual .bg iframe{
		width: 50%;
	}

@media screen and (max-height: 640px){
	.shop-detail-visual,
	.shop-detail-visual .bg,
	.shop-detail-visual .bg .visual,
	.shop-detail-visual .bg iframe{
		height: 442px;
	}
}

.shop-detail-info{
	position: absolute;
	right: 0px;
	bottom: 25px;
	width: 500px;
	color: #fff;
}
	.shop-detail-info .new{
		font-size: 2.0rem;
		line-height: 1.5em;
		color: #ec661b;
		margin-bottom: 0.3em;
		margin-right: 0.3em;
	}
	.shop-detail-info .title{
		font-size: 4.0rem;
		line-height: 1.2em;
		margin-bottom: 0.4em;
		padding-right: 0.5em;
	}
	.shop-detail-info .floor{
		font-size: 1.3rem;
		line-height: 28px;
		color: #fff;
		padding: 0 2.5em;
		border: 1px solid #fff;
		-webkit-border-radius: 15px;
		border-radius: 15px;
		margin-bottom: 1.5em;
	}
	.shop-detail-info ul li{
		padding-bottom: 0.68em;
	}
		.shop-detail-info ul li p{
			font-size: 1.6rem;
			line-height: 1.6em;
		}
		.shop-detail-info ul li p:nth-child(2){
			padding: 0 1.2em;
		}
		.shop-detail-info ul li p strong{
			white-space: nowrap;
		}
	.shop-detail-info .map{
		background: #ec661b;
		font-size: 1.2rem;
		line-height: 22px;
		color: #fff;
		padding: 0 1em;
		text-align: center;
		-webkit-border-radius: 11px;
		border-radius: 11px;
		margin: 0.3em 0 0 0.7em;
	}

.search-area.detail{
	position: relative;
	background: #000;
}
	.search-area.detail ul li.comic{
		width: 100%;
	}
	.search-area.detail ul li input{
		width: 520px;
	}
	.search-area.detail ul li.comic .select-box{
		width: 210px;
		margin-left: 5px;
	}

.search-area ul li a{
	display: block;
	background: #259831;
	width: 446px;
	height: 50px;
	margin: 10px auto 1px;
	font-size: 1.8rem;
	line-height: 50px;
	font-weight: bold;
	text-align: center;
	color: #fff;
	-webkit-border-radius: 25px;
	border-radius: 25px;
	cursor: pointer;
}
.search-area ul li a img{
	width: 20px;
	vertical-align: middle;
	margin: 0 10px 2px 0;
}

.headline-shop{
	text-align: center;
	margin: 0 0 40px;
	border-top: 3px solid #ec661b;
}
	.headline-shop span{
		display: inline-block;
		background: #ec661b;
		min-width: 360px;
		padding: 22px 25px 24px;
		margin: 0 auto;
		font-size: 2.8rem;
		line-height: 1.285em;
		text-align: center;
		color: #fff;
	}
	.headline-shop .font-en{
		display: block;
		font-size: 1.4rem;
		line-height: 1em;
		font-weight: 800;
		color: #000;
		letter-spacing: 2px;
		margin: 1.3em 0 0;
	}

.shop-detail-box{
	padding-bottom: 60px;
}
	.shop-detail-box .info-price{
		font-size: 2.4rem;
		line-height: 1.8em;
		text-align: center;
		margin-bottom: 0.2em;
	}
	.shop-detail-box .good-value {
	    padding: 20px;
	    border: 2px dashed #ec661b;
	    text-align: center;
	    margin-top: 35px;
	    margin-bottom: 35px;
	    overflow: hidden;
		display: none;
	}
	.shop-detail-box .good-value  li {
    margin-left: 15px;
}
		.shop-detail-box .good-value .title{
			font-size: 2.0rem;
			line-height: 1.6em;
			color: #ec661b;
			margin-bottom: 0.4em;
		}
		.shop-detail-box .good-value p{
			margin-bottom: 0.4em;
		}
		.shop-detail-box .good-value p strong{
			font-size: 1.6rem;
		}

	.shop-detail-box .price-img{
		/*margin-bottom: 65px;*/
		text-align: center;
	}

.shop-banner{
	width: -webkit-calc(100% + 20px);
	width: calc(100% + 20px);
	margin-left: -20px;
	margin-top: 30px;
}
	.shop-banner li{
		width: 33.3333%;
		padding: 0 0 20px 20px;
	}
	.shop-banner li a{
		display: block;
	}

.icon-explain{
	position: relative;
	margin-bottom: 37px;
}
	.icon-explain a{
		position: absolute;
		right: 0px;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
.icon-explain p{
	position: relative;
	padding: 0 2em 0 28px;
}
	.icon-explain p::after{
		content: "";
		background: #000;
		position: absolute;
		left: 0px;
		top: 50%;
		width: 18px;
		height: 18px;
		-webkit-transform: translateY(-48%);
		transform: translateY(-48%);
		-webkit-border-radius: 3px;
		border-radius: 3px;
	}
.icon-explain p.service{ color: #ec661b;}
.icon-explain p.service::after{ background: #ec661b;}
.icon-explain p.room{ color: #5fb943;}
.icon-explain p.room::after{ background: #5fb943;}
.icon-explain p.amusement{ color: #35a0d8;}
.icon-explain p.amusement::after{ background: #35a0d8;}

.service-icon-list{
	width: -webkit-calc(100% + 22px);
	width: calc(100% + 22px);
	margin-left: -20px;
}
	.service-icon-list li{
		position: relative;
		width: 80px;
		margin: 0 0 20px 22px;
	}
	.service-icon-list li span{
		position: relative;
		display: block;
		width: 80px;
		height: 80px;
		-webkit-border-radius: 10px;
		border-radius: 10px;
	}
	.service-icon-list li.service span{background: #fbf6e1;}
	.service-icon-list li.room span{background: #e9f5e3;}
	.service-icon-list li.amusement span{background: #eaf1fa;}
		.service-icon-list li img{
			position: absolute;
			left: 50%;
			top: 50%;
			width: 60%;
			-webkit-transform: translate(-50%,-50%);
			transform: translate(-50%,-50%);
		}
	.service-icon-list li p{
		font-size: 1.1rem;
		line-height: 1.4em;
		text-align: center;
		margin-top: 0.5em;
		letter-spacing: -1px;
	}
	.service-icon-list li.service p{color: #df642a;}
	.service-icon-list li.room p{color: #70b74c;}
	.service-icon-list li.amusement p{color: #52a2d5;}

.shop-information{
	padding-bottom: 25px;
}
	.shop-information li{
		margin-bottom: 5px;
	}
	.shop-information li a{
		display: block;
		position: relative;
		background: #efefef;
		font-size: 1.6rem;
		line-height: 1.4em;
		font-weight: bold;
		color: #ec661b;
		padding: 1em 2em 1em 1.4em;
	}
	.shop-information li a::after{
		content: "";
		position: absolute;
		right: 22px;
		top: 50%;
		margin-top: -5px;
		width: 10px;
		height: 10px;
		border-top: 2px solid #ec661b;
		border-right: 2px solid #ec661b;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
.shop-article{
	width: -webkit-calc(100% + 22px);
	width: calc(100% + 22px);
	margin-left: -20px;
	padding-bottom: 10px;
}
	.shop-article article{
		width: 33.3333%;
		padding: 0 0 60px 20px;
	}
		.shop-article article a{
			position: relative;
			display: block;
			overflow: hidden;
		}
		.shop-article article img{
			margin-bottom: 15px;
		}
		.shop-article article .info{
			position: relative;
		}
		.shop-article article time{
			line-height: 1em;
			font-weight: bold;
			color: #888;
		}
		.shop-article article p{
			font-size: 1.6rem;
			line-height: 1.5em;
		}
		.shop-article article p.flex{
			position: absolute;
			right: 0px;
			top: 0px;
			width: auto;
			padding: 0 0.5em 0.1em;
			height: 20px;
			z-index: 2;
		}
		.shop-article article p.flex.info{background: #e6a800;}
		.shop-article article p.flex.comic{background: #e94040;}
		.shop-article article p.flex.game{background: #5b39b1;}
		.shop-article article p.flex.movie{background: #20c579;}
		.shop-article article p.flex.cinema{background: #20c579;}
		.shop-article article p.flex.amusement{background: #0bb5d4;}
		.shop-article article p.flex.menu{background: #40b21d;}
		.shop-article article p.flex.vr{background: #c962c1;}
		.shop-article article p.flex.other{background: #888888;}
		.shop-article article p.flex span{
			display: block;
			width: 100%;
			font-size: 1.1rem;
			line-height: 1.2727em;
			font-weight: bold;
			text-align: center;
			color: #fff;
		}

.information-list{
	position: relative;
}
	.information-list .title{
		font-size: 2.4rem;
		line-height: 1em;
		margin-bottom: 18px;
	}
	.information-list>a{
		position: absolute;
		right: 0px;
		top: 5px;
	}
	.information-list article{
		width: 100%;
		border-bottom: 1px solid #e3e3e3;
	}
	.information-list article:first-child{
		border-top: 1px solid #e3e3e3;
	}
	.information-list article a{
		display: block;
		padding: 1em 0;
	}
	.information-list article time{
		color: #888;
		float: left;
		font-weight: bold;
	}
	.information-list article p{
		padding-left: 6em;
	}

/*パック料金説明*/
.price-no-view-area{
	display: none;
}
.price-img + .price-no-view-area,
.price-img + .price-view-area{
	margin-top: 30px;
}
.price-explan{
	border: 3px solid #963804;
	border-bottom: 1px solid #963804;
	text-align: center;
}
	.price-explan .box{
		background: #963804;
		padding: 24px 0;
	}
	.price-explan .user{
		background: #fff;
		display: inline-block;
		margin: 0 auto 5px;
		border: 3px solid #fff;
		border-radius: 22px;
		overflow: hidden;
	}
	.price-explan .user div{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.price-explan .user p:nth-child(1){
		font-size: 2.2rem;
		line-height: 36px;
		font-weight: bold;
		color: #963804;
		padding: 0 1em;
	}
	.price-explan .user p:nth-child(2){
		background: #963804;
		padding: 0 1em 0 0.5em;
		font-size: 1.8rem;
		line-height: 36px;
		color: #fff;
		letter-spacing: 1px;
	}
	.price-explan .user p:nth-child(2) span{
		font-size: 2.2rem;
		color: #ffd970;
	}
	.price-explan .pack{
		font-size: 4.8rem;
		line-height: 1em;
		color: #fff;
	}
.price-explan .price{
	padding: 1em 0;
}
	.price-explan .price p{
		font-size: 1.8rem;
	}
	.price-explan .price strong{
		font-size: 4.0rem;
		color: #ec661b;
		display: block;
		line-height: 1em;
	}
	.price-explan .price strong span{
		font-size: 5.5rem;
	}

/*料金表*/
.price-view{
	width: 100%;
}
.price-view .title-line,
.price-view .price-line{
	display: flex;
	min-height: 94px;
}
.price-view .title-line>div,
.price-view .price-line>div{
	width: 25%;
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #963804;
	border-bottom: 2px solid #963804;
	border-top: 0;
	background: #ec661b;
	font-weight: bold;
	color: #fff;
	padding: 15px;
	min-height: 94px;
}
.price-view .title-line>div{
	border-top: 2px solid #963804;
}

.price-view.line2 .title-line>div:nth-child(n+2),
.price-view.line2 .price-line>div:nth-child(n+2){
	width: 75%;
}
.price-view.line3 .title-line>div:nth-child(n+2),
.price-view.line3 .price-line>div:nth-child(n+2){
	width: 37.5%;
}
.price-view .title-line>div:first-child{ border-left: 2px solid #963804; min-width: 250px;}
.price-view .title-line>div:last-child{ border-right: 2px solid #963804;}

.price-view .price-line>div{
	background: #f7f2da;
	color: #000;
}
.price-view .price-line:nth-child(2)>div:nth-child(n+2),
.price-view .price-line:nth-child(3)>div:nth-child(n+2){
	background: #f4dab7;
}
.price-view .price-line>div:first-child{ border-left: 2px solid #963804; min-width: 250px; background: #ec661b; color: #fff; padding: 15px 0;}
.price-view .price-line>div:last-child{ border-right: 2px solid #963804;}

/*price text*/
.price-view .title-line>div>div,
.price-view .price-line>div>div{
	width: 100%;
	font-size: 2.5rem;
	line-height: 1.2em;
	text-align: center;
}
.price-view .price-line .time{
	font-size: 4.6rem;
	line-height: 1em;
}
.price-view .price-line .night{
	font-size: 1.2rem;
	line-height: 1.333em;
	font-weight: normal;
	display: block;
	padding: 5px 0;
}
.price-view .price-line .price{
	font-size: 2.0rem;
	color: #963804;
	line-height: 1em;
}
.price-view .price-line .price em{
	font-size: 4.6rem;
	line-height: 1em;
}
.price-view .price-line .tax{
	font-size: 1.2rem;
	line-height: 1em;
}

.price-attention{
	padding: 1em 0;
}
	.price-attention li{
		padding-left: 1em;
		text-indent: -1em;
		line-height: 1.42em;
	}
.price-view-attention{
	padding: 20px;
	border: 2px dashed #ec661b;
	margin-top: 35px;
	margin-bottom: 35px;
	overflow: hidden;
	font-size: 1.4rem;
	color: #54311c;
}

/*フッターバナー*/
#fixed-bnr{
	background: rgba(0,0,0,0.8);
	padding: 30px 0;
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 10;
	width: 100%;
}
#fixed-bnr a{
	cursor: pointer;
}
#fixed-bnr-close{
	background: url("/images/close02.png") no-repeat 0 0;
	background-size: 60px 60px;
	position:absolute;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	right:-30px;
	top:-30px;
	height: 60px;
    width: 60px;
    text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}
#fixed-bnr > div{
	display: table;
	margin: 0 auto;
	position: relative;
}
#fixed-bnr-img{
	text-align: center;
}
#fixed-bnr-img img{
	max-width: 1000px;
}
/***********************************************************************************************************************
* 02 検索結果
***********************************************************************************************************************/

.lower-visual{
	position: relative;
	padding-top: 300px;
}
	.lower-visual .bgi{
		position: absolute;
		top:0;
		left:0;
		height: 100%;
		width: 100%;
	}
	.lower-visual .title{
		position: absolute;
		width: 100%;
		margin-top: 1%;
		top: 50%;
		left: 0;
		image-rendering: pixelated;
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
		font-size: 3.6rem;
		font-weight: normal;
		color:#fff;
		text-align: center;
	}

.result-area{
	padding-bottom:70px;
	padding-top: 8px;
}
	.result-head .word{
		position: relative;
		background:#efefef;
		padding:21px 260px 21px 20px;
		font-size: 1.8rem;
	}
		.result-head .word>span{
			font-weight: bold;

		}
		.result-head .word>sub{
			font-size: 1.4rem;
		}

			.result-head .word .btn-d{
				position: absolute;
				right:19px;
				top:20px;
			}

			.result-head .hit{
				text-align: center;
				position: relative;
				margin: 35px 0;
			}
				.result-head .hit em{
					color: #ec661b;
					font-size: 3.6rem;
					font-weight: bold;

				}
				.result-head .hit p{
					position: relative;
					font-size: 1.8rem;
				}
				.result-head .hit .btn-e{
					position: absolute;
					right:20px;
					top:5px;
					font-size: 1.8rem;
				}

	/*検索出力エリア*/

	.search-list-out .slo-group{
		margin-top:60px;
	}
		.search-list-out .slo-group .slo-head{
			text-align: center;
			font-size: 2.8rem;
			margin: 10px 0;
		}

	.search-list-out .slo-group .slo-block{
		border-top:1px solid #000000;
	}

	.search-list-out .slo-group .slo-block:last-child{
		border-bottom:1px solid #000000;
	}
	.search-list-out .slo-group .slo-block>.text-box{
		width:53%;
		padding: 20px;
	}

		.search-list-out .slo-group .slo-block>.text-box .title{
			position: relative;
			font-size: 2.6rem;
			line-height: 1.2em;
			padding-right: 80px;
			display: inline-block;
			margin:20px 0;
		}
		
			.search-list-out .slo-group .slo-block.new>.text-box .title::after{
				content:"NEW";
				position: absolute;
				display: block;
				width: 47px;
				height: 24px;
				font-size: 1.2rem;
				line-height: 24px;
				top:4px;
				right:20px;
				color: #fff;
				background: #e31f35;
				font-weight: bold;
				text-align: center;
			}
			/* add 2019.03.06 */
			.search-list-out .slo-group .slo-block.renew>.text-box .title::after{
				content:"Renewal";
				position: absolute;
				display: block;
				width: 70px;
				height: 24px;
				font-size: 1.2rem;
				line-height: 24px;
				top:4px;
				right:0;
				color: #fff;
				background: #e6a800;
				font-weight: bold;
				text-align: center;
			}

		.search-list-out .slo-group .slo-block>.text-box .btn-area{
			margin:30px 0 0;
		}

		.search-list-out .slo-group .slo-block>.text-box .btn-area .btn-d:nth-child(1){
			margin-right: 12px;
		}

		.search-list-out .slo-group .map{
			background: #fff ;
			font-size: 1.2rem;
			line-height: 19px;
			color: #ec661b;
			padding: 0 1em;
			text-align: center;
			-webkit-border-radius:13px;
			border-radius:13px;
			margin: -0.1em 0 0 0.7em;
			border:2px solid #ec661b;
		}


	.search-list-out .slo-group .slo-block>.figure-box{
		width:47%;
		padding:29px 20px 20px;
	}

	.search-list-out  .service-icon-list {
	    width: -webkit-calc(100% + 10px);
	    width: calc(100% + 10px);
	    margin-left: -10px;
	}


    .search-list-out .service-icon-list>li{
		width: 34px;
	    margin: 0 0 10px 10px;
	}
    .search-list-out .service-icon-list>li span{
		width: 34px;
		height: 34px;
		-webkit-border-radius: 4px;
		border-radius: 4px;
	}

.html-format-wrap{
	border-top: 3px solid #ec661b;
}

.html-format{
	position: relative;
	max-width: 1000px;
	margin: 40px auto;
}
	.html-format img{
		max-width: 100%;
		margin-bottom: 2em;
	}
	.html-format h1{
		font-size: 2.8rem;
		line-height: 1.428em;
		font-weight: bold;
		text-align: center;
		padding: 15px 0;
		border-bottom: 1px solid #000;
		margin-bottom: 1em;
	}
	.html-format h2{
		font-size: 2.4rem;
		line-height: 1.6em;
		margin-bottom: 0.2em;
	}
	.html-format h3{
		font-size: 1.8rem;
		line-height: 1.6em;
		margin-bottom: 0.5em;
	}
	.html-format p{
		font-size: 1.4rem;
		line-height: 1.714em;
		margin-bottom: 2em;
	}
	.html-format b,
	.html-format em,
	.html-format strong{
		color: #f30a0a;
	}
	.html-format a{
		color: #ec661b;
		text-decoration: underline;
	}
	.html-format a:hover{
		text-decoration: none;
	}
	
	.html-format ul{
		margin-bottom: 2em;
	}
		.html-format ul>li{
			position: relative;
			padding-left: 1em;
			font-size: 1.4rem;
			line-height: 1.714em;
		}
		.html-format ul>li::after{
			content: "・";
			position: absolute;
			top: 0;
			left: 0;
		}
		.html-format ul.asta>li::after{
			content: "※";
		}

	.html-format h2,
	.html-format h3,
	.html-format p,
	.html-format ul{
		padding: 0 20px;
	}
	.html-format img:last-child,
	.html-format h1:last-child,
	.html-format h2:last-child,
	.html-format h3:last-child,
	.html-format p:last-child,
	.html-format ul:last-child{
		margin-bottom: 0px;
	}

/***********************************************************************************************************************
* 03 快活サービス
***********************************************************************************************************************/
.enjoy-list{
	width: -webkit-calc(100% + 20px);
	width: calc(100% + 20px);
	margin-left: -20px;
	padding-bottom: 20px;
}
	.enjoy-list li{
		position: relative;
		width: 33.3333%;
		padding-left: 20px;
		text-align: center;
		padding-bottom: 95px;
	}
	.enjoy-list li .title{
		font-size: 2.4rem;
		line-height: 1.4em;
		margin: 15px 0 10px;
	}
	.enjoy-list li p{
		line-height: 1.7em;
		margin-bottom: 20px;
		text-align: left;
	}
	.enjoy-list li .btn-area{
		position: absolute;
		left: 0px;
		bottom: 55px;
		width: 100%;
		padding-left: 20px;
	}

/***********************************************************************************************************************
* 03 コミック
***********************************************************************************************************************/
.page-comic .btn-area{
	text-align: right;
	padding: 35px 20px;
}
	.page-comic .btn-area .attention{
		position:relative;
		right:50%;
		font-size: 1.2rem;
		color:#888;
	}
	
	.page-comic .btn-area .btn-c{
		border: none;
		height: 32px;
		font-size: 1.4rem;
		line-height: 30px;
		padding: 0 25px;
	}

/*一覧*/
.comic-list{
	border-top: 1px solid #e3e3e3;
	padding-top: 50px;
}
.comic-list article{
	position: relative;
	width: 229px;
	margin-right: 28px;
	padding-bottom: 65px;
}
.comic-list article:nth-child(4n){
	margin-right: 0px;
}
	.comic-list a{
		display: block;
	}
	.comic-list figure{
		position: relative;
		width: 229px;
		height: 229px;
		margin-bottom: 15px;
	}
		.comic-list figure img{
			position: absolute;
			left: 50%;
			top: 50%;
			max-width: 100%;
			max-height: 100%;
			-webkit-transform: translate(-50%,-50%);
			transform: translate(-50%,-50%);
		}
	.comic-list .box{
		margin-bottom: 10px;
		word-break: normal;
	}
		.comic-list .box .title{
			display: inline;
			font-size: 1.4rem;
			line-height: 1.428em;
		}
		.comic-list .box span{
			background: #e31f35;
			font-size: 1.2rem;
			line-height: 24px;
			font-weight: bold;
			color: #fff;
			padding: 0.1em 0.5em;
			margin-left: 0.5em;
		}
	.comic-list dt{
		width: 4em;
		font-size: 1.2rem;
		line-height: 1.333em;
	}
	.comic-list dd{
		width: -webkit-calc(100% - 4em);
		width: calc(100% - 4em);
		font-size: 1.2rem;
		line-height: 1.333em;
	}
	.comic-list .information{
		position: absolute;
		top: 0px;
		left: 0px;
		width: 229px;
		height: 229px;
		background: rgba(0,0,0,0.8);
		padding: 12px 15px;
		color: #fff;
		-webkit-transition: .8s opacity ease;
		transition: .8s opacity ease;
		opacity: 0;
		pointer-events: none;
	}
	.comic-list .information p{
		font-size:1.1rem;
		line-height:1.6em;
		}
		
	.comic-list a:hover + .btn + .information{
		opacity: 1;
	}
		.comic-list .information::before{
			content: "";
			background: #ec661b;
			position: absolute;
			right: 17px;
			bottom: 17px;
			width: 28px;
			height: 28px;
			-webkit-border-radius: 50%;
			border-radius: 50%;
		}
		.comic-list .information::after{
			content: "";
			position: absolute;
			right: 27px;
			bottom: 23px;
			width: 7px;
			height: 7px;
			border-top: 1px solid #fff;
			border-right: 1px solid #fff;
			-webkit-transform: rotate(45deg);
			transform: rotate(45deg);
			-webkit-transform-origin: top right;
			transform-origin: top right;
		}
	/* 2019.03.06 add */
	.comic-list .information_nolnk{
		position: absolute;
		top: 0px;
		left: 0px;
		width: 229px;
		height: 229px;
		background: rgba(0,0,0,0.8);
		padding: 12px 15px;
		color: #fff;
		-webkit-transition: .8s opacity ease;
		transition: .8s opacity ease;
		opacity: 0;
		pointer-events: none;
	}
	.comic-list .information_nolnk p{
		font-size:1.1rem;
		line-height:1.6em;
		}
		
	.comic-list a:hover + .btn + .information_nolnk{
		opacity: 1;
	}

	.comic-list .memo{
		font-size: 1.2rem;
		line-height: 1.333em;
	}

/*店舗別検索*/
.page-comic .check-tab{
	margin-bottom: 60px;
}
.page-comic .radio-group.flex{
	width: 100%;
}
	.page-comic .radio-group.flex label{
		padding-right: 25px;
		order: 1;
	}
	.page-comic .radio-group.flex .radio-group-lower{
		order: 2;
	}
	.page-comic .radio-group-lower{
		position: relative;
		width: 100%;
		padding-top: 56px;
		display: none;
	}
	.page-comic .radio-group.flex label.checked + .radio-group-lower{
		display: -webkit-flex;
		display: flex;
	}
	.page-comic .radio-group-lower::after{
		content: "";
		position: absolute;
		left: -25px;
		top: 24px;
		width: -webkit-calc(100% + 50px);
		width: calc(100% + 50px);
		height: 10px;
		background: #fff;
	}
		.page-comic .radio-group-lower label{
			padding: 8px 0;
			width: 33.3333%;
		}
.page-comic .area-section .relative{
	position: relative;
}

/*書籍*/
.book-top-list{
	padding: 45px 0;
}
.book-top-list article{
	width: 50%;
	padding: 0 20px 0 0;
}
.book-top-list article:nth-child(2n){
	padding: 0 0 0 20px;
}
	.book-top-list .headline{
		margin-bottom: 30px;
	}
	.book-top-list figure{
		position: relative;
		width: 230px;
		height: 230px;
	}
		.book-top-list figure img{
			position: absolute;
			left: 50%;
			top: 50%;
			max-width: 100%;
			max-height: 100%;
			-webkit-transform: translate(-50%,-50%);
			transform: translate(-50%,-50%);
		}
	.book-top-list .box{
		width: -webkit-calc(100% - 230px);
		width: calc(100% - 230px);
		padding-left: 20px;
	}
	.book-top-list p{
		line-height: 1.71em;
		margin-bottom: 30px;
	}


.article-list{
	padding-bottom: 25px;
}
.article-list article{
	position: relative;
	width: 230px;
	margin: 0 27px 95px 0;
}
.article-list article:nth-child(3n){
	margin-right: 26px;
}
.article-list article:nth-child(4n){
	margin-right: 0px;
}
	.article-list figure{
		position: relative;
		width: 100%;
		height: 230px;
	}
		.article-list figure img{
			position: absolute;
			left: 50%;
			top: 50%;
			max-width: 100%;
			max-height: 100%;
			-webkit-transform: translate(-50%,-50%);
			transform: translate(-50%,-50%);
			-webkit-transition: .8s opacity ease;
			transition: .8s opacity ease;
		}
		.article-list figure img:nth-child(n+2){opacity: 0;}
		.article-list figure:hover img:nth-child(n+2){opacity: 1;}
	.article-list .title{
		margin: 20px 0;
		font-size: 2.0rem;
		line-height: 1.2em;
		text-align: center;
	}
	.article-list p{
		line-height: 1.428em;
		margin-bottom: 18px;
	}
	.article-list .btn-area{
		position: absolute;
		left: 0px;
		bottom: -40px;
		width: 100%;
	}

/***********************************************************************************************************************
* 04 インターネット
***********************************************************************************************************************/
.internet-top{
	padding: 60px 0 40px;
	background: #efefef;
	margin-bottom: 55px;
}
.todo-list{

}
.todo-list>li{
	width: 31.33%;
	margin-right: 2%;
	align-items: top;
}
.todo-list>li:nth-child(3n){
	margin-right: 0
}
.todo-list .img-box{
	display: block;
	width: 100%;
}
.todo-list .text-box{
	width: 100%;
	position: relative;
	text-align: center;
	padding: 40px 15px 20px;
}
.todo-list .text-box .num{
	position: absolute;
	left:50%;
	top:-31px;
	width: 63px;
	height: 63px;
	margin-left: -31px;
	line-height: 63px;
	font-weight: normal;
	letter-spacing: 0px;
	color:#fff;
	background: #ec661b;
	text-align: center;
	font-size: 3rem;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.todo-list .text-box .title{
	font-size: 2.4rem;
	line-height: 1.5em;
	color:#ec661b;
	white-space: nowrap;
	margin-bottom: 10px;
	letter-spacing: normal;
}
.todo-list .text-box p{}


/***********************************************************************************************************************
* 04-06 07 08 09 エンターテイメント
***********************************************************************************************************************/
.entertainment .exp{
	text-align: center;
	font-size: 1.6rem;
	margin-bottom: 20px;
}

.entertainment .caution{}
.facility-list-wrap.wrap-s{
	padding: 0 80px;
}
.facility-list{
	margin-top: 60px;
}

.facility-list>li{
	max-width: 220px;
	margin: 0 1.5%;
	margin-bottom: 30px;
	text-align: center;
}


	.facility-list>li .img-box{
		padding: 0px 7px;
		-webkit-border-radius: 50%;
		border-radius: 50%;
	}
	.facility-list>li .title{
		display: inline-block;
		width: 100%;
		margin: 15px 0;
		font-size: 2.4rem;
		line-height: 1.2em;
		color:#ec661b;
		height: 3em;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		width: 100%;
		overflow: hidden;
		-webkit-align-items: center;
		align-items: center;
		-webkit-justify-content: center;
		justify-content: center;
		white-space: nowrap;
	}
	.facility-list>li p{
		padding:0 7px;
		text-align:left;
	}


/***********************************************************************************************************************
* 05 快活のサービス
***********************************************************************************************************************/
html.modal{
	min-width: 0px;
	background: #fff;
}
.modal-iframe{
	max-width: 700px;
	margin: 0 auto;
	padding: 0 0 34px;
}
	.modal-iframe figure{
		position: relative;
	}
	.modal-iframe figure img:nth-child(n+2){
		position: absolute;
		top: 0px;
		left: 0px;
		-webkit-transition: .8s opacity ease;
		transition: .8s opacity ease;
		opacity: 0;
	}
		.modal-iframe figure:hover img{
			opacity: 1;
		}
	.modal-iframe .title{
		padding: 0.8em 0;
		font-size: 2.8rem;
		line-height: 1.4em;
		text-align: center;
	}
	.modal-iframe p{
		font-size: 1.6rem;
		line-height: 1.5em;
		text-align: center;
		padding: 1.6em 0;
	}
	.modal-iframe .btn-area{
		padding: 0 40px;
	}
		.modal-iframe .btn-area a{
			max-width: -webkit-calc(50% - 10px);
			max-width: calc(50% - 10px);
			padding: 0;
			margin: 0 5px;
		}

/***********************************************************************************************************************
* 07 お食事メニュー
***********************************************************************************************************************/
.menu-list{
	padding-bottom: 35px;
}
	.menu-list li{
		width: 230px;
		margin: 0 27px 30px 0;
	}
	.menu-list li:nth-child(3n){
		margin-right: 26px;
	}
	.menu-list li:nth-child(4n){
		margin-right: 0px;
	}
	.menu-list figure{
		position: relative;
		width: 100%;
		height: 230px;
	}
		.menu-list figure img{
			position: absolute;
			left: 50%;
			top: 50%;
			max-width: 100%;
			max-height: 100%;
			-webkit-transform: translate(-50%,-50%);
			transform: translate(-50%,-50%);
		}
	.menu-list .title{
		margin: 15px 0 2px;
		font-size: 2.0rem;
		line-height: 1.2em;
	}
	.menu-list .price{
		font-size: 1.6rem;
		line-height: 1.5em;
		font-weight: bold;
		color: #ec661b;
	}
	.menu-list time,
	.menu-list .text{
		font-size: 1.2rem;
		line-height: 1.4em;
		margin-top: 0.2em;
		color: #888;
	}


.menu-info{
	width: 100%;
	margin-bottom: 50px;
}
.menu-info:last-child{
	margin-bottom: 100px;
}
	.menu-info thead th{
		background: #ddd;
		font-size: 1.6rem;
		line-height: 1.4em;
		text-align: center;
		border-right: 1px solid #fff;
		width: 9.1%;
		padding: 0.5em;
	}
	.menu-info thead th:first-child{
		width: 360px;
	}
	.menu-info thead th:last-child{
		border-right: 1px solid #ddd;
	}
	.menu-info tbody th{
		background: #efefef;
		border-right: 1px solid #e3e3e3;
		border-bottom: 1px solid #fff;
		font-size: 1.6rem;
		line-height: 1.4em;
		font-weight: normal;
		padding: 1em;
		text-align: left;
	}
	.menu-info tbody td{
		border-right: 1px solid #e8e8e8;
		border-bottom: 1px solid #e8e8e8;
		font-size: 1.6rem;
		text-align: center;
		vertical-align:middle
	}


/***********************************************************************************************************************
* 08 よくあるご質問
***********************************************************************************************************************/
.faq-list{
	padding-bottom: 50px;
}
	.faq-list li{
		margin-bottom: 10px;
	}
	.faq-list li .question{
		background: #efefef;
		position: relative;
		padding: 0.85em 54px;
		font-size: 1.8rem;
		line-height: 1.555em;
		cursor: pointer;
	}
	.faq-list li .question::before{
		content: "";
		background: #ec661b;
		position: absolute;
		left: auto;
		right: 20px;
		bottom: 50%;
		margin-right: 8px;
		width: 2px;
		height: 16px;
		border: none;
		-webkit-transform: rotate(0deg) translate(50%,50%);
		transform: rotate(0deg) translate(50%,50%);
		-webkit-user-select: none;
		user-select: none;
		pointer-events: none;
	}
		.faq-list li .question.open::before{
			display: none;
		}
	.faq-list li .question::after{
		content: "";
		background: #ec661b;
		position: absolute;
		left: auto;
		right: 20px;
		bottom: 50%;
		width: 16px;
		height: 2px;
		margin-left: 0px;
		border: none;
		-webkit-transform: rotate(0deg) translateY(50%);
		transform: rotate(0deg) translateY(50%);
		-webkit-user-select: none;
		user-select: none;
		pointer-events: none;
	}
		.faq-list li .question.open::after{
			background: #888;
		}
		.faq-list li .question span,
		.faq-list li .answer span{
			position: absolute;
			left: 20px;
			top: 16px;
			width: 25px;
			height: 25px;
			background: #000;
			font-size: 1.4rem;
			line-height: 25px;
			color: #fff;
			text-align: center;
			-webkit-border-radius: 50%;
			border-radius: 50%;
		}
		.faq-list li .answer span{
			top: 20px;
			background: #ec661b;
		}
	.faq-list li .answer{
		display: none;
		border-top: 1px solid #fff;
		background: #efefef;
		position: relative;
		padding: 1.5em 54px;
		font-size: 1.4rem;
		line-height: 1.714em;
		word-break: break-all;
	}
	.faq-list li .answer em{
		color: #f30a0a;
	}
	.faq-list li .answer a{
		color: #ec661b;
		text-decoration: underline;
	}
	.faq-list li .answer a:hover{
		text-decoration: none;
	}

/*各種お問い合わせ*/
.various-box{
	background: #efefef;
	padding: 20px;
	margin-bottom: 60px;
}
.various-box .flex{
	padding: 20px;
}
.various-box .box{
	padding: 10px 20px;
	width: 50%;
}
	.various-box .box .title{
		font-size: 2.0rem;
		line-height: 1em;
		text-align: center;
		padding-bottom: 1em;
		margin-bottom: 1em;
		border-bottom: 1px solid #000;
	}
	.various-box .box.mail p{
		font-size: 1.4rem;
		line-height: 1.7em;
		margin-bottom: 2em;
	}
	.various-box .box.mail a{
		display: block;
		background: #ec661b;
		height: 50px;
		font-size: 1.8rem;
		line-height: 50px;
		text-align: center;
		color: #fff;
		-webkit-border-radius: 25px;
		border-radius: 25px;
	}
	.various-box .box.mail a span{
		position: relative;
	}
	.various-box .box.mail a span::after{
		content: "";
		position: absolute;
		right: -20px;
		top: 50%;
		width: 8px;
		height: 8px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-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: 2.0em;
		font-weight: bold;
		text-align: center;
		margin-bottom: 1em;
	}
		.various-box .box.tel p em{
			font-size: 2.6rem;
			color: #ec661b;
			vertical-align: middle;
			margin-left: 0.2em;
		}
		.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: #fff;
	padding: 20px;
	color: #888;
}
	.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: #ec661b;
		text-decoration: underline;
	}
	.various-box .info a:hover{
		text-decoration: none;
	}

/***********************************************************************************************************************
* 09 インフォメーション
***********************************************************************************************************************/
.information-link{
	background: #efefef;
	margin: 40px 0 30px;
	padding: 10px;
}
.information-link :not(br):not(span):not(strong):not(em):not(i){
	font-size: 1.3rem;
}
	.information-link li{
		margin: 0 2px;
	}
	.information-link a{
		position: relative;
		font-weight: bold;
		color: #888;
		padding: 1em 2em 1em 1em;
	}
	.information-link a::after{
		content: "";
		position: absolute;
		right: 5px;
		top: 50%;
		width: 8px;
		height: 8px;
		margin-top: -2px;
		border-bottom: 2px solid #888;
		border-right: 2px solid #888;
		-webkit-user-select: none;
		user-select: none;
		pointer-events: none;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: bottom right;
		transform-origin: top right;
	}
	.information-link a.active{
		color: #ec661b;
	}
	.information-link a.active::after{
		border-bottom: 2px solid #ec661b;
		border-right: 2px solid #ec661b;
	}

/*詳細*/
.info-detail{
	
}
.info-detail .category{
	position: relative;
	text-align: center;
	margin: -10px 0 20px;
}
	.info-detail .category h2{
		display: inline-block;
		min-width: 200px;
		height: 50px;
		font-size: 1.6rem;
		line-height: 50px;
		font-weight: bold;
		color: #fff;
		text-align: center;
	}
	.info-detail .category.info h2{background: #ec661b;}
	.info-detail .category.comic h2{background: #e94040;}
	.info-detail .category.game h2{background: #5b39b1;}
	.info-detail .category.movie h2{background: #20c579;}
	.info-detail .category.cinema h2{background: #20c579;}
	.info-detail .category.amusement h2{background: #0bb5d4;}
	.info-detail .category.vr h2{background: #c962c1;}
	.info-detail .category.menu h2{background: #40b21d;}
	.info-detail .category.other h2{background: #888888;}
.info-detail time{
	display: block;
	text-align: center;
	color: #888;
	font-size: 1.6rem;
	line-height: 1em;
	font-weight: bold;
}
.info-detail .box{
	width: 640px;
	margin: 0 auto;
}
	.info-detail .box .attention{
		font-size: 2.4rem;
		line-height: 1.8em;
		text-align: center;
		color: #f30a0a;
		margin-bottom: 13px;
	}
	.info-detail .box img{
		margin-bottom: 45px;
		max-width: 100%;
		height: auto;
	}
	.info-detail .box .title{
		font-size: 2.0rem;
		line-height: 1.5em;
		margin-bottom: 15px;
	}
	.info-detail .box p{
		line-height: 1.7em;
	}
	.info-detail .box p em{
		font-weight: bold;
		color: #f30a0a;
	}
	.info-detail .box table img{
		vertical-align: middle;
		margin-bottom:0;
	}
	.info-detail .box table td{
		padding: 5px;
	}


.info-detail .sns{
	padding: 50px 0 45px;
}
	.info-detail .sns li{
		margin: 0 5px;
	}
	.info-detail .sns .fb_iframe_widget span{
		display: block;
	}


.info-detail a{
	text-decoration: underline;
	font-size: 100%;
}
.info-detail p{
	padding: 10px 0;
}

.info-relation{
	padding-top: 35px;
	border-top: 1px solid #e3e3e3;
	border-bottom: 1px solid #e3e3e3;
}
	.info-relation .title{
		font-size: 2.4rem;
		line-height: 1em;
		margin-bottom: 35px;
		text-align: center;
	}
.page-info .shop-article article{
	padding-bottom: 40px;
}
.page-info .btn-area{
	padding: 45px 0 55px;
}

/***********************************************************************************************************************
* 11 お問い合わせ
***********************************************************************************************************************/
.contact-link{
	background: #efefef;
	margin: 40px 0;
	padding: 30px 32px 40px;
}
	.contact-link .title{
		font-size: 2.0rem;
		line-height: 35px;
		text-align: center;
		margin-bottom: 30px;
	}
		.contact-link .title img{
			width: 35px;
			height: 35px;
			margin-right: 10px;
		}
	.contact-link ul li{
		width: 33.3333%;
		padding: 0 8px;
	}
	.contact-link ul li a{
		position: relative;
		display: -webkit-flex;
		display: flex;
		height: 45px;
		-webkit-align-items: center;
		align-items: center;
		font-size: 1.6rem;
		line-height: 1.4em;
		font-weight: bold;
		color: #ec661b;
		border-bottom: 1px solid #cacaca;
	}
	.contact-link ul li:nth-child(-n+3) a{
		border-top: 1px solid #cacaca;
	}
	.contact-link ul li a::after{
		content: "";
		position: absolute;
		right: 23px;
		top: 50%;
		width: 7px;
		height: 7px;
		border-top: 2px solid #ec661b;
		border-right: 2px solid #ec661b;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: top right;
		transform-origin: top right;
	}
.contact-msg{
	font-size: 1.6rem;
	line-height: 1.75em;
	text-align: center;
	margin-bottom: 40px;
}

.contact-list{
	padding-bottom: 50px;
}
	.contact-list li{
		width: 50%;
		padding: 0 10px 20px 0;
	}
	.contact-list li:nth-child(2n){
		padding: 0 0 20px 10px;
	}
	.contact-list li a{
		padding: 0 25px;
		height: 120px;
		border: 3px solid #ec661b;
	}
	.contact-list li figure{
		position: relative;
		width: 50px;
		height: 50px;
		margin-right: 20px;
	}
		.contact-list li figure img{
			position: absolute;
			left: 50%;
			top: 50%;
			max-width: 100%;
			max-height: 100%;
			-webkit-transform: translate(-50%,-50%);
			transform: translate(-50%,-50%);
			width: 100%;
		}
	.contact-list li .title{
		font-size: 2.4rem;
		line-height: 1.08em;
		color: #ec661b;
	}
		.contact-list li .title span{
			display: block;
			font-size: 1.8rem;
			line-height: 1.5em;
		}

/*入力画面*/
#input-box .box{
	padding: 50px 0 40px;
}
	#input-box .box p{
		line-height: 1.7em;
		margin-bottom: 0.5em;
	}
	#input-box .box ul{
		margin-bottom: 0.2em;
	}
	#input-box .box ul li{
		font-size: 1.2rem;
		line-height: 1.5em;
	}
	#input-box .box p.indent{
		font-size: 1.2rem;
		line-height: 2em;
	}

.form-tbl,
.form-tbl tbody,
.form-tbl tr,
.form-tbl th,
.form-tbl td{
	width: 100%;
	display: block;
}
.form-tbl{
	border-top: 1px solid #e3e3e3;
}
.form-tbl tr{
	padding: 30px 0 35px;
	border-bottom: 1px solid #e3e3e3;
}
.form-tbl th{
	font-size: 2.0rem;
	line-height: 1em;
	font-weight: bold;
	text-align: left;
	margin-bottom: 20px;
}

/*チェックボックス*/
.form-tbl .checkbox{
	display: inline-block;
}
	.form-tbl .checkbox label{
		color: #000;
		font-size: 1.6rem;
	}
	.form-tbl .checkbox span::before{
		top: 4px;
		background: #c3c3c3;
	}
	.form-tbl .checkbox input:checked + span::before{
		background: #ec661b;
	}
	.form-tbl .checkbox input:checked + span::after{
		top: 8px;
		border-right: 2px solid #fff;
		border-bottom: 2px solid #fff;
	}

.form-tbl .input,
.form-tbl .input2{
	border: none;
	background: #efefef;
	width: 60%;
	height: 45px;
	padding: 0 1em;
}
.form-tbl .input2{
	width: 30%;
}
.form-tbl .select-box{
	background: #efefef;
	width: 40%;
}
.form-tbl .select-box select{
	height: 45px;
	padding: 0 1em;
}
.form-tbl textarea{
	background: #efefef;
	width: 68%;
	height: 200px;
	padding: 0.5em 1em;
	resize: vertical;
}

/*注意*/
.attention-box{
	padding: 30px 0;
}
	.attention-box a{
		color: #ec661b;
		text-decoration: underline;
	}
	.attention-box a:hover{
		text-decoration: none;
	}
	.attention-box .title{
		font-size: 2.0rem;
		line-height: 1em;
		margin-bottom: 20px;
	}
	.attention-box ul li{
		font-size: 1.2rem;
		line-height: 1.5em;
		margin-bottom: 0.5em;
	}
	.attention-box ul li a{
		font-size: 1.2rem;
		line-height: 1.5em;
	}
/*同意*/
.contact-agree{
	border: 3px solid #ec661b;
	padding: 25px 0 30px;
	text-align: center;
}
	.contact-agree .radio-list{
		margin-top: 20px;
	}
.contact-agree input[type="radio"] {display: inline;opacity: 0;position: absolute; width: 10px;}
.g-recaptcha{
	margin-top: 25px;
}
	.g-recaptcha>div{
		margin: 0 auto;
	}

.page-inquiry .btn-area{
	padding: 45px 0 55px;
}
	.page-inquiry .btn-area button{
		background: #000;
		width: 300px;
		height: 50px;
		-webkit-border-radius: 25px;
		border-radius: 25px;
		font-size: 1.8rem;
		line-height: 48px;
		font-weight: bold;
		text-align: center;
		color: #fff;
		margin: 0 10px;
	}
	.page-inquiry .btn-area button:nth-child(2n){
		background: #ec661b;
	}
	.page-inquiry .btn-area button span{
		position: relative;
		padding-right: 20px;
	}
	.page-inquiry .btn-area button span::after{
		content: "";
		position: absolute;
		right: 0px;
		top: 50%;
		width: 9px;
		height: 9px;
		margin-top: 1px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		-webkit-transform-origin: top right;
		transform-origin: top right;
	}
#confirm-button-area{display: none;}
.overlayer{
	display: none;
	position: fixed;
	left: 0px;
	top: 0px;
	background: rgba(0,0,0,0.7);
	width: 100%;
	width: 100vw;
	height: 100%;
	height: 100vh;
	z-index: 50;
}
/*確認*/
#confirm-box{
	display: none;
}
#confirm-box .box p{
	padding: 40px 0 55px;
	line-height: 1.7em;
}
#confirm-box .form-tbl p{
	font-size: 1.6rem;
	line-height: 1.625em;
	padding-left: 1em;
}
#confirm-box .contact-agree{
	padding: 15px 0;
}

#form .btn-area button:disabled{
	opacity: 0.4;
	cursor: default;
}

/*完了*/
.complete-box{
	padding: 95px 0 70px;
	text-align: center;
	border-bottom: 1px solid #e3e3e3;
}
	.complete-box .title{
		font-size: 2.4rem;
		line-height: 1em;
		margin-bottom: 30px;
	}
.btn-a.large{
	width: 446px;
}

.time-select{
	margin-bottom: 5px;
}
.time-select .select-box{
	width: 100px;
	margin: 0 10px;
}
.time-select .select-box:first-child{
	margin-left: 0px;
}

/***********************************************************************************************************************
* 13 会員規約
***********************************************************************************************************************/
.rule-box{
	padding: 0 20px 40px;
}
.rule-box:last-child{
	padding-bottom: 60px;
}
	.rule-box .title{
		font-size: 2.4rem;
		line-height: 1em;
		font-weight: bold;
		text-align: center;
		margin-bottom: 2em;
	}
	.rule-box .sub-title{
		font-size: 1.6rem;
		lien-height: 1.2em;
		margin-bottom: 10px;
	}
	.rule-box p{
		font-size: 1.4rem;
		line-height: 1.714em;
		margin-bottom: 1.5em;
	}
	.rule-box ol{
		list-style-type: decimal;
		padding-left: 1em;
		margin-bottom: 1.5em;
	}
	.rule-box p + ol{
		margin-top: -0.5em;
	}
		.rule-box ol li{
			line-height: 1.714em;
		}
	.rule-box a{
		color: #ec661b;
		text-decoration: underline;
	}
	.rule-box a:hover{
		text-decoration: none;
	}

/***********************************************************************************************************************
* 14 快活CLUBのプライベート空間
***********************************************************************************************************************/
.inner-page-navigation{
	padding: 38px 0px;
	background: #e0e0e0;
}
.inner-page-navigation>ul{
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
}
.inner-page-navigation>ul>li{
	margin: 0 7px;
	width: 240px;
	display: block;
}


.inner-page-navigation>ul>li>a.btn-d{
	position: relative;
	line-height: 50px;
	height: 50px;
	width: 100%;
	display: block;
}

.inner-page-navigation>ul>li>a.btn-d::after{
    content: "";
    position: absolute;
    right: 24px;
    top: 50%;
    margin-top: -7px;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


.page-private .headline-lg{
    font-size: 3.2rem;
    line-height: 1.125em;
    padding-bottom: 30px;
	margin-bottom: 54px;
    border-bottom: 3px solid #000;
    text-align: center;
}

.page-private .private-area.section1 {
	padding-top: 68px;
}

.page-private .private-area {
	padding-top: 82px;
}
.page-private .private-area .head-icon{
	position: relative;
	display: block;
	width: 96px;
	height: 96px;
	background: #fff337;
	margin: 0 auto 30px;
	-webkit-border-radius: 50%;
	border-radius: 50%;
}
.page-private .private-area .head-icon>i{
	position: absolute;
	width: 100%;
	left:0;
	top:50%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	text-align:center;
}
.page-private .private-area .headline{
	color:#ec661b;
	border-color:#ec661b;
}

.page-private .guide-img-text .title>span {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 0px 10px 0 10px;
}

.page-private .guide-img-text .title>span::after{
	content:"";
	position: absolute;
	display: block;
	width: 100%;
	height: 10px;
	bottom:2px;
	left:0;
	background: #fff337;
	z-index: -1;
}

.page-private .guide-img-text{
	margin: 41px 0;
}
.page-private .guide-img-text:last-child{
	margin-bottom: 0;
}


.page-private .guide-img-text .title>span>em{
    font-size: 3.6rem;
    margin-bottom: 20px;
}

.page-private .guide-img-text .title>span>i{
	position: absolute;
	left:0;
	bottom:2px;
}

.page-private .guide-img-text>.text-box {
    padding-left: 35px;
    padding-top: 15px;
}

.page-private .guide-img-text .text-box p{
	margin-bottom: 1.5em;
}
.page-private .guide-img-text .text-box p:last-child{
	margin-bottom: 0;
}

.page-private .headline {
	margin-bottom: 58px;
}
.page-private .group1{
	margin-bottom: 70px;
}
.page-private .group2{
}

.private-img-list{
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
	.private-img-list>li{
		position: relative;
		width: 47%;
		margin-right: 6%;
		margin-bottom: 45px;
		text-align: center;
	}
		.private-img-list>li:nth-child(2n){
			margin-right: 0;
		}

		.private-img-list.swch>li figure{
			padding-top: 55.3%;
		}

		.private-img-list.swch>li img{
			position: absolute;
			left: 0;
			top: 0;
			max-width: 100%;
			max-height: 100%;
			-webkit-transition: .8s opacity ease;
			transition: .8s opacity ease;
		}
		
		.private-img-list li .icon{
			position: absolute;
    left: 10px;
    top: 10px;
    width: 50px;
    height: 50px;
    background-position: center center;
    background-repeat: no-repeat;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
		}
		
		.private-img-list li .icon.\33 60{
			background-image: url("../svg/360c.svg");
			background-size: 50px;
			z-index: 3;
			}

		.private-img-list.swch>li img:nth-child(n+2){opacity: 0;}
		.private-img-list.swch>li:hover img:nth-child(n+2){opacity: 1;}



	.private-img-list>li .caption{
		font-size: 2.6rem;
		line-height: 1.15em;
		color:#ec661b;
		font-weight: bold;
		padding: 25px 0 0px;
	}
	.section3 .private-img-list>li .caption {
	    font-size: 2.2rem;
	}
		.private-img-list>li p{
			margin-top: 20px;
		}
.api-search-area {
	padding-top: 53px;
	background: #efefef;
}

.api-search-area  .api-block{
	max-width: 687px;
	margin: 0 auto;
	padding-bottom: 53px;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
}

.api-search-area .api-block .text-box{
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
	align-items: center;
}
.api-search-area .api-block .text-box p{
	font-size: 2.4rem;
	color: #ec661b;
	padding: 0 20px;
	font-weight: bold;
}
.api-search-area .api-block .bth-box{
	padding-top: 3px;
}

.api-search-area .api-block .bth-box a{
	width: 210px;
	height: 40px;
	line-height: 40px;
	text-align: center;
	display: inline-block;
	background: #ec661b;
	-webkit-border-radius: 30px;
	border-radius: 30px;
	color:#fff;
	font-weight: bold;

}


.api-search-area .search-block{
	padding: 46px 0;
	background: #ec661b;
	text-align: center;
}
.search-block a.search-btn1{
	border:3px solid #fff;
	width: 100%;
	max-width: 450px;
	display: inline-block;
	-webkit-border-radius: 25px;
	border-radius: 25px;
	height: 56px;
	color:#fff;
	line-height: 50px;
	text-align: center;
}
.search-block a.search-btn1>span{
	position: relative;
	display: inline-block;
	padding: 0 25px;
	font-size: 1.8rem;
	font-weight: bold;
}
.search-block a.search-btn1>span::after{
	content: "";
	position: absolute;
	display: block;
	top:50%;
	margin-top: -5px;
	right:0px;
	width: 9px;
	height: 9px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}



.private-icon-list{
	overflow: hidden;
	margin-top: 50px;
	margin-bottom: 65px;
}
.private-icon-list>ul{
	margin-left: -2.6%;
	display: -ms-flex;
	display: -webkit-flex;
	display: flex;
}
	.private-icon-list>ul>li{
		width: 23.05%;
		margin-left:2.6%;
		position: relative;
	}
		.private-icon-list>ul>li a{
		display: block;
		}
	
		.private-icon-list>ul>li .icon{
			position: relative;
			width: 100%;
			padding-top: 100%;
			-webkit-border-radius: 50%;
			border-radius: 50%;
			background: #fdf5d9;
			display: block;
		}


			.private-icon-list>ul>li .icon>i{
				position: absolute;
				width:100%;
				top: 50%;
				left: 0;
				-webkit-transform: translate(0, -50%);
				transform: translate(0, -50%);
				text-align:center;
			}


		.private-icon-list>ul>li p{
			margin-top: 30px;
			font-size: 2.2rem;
			line-height: 1.36em;
			text-align: center;
			font-weight: bold;
			color:#ec661b;
		}

.page-private .private-area.section4  {
    padding-top: 40px;
}

.gallery-area .gallery-top .swiper-slide img{
	width: 100%;
}

.gallery-area .gallery-thumbs{
	max-width: 1000px;
	margin:0 auto;
}
.gallery-area .gallery-thumbs .swiper-slide {
	position: relative;
	width: 15% !important;
	margin-right: 2% !important;
    -webkit-flex-shrink: inherit; 
    flex-shrink: inherit;
    margin:0;
    box-sizing: border-box;
    margin-bottom: 10px;
    cursor:pointer;
}
.gallery-area .gallery-thumbs .swiper-slide:nth-child(6n){
	margin-right: 0 !important;
}

.gallery-area .gallery-thumbs .swiper-slide::after{
	content:"";
	position: absolute;
	display: block;
	background: #000;
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.gallery-area .gallery-thumbs .swiper-slide img{
	width: 100%;
	opacity: 0.6;
}
.gallery-area .gallery-thumbs .swiper-slide{
	position: relative;
	overflow: hidden;
}

.gallery-area .gallery-thumbs .swiper-slide.active::before{
	content:"";
	position: absolute;
	display: block;
	width: -webkit-calc(100% - 8px);
	height: -webkit-calc(100% - 8px);
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	top:0px;
	left:0px;
	border:4px solid #ec671c;
	z-index: 10;
}

.gallery-area .gallery-thumbs .swiper-slide.active img{
	position: relative;
	opacity: 1;
	-webkit-transition: opacity 0.3s ease;
	-moz-transition: opacity 0.3s ease;
	-ms-transition: opacity 0.3s ease;
	-o-transition: opacity 0.3s ease;
	transition: opacity 0.3s ease;
	
}

.gallery-area .gallery-wrapper .gallery-top{
	position: relative;
}
.gallery-area .gallery-wrapper .gallery-top .swiper-slide .inr{
	height: 600px;
	position: relative;
	overflow: hidden;
	background-size: cover;
    background-repeat: no-repeat;
}

.gallery-area .gallery-wrapper .gallery-top .swiper-slide::after{
	content:"";
	position: absolute;
	display: block;
	width: 100%;
	height: 60%;
	bottom:0;
	left:0;
	background: -webkit-linear-gradient(bottom, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to top, rgba(0,0,0,0.65) 0%,rgba(0,0,0,0) 100%);
}

/*.gallery-area .gallery-wrapper .over-layer{
	z-index: 2;
}
.gallery-area .gallery-wrapper .over-layer img{
	width: 100%;
}

*/
.gallery-area .gallery-wrapper{
	position: relative;
}

.gallery-area .gallery-wrapper .catch-layer{
	position: absolute;
	left:0;
	top:0;
	width: 100%;
	height: 100%;
	z-index: 3;
}

.gallery-area .gallery-wrapper .catch-layer .inr{
	position: absolute;
	left:15%;
	bottom:65px;
}
.gallery-area .gallery-wrapper .catch-layer .inr .title>span{
	display: inline-block;
	height: 48px;
	line-height: 48px;
	text-align: center;
	font-size: 2.4rem;
	color:#fff;
	padding: 0 15px;
	font-weight: normal;
	background: #ec661b;
	margin-bottom: 20px;
}
.gallery-area .gallery-wrapper .catch-layer .inr .title>em{
	display: block;
	font-size: 3.6rem;
	font-weight: normal;
	color:#fff;
}

.gallery-area .gallery-thumbs-wrapper{
	padding: 54px 0;
}
/*kaikatsupoteto 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%;
  top: 50%;
  transform: translate(-50%,-50%);
  width: 80%;
  max-width: 941px;
  padding: 70px;
  background-color: rgba(0,0,0,.6);
  z-index: 2;
}
.popup-inner img {
  width: 100%;
}
.popup-close-btn {
  position: absolute;
  right: 15px;
  top: 15px;
  width: 37px;
  height: 37px;
  line-height: 37px;
  text-align: center;
  cursor: pointer;
}
.black-background {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  /*background-color: rgba(0,0,0,.8);*/
  z-index: 1;
  cursor: pointer;
}
/*kaikatsupoteto CSS*/
