@charset "UTF-8";
/* CSS Document */

/*-- 追随ボタンの制御 --*/

.move_contact{
	display:none;
}

.move_entry{
	display:block;
}

.btn_scroll_bottom{
	background-color:#f80!important;
}

.btn_scroll_bottom span.icon{
	background-image: url("../_assets-common/img/icon/f80/icon_mail01.webp")!important;
}

/*----- PAGE-CAPTION -----*/

.page-caption{
	font-size:1.25rem;
	line-height:35px;
	font-weight:bold;
	
	color:#000;
	
	text-align: left;
	margin-bottom:10px;
}

.page-caption br{
	display:none;
}

@media only screen and (min-width: 768px){
	
	.page-caption{
		font-size:1.5rem;
		line-height:40px;
		
		text-align: center;
		margin-bottom:15px;
	}
	
	.page-caption br{
		display:inline;
	}
	
}

@media only screen and (min-width: 1024px){
	
	.page-caption{
		font-size:2.0rem;
		line-height:50px;
		
		margin-bottom:20px;
	}
	
}

/*----- POINT -----*/

.point{
	width:100%;
}

.point div.child{
	width:100%;
	margin-bottom:20px;
	
	position: relative;
}

.point div.child:last-child{
	margin-bottom:0;
}

.point div.child span.lattice{
	display:block;
	
	width:30px;
	height:30px;
	
	position: absolute;
}

.point div.child span.lattice.top_left{
	top:0;
	left:0;
}

.point div.child span.lattice.top_right{
	top:0;
	right:0;
	
	transform: rotate(90deg);
}

.point div.child span.lattice.bottom_left{
	bottom:0;
	left:0;
	
	transform: rotate(-90deg);
}

.point div.child span.lattice.bottom_right{
	bottom:0;
	right:0;
	
	transform: rotate(180deg);
}

.point div.child span.lattice::before{
	display:block;
	content:"";
	
	width:100%;
	height:1px;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	left:0;
}

.point div.child span.lattice::after{
	display:block;
	content:"";
	
	width:1px;
	height:100%;
	
	background-color:#000;
	
	position: absolute;
	top:0;
	left:0;
}

.point div.inner{
	box-sizing: border-box;
	padding:15px;
	
	font-size:0.8rem;
	line-height:25px;
}

.point div.child h4{
	font-size:1.25rem;
	line-height:35px;
	font-weight:bold;
	
	color:#0ac;
	margin-bottom:10px;
	position: relative;
}

.point div.child h4::before{
	display:block;
	content:"Point.0";
	
	font-size:1.0rem;
	line-height:30px;
	
	width:80px;
	height:30px;
	
	text-align: center;
	border-radius:2.5px;
	
	background-color:#f80;
	color:#fff;
	
	margin-bottom:5px;
}

.point div.child:nth-child(1) h4::before{
	content:"Point.1";
}

.point div.child:nth-child(2) h4::before{
	content:"Point.2";
}

.point div.child:nth-child(3) h4::before{
	content:"Point.3";
}

@media only screen and (min-width: 768px){
	
	.point div.inner{
		padding:20px;
	}
	
	.point div.child h4{
		box-sizing: border-box;
		padding-left:90px;
	}
	
	.point div.child h4::before{
		position: absolute;
		top:2.5px;
		left:0;
	}
	
}

@media only screen and (min-width: 1024px){
	
	.point div.inner{
		font-size:1.0rem;
		line-height:30px;
	}
	
	.point div.child h4{
		font-size:1.5rem;
		line-height:40px;
	}
	
	.point div.child h4::before{
		top:5px;
	}
	
}

/*----- LOOKFOR -----*/

.lookfor{
	width:100%;
	
	display:flex;
	flex-flow: row wrap;
	align-items:flex-end;
	justify-content: flex-start;
}

.lookfor div.child{
	width:100%;
	margin-bottom:20px;
}

.lookfor div.child:last-child{
	margin-bottom:0;
}

.lookfor h4{
	font-size:2.0rem;
	line-height:50px;
	font-weight:bold;
	
	color:#000;
	margin-bottom:20px;
}

.lookfor h4 span{
	display:block;
	
	font-size:1.0rem;
	line-height:30px;
}

.lookfor p.thumbnail{
	width:100%;
	position: relative;
	
	border-radius:5px;
	overflow: hidden;
}

