@CHARSET "UTF-8";

.container{
	max-width:1100px;
	margin:0 auto;
	padding:0 20px;}
.deco-bg1,
.deco-bg2{
	position:absolute;
	left:0;}
.deco-bg1{
	bottom:0;}
.deco-bg2{
	top:0;}
@media screen and (min-width:1024px){
	section{
		padding:80px 0;}
}

/* HERO */
#hero{
	position:relative;
	margin:60px 0 0;
	padding:0;}
.hero-back img{
	width:100%;}
.hero-camp{
	width:calc(100% - 40px);
	max-width:320px;
	margin:30px auto 0;
	background:var(--white);
	border-radius:20px;
	padding:30px 20px 20px;
	box-sizing:border-box;
	border:1px solid var(--blue);
	position:relative;}
.hero-camp-box{
	background:var(--blue);
	border-radius:12px;
	padding:20px;
	position:relative;}
.hero-camp .swiper-wrapper{
	height:40px;}
.hero-camp-ttl{
	display:flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	color:var(--main-color);
	font-family:"Montserrat", sans-serif;
	font-size:24px;
	font-weight:bold;
	line-height:150%;
	margin:-35px auto 0;}
.hero-camp-ttl::before,
.hero-camp-ttl::after{
	content:'';
	width:1px;
	height:22px;
	background-color:var(--main-color);}
.hero-camp-ttl::before{
	margin-right:10px;
	transform:rotate(315deg);}
.hero-camp-ttl::after{
	margin-left:10px;
	transform:rotate(45deg);}
.hero-camp-txt{
	text-align:left;
	max-width:160px;
	font-size:13px;}
.hero-camp-img{
	position:absolute;
	bottom:0;
	right:0;}
@media screen and (min-width:1024px){
	.hero-camp{
		border:none;
		position:absolute;
		bottom:calc(10 / 99 * 100vw);
		right:20px;}
	.hero-camp-txt{
		max-width:170px;}
}
@media screen and (min-width:1024px){
	#hero{
		margin:0;}
}

/* COMMON HEADING */
.dft-title{
	margin:0 0 25px;}
.dft-title h2{
	color:var(--main-color);
	font-family:"Montserrat", sans-serif;
	line-height:1.2;
	margin:0;}
.dft-title p{
	font-weight:bold;
	font-size:15px;}
.kome{
	font-size:12px;
	position:relative;
	text-align:left !important;
	padding:0 0 0 1.2em;}
.kome::after{
	position:absolute;
	top:0;
	left:0;
	z-index:2;
	content:'\203b';}
@media screen and (min-width:1024px){
	.dft-title{
		margin:0 0 35px;}
	.dft-title h2{
		font-size:56px;}
	.dft-title p{
		font-size:20px;}
}

/* FEATURES */
#features{
	position:relative;
	padding:60px 0 100px;}
.ft-box{
	background:var(--blue);
	margin:0 0 20px;
	padding:30px 20px;
	border-radius:40px;
	box-sizing:border-box;}
.ft-box:last-child{
	margin:0;}
.ft-grid{
	max-width:950px;
	margin:auto;}
.ft-img{
	width:calc(100% - 50px);
	margin:0 auto 20px;}
.ft-ttl{
	display:flex;
	align-items:center;
	width:160px;
	justify-content:center;
	border-radius:45px;
	text-align:center;
	height:45px;
	font-size:20px;
	color:var(--white);
	background:var(--main-color);
	margin:auto;}
.ft-ttl span{
	display:block;
	margin:0 0 6px;}
.ft-ttl em{
	font-size:30px;
	font-style:normal;}
.ft-big{
	width:calc(100% - 50px);
	text-align:center;
	margin:auto;}
@media only screen and (min-width:1024px){
	#features{
		padding:0 0 120px;}
	.ft-box{
		border-radius:100px;
		padding:50px 20px;}
	.ft-grid{
		display:flex;
		gap:40px;}
	.ft-box:nth-child(odd) .ft-grid{
		flex-direction:row-reverse;}
	.ft-img, .ft-item{
		width:50%;}
	.ft-img{
		margin:0;}
	.ft-txt,
	.ft-big{
		width:auto;
		text-align:left;}
	.ft-ttl{
		margin:0;}
}

