@charset "UTF-8";


/* ------------------------------
    fv
------------------------------ */

.fv {
	background: url(../img/index/fv.jpg) no-repeat center center;
	background-size: cover;
}

.fv .inner01,
.fv .inner02{
	position: relative;
	padding: 30px 0 80px;
}
.fv .inner01{
	background: url(../img/index/slider01.jpg) center center no-repeat;
	background-size: cover;
}
.fv .inner02{
	background: url(../img/index/slider02.jpg) center center no-repeat;
	background-size: cover;
}
.fv .box{
	text-align: center;
}
.fv .box .btn{
	margin-top: 20px;
}

.fv .contents {
	position: relative;
	top: 32%;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.fv .contents p {
	text-align: center;
}

.fv .fv-sub {
	font-size: 1.6rem;
	color: #fff;
}

.fv .fv-title {
	color: #f49c00;
	font-size: 4.4rem;
	font-weight: bold;
	margin-top: 10px;
	margin-bottom: 74px;
}

/* ------------------------------
    campaign
------------------------------ */

#campaign h2 {
	background-color: #043698;
}

#campaign p {
	background-color: #fff38c;
}

/* ------------------------------
    service
------------------------------ */

#service .catch {
	text-align: center;
	margin: 0 25px;
	padding: 20px 25px;
	border-bottom: 1px solid #999;
}

#service .catch p {
	display: inline-block;
	vertical-align: middle;
}

#service .catch p:first-child{
	width: 168px;
}

#service .catch p:first-child img{
	width: 168px;
}

#service .catch p + p {
	margin-left: 38px;
}

#service .contents {
	position: relative;
	padding: 25px 0;
}

#service .contents p {
	font-size: 1.3rem;
	line-height: 1.85;
	text-align: center;
}

#service .contents p + p {
	margin-top: 1em;
}

#service .signup {
	position: fixed;
	top: 230px;
	right: 20px;
	z-index: 999;
}

#service .trouble{
	background: #cccccc;
}

#service .trouble p{
	text-align: center;
}

#service .trouble p img{
	vertical-align: bottom;
}

#service .merit{
	padding: 55px 0 60px;
}

#service .merit h3{
	text-align: center;
	font-size: 3rem;
	font-weight: bold;
	color: #043698;
	letter-spacing: 1px;
	width: 550px;
	margin: 0 auto 20px;
	padding: 0 0 5px;
	border-bottom: 2px solid #043698;
}

#service .merit h3 span{
	font-size: 6rem;
	color: #f49c00;
	margin: 0 5px;
}

#service .merit .box{
	width: 390px;
	float: left;
	margin-top: 20px;
}

#service .merit .box:nth-child(odd){
	margin-right: 20px;
}

#service .merit .box h4{
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	color: #fff;
	padding: 9px 0 6px;
	background-color: #043698;
}

#service .merit .box img{
	vertical-align: bottom;
}

#service .merit .box .txt{
	padding: 15px 8px;
	background-color: #f2f5fa;
	min-height: 310px;
}

#service .merit .box .txt p{
	font-size: 1.3rem;
	line-height: 1.53;
}

#service .merit .box .txt p + p,
#service .merit .box .txt p + ul,
#service .merit .box .txt ul + p{
	margin-top: 10px;
}

#service .merit .box .txt .mt20{
	margin-top: 20px;
}

#service .merit .box .txt ul li{
	font-size: 1.7rem;
	line-height: 1.64;
	font-weight: bold;
	color: #f49c00;
}

#service .merit .box .txt strong{
	font-size: 1.7rem;
	line-height: 1.64;
	font-weight: bold;
	color: #043698;
}

#service .merit .box .txt .orange{
	color: #f49c00;
}

#service .merit .box .txt .bold{
	font-weight: bold;
}

.flow{
	padding: 0 0 75px;
	background-color: #365ead;
}

.flow h2{
	margin-bottom: 45px;
}

.flow .box{
	width: 254px;
	float: left;
}
.flow .box + .box{
	margin-left: 18px;
}