.lookfor p.thumbnail::before{
	display:block;
	content:"";
	
	box-sizing: border-box;
	padding-top:50%;
	
	background-color:#f0f0f0;
}

.lookfor p.thumbnail img{
	display:block;
	
	width:100%;
	height:100%;
	
	position: absolute;
	top:0;
	left:0;
	
	object-fit: cover;
	object-position: center;
}

.lookfor ul{
	width:100%;
}

.lookfor ul li{
	width:100%;
	margin-bottom:10px;
	
	font-size:1.0rem;
	line-height:35px;
	font-weight:bold;
	
	background-color:#048;
	color:#fff;
	border-radius:2.5px;
	
	box-sizing: border-box;
	padding-left:35px;
	position: relative;
}

.lookfor ul li:last-child{
	margin-bottom:0;
}

.lookfor ul li::before{
	display:block;
	content:"";
	
	width:35px;
	height:35px;
	
	position: absolute;
	top:0;
	left:0;
	
	background-image: url("../_assets-common/img/icon/fff/icon_arrow01-right.webp");
	background-repeat: no-repeat;
	background-size:25%;
	background-position: center;
}

@media only screen and (min-width: 768px){
	
	.lookfor div.child{
		width:calc(50% - 7.5px);
		margin-bottom:0;
	}
	
	.lookfor div.child:nth-child(1){
		margin-right:7.5px;
	}
	
	.lookfor div.child:nth-child(2){
		margin-left:7.5px;
	}
	
}

@media only screen and (min-width: 1024px){
	
	.lookfor div.child{
		width:calc(50% - 10px);
	}
	
	.lookfor div.child:nth-child(1){
		margin-right:10px;
	}
	
	.lookfor div.child:nth-child(2){
		margin-left:10px;
	}
	
	.lookfor ul li{
		font-size:1.25rem;
		line-height:40px;
		
		padding-left:40px;
	}
	
	.lookfor ul li::before{	
		width:40px;
		height:40px;
	}
	
}

/*----- REQUIREMENT -----*/

.requirement{
	width:100%;
}

.requirement > input{
	display:none;
}

.requirement ul.tab{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	margin-bottom:20px;
	
	border-radius:5px;
	overflow: hidden;
}

.requirement ul.tab li{
	width:50%;
}

.requirement ul.tab li label{
	display:block;
	cursor: pointer;
}

.requirement ul.tab li span{
	display:block;
	
	font-size:1.0rem;
	line-height:50px;
	font-weight:bold;
	
	text-align: center;
	
	background-color:rgba(0,170,205,0.10);
	color:#0ac;
}

.tab-content div.child{
	display:none;
}

input[type="radio"]#offer_tokyo:checked ~ ul.tab li:nth-child(1) span{
	background-color:rgba(0,170,205,1.00);
	color:#fff;
}

input[type="radio"]#offer_kumamoto:checked ~ ul.tab li:nth-child(2) span{
	background-color:rgba(0,170,205,1.00);
	color:#fff;
}

input[type="radio"]#offer_tokyo:checked ~ div.tab-content div.content_tokyo{
	display:block;
}

input[type="radio"]#offer_kumamoto:checked ~ div.tab-content div.content_kumamoto{
	display:block;
}

.tab-content div.child{
	width:100%;
	
	box-sizing: border-box;
	padding:5px;
	border:solid 5px #f0f0f0;
}

.tab-content div.child div.row{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
	margin-bottom:5px;
}

.tab-content div.child div.row:last-child{
	margin-bottom:0;
}

.tab-content div.child div.row div.que{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	border-bottom:solid 5px #fff;
	
	background-color:#f0f0f0;
	color:#444;
}

.tab-content div.child div.row div.ans{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
	color:#444;
}

.tab-content div.child div.row p.note{
	font-size:0.8rem;
	line-height:25px;
}

.tab-content div.child div.row ul.extra{
	font-size:0.8rem;
	line-height:25px;
}

.tab-content div.child div.row ul.extra li{
	display:block;
	
	box-sizing: border-box;
	padding-left:15px;
	position: relative;
}

.tab-content div.child div.row ul.extra li::before{
	display:block;
	content:"※";
	
	position: absolute;
	top:0;
	left:0;
}

@media only screen and (min-width: 768px){
	
	.requirement ul.tab li span{
		font-size:1.5rem;
		line-height:75px;
	}
	
	.tab-content div.child div.row div.que{
		width:240px;
		margin-bottom:0;
		border-bottom:none;
	}
	
	.tab-content div.child div.row div.ans{
		width:calc(100% - 240px);
		margin-bottom:0;
		
		border-left:solid 5px #fff;
	}
	
}