/* SCENE */
#scene{
	position:relative;
	padding:30px 0;
	background-color:var(--sub-color);}
.scene-row{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;}
.scene-col{
	margin:30px 0 0;
	width:100%;}
.scene-col:first-child{
	margin:0;}
.scene-col img{
	width:200px;}
.scene-col p{
	position:relative;
	z-index:1;
	margin:-25px auto 0;
	display:flex;
	align-items:center;
	justify-content:center;
	max-width:200px;
	height:45px;
	font-size:18px;
	border-radius:45px;
	font-weight:bold;
	color:var(--white);
	background:var(--main-color);}
@media only screen and (min-width:768px){
	.scene-col{
		width:calc(100%/3 - 20px);
		margin:30px 30px 0 0;}
	.scene-col:nth-child(3n){
		margin:30px 0 0;}
	.scene-col:nth-child(-n+2){
		margin:0 30px 0 0;}
	.scene-col:nth-child(3){
		margin:0;}
	.scene-col img{
		width:auto;}
	.scene-col p{
		margin:-32px auto 0;
		max-width:290px;
		height:64px;
		font-size:26px;}
}

/* PLAN */
#plan{
	position:relative;
	padding:100px 0;}
.plan-section{
	position:relative;}
.plan-title{
	font-size:40px;
	font-weight:normal;
	margin-bottom:15px;
	position:relative;
	display:inline-block;
	font-family:"Dela Gothic One", sans-serif;}
.banner{
	position:relative;
	border-radius:90px;
	padding:10px 20px;
	box-sizing:border-box;
	color:var(--white);
	font-size:20px;
	font-weight:bold;
	margin:20px 0 30px;
	line-height:1.2;
	width:100%;}
.banner-blue{
	background-color:var(--main-color);}
.banner-red{
	background-color:var(--red);}
.banner .highlight-yellow{
	color:var(--yellow);
	font-size:30px;}
.banner .highlight-large{
	color:var(--red);
	font-size:30px;
	font-family:"Montserrat", sans-serif;}
.banner img{
	position:absolute;
	top:-35px;
	width:80px;}
.banner.banner-blue img{
	left:0;}
.banner.banner-red img{
	right:0;}
.table-wrap{
	overflow-x:scroll;}
.plan-table{
	width:700px;
	margin:0 auto 20px auto;
	border-collapse:separate;
	border-spacing:4px 0;
	font-family:"Montserrat", sans-serif;}
.plan-table th,
.plan-table td{
	line-height:1.5;}
.plan-table th{
	font-size:20px;
	background-color:var(--black);
	color:var(--white);
	padding:10px;
	font-weight:bold;
	width:21%;}
.plan-table th sub{
	font-size:14px;}
.plan-table th.label-col{
	background-color:transparent;
	width:16px;}
.plan-table td{
	background-color:var(--gray);
	padding:10px;
	font-weight:bold;
	font-size:26px;
	vertical-align:middle;}
.plan-table td.label-cell{
	font-size:14px;
	background-color:var(--gray);
	width:16%;
	padding:10px;}
.plan-table .price-unit{
	font-size:12px;
	margin-left:2px;
	color:var(--black);}
.plan-table td.text-red{
	color:var(--red) !important;
	font-size:26px;}
.notes{
	margin:0 auto;
	text-align:left;
	font-size:11px;
	line-height:1.7;}
.notes p{
	font-size:14px;}
.biz-section{
	margin-top:100px;}
.biz-title{
	font-size:32px;
	font-weight:bold;
	margin-bottom:30px;
	font-family:'Dela Gothic One', sans-serif;}
.biz-text{
	margin:0 auto 40px auto;
	text-align:justify;
	line-height:2;
	letter-spacing:0.05em;}
.btn-container{
	text-align:center;}
