@charset "utf-8";

#sec01 h2{
	display:inline-block;
	position:relative;
	font-size:24px;
	line-height:1.4;
	font-weight:600;
}
#sec01 h2 .naiyou{
	font-weight:600;
	font-size:180%;
	color:#fb505d;
	padding:0.1em 0;
	display:block;
}
#sec01 h2 .price{
	font-weight:600;
	font-size:250%;
	color:#fb505d;
	display:block;
}
#sec01 h2:before,#form h2:before{
	content:"";
	display:block;
	width:1px;
	height:100%;
	position:absolute;
	left:-5em;
	top:0;
	bottom:0;
	margin:auto;
	background:#000;
	transform:rotate(-30deg);
}
#sec01 h2:after,#form h2:after{
	content:"";
	display:block;
	width:1px;
	height:100%;
	position:absolute;
	right:-5em;
	top:0;
	bottom:0;
	margin:auto;
	background:#000;
	transform:rotate(30deg);
}
.outline{
	margin-top:3em;
	padding:30px;
	background:#f8f8f7;
	text-align:justify;
}
.outline .txt{
	width:50%;
	padding-right:40px;
	line-height:2;
}
.outline .pic{
	width:50%;
}
.outline .pic img{
	display:block;
	width:100%;
}
section .page-title{
	margin-top:0;
}
#sec02,#sec03{
	border-top:1px solid #eee;
}
#sec02 h3{
	margin-top:70px;
	font-size:36px;
	font-weight:600;
}
#sec02 h3 span{
	display:block;
	font-size:80%;
	color:#fb505d;
}
.hoken{
	margin-top:40px;
	padding:30px;
	border:1px solid #ccc;
	font-weight:600;
	font-size:24px;
}
.hoken img{
	display:inline-block;
}
.hoken h4{
	font-weight:600;
	margin-bottom:20px;
	line-height:1.4;
}
.caution {
    padding-top: 1em;
    color: #ab2b3a;
    font-weight: 600;
}



