/* CSS Document */

/* =================================================

		base rule
	 
================================================= */
html {
	font-size: 62.5%;
}

body {
	font-size: 1.6em;
	font-family: "Noto Sans JP", sans-serif;
	line-height: 1.7;
	color:#000;
	background:#fff; 
}

a {
	text-decoration:none;
}

li {
	list-style:none;
}

img {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}

a:hover {
	opacity:.7;
}

@media screen and (max-width: 768px) {
	.nosp{
		display: none;
	}
}


/* =================================================

		header
	 
================================================= */
header{
	margin:0px auto;
}
header .logo{
	margin:15px;
}
header img{
	text-align: left !important;
	margin:0;
}




/* =================================================

		main
	 
================================================= */
.main {
	overflow: hidden;
}

section{
	padding:60px;
}

.kv img{
	width:100%;
}
.kv-set{
	margin:10px 0 0 0;
	position: relative;
	width:100%;
}
.kv-title-set{
	width: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	text-align: center;
}
.kts-01{
	font-size:3vw;
}
.kts-02{
	margin:10px 0 0 0;
	line-height: 1.2em;
	font-size:5vw;
	font-weight: bold;
	letter-spacing: -0.02em;
}
.kts-02 span{
	font-size:4vw;
	font-weight: normal;
}
.kts-03{
	margin: 4vw 0 0 0;
	font-size:2vw;
}


.kv-text-set{
	display: flex;
	font-size:18px;
}
.kv-text{
	padding:2px 10px;
	color:#fff;
}
.kts-l{
	position: absolute;
	left:0;
	margin-left:6vw;
}
.kts-r{
	position: absolute;
	right:0;
	margin-right:6vw;
}
.kts-l .kv-text{
	background:#009EFF;
}
.kts-r .kv-text{
	background:#00D87B;
}
.kv-text-QR{
	padding:2px 10px;
	font-weight: bold;
}


.kv-img-set{
	width:100%;
	display: flex;
	justify-content: space-between;
}
.kv-l{
	width:49.9vw;
	height:42vw;
	background:url("../images/kv-l.png") no-repeat;
	background-size: contain;
	background-position: -6vw bottom;
	border-bottom: 4px solid #009EFF;
}
.kv-r{
	width:49.9vw;
	height:42vw;
	background:url("../images/kv-r.png") no-repeat;
	background-size: contain;
	background-position: right bottom;
	border-bottom: 4px solid #00D87B;
}


@media screen and (max-width: 768px) {

	.main {
		
	}

	section{
		padding:4vw;
	}

	.kv img{
		width:100%;
	}

	.kv-set{
		margin:10px 0 0 0;
		position: relative;
		width:100%;
	}
	.kv-title-set{
		width: 100%;
		position: static;
		top: 50%;
		left: 50%;
		transform: translate(0%, 0%);
		-webkit-transform: translate(0%, 0%);
		-ms-transform: translate(0%, 0%);
		text-align: center;
	}
	.kts-01{
		font-size:6vw;
	}
	.kts-02{
		margin:1vw 0 0 0;
		line-height: 1.2em;
		font-size:9vw;
		font-weight: bold;
		letter-spacing: -0.02em;
	}
	.kts-02 span{
		font-size:7vw;
		font-weight: normal;
	}
	.kts-03{
		margin: 4vw 0 0 0;
		font-size:4vw;
	}


	.kv-text-set{
		display: flex;
		font-size:2.8vw;
		margin:-6vw;
	}
	.kv-text{
		padding:2px 10px;
		color:#fff;
	}
	.kts-l{
		position: absolute;
		left:0;
		margin-left:6vw;
	}
	.kts-r{
		position: absolute;
		right:0;
		margin-right:6vw;
	}
	.kts-l .kv-text{
		background:#009EFF;
	}
	.kts-r .kv-text{
		background:#00D87B;
	}
	.kv-text-QR{
		padding:2px 10px;
		font-weight: bold;
	}


	.kv-img-set{
		margin-top:14vw;
		width:100%;
		display: flex;
		justify-content: space-between;
	}
	.kv-l{
		height:60vw;
		background-size: cover;
		background-position: -6vw bottom;
		border-bottom: 4px solid #009EFF;
	}
	.kv-r{
		height:60vw;
		background-size: cover;
		background-position: right bottom;
		border-bottom: 4px solid #00D87B;
	}

}