.flow .box .title{
	font-size: 2rem;
	color: #043698;
	font-weight: bold;
	padding: 5px 0;
	background-color: #fcee21;
}

.flow .box .title .step{
	font-size: 1.5rem;
	width: 62px;
	text-align: center;
	display: inline-block;
	vertical-align: middle;
	border-right: 1px solid #043698;
	margin-right: 8px;
	padding: 5px 0;
}

.flow .box .title .step .num{
	font-size: 2.6rem;
	display: block;
}

.flow .box .txt{
	padding: 10px;
	background-color: #fff;
	min-height: 280px;
	position: relative;
}

.flow .box .txt .position{
	position: absolute;
	bottom: 5px;
	left: 0;
	right: 0;
	margin: auto;
	text-align: center;
}

.flow .box .txt .position.btn{
	bottom: 25px;
}

.flow .box .txt p{
	font-size: 1.3rem;
	line-height: 1.69;
}

.flow .box .txt p .orange{
	color: #f49c00;
}

.flow .box .txt p .bold{
	font-weight: bold;
}

.flow .box .txt .btn{
	width: 234px;
}

.flow .box .txt .btn a,
.flow .box .txt .btn a:after {
	display: block;
	font-size: 1.7rem;
	font-weight: normal;
	border-radius: 50px;
	line-height: 1.29;
	letter-spacing: 0;
	padding: 9px 0px 14px 0px;
}

.flow .box .txt .btn a:after {
	top: -3px;
	left: -2px;
}

.flow .box .txt .btn span{
	padding: 0;
}

.flow .btn.btn-bl {
	width: 500px;
	margin: 35px auto 0;
}

.flow .btn.btn-bl a,
.flow .btn.btn-bl a:after{
	display: block;
	font-size: 1.7rem;
	letter-spacing: 0;
}


/* ------------------------------
    price
------------------------------ */

#price{
	margin: 50px 0 0
}

#price h2 + p{
	text-align: center;
	font-size: 1.5rem;
	color: #043698;
	padding: 25px 0;
}

#price form {
	background-color: #365ead;
	border-bottom: 4px solid #043698;
	padding: 20px 0 10px;
}

#price form .inner{
	padding: 0 165px;
}

#price form p{
	color: #fff;
	font-size: 1.4rem;
	margin-bottom: 5px;
}

#price form .left{
	float: left;
}

#price form .right{
	float: right;
}

#price form input,#price form select{
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	border: none;
	border-radius: 3px;
	box-shadow:0px 0px 4px 2px #c3c3c3 inset;
	-moz-box-shadow:0px 0px 4px 2px #c3c3c3 inset;
	-webkit-box-shadow:0px 0px 4px 2px #c3c3c3 inset;
	width: 185px;
	height: 30px;
	padding: 0 5px;
}

#price form input{
	padding: 0 10px;
}

#price form select{
	cursor: pointer;
}

#price form select::-ms-expand {
	display: none;
}

#price .contents{
	padding:30px 0 75px;
	background-color: #e6ebf5;
}

#price .contents .total{
	padding: 0 70px;
}

#price .contents .total .left{
	float: left;
}
#price .contents .total .right{
	float: right;
}

#price .contents .total p{
	font-size: 1.8rem;
	color: #043698;
	font-weight: bold;
}

#price .contents .total .price-box{
	font-size: 3rem;
	color: #f49c00;
	text-align: center;
	border: 3px solid #f49c00;
	background-color: #fff;
	width: 300px;
	padding: 7px 0 4px;
	margin: 8px 0;
}

#price .btn.btn-bl {
	width: 500px;
	margin: 35px auto 0;
}

#price .inner .btn.btn-bl {
	padding-top: 20px;
	clear: both;
}

#price .btn.btn-bl a,
#price .btn.btn-bl a:after{
	display: block;
	font-size: 1.7rem;
	letter-spacing: 0;
}

#price .breakdown{
	margin-top: 40px;
}

#price .breakdown-title{
	font-size: 1.8rem;
	text-align: center;
	color: #043698;
	font-weight: bold;
}

#price .breakdown-title span{
	padding: 0 50px;
	border-top: 1px solid #043698;
	border-bottom: 1px solid #043698;
}