.btn-more{
	max-width:250px;
	border-radius:50px;
	margin:auto;
	background:var(--white);
	display:block;
	padding:10px 40px 10px 20px;
	box-sizing:border-box;
	border:2px solid var(--black);
	color:var(--black);
	position:relative;}
.btn-more::after{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	right:30px;
	margin:auto;
	width:15px;
	height:8px;
	transition:0.3s;
	background-position:center;
	background-repeat:no-repeat;
	background-image:url(../img/icon/arrow_b.svg);}
.btn-more:hover{
	background:var(--black);
	color:var(--white);}
.btn-more:hover::after{
	background-image:url(../img/icon/arrow_w.svg);}
.char-deco{
	position:absolute;
	width:60px;
	height:60px;
	background-color:var(--yellow);
	border-radius:50px;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:20px;
	box-shadow:0 2px 4px rgba(0,0,0,0.1);}
.char-left{
	top:-20px;
	left:20px;}
.char-right{
	top:-30px;
	right:40px;}
.bubble-text{
	position:absolute;
	font-size:12px;
	font-weight:bold;
	color:var(--red);
	white-space:nowrap;}
@media only screen and (min-width:768px){
	.banner{
		margin:0 auto 30px;
		padding:20px;}
	.banner img{
		top:-85px;
		width:auto;}
	.banner .sp_br{
		display:none;}
}
@media only screen and (min-width:1024px){
	#plan{
		padding:120px 0;}
	.plan-title,
	.biz-title{
		font-size:64px;}
	.table-wrap{
		overflow-x:hidden;}
	.plan-table{
		width:1000px;}
	.plan-table th,
	.plan-table td{
		line-height:1.6;}
	.plan-table th{
		font-size:28px;}
	.plan-table th sub{
		font-size:16px;}
	.plan-table td{
		font-size:32px;}
	.plan-table td.text-red{
		font-size:50px;}
	.banner{
		border-radius:50px;
		height:92px;
		padding:20px;
		font-size:36px;
		line-height:1.5;
		display:flex;
		align-items:center;
		justify-content:center;}
}
@media only screen and (min-width:1024px){
	.banner.banner-blue img,
	.banner.banner-red img{
		top:-25px;
		width:870px;}
}

/* GUIDELINE */
#guide{
	padding:30px 0;
	background-color:var(--sub-color);}
.guide-list{
	margin:0 0 30px;}
.guide-box{
	background:var(--white);
	padding:20px;
	border-radius:40px;
	display:none;}
.guide-box.active{
	display:block;
	animation:fadeIn 0.4s ease forwards;}
@keyframes fadeIn{
	from{opacity:0;}
	to{opacity:1;}
}
.guide-ttl{
	padding:5px 10px;
	box-sizing:border-box;
	color:var(--white);
	font-size:18px;
	background:var(--black);
	max-width:240px;
	margin:0 auto 20px;
	border-radius:40px;}
.guide-list ul li{
	margin:0 0 15px;}
.guide-list ul li:last-child{
	margin:0;}
.guide-list ul li .guide-btn{
	display:block;
	position:relative;
	border:none;
	width:100%;
	max-width:340px;
	padding:10px 20px;
	background:var(--main-color);
	box-sizing:border-box;
	border-radius:50px;
	font-weight:bold;
	font-size:18px;
	color:var(--white);}
.guide-list ul li .guide-btn.active{
	background:var(--white);
	color:var(--black);
	box-shadow:0 4px 4px 0 rgba(0, 0, 0, 0.25);}
.guide-list ul li .guide-btn.active::before{
	border-left:28px solid var(--white);}
