@charset "UTF-8";

body br.pc{
	display: none;
}
/*******************************************************************************
	layout
*******************************************************************************/
body{
	font-size: 3.4667vw;
}
body a:hover{
	opacity: 1;
}
/*******************************************************************************
	header
*******************************************************************************/
body #wrap > header{
	padding: 2vw 0;
}
body #wrap > header img{
	width: 28.4vw;
}
/*******************************************************************************
	footer
*******************************************************************************/
body footer{
	padding: 6vw 0;
	font-size: 2.6667vw;
}
body footer small{
	margin-bottom: 2vw;
}
/*******************************************************************************
	main
*******************************************************************************/
/***** common parts *****/
main p.btn{
	width: 90vw;
}
main p.btn a{
	height: 13.2vw;
	background: #000 url("../img/ico_arrow_orange.svg") right 4vw center no-repeat;
	background-size: 4vw auto;
	border-radius: 6.6vw;
	font-size: 4vw;
	color: #ffc72c;
}
main section.content{
	padding: 16vw 5vw;
}
main section.content .inner{
	max-width: initial;
	margin: 0 auto;
}
main section.content .inner h2{
	margin: 0 auto 6vw;
	font-size: 6.6667vw;
}
/***** header *****/
main header .inner{
	display: block;
	max-width: initial;
}
main header .inner .kv{
	width: auto;
}
main header .inner .kv h1{
	top: 6vw;
}
main header .inner .kv h1 span{
	padding: 0 6vw;
	margin-bottom: 0.4vw;
	font-size: 5.0667vw;
}
main header .inner .intro{
	box-sizing: border-box;
	width: auto;
	padding: 6vw 5vw;
}
main header .inner .intro h2{
	font-size: 4.8vw;
}
main header .inner .intro p{
	margin-top: 4vw;
}
main header .inner .intro p.btn{
	width: auto;
}
main header .inner .intro p.btn a{
	height: 13.2vw;
	padding-right: 0;
	background-position: right 4vw center;
	font-size: 4vw;
}
/****** #overview *****/
main #overview dl{
	margin-top: 6vw;
}
main #overview dl dt{
	padding: 2vw 4vw;
	margin-bottom: 4vw;
	border-radius: 0.6667vw;
	font-size : 4vw;
}
main #overview dl dd{
	margin: 0 0 0 4vw;
}
main #overview p.btn{
	display: none;
}
/*******************************************************************************
	#service
*******************************************************************************/
main #service{
	padding-bottom: 16vw;
}
main #service h2{
	margin-bottom: 13.2vw;
}
main #service ol{
	display: block;
}
main #service ol li{
	width: auto;
	min-height: 46vw;
	margin-bottom: 10.6vw;
	padding: 10vw 36vw 4vw 4vw;
	background-size: 28.2vw auto;
	background-position: right 4vw center;
	border-radius: 1.3333vw;
}
main #service ol li:nth-of-type(even){
	transform: translateY(0);
}
main #service ol li:last-child{
	margin-bottom: 0;
}
main #service ol li:before{
	left: 4vw;
	top: -0.5em;
	font-size: 15vw;
}
main #service ol li:after,
main #service ol li:nth-of-type(even):after{
	right: 0;
	left: 0;
	top: auto;
	bottom: -10.6vw;
	width: 100%;
	height: 10.6vw;
	background-image: url("../img/bg_service_sp.png");
	background-size: contain;
}
main #service ol li h3{
	margin-bottom: 2vw;
	font-size: 4.8vw;
}
main #service ol li p{
	font-size: 3.4667vw;
}
/***** #map *****/
main #map .point{
	position: relative;
	margin-top: 8vw;
	padding: 8vw 4vw 4vw;
	border-radius: 1.6667vw;
}
main #map .point h3{
	left: calc(50% - 13.4vw);
	top: -4vw;
	width: 26.8vw;
	height: 8vw;
	border-radius: 4vw;
	font-size: 4vw;
}
main #map .point ol{
	display: block;
	max-width: initial;
}
main #map ol li{
	width: auto;
	min-height: 6.6vw;
	padding-left: 8vw;
	padding-top: 0;
	margin-bottom: 2vw;
	line-height: 6.6vw;
}
main #map ol li:before{
	left: 0;
	top: 0;
	width: 6.6vw;
	height: 6.6vw;
	background: #ffc72c;
	border-radius: 3.3vw;
}
main #map p{
	margin: 4vw 0 0;
}
/***** #partner *****/
main #partner ul{
	flex-wrap: wrap;
	margin-bottom: 0;
}
main #partner ul li{
	max-width: calc(50% - 0.8vw);
	margin-bottom: 1.6vw;
	border-radius: 1.6667vw;
}
main #partner p.btn{
	display: none;
}
/***** #faq *****/
main #faq dl{
	margin-bottom: 2.6667vw;
}
main #faq dl:last-of-type{
	margin-bottom: 0;
}
main #faq dl dt{
	position: relative;
	padding: 2vw 12vw 2vw 4vw;
	border-radius: 0.6667vw;
	font-size: 3.4667vw;
}
main #faq dl dt:before,
main #faq dl dt:after{
	content: " ";
	position: absolute;
	right: 4vw;
	top: calc(50% - 1px);
	width: 4vw;
	height: 2px;
	background: #000;
}
main #faq dl dt:after{
	transform: rotate(90deg);
	transition-duration: 0.3s;
}
main #faq dl dd{
	padding: 2vw 0 4vw 4vw;
}
/***** #floating *****/
main #floating{
	position: fixed;
	width: 100%;
	left: 0;
	bottom: -20vw;
	padding: 1vw 0;
	background: rgba(255,255,255,0.5);
	transition-duration: 0.3s;
}
main #floating.show{
	bottom: 0;
}