#price .breakdown ul{
	margin-top: 20px;
}

#price .breakdown ul li{
	width: 261px;
	float: left;
}

#price .breakdown ul li + li{
	margin-left: 8px;
}

#price .breakdown ul li .yellow-label{
	font-size: 1.5rem;
	color: #043698;
	font-weight: bold;
	text-align: center;
	padding: 10px 0 6px;
	background-color: #fcee21;
	border-bottom: 1px solid #f49c00;
}

#price .breakdown ul li .txt{
	background-color: #fef5e5;
}

#price .breakdown ul li .txt p{
	text-align: center;
	font-size: 1.5rem;
	color: #043698;
}

#price .breakdown ul li .txt-line1{
	padding: 30px 0 30px;
}

#price .breakdown ul li .txt-line2{
	padding:15px 015px;
}

#price .breakdown ul li .txt-line2 p:first-child{
	font-weight: bold;
	margin-bottom: 15px;
}

#price .flow{
	margin-top: 50px;
}

#price .flow .box .txt {
	min-height: 220px;
}

#price .flow .btn{
	width: 700px;
	margin: 30px auto 0;
}

#price .flow .btn a,
#price .flow .btn a:after{
	display: block;
}


/* ------------------------------
    qa
------------------------------ */

#qa{
	margin-top: 50px;
}

#qa .inner{
	padding: 0 45px;
}

#qa .contents{
	margin-top: 50px;
	margin-bottom: 130px;
}

#qa .contents dl + dl{
	margin-top: 65px;
}

#qa .contents dl dt{
	font-size: 1.6rem;
	line-height: 1.43;
	font-weight: bold;
	color: #043698;
	position: relative;
	padding: 5px 0px 5px 45px;
}

#qa .contents dl dd{
	font-size: 1.3rem;
	line-height: 1.77;
	color: #4d4d4d;
	position: relative;
	background-color: #fef5e5;
	padding: 10px 15px 10px 45px;
	margin-top: 10px;
}

#qa .contents dl dt:before{
	position: absolute;
	top: 0;
	left: 0;
	content: 'Q';
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.15;
	color: #fff;
	text-align: center;
	width: 30px;
	height: 30px;
	background-color: #043698;
}

#qa .contents dl dd:before{
	position: absolute;
	top: 0;
	left: 0;
	content: 'A';
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.25;
	color: #fff;
	text-align: center;
	width: 30px;
	height: 30px;
	background-color: #f49c00;
}

#qa .contact .txt{
	padding: 35px 45px 105px;
}

#qa .contact .txt p{
	font-size: 1.3rem;
	line-height: 1.54;
}

#qa .contact .txt p + p{
	margin-top: 20px;
}

#qa .contact .btn-area{
	padding: 0 20px;
	margin: 50px 0 0;
}

#qa .contact .btn{
	float: left;
	width: 100%;
}
#qa .contact .btn.btn-dbl{
	float: right;
}
#qa .contact .btn.btn-dbl a,
#qa .contact .btn.btn-dbl a:after{
	letter-spacing: 0;
}

#qa .contact .btn a, #qa .contact .btn a:after{
	display: block;
	padding: 26px 0 27px;
	    border-radius: 20px;
}

