body{
	font-family: 'Yu Gothic', 'Kozuka Gothic Pr6N', 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
	font-weight: 500;
	font-size: 20px;
	color: #333333;
	font-feature-settings : "palt";
	line-height: 1.7;
}
.container {
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}
.bg-gray{
	background-color: #f5f4f5!important;
}
.bg-orange{
	background-color: #fee4d9!important;
}
.bg-inverse{
	background-color: #3f8d8e!important;
}
.border{
	border-color: #3f8d8e!important;
}
.bigger{
	font-size: 120%;
}
.align-sub{
  vertical-align: sub;
}
a{
	color: #000;
	transition: all .25s linear;
}
a:hover{
	opacity: 0.75;
	filter: opacity(75);
	text-decoration: none;
}
.visual-img img{
	max-width: none;
	width: 100%;
}
.ssl-box{
	position: relative;
	background: url(../images/pat_bg.png) repeat #d7eff0;
}
.ssl-box:after {
	content: '';
	width: 292px;
	height: 48px;
	background: url(../images/pat_arrow.png) no-repeat;
	position: absolute;
	bottom: -45px;
	left: calc(50% - 145px);
}
#ssl{
	padding-top: 110px;
	padding-bottom: 90px;
}
#ssl .box-desc{
	background-color: #3f8d8e;
	color: #fff;
	font-size: 130%;
	margin-left: auto;
	margin-right: auto;
	max-width: 916px;
	margin-top: 50px;
	margin-bottom: 30px;
	padding: 15px;
	line-height: 50px;
}
#ssl .text-mark{
	color: #3f8d8e;
	text-decoration: underline;
}
#merit{
	padding-bottom: 75px;
}
#merit h2{
	padding-top: 75px;
	padding-bottom: 75px;
}
#merit h3{
	margin-bottom: 0;
}
#merit .box-desc {
	padding: 22px 30px 18px 38px;
}
.merit-box .img{
	/*width: 465px;*/
	width: 45%;
}
.merit-box .img + .text{
	/*width: calc(100% - 465px);*/
	width: 55%;
}
#voice{
	padding-top: 125px;
	padding-bottom: 100px;
}
#voice h2{
	padding-bottom: 50px;
}
#voice .voice-box {
	margin-left: 130px;
	margin-right: 130px;
}
#voice .voice-box:first-child{
	border-right: 5px solid #3f8d8e;
}
#voice .voice-box:nth-child(2){
	border-right: 5px solid #d57172;
}
#voice .voice-box:last-child{
	border-right: 5px solid #78a1cf;
}
#voice .voice-box .voice-avatar{
	width: 145px;
	font-size: 85%;
}
#voice .voice-box .voice-desc {
	width: calc(100% - 145px);
	padding-left: 25px;
	font-size: 80%;
}
#faq{
	padding-top: 90px;
	padding-bottom: 50px;
}
#faq .faq-box{
	font-size: 80%;
}
#faq .faq-box .question {
	font-weight: bold;
	margin-bottom: 30px;
}
#faq .faq-box .question,
#faq .faq-box .answer{
	position: relative;
	padding-left: 50px;
}
#faq .faq-box .question:before,
#faq .faq-box .answer:before{
	content: '';
	width: 45px;
	height: 45px;
	background-size: 100% auto;
	position: absolute;
	top: 0;
	left: 0;
}
#faq .faq-box .answer:before{
	background-image: url(../images/icon_a.png);
}
#faq .faq-box .question:before{
	background-image: url(../images/icon_q.png);
}
#step{
	position: relative;
}
#step .box-item {
	padding: 25px 35px;
}
#step .box-item .img {
	margin-right: 35px;
}
#step .box-item h3{
	font-size: 120%;
	position: relative;
	padding-left: 30px;
}
#step .box-item h3:before{
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	width: 20px;
	height: 20px;
	background: url(../images/dot.png)
}
#step .box-item .content-box {
	width: calc(100% - 200px);
}
#step .box-item .content-box .note {
	font-size: 80%;
	margin-top: 30px;
}
#step .box-item .content-box .sub-text{
	padding-left: 20px;
}
#step .box-item .content-box .bigger{
	color: #ff0000;
	font-size: 150%;
	font-weight: bold;
}
#step .step-item{
	position: relative;
}
#step .step-item:before{
	content: '';
	position: absolute;
	left: 0;
	top: 85px;
	width: 48px;
	height: 28px;
	background: url(../images/step_icon.png) no-repeat;
}
#step .step-item + .step-item{
	padding-left: 48px;
}
#step .step-item.no-arrow:before{
	display: none;
}
#step #step3.step-item:before{
	left: -47px;
}
#step:after{
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 50px 150px 0 150px;
	border-color: #f5f4f5 #0000 #0000 #0000;
	position: absolute;
	bottom: -50px;
	left: calc(50% - 150px);
}
#campaign{
	color: #fff;
	padding-top: 65px;
}
#campaign .text-desc{
	font-size: 90%;
}
#campaign .banner {
	margin-right: 15px;
}
#campaign .price{
	color: #ffff00;
	font-size: 130%;
}
#campaign .border{
	border-color: #fff!important;
}
#campaign .border{
	margin-bottom: 35px;
}
#campaign .desc-campaign {
	padding: 0 30px;
}