.guide-item{
	display:flex;
	align-items:center;
	gap:8px;
	padding:0 0 20px;
	margin:0 auto 20px;
	border-bottom:1px solid #D4D4D4;}
.guide-name,
.guide-hour{
	font-size:16px;
	font-weight:bold;}
.guide-icon{
	width:45px;}
.guide-name{
	text-align:left;
	width:90px;}
.guide-hour{
	display:flex;
	align-items:baseline;
	justify-content:center;}
.guide-hour span{
	font-size:30px;
	padding:0 5px;
	line-height:1;
	font-family:"Montserrat", sans-serif;}
@media only screen and (min-width:1024px){
	.guide-row{
		display:flex;
		flex-wrap:wrap;
		align-items:center;}
	.guide-ttl{
		padding:10px 20px;}
	.guide-list{
		width:calc(37% - 55px);
		margin:0 30px 0 0;
		padding:0 25px 0 0;}
	.guide-disc{
		width:63%;}
	.guide-box{
		background:var(--white);
		padding:40px;
		border-radius:120px;}
	.guide-list ul li{
		margin:0 0 30px;}
	.guide-list ul li .guide-btn{
		padding:24px 20px;}
	.guide-list ul li .guide-btn::before{
		content:'';
		top:0;
		right:-26px;
		bottom:0;
		margin:auto;
		position:absolute;
		width:0;
		height:0;
		border-style:solid;
		border-top:8px solid transparent;
		border-bottom:8px solid transparent;
		border-left:28px solid var(--main-color);
		border-right:0;}
	.guide-item{
		max-width:460px;
		gap:30px;}
	.guide-icon{
		width:70px;}
	.guide-name{
		text-align:center;
		width:95px;}
	.guide-hour span{
		font-size:64px;}
}

/* TERMINAL */
#terminal{
	position:relative;
	padding:100px 0 60px;}
.term-row{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;}
.term-card{
	margin:20px 0 0;
	width:100%;
	box-sizing:border-box;}
.term-card:first-child{
	margin:0;}
.term-ttl{
	background:var(--black);
	color:var(--white);
	font-size:18px;
	padding:15px 20px;
	text-align:center;
	border-radius:20px 20px 0 0;}
.term-cont{
	padding:30px 30px 35px;
	background:var(--gray);
	box-sizing:border-box;
	border-radius:0 0 20px 20px;}
.term-img{
	margin:0 0 20px;}
.term-list li{
	margin:0 0 10px;}
.term-list li:last-child{
	margin:0;}
.term-list li button{
	cursor:pointer;
	width:100%;
	max-width:250px;
	border-radius:50px;
	margin:auto;
	background:var(--white);
	display:block;
	padding:10px 40px 10px 20px;
	box-sizing:border-box;
	border:2px solid var(--black);
	color:var(--black);
	position:relative;}
.term-list li button::after{
	content:'';
	position:absolute;
	top:0;
	bottom:0;
	right:30px;
	margin:auto;
	width:15px;
	height:8px;
	transition:0.3s;
	background-position:center;
	background-repeat:no-repeat;
	background-image:url(../img/icon/arrow_b.svg);}
.term-list li button:hover{
	background:var(--black);
	color:var(--white);}
.term-list li button:hover::after{
	background-image:url(../img/icon/arrow_w.svg);}
@media only screen and (min-width:1024px){
	#terminal{
		padding:120px 0 80px;}
	.term-card{
		width:calc(100%/3 - 20px);
		margin:30px 30px 0 0;}
	.term-card:nth-child(3n){
		margin:30px 0 0;}
	.term-card:nth-child(-n+2){
		margin:0 30px 0 0;}
	.term-card:nth-child(3){
		margin:0;}
	.term-ttl{
		font-size:22px;}
	.term-cont{
		padding:40px 40px 45px;}
}

/* FLOW */
.flow-order{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;}
.flow-box{
	background-color:var(--main-color);
	margin:20px 0 0;
	width:100%;
	padding:30px 20px;
	box-sizing:border-box;
	border-radius:30px;
	max-width:300px;}
.flow-box:first-child{
	margin:0;}
.flow-step{
	color:var(--yellow);
	font-family:"Montserrat", sans-serif;
	font-weight:bold;
	font-size:22px;}
.flow-img{
	width:170px;
	margin:auto;}
.flow-ttl,
.flow-txt{
	color:var(--white);}
.flow-ttl{
	font-size:26px;}
.flow-txt{
	font-size:16px;}