.notes{
	font-size:1.6rem;
	text-align:center;
	font-weight:bold;
	color:#204491;
	margin-top:20px;
}


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

	.fv {
		padding-bottom: 0;
	}
	.fv .inner01{
		background: url(../img/index/slider01.jpg) center center no-repeat;
		background-size: auto 100%;
	}
	.fv .inner02{
		background: url(../img/index/slider02.jpg) center center no-repeat;
		background-size: auto 100%;
	}
	.fv .inner01,
	.fv .inner02{
		padding: 20px 20px 30px;
	}

	.fv .fv-sub {
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.fv .fv-title {
		color: #f49c00;
		font-size: 3.2rem;
		font-weight: bold;
		margin-top: 10px;
		margin-bottom: 0;
	}

	.fv + .btn{
		margin: 5% auto 5%;
		width: 94%;
	}



	/* ------------------------------
	    campaign
	------------------------------ */

	#campaign{
		margin-bottom: 4%;
	}

	#campaign p .inner{
		padding: 5% 0;
	}


	/* ------------------------------
	    service
	------------------------------ */
	#service .catch {
		text-align: center;
		margin: 0 0;
		padding: 8% 0 5%;
		border-bottom: 1px solid #999;
	}

	#service .catch p:first-child{
		width: 30%;
	}

	#service .catch p:nth-child(2){
		width: 7%;
	}

	#service .catch p:last-child{
		width: 45%;
	}

	#service .catch p + p {
		margin-left: 5%;
	}

	#service .contents p {
		font-size: 1.5rem;
		line-height: 1.5;
		text-align: left;
	}

	#service .contents p + p {
		margin-top: 8%;
	}

	#service .trouble {
		 background: #fff;
	}

	#service .trouble h2{
		margin-top: 8%;
	}

	#service .merit {
		padding: 10% 0 8%
	}

	#service .merit h3 {
		font-size: 1.7rem;
		letter-spacing: 1px;
		width: 96%;
		margin: 0 auto 20px;
		padding: 0 0 5px;
		line-height: 1.3;
	}

	#service .merit h3 span {
		font-size: 3rem;
		margin: 0 0px;
	}

	#service .merit .box {
		width: 100%;
		float: none;
		margin-top: 8%;
	}

	.android #service .merit .box img {
		margin-top: -1px;
	}

	#service .merit .box:nth-child(odd) {
		margin-right: 0;
	}

	#service .merit .box h4 {
		font-size: 1.9rem;
		padding: 3% 0 2%;
	}

	#service .merit .box .txt p {
		font-size: 1.5rem;
		line-height: 1.5;
	}

	#service .merit .box .txt ul li {
		font-size: 1.5rem;
		line-height: 1.5;
		text-indent: -1em;
		padding-left: 1em;
	}

	#service .merit .box .txt strong {
		font-size: 1.5rem;
		line-height: 1.5;
	}

	#service .merit .box .txt p + p, #service .merit .box .txt p + ul, #service .merit .box .txt ul + p {
		margin-top: 0;
	}

	#service .merit .box .txt .spmt5{
		margin-top: 5%;
	}

	#service .merit .box .txt .mt20 {
		margin-top: 5%
	}

	#service .merit .box .txt {
		padding: 5% 3%;
		background-color: #f2f5fa;
		min-height: auto;
	}

	#service .signup {
		display: none!important;
	}

	.flow{
		padding: 0 0 10%;
	}

	.flow h2 {
		margin-bottom: 6%
	}

	.flow .box {
		width: 100%;
		float: none;
	}

	.flow .box + .box {
		margin-left: 0;
		margin-top: 8%;
	}

	.flow .box .txt {
		position: relative;
		padding: 5% 3%;
		min-height: auto;
	}

	.flow .box .txt .position{
		position: static;
		margin-top: 3%;
	}

	.flow .box .txt .position.btn{
		position: absolute;
		bottom: -78px;
		left: 0;
		right: 0;
		margin: auto;
		width: 100%;
	}

	.flow .box .txt .btn a, .flow .box .txt .btn a:after{
		font-weight: bold;
		padding: 14px 0 18px 0;
	}

	.flow .box .title {
		font-size: 2.4rem;
		padding: 5px 0;
	}

	.flow .box .title .step {
		 font-size: 1.9rem;
	}

	.flow .box .title .step .num {
		font-size: 3.3rem;
		width: 62px;
		margin-top: 3px;
		margin-right: 3px;
		padding: 5px 0;
	}

	.flow .btn.btn-bl{
		width: 100%;
		margin: 8% auto 0;
	}

	.flow .btn.btn-bl a, .flow .btn.btn-bl a:after {
		font-size: 1.7rem;
		letter-spacing: 0;
		padding: 14px 0 18px 0;
	}

	#service .flow .box:first-child {
		margin-bottom: 0px;
	}

	/* ------------------------------
	    price
	------------------------------ */

	#price {
		margin-top: 8%;
	}

	#price h2 + p {
		 line-height: 1.5;
	}

	#price form {
		padding: 8% 0 8%;
	}

	#price form .inner {
		padding: 0 5%;
	}

	#price form .left {
		float: none;
	}

	#price form .right {
		float: none;
		margin-top: 8%;
	}

	#price form input, #price form select {
		width: 100%;
	}

	#price form p {
		font-size: 1.5rem;
		margin-bottom: 2%;
	}

	#price .contents {
		padding: 10% 0 10%;
	}

	#price .contents .total {
		padding: 0 10%;
	}

	#price .contents .total p {
		font-size: 1.5rem;
	}

	#price .contents .total .left {
		float: none;
	}

	#price .contents .total .right {
		float: none;
		margin-top: 10%;
	}

	#price .contents .total .price-box {
		font-size: 2.7rem;
		border: 2px solid #f49c00;
		width: 100%;
		margin: 2% 0 0;
	}

	#price .breakdown {
		margin-top: 40px;
		padding: 0 10%;
	}

	#price .breakdown-title {
		font-size: 1.7rem;
	}

	#price .breakdown-title span {
		padding: 0 ;
		display: block;
		line-height: 1.8;
		width: 100%;
	}

	#price .breakdown ul {
		margin-top: 20px;
	}

	#price .breakdown ul li {
		width: 100%;
		float: none;
	}

	#price .breakdown ul li + li{
		margin-top: 8%;
		margin-left: 0;
	}

	#price .breakdown ul li .yellow-label {
		font-size: 2rem;
		padding: 10px 0 6px;
		border-bottom: 2px solid #f49c00;
	}

	#price .breakdown ul li .txt{
		padding: 5% 0 5%!important;
	}

	#price .breakdown ul li .txt p {
		font-size: 2rem;
	}

	#price .breakdown ul li .txt-line2 p:first-child {
		font-size: 2.2rem;
		margin-bottom: 3%;
	}

	#price .btn.btn-bl a, #price .btn.btn-bl a:after {
		padding: 14px 0 18px 0;
	}

	#price .btn.btn-bl{
		width: 100%;
		margin: 8% auto 0;
	}

	#price .inner .btn.btn-bl {
		padding-top: 0;
		clear: both;
	}

	#price .flow {
		margin-top: 8%;
	}

	#price .flow .box .txt {
		min-height: auto;
	}

	#price .flow .btn {
		width: 100%;
		margin: 8% auto 0;
	}


	/* ------------------------------
	    qa
	------------------------------ */

	#qa {
		margin-top: 8%;
	}

	#qa .inner {
		padding: 0;
	}

	#qa .contents {
		margin-top: 10%;
		margin-bottom: 15%;
	}

	#qa .contents dl dt {
		font-size: 1.7rem;
		line-height: 1.55;
		font-weight: bold;
		color: #043698;
		position: relative;
		padding: 0px 0px 0px 45px;
	}

	#qa .contents dl dd{
		margin-left: 40px;
		padding: 2% 3%;
		line-height: 1.5;
		font-size: 1.5rem;
		margin-top: 3%;
	}

	#qa .contents dl dd:before {
		top: 0;
		left: -40px;
	}

	#qa .contents dl + dl {
		margin-top: 10%;
	}

	#qa .contact .txt {
		padding: 10% 0 10%;
	}

	#qa .contact .txt p {
		font-size: 1.5rem;
		line-height: 1.5;
	}

	#qa .contact .txt p + p {
		margin-top: 8%;
	}

	#qa .contact .btn-area {
		padding: 0 0;
		margin: 10% 0 0;
	}

	#qa .contact .btn {
		float: none;
		width: 100%;
	}

	#qa .contact .btn.btn-dbl{
		float: none;
		margin-top: 13%;
	}

	#qa .contact .btn a, #qa .contact .btn a:after {
		display: block;
		padding: 14px 0 18px 0;
		border-radius: 28px;
	}
	.notes{
		font-size:1.2rem;
		margin:7% 0 0 0;
	}

	.footer {
		border-top: 3px solid #043698;
		padding: 0 0 15%;
	}


}