#contact-form{
	padding-top: 90px;
	font-size: 90%;
}
#contact-form .label-title{
	margin-bottom: 0;
}
#contact-form .form-control{
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 4px;
	width: 100%;
}
#contact-form input[type="radio"],
#contact-form input[type="checkbox"]{
	margin-right: 10px;
	margin-top: -7px;
	display: inline-block;
	vertical-align: middle;
}
#contact-form .form-item{
	margin-bottom: 25px!important;
}
#contact-form #address .form-control{
	width: 100%;
}
#contact-form .req{
	font-size: 70%;
	background-color: #ff7e00;
	color: #fff;
	display: inline-block;
	padding: 2px 7px;
	float: right;
}
#contact-form .agreement-text{
	margin-left: 30px;
}
#contact-form .agreement-text a {
	color: #00caff;
	text-decoration: underline;
}
#contact-form .input-field textarea{
	resize: none;
}
#contact-form .btn-submit{
	background: url(../images/submit.png) no-repeat center center;
	display: inline-block;
	padding: 0;
	text-indent: -9999px;
	width: 350px;
	height: 120px;
	border: none;
	margin-top: 30px;
	margin-bottom: 130px;
	cursor: pointer;
}
#contact-form .btn-submit:hover{
	opacity: 0.75;
	filter: opacity(75);
}
.fc-orange{
	color: #ff7e00;
}
.fc-green{
	color: #3f8d8e;
}
.fc-pink{
	color: #ff3e62;
}
.fc-yellow{
	color: #ffff00;
}
.fs-34{
	font-size: 34px;
}
.fs-32{
	font-size: 32px;
}
.fs-35{
	font-size: 35px;
}
.fs-48{
	font-size: 48px;
}
@media (min-width: 576px) {

}