@media only screen and (min-width:1024px){
	.flow-box{
		width:calc(100%/3 - 20px);
		margin:30px 30px 0 0;
		border-radius:120px;
		padding:20px 45px 40px;
		max-width:none;}
	.flow-box:nth-child(3n){
		margin:30px 0 0;}
	.flow-box:nth-child(-n+2){
		margin:0 30px 0 0;}
	.flow-box:nth-child(3){
		margin:0;}
	.flow-step{
		font-size:32px;}
	.flow-img{
		width:auto;}
	.flow-ttl{
		font-size:40px;}
	.flow-txt{
		font-size:18px;}
}

/* PAYMENT */
#payment{
	padding:0 0 60px;
	position:relative;
	background-size:cover;
	background-position:top -15% center;
	background-repeat:no-repeat;
	background-image:url(../img/icon/payment_bg.svg);}
#payment .container{
	z-index:1;
	position:relative;}
#payment .kome{
	display:table;
	margin:15px auto 0;}
.pay-box{
	padding:30px 20px;
	background:var(--white);
	border-radius:20px;}
.pay-txt{
	font-size:18px;
	font-weight:bold;
	margin:0 0 20px;}
.pay-card{
	align-items:center;
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:20px;}
@media screen and (min-width:1024px){
	#payment{
		background-position:top -15% center;}
	#payment .kome{
		margin:25px auto 0;}
	.pay-box{
		border-radius:200px;
		padding:40px 20px;}
	.pay-txt{
		font-size:20px;
		margin:0 0 30px;}
	.pay-card{
		justify-content:center;
		display:flex;
		gap:40px;}
}

/*  POP UP */
.device-modal{
	position:fixed;
	width:calc(100% - 40px);
	max-width:840px;
	margin:auto;
	padding:30px 60px;
	background:var(--sub-color);
	border-radius:40px;
	box-sizing:border-box;
	top:50%;
	left:50%;
	transform:translate(-50%, -50%);
	z-index:1000;
	opacity:0;
	visibility:hidden;
	transition:opacity .3s ease,transform .3s ease,visibility .3s ease;}
.device-modal.active{
	opacity:1;
	visibility:visible;
	transform:translate(-50%, -50%);}
.modal-title{
	margin:0 0 20px;
	text-align:center;
	font-size:24px;
	font-weight:700;}
.modal-close{
	position:absolute;
	top:-20px;
	right:-20px;
	width:70px;
	height:70px;
	border:none;
	border-radius:50%;
	background:var(--main-color);
	cursor:pointer;}
.modal-close span{
	position:absolute;
	top:50%;
	left:50%;
	width:30px;
	height:2px;
	background:var(--white);}
.modal-close span:first-child{
	transform:translate(-50%, -50%) rotate(45deg);}
.modal-close span:last-child{
	transform:translate(-50%, -50%) rotate(-45deg);}
.feature-list{
	display:flex;
	justify-content:center;
	gap:0;
	align-items:center;
	margin-bottom:20px;}
.feature-item{
	min-width:240px;
	padding:15px 8px;
	text-align:center;
	font-size:15px;
	font-weight:700;
	color:var(--white);
	background:var(--black);
	border-radius:999px;
	margin-bottom:20px;
	margin-right:20px;
	box-sizing:border-box;}
.feature-item:last-child{
	margin-right:0;}
.spec-egao{
	position:absolute;}
.spec-box{
	position:relative;
	display:flex;
	align-items:center;
	gap:20px;
	padding:40px 30px;
	background:var(--white);
	border-radius:30px;}
.spec-box .spec-egao{
	bottom:10px;
	left:-30px;}
.spec-image{
	flex:1;
	text-align:center;}
.spec-image img{
	max-width:100%;
	height:auto;}
.spec-table{
	flex:1;}