.sec-white{
	background:#fff;
}
.sec-gray{
	background:#eee;
}

.sec-contact{
	background:#009EFF;
	color:#fff;
}

section h2{
	position: relative;
	margin: 0 0 40px 0;
	padding: 0 0 20px 0;
	text-align: center;
	font-size: 2.8rem;
	line-height: 60px;
	letter-spacing: 1px;
}

section h2:after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 60px;
	height: 4px;
	margin: 0 0 0 -30px;
	background: #999999;
}
section.sec-contact h2:after{
	background: #fff;
}



.box{
	width:900px;
	margin:0px auto;
	text-align:center;
}

@media screen and (max-width: 768px) {

	.sec-white{
		background:#fff;
	}
	.sec-gray{
		background:#eee;
	}

	.sec-contact{
		background:#009EFF;
		color:#fff;
	}

	section h2{
		position: relative;
		margin: 0 0 40px 0;
		padding: 0 0 20px 0;
		text-align: center;
		font-size: 2.8rem;
		line-height: 60px;
		letter-spacing: 1px;
	}

	section h2:after{
		content: "";
		position: absolute;
		bottom: 0;
		left: 50%;
		width: 60px;
		height: 4px;
		margin: 0 0 0 -30px;
		background: #999999;
	}
	section.sec-contact h2:after{
		background: #fff;
	}

	.box{
		width:100%;
	}
}



.circle-set{
	display: flex;
	justify-content: space-between;
}
.circle-box{
	width: 260px;
}
.circle {
	position: relative;
	display: inline-block;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: #009EFF;
	text-align: center;
	color:#fff;
}
.circle .circle-in-text {
	position: absolute;
	display: inline-block;
	left: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width :260px;
	text-align:center;
}
.cit-01{
	letter-spacing: -0.02em;
	font-size:28px;
}
.cit-02{
	font-size:24px;
}
.cit-03{
	font-size:36px;
}
.circle-out-text{
	padding:10px;
	text-align:center;
}

@media screen and (max-width: 768px) {
	.circle-set{
		flex-flow: column;
		align-items: center;
	}
	.circle-box{
		width: 50vw;
		margin:0 0 10vw 0;
	}
	.circle {
		position: relative;
		display: inline-block;
		width: 50vw;
		height: 50vw;
		border-radius: 50vw;
		background: #009EFF;
		text-align: center;
		color:#fff;
	}
	.circle .circle-in-text {
		position: absolute;
		display: inline-block;
		left: 0;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width :50vw;
		text-align:center;
	}
	.cit-01{
		letter-spacing: -0.02em;
		font-size:5.5vw;
	}
	.cit-02{
		font-size:4.5vw;
	}
	.cit-03{
		font-size:6.5vw;
	}
	.circle-out-text{
		padding:10px;
		text-align:center;
	}
}




.service-info-img{
	max-width:900px;
	padding:30px;
	margin:60px auto 0px auto;
	border:4px #707070 solid;
}

.mail-btn{
	max-width:560px;
	margin:30px auto 0 auto;
}
.mail-btn a{
	font-weight:bold;
	color:#009EFF;
	font-size:24px;
	display: block;
	background:#fff;
	border-radius: 40px;
	padding:16px;
	border:#009EFF 4px solid;
}

@media screen and (max-width: 768px) {
	.service-info-img{
		width:100%;
		padding:3vw;
		margin:6vw auto 0px auto;
		border:1vw #707070 solid;
	}

	.mail-btn{
		max-width:560px;
		margin:30px auto 0 auto;
	}
	.mail-btn a{
		font-weight:bold;
		color:#009EFF;
		font-size:24px;
		display: block;
		background:#fff;
		border-radius: 40px;
		padding:16px;
		border:#009EFF 4px solid;
	}
}





.service-logo{
	padding:5px 0;
}
.after-plus{
	display: block;
	margin:200px 10px 0 10px;
}