/*** pc用 ***/
@media (min-width: 768px) {
	body{min-width: 1260px;}
	.visible-sp{
		display: none;
	}
	.visible-pc{
		display: block;
	}
  .container{
    width: 1100px;
  }
	.banner-title:before{
		display: inline-block;
		content: url(../images/banner_title_before.png);
	}
	.banner-title:after{
		display: inline-block;
		content: url(../images/banner_title_after.png);
	}
	.banner-title h3{
		font-size: 35px;
		margin-left: 10px;
		margin-bottom: 0;
	}
  #ssl .container{
    padding-left: 20px;
    padding-right: 20px;
    width: 1260px;
  }
  #ssl .desc{
    font-size: 90%;
  }
  #ssl .row{
    margin-left: -20px;
    margin-right: -20px;
  }
  #ssl .row > div{
    padding-left: 20px;
    padding-right: 20px;
  }
	.ssl-block{
		width: 1110px;
		margin: 0 auto;
		position: relative;
	}
	.ssl-block-title{
		font-size: 39px;
		margin-bottom: 1em;
	}
	.ssl-block-arrow{
		margin: 45px auto 50px;
	}
	.ssl-block-fig{
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.ssl-box-col h4{
		background: #3f8d8e;
		padding: 20px 0 2px;
		margin: 0;
		color: #fff;
		font-weight: bold;
	}
	.ssl-title-af{
		background: #fff;
    margin-top: -2px;
	}
	.ssl-title-af img{
		vertical-align: top;
	}
	.ssl-box-inner{
		background: #fff;
		padding: 10px 10px  25px;
		color: #3f8d8e;
	}
	.ssl-box-inner p{
		margin-bottom: 25px;
	}
	.ssl-box-inner p b{
		text-decoration: underline;
		font-size: 24px;
	}
	#merit{
		padding-bottom: 100px;
	}
	#merit .container{
		width: 1130px;
	}
	#merit h2{
		font-size: 35px;
	}
	#merit h2 .fc-orange{
		font-size: 39px;
	}
	#merit h3{
		position: relative;
		margin-left: 32px;
		top: -24px;
		margin-bottom: -24px;
		border-bottom: 6px #ff3e62 solid;
	}
	#merit h3 br{
    display: none;
  }
	.merit-box{
		background: #fff;
	}
	.merit-box+.merit-box{
		margin-top: 38px;
	}
	#merit .merit-no{
		background: url(../images/merit.png) left bottom no-repeat;
		width: 170px;
		height: 90px;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #fff;
    padding-top: 15px;
    padding-right: 15px;
	}
	#merit .merit-sub{
		padding: 35px 10px 10px 0;
	}
	.step-item{
		padding: 20px 12px;
	}
	#step .step-item + .step-item{
		padding-left: 68px;
	}
	#step .container{
		width: 1100px;
	}
	.step-box{
		width: 264px;
		padding: 20px;
		border-radius: 10px;
		box-shadow:0 0 10px 1px rgba(0,0,0,0.1);
		font-size: 16px;
	}
	.step-box p{
		margin: 15px 0 0;
	}
	.step1 .step-box{
		width: 336px;
	}
	.step2 .step-box{
		width: 280px;
	}
	.campaign-title{
		font-size: 33.6px;
		line-height: 40.8px;
	}
	.campaign-title .day{
		font-size: 26px;
	}
	#faq .container{
		width: 1100px;
	}
	#contact-form .label-title{
		width: 240px;
	}
	#contact-form .input-field{
		width: calc(100% - 240px);
		padding-left: 15px;
	}
	#contact-form .form-control{
		height: 45px;
		width: 100%;
	}
	#contact-form .input-field textarea{
		width: 100%;
		height: 150px;
	}
	#ssl .desc{
		padding-bottom: 75px!important;
	}
	#faq .faq-text{
		margin-top: 45px;
	}
	#campaign .container{
		width: 970px;
	}
}
@media (min-width: 992px) {
	#contact-form .form-control{
		width: 445px;
	}
	#contact-form .input-field textarea{
		width: 630px;
	}
}
@media (min-width: 1200px){
	.container {
		max-width: 1130px;
	}
	#ssl .container {
		max-width: 1225px;
	}
}
@media (max-width: 991px){
	#voice .voice-box{
		margin-left: 0;
		margin-right: 0;
	}
	#faq .faq-box{
		margin-bottom: 15px;
	}
	#faq .faq-box:last-child{
		margin-bottom: 0;
	}
}