.spec-heading{
	color:var(--main-color);
	font-weight:bold;
	padding:0 0 8px;
	border-bottom:1px solid #DBDBDB;}
.spec-row{
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:8px 0;
	border-bottom:1px solid #DBDBDB;}
.spec-row:last-child{
	padding:8px 0 0;
	border-bottom:none;}
.spec-label{
	font-weight:700;}
.modal-note{
	margin-top:20px;
	font-size:14px;
	line-height:1.8;}
.device-modal-top,
.device-modal-bottom{
	background:var(--white);
	border-radius:30px;}
.device-modal-top{
	padding:30px;
	display:flex;
	align-items:center;
	gap:20px;
	margin-bottom:25px;}
.device-modal-image{
	flex:0 0 345px;}
.device-modal-image img{
	width:100%;
	display:block;}
.device-modal-point{
	flex:1;}
.device-modal-point ul{
	margin:0;
	padding:0;
	list-style:none;}
.device-modal-point li{
	display:flex;
	gap:15px;
	padding:10px 0;
	border-bottom:1px solid var(--gray);}
.device-modal-point li:last-child{
	border-bottom:none;}
.device-modal-point .num{
	display:flex;
	align-items:center;
	justify-content:center;
	width:30px;
	height:30px;
	border-radius:50%;
	background:var(--main-color);
	color:var(--white);
	font-weight:700;
	font-size:20px;
	flex-shrink:0;}
.device-modal-point .text{
	font-size:20px;
	font-weight:700;}
.device-modal-bottom{
	padding:30px 140px 30px 30px;
	position:relative;
	background:var(--white);}
.device-modal-bottom .spec-egao{
	bottom:10px;
	right:-30px;}
.device-modal-steps{
	list-style-type:none;
	counter-reset:number;}
.device-modal-steps li{
	position:relative;
	margin:0 0 10px;
	padding:0 0 0 30px;}
.device-modal-steps li:last-child{
	margin:0;}
.device-modal-steps li::before,
.device-modal-steps li::after{
    position:absolute;}
.device-modal-steps li::before{
	content:counter(number);
	counter-increment:number;
	padding:0 0.2em;
	top:0;
	left:3px;}
.device-modal-steps li::after{
	content:'';
	display:block;
	top:0.8em;
	left:0;
	transform:translateY(-50%);
	width:19px;
	height:19px;
	border:1px solid #000;
	border-radius:50%;}
.device-modal-character{
	position:absolute;
	right:30px;
	bottom:20px;
	width:140px;}
.device-modal-character img{
	width:100%;
	display:block;}
.modal-overlay{
	position:fixed;
	inset:0;
	background:rgba(0, 0, 0, 0.6);
	z-index:999;
	opacity:0;
	visibility:hidden;
	transition:opacity .3s ease, visibility .3s ease;}
.modal-overlay.active{
	opacity:1;
	visibility:visible;}
@media only screen and (min-width:768px){
	.feature-item.mini-txt{
		padding:10px 8px;
		font-size:14px;
		line-height:1.4;}
}
@media only screen and (max-width:767px){
	.device-modal{
		overflow:auto;
		height:90vh;
		padding:30px 20px;}
	.feature-list{
		display:block;
		gap:0;}
	.feature-item{
		width:100%;
		margin-bottom:20px;
		min-width:auto;}
	.feature-item:last-child{
		margin-bottom:0;}
	.spec-box{
		flex-direction:column;
		gap:30px;
		padding:30px 20px 110px;
		border-radius:20px;}
	.spec-box .spec-egao{
		left:10px;}
	.spec-label,
	.spec-value{
		font-size:1rem;}
	.modal-close{
		width:40px;
		height:40px;
		top:15px;
		right:15px;}
	.device-modal-point li{
		padding:15px 0;}
	.device-modal{
		padding:60px 20px 30px;
		border-radius:20px;}
	.device-modal-top,
	.device-modal-bottom{
		border-radius:20px;}
	.device-modal-top{
		flex-direction:column;
		padding:20px;
		gap:20px;}
	.device-modal-image{
		flex:none;
		width:100%;
		max-width:300px;
		margin:0 auto;}
	.device-modal-point .num,
	.device-modal-point .text{
		font-size:18px;}
	.device-modal-bottom{
		padding:30px 20px 120px;}
	.device-modal-bottom .spec-egao{
		right:10px;}
	.device-modal-character{
		display:none;}
}