/*----- VOICE -----*/

.voice{
	width:100%;
}

.voice div.child{
	width:100%;
	
	box-sizing: border-box;
	padding:10px;
	position: relative;
}

.voice div.child::after{
	display:block;
	content:"";
	
	width:100%;
	height:1px;
	
	background-color:#aaa;
	
	position: absolute;
	bottom:0;
	left:0;
}

.voice div.whois{
	display:flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: flex-start;
	
	width:100%;
	margin-bottom:20px;
}

.voice div.whois p.thumbnail{
	width:120px;
	position: relative;
	
	border-radius:5px;
	overflow: hidden;
}

.voice div.whois p.thumbnail::before{
	display:block;
	content:"";
	
	width:100%;
	
	box-sizing: border-box;
	padding-top:100%;
}

.voice div.whois p.thumbnail img{
	display:block;
	
	width:100%;
	height:100%;
	
	position: absolute;
	top:0;
	left:0;
	
	object-fit: cover;
	object-position: center;
}

.voice div.whois div.text{
	width:calc(100% - 120px);
	
	box-sizing: border-box;
	padding-left:20px;
}

.voice div.whois div.text h4{
	font-size:1.25rem;
	line-height:35px;
	font-weight:bold;
	
	color:#048;
	
	box-sizing: border-box;
	padding-left:35px;
	position: relative;
}

.voice div.whois div.text h4::before{
	display:block;
	content:"";
	
	width:35px;
	height:35px;
	
	position: absolute;
	top:0;
	left:0;
	
	background-image:url("../_assets-common/img/icon/048/icon_straight.webp");
	background-repeat: no-repeat;
	background-size:50%;
	background-position: center;
}

.voice div.whois div.text ul{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	width:100%;
}

.voice div.whois div.text ul li{
	display:block;
	
	font-size:0.8rem;
	line-height:25px;
}

.voice div.whois div.text ul li::after{
	content:"・";
}

.voice div.whois div.text ul li:last-child::after{
	display:none;
}

.voice div.faq{
	width:100%;
}

.voice div.faq div.row{
	width:100%;
	
	box-sizing: border-box;
	padding:10px 0;
	position: relative;
}

.voice div.faq div.row p.que{
	font-size:1.0rem;
	line-height:30px;
	font-weight:bold;
	
	margin-bottom:10px;
	
	color:#000;
	
	box-sizing: border-box;
	padding-left:30px;
	position: relative;
}

.voice div.faq div.row p.que::before{
	display:block;
	content:"Q";
	
	width:25px;
	height:25px;
	
	font-size:0.8rem;
	line-height:25px;
	font-weight:bold;
	
	text-align: center;
	
	background-color:#048;
	color:#fff;
	
	border-radius:2.5px;
	
	position: absolute;
	top:2.5px;
	left:0;
}

.voice div.faq div.row p.ans{
	font-size:0.8rem;
	line-height:25px;
	
	box-sizing: border-box;
	padding-left:30px;
	position: relative;
}

.voice div.faq div.row p.ans::before{
	display:block;
	content:"A";
	
	width:25px;
	height:25px;
	
	font-size:0.8rem;
	line-height:25px;
	font-weight:bold;
	
	text-align: center;
	
	background-color:#0ac;
	color:#fff;
	
	border-radius:2.5px;
	
	position: absolute;
	top:0px;
	left:0;
}

@media only screen and (min-width: 768px){
	
	.voice div.child{
		padding:15px 10px;
		padding-left:200px;
	}
	
	.voice div.whois p.thumbnail{
		width:160px;
		
		position: absolute;
		top:15px;
		left:10px;
	}
	
	.voice div.whois div.text{
		width:100%;
		padding-left:0;
	}
	
}

@media only screen and (min-width: 1024px){
	
	.voice div.child{
		padding:20px 10px;
		padding-left:280px;
	}
	
	.voice div.whois p.thumbnail{
		width:240px;
		top:20px;
	}
	
}

.youtube_content{
	position: relative;
	width: 100%;
	
	box-sizing:border-box;
	padding-top: 56.25%;
}

.youtube_content iframe {
	position: absolute;
	top: 0;
	right: 0;
	
	width: 100%;
	height: 100%;
	
	outline: none;
	appearance: none;
	border:none;
}