@media (max-width: 767px){
	body {
		font-size: 3.2vw;
	}
  .container,
  #ssl .container{
    padding-left: 4%;
    padding-right: 4%;
  }
  .ssl-block-mark{
    width: 21.3333333vw;
  }
	.fs-32{
		font-size: 5.12vw;
	}
	.fs-34{
		font-size: 5.5vw;
	}
	.fs-35{
		font-size: 5.6vw;
	}
	.fs-48{
		font-size: 6.4vw;
	}
	.visible-sp{
		display: block;
	}
	.visible-pc{
		display: none;
	}
	#ssl ,
  #voice{
		padding-top: 13.333333%;
		padding-bottom: 8%;
	}
	#ssl .row > div {
		margin-bottom: 20px;
	}
	#ssl .desc {
		padding-bottom: 2.5rem!important;
	}
	#ssl .box-desc {
		background-color: #3f8d8e;
		color: #fff;
		padding: 10px;
		font-size: 3.86666666667vw;
		margin: 25px 0;
		line-height: 1.72413793103;
	}
	.ssl-box-col h4{
		background: #3f8d8e;
		padding: 4.22535211% 0 1px;
		margin: 0;
		color: #fff;
		font-weight: bold;
		font-size: 5.12vw;
	}
	.ssl-title-af{
		background: #fff;
	}
	.ssl-title-af img{
		vertical-align: top;
		margin-top: -1px;
	}
	.ssl-box-inner{
		background: #fff;
		padding: 10px 10px 5.633802816%;
		color: #3f8d8e;
	}
	.ssl-box-inner p{
		margin-bottom: 4.41176470588%;
	}
	.ssl-box-inner p b{
		text-decoration: underline;
		font-size: 3.84vw;
	}
	#merit h3{
		position: relative;
		margin-left: 4vw;
		border-bottom: 3px #ff3e62 solid;
	}
	.merit-box{
		background: #fff;
	}
	.merit-box+.merit-box{
		margin-top: 5.6338028169%;
	}
	#merit .merit-no{
		background: #ff3e62;
		display: flex;
    width: 20.8vw;
		align-items: center;
		justify-content: center;
		color: #fff;
    position: relative;
    padding: 1.33333333333vw 1px 2.6666666vw;
	}
	#merit .merit-no:after{
    content: "";
    position: absolute;
    left: 0;
    right: -2.28vw;
    bottom: 100%;
    height: 2.28vw;
    background: url(../images/merit_sp.png) left bottom no-repeat;
    background-size: contain;
  }
	#merit .merit-sub{
		padding: 10px;
	}
	#merit .img {
		text-align: center;
		margin-bottom: 1rem;
		width: 100%;
	}
	.merit-box .img + .text{
		width: 100%;
	}
	#merit .box-desc {
		padding: 30px;
	}
  #voice .voice-box .voice-desc{
    font-size: 12px;
  }
	.faq-text{
		font-size: 150%;
		font-weight: bold;
	}
	.faq-text span{
		color: #ff7e00;
	}
	#step .box-item {
		padding: 8px;
	}
	#step .step-item{
		padding: 0!important;
	}
	#step .step-item:before{
		display: none;
	}
	#step .box-item .img {
		margin-right: 5px;
		width: 20vw;
	}
	#step .box-item .content-box {
		width: calc(100% - 20vw);
	}
	.step-box{
		width: 100%;
		padding: 3.84615384615%;
		border-radius: 10px;
		box-shadow:0 0 10px 1px rgba(0,0,0,0.1);
		font-size: 12px;
    position: relative;
    margin-bottom: 7.69230769231%;
	}
  .step-item:not(:last-child) .step-box:after{
    content: "";
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -6px;
    margin-top: 2.5%;
    border:6px transparent solid;
    border-top: 8px #ff7e00 solid;
  }
	.step-box p{
		margin: 10px 0 0;
	}
	#campaign .desc-campaign {
		padding: 0;
	}
	#campaign .banner {
		margin-right: 15px;
		width: 25vw;
	}
	#campaign .campaign-text {
		width: calc(100% - 25vw);
	}
	#campaign .border{
		padding: 10px 5px!important;
	}
	.campaign-title{
		line-height: 5.44vw;
    font-size: 4.48vw;
	}
	#faq .faq-box .question{
		margin-bottom: 5vw;
	}
	#faq .faq-box .question,
	#faq .faq-box .answer{
		padding-left: 8vw;
	}
	#faq .faq-box .question:before,
	#faq .faq-box .answer:before {
		content: '';
		width: 6vw;
		height: 6vw;
	}
	#merit{
		padding-bottom: 8.66666666667%;
	}
	#merit h2 {
		padding: 40px 0 20px;
	}
	#voice h2 {
		padding-bottom: 20px;
	}
	#voice .voice-box .voice-avatar {
		width: 24%;
	}
	#voice .voice-box .voice-desc {
		width: 76%;
		padding-left: 2.66666666667vw;
	}
	#faq {
		padding-top: 8%;
		padding-bottom: 8%;
	}
	#contact-form {
		padding-top: 40px;
	}
	#contact-form .label-title {
		margin-bottom: 5px;
	}
	#contact-form .form-item {
		margin-bottom: 10px!important;
	}
	#contact-form .req {
		float: left;
		margin-right: 5px;
	}
	#contact-form .input-field textarea {
		height: 25vw;
	}
	#contact-form .agreement .input-field{
		margin-top: 10px;
	}
	#contact-form .btn-submit{
		width: 100%;
		height: 25vw;
		background: url(../images/submit_sp.png) no-repeat center center;
		background-size: 100% auto;
		margin-top: 0;
		margin-bottom: 40px;
	}
	.ssl-box:after {
    content: '';
    width: 50%;
    height: 30%;
    background: url(../images/pat_arrow.png) no-repeat;
    position: absolute;
    bottom: auto;
    left: 25%;
    background-size: contain;
    top: 100%;
	}
  #contact-form{
    font-size: 100%;
  }
}
@media (max-width: 576px){
  body{
    font-size: 14px;
  }
	.fs-32{
		font-size: 18px;
	}
	.fs-34{
		font-size: 18px;
	}
	.fs-35{
		font-size: 18px;
	}
	.fs-48{
		font-size: 22px;
    align-items: flex-end;
	}
 	.campaign-title{
    font-size: 18px;
    line-height: 22px;
  }
  .ssl-block-title{
    font-size: 23px;
  }
	#ssl .box-desc {
		font-size: 18px;
  }
  .ssl-box-inner p b {
    font-size: 16px;
  }
	#step:after {
		content: '';
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 8vw 20vw 0 20vw;
		border-color: #f5f4f5 #0000 #0000 #0000;
		position: absolute;
		bottom: -7vw;
		left: calc(50% - 20vw);
	}
	#merit .box-desc {
		padding: 15px;
	}
  #merit .merit-no{
    font-size: 15px;
  }
	#step .box-item .content-box .note {
		font-size: 11px;
		margin-top: 10px;
	}
	#step .box-item h3 {
		padding-left: 5vw;
	}
	#step .box-item h3:before {
		content: '';
		position: absolute;
		left: 0;
		top: 4px;
		width: 4vw;
		height: 4vw;
		background: url(../images/dot.png) no-repeat 0 0;
		background-size: 100% auto;
	}
  #voice .voice-box .voice-avatar,
  #faq .faq-box,
  #campaign .text-desc{
    font-size: 12px;
  }
  #contact-form{
    font-size: 14px;
  }
  #contact-form .req{
    font-size: 12px;
  }
	#voice .voice-box{
		padding: 4.22535211268%!important;
	}
}

.footer_txt{
	font-size: 12px;
	background: #000;
	padding: 10px;
	color: #fff;
	margin-bottom:0
}

.footer_txt a{
	font-size: 12px;
	background: #000;
	padding: 10px;
	color: #fff;
}