/* ++++++++++++++++responsive style+++++++++++++++++++ */
@media screen and (max-width:767px){
	#sec01 h2{
		font-size:1.8rem;
	}
	h2 img{
		display:block;
		width:100%;
		height:auto;
	}
	#sec01 h2 span,#sec02 h2 span,#form h2 span,#sec03 h2 span,#form h2 span{
		font-size:130%;
		padding-left:0;
	}
	.outline {
	    padding: 1.5rem;
		margin-top:2rem;
	}
	#sec02 .page-title{
		width:100%;
	}
	.promise{
		padding:1.5rem;
		margin-top:2rem;
	}
	.promise h3 {
	    font-size: 1.8rem;
	    padding-bottom: 1.5rem;
	}
	.promise li {
	    padding-left: 30px;
	    line-height: 1.8;
	    font-size: 1.6rem;
	}
	.promise li span {
	    width: 25px;
	    height: 25px;
	    line-height: 25px;
		bottom:auto;
	}
	.flow-list h4 span{
	    width: 30px;
	    height: 30px;
	    line-height: 30px;
		bottom:auto;
	}
	.flow .txt {
	    padding: 1rem 0 0;
		text-align:justify;
	}
	.flow-li .txt.f-left{
		float:none;
		width:100%;
	}
	.flow-li .pic.f-right {
	    width: 100%;
	    padding-top: 1rem;
	}
	.flow-li {
	    padding: 1.5rem;
	    margin-top: 2.5rem;
	}
	.flow-list h4 {
	    font-size: 1.6rem;
	    padding-left: 35px;
	    line-height: 2;
		font-weight:600;
	}
	.flow-li .banner {
	    margin: 2rem auto 0;
	    text-align: center;
	    width: 100%;
	}
	.flow-li .banner img{
		display:block;
		width:100%;
		height:auto;
	}
	.outline .txt{
		width:100%;
		float:none;
		padding-right:0;
	}
	.outline .pic{
		width:100%;
		float:none;
		padding-bottom:1rem;
	}
	.outline .pic img{
		display:block;
		width:100%;
	}
	.caution {
		line-height:1.5;
	}
	#sec03 h2,#form h2,#form h2{
		font-size:1.6rem;
		padding:0;
		display:block;
		font-weight:600;
		line-height:3.2rem;
	}
	#form h2{
		line-height:2.4rem;
	}
	#sec02 h2:before,#sec03 h2:before{
	    width: 2px;
	    height: 80%;
	    position: absolute;
	    left: 1.5rem;
		top:auto;
	}
	#sec02 h2:after,#sec03 h2:after {
	    width: 2px;
	    height:80%;
	    position: absolute;
	    right: 1.5rem;
		top:auto;
	}
	#sec03 .outline {
	    margin-top: 2rem;
	    padding: 1.5rem;
	}
	#sec03 .outline .pic {
	    width: 100%;
		float:none;
		padding-bottom:1rem;
	}
	#sec03 .outline .txt {
	    width: 100%;
	    padding-right: 0;
	}
	#form h2:before {
	    width: 2px;
	    height: 60%;
	    position: absolute;
	    left: 0.5rem;
		top:auto;
	}
	#form h2:after {
	    width: 2px;
	    height: 60%;
	    position: absolute;
	    right: 0.5rem;
		top:auto;
	}

	#sec02 li{
		width:100%;
		float:none;
	}
	#sec02 ul:before,#sec02 ul:after {
		display:none;
	}
	#sec02 h3 span {
	    font-size: 1.8rem;
	    font-weight: 600;
		line-height:1.4;
		display:block;
	}
	#sec02 h3 {
	    font-size: 2rem;
	    padding-bottom: 0;
		margin-top:2.5rem;
	}
	#sec02  li p {
		text-align:justify;
	}

	#sec03 .works li {
	    width: 100%;
		float:none;
	    height: auto;
		background:transparent;
	}
	#sec03 .works li img{
		display:block;
		width:100%;
		height:auto;
	}
	#sec03 .works ul:after{
		display:none;
	}
	#sec03 .works ul li:nth-of-type(1):after{
	    width: 0;
	    height: 0;
	    display: block;
	    content: "";
	    margin: 10px auto;
	    border-top: 30px solid #134e78;
	    border-left: 15px solid transparent;
	    border-right: 15px solid transparent;
	}

	.works table,.works tbody,.works tr,.works td{
		display:block;
		width:100%;
		border:none;
	}
	.works td{
		padding:0.5rem;
	}
	.works th {
		display:block;
		width:100%;
	    padding: 0.5rem;
	    width: 100%;
	}
	form table {
	    width: 100%;
		display:block;
	    margin-top: 2rem;
	}
	form tbody,form tr {
		display:block;
		width:100%;
	}
	form th {
	    width: 100%;
		display:block;
	    border-bottom: none;
	    padding: 1.5rem 0.5rem 0;
	}
	form td {
	    width: 100%;
		display:block;
	    padding: 0.5rem 0.5rem 1.5rem;
	}
	.check-area {
	    padding: 1.5rem;
	    margin-top: 2rem;
	    margin-bottom: 2rem;
	    text-align: justify;
	}
	.check-area p {
	    line-height:1.8;
	    width: calc(100% - 3rem);
	    padding-left: 0;
	}
	.send-btn {
	    font-size: 1.4rem;
	    width: 100%;
	    line-height: 3.5;
	}
	.txt-area {
	    width: 100%;
	    padding-right: 0;
		padding-bottom:1rem;
		float:none;
	}
.hoken{
	padding:1.5rem;
}
.hoken img{
	display:block;
	width:100%;
	height:auto;
}
#sec01 h2 .naiyou{
	font-size:110%;
}
#sec01 h2 .price {
    font-size: 200%;
}
#sec01 h2:before, #form h2:before,#sec01 h2:after, #form h2:after{
	display:none;
}
}