.feature-set{
	width: 900px;
	margin:30px auto;
}

.feature-box{}
.feature-title-set{
	background:#fff;
	display: flex;
	flex-wrap: wrap;
}
.feature-no{
	padding:5px 30px;
	color:#fff;
	background:#00D87B;
}
.feature-title{
	padding:5px 10px;
	font-weight:bold;
}
.feature-desc{
	padding:5px 10px;
	margin:0 0 20px 105px;
}



.service-set{
	width: 900px;
	margin:0px auto;
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -ms-flexbox;
	display: -o-flex;
	justify-content: space-around; 
	flex-wrap: wrap;
}
.service-box{
	width:420px;
	margin:20px auto;
	border: 1px solid #707070;
	align-items: stretch;
	justify-content: space-around; 
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
}
.service-title{
	display: flex;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -ms-flexbox;
	display: -o-flex;
	background:#eee;
	flex-wrap: nowrap;
}
.service-title-case{
	padding:5px 10px;
	background:#009EFF;
	color:#fff;
}
.service-title-info{
	padding:5px 10px;
	font-weight:bold;
}
.service-info{
	background:#fff;
	padding:20px;
	text-align: center;
}
.service-info-title{
	font-size:20px;
	margin:0 0 10px 0;
	font-weight:bold;
}
.service-desc{
	font-size:14px;
	text-align:center;
	background:url("../images/triangle.png") #009EFF top center no-repeat;
	color:#fff;
	display: block;
	padding:30px 10px 20px 10px;
	height: 100%;
}

.special-plan-box{
	margin:20px 0px 10px 0px;
	padding:5px 10px;
	background:#FF9900;
	display: inline-block;
	color:#fff;
	font-weight:bold;
	font-size:20px;
}




@media screen and (max-width: 768px) {
	.service-logo{
		padding:5vw 0;
	}
	.after-plus{
		display: block;
		margin:0 10vw 0 10vw;
	}

	.feature-set{
		width: 100%;
		margin:30px auto;
	}

	.feature-box{}
	.feature-title-set{
		background:#fff;
		display: flex;
		flex-wrap: nowrap;
	}
	.feature-no{
		width:120px;
		text-align: center;
		padding:1vw 5vw;
		color:#fff;
		background:#00D87B;
	}
	.feature-title{
		width:80vw;
		padding:1vw 2vw;
		font-weight:bold;
	}
	.feature-desc{
		padding:1vw 2vw;
		margin:0 0 5vw 0;
	}



	.service-set{
		width: 100%;
		margin:0px auto;
		display: flex;
		justify-content: space-around; 
		flex-wrap: wrap;
	}
	.service-box{
		width:100%;
		margin:20px auto;
		border: 1px solid #707070;
		justify-content: space-around; 
		display: flex;
	}
	.service-title{
		display: flex;
		background:#eee;
	}
	.service-title-case{
		width:120px;
		text-align: center;
		padding:1vw 2vw;
		background:#009EFF;
		color:#fff;
	}
	.service-title-info{
		padding:1vw 2vw;
		font-weight:bold;
	}
	.service-info{
		background:#fff;
		padding:20px;
		text-align: center;
	}
	.service-info-title{
		font-size:20px;
		margin:0 0 10px 0;
		font-weight:bold;
		display: block;
	}
	.service-desc{
		font-size:14px;
		text-align:center;
		background:url("../images/triangle.png") #009EFF top center no-repeat;
		color:#fff;
		padding:30px 10px 20px 10px;
	}
	.special-plan-box{
		margin:20px 0px 10px 0px;
		padding:5px 10px;
		background:#FF9900;
		display: block;
		color:#fff;
		font-weight:bold;
		font-size:20px;
	}


}



.bg-green{
	white-space: nowrap;
	background:#00D87B !important;
}
.bg-gray{
	background:url("../images/triangle.png") #999999 top center no-repeat;
	
}
.mgb-20{
	margin-bottom: 20px;
}
.mgl-20{
	margin-left: 20px;
}
.align-left{
	text-align: left;
}
.font14{
	font-size:14px;
}


/* =================================================

		footer
	 
================================================= */

footer{
	padding:60px;
}

