@charset "utf-8";

main{
	background:#fff;
	min-height:100vh;
}
#sec01 h2.inner,#sec02 h2.inner{
	display:block;
}
.outline{
	padding-top:50px;
}
.txt-area{
	width:60%;
	padding-right:20px;
}
.pic{
	width:40%;
}
.promise{
	background:#eee;
	padding:30px;
	margin-top:50px;
}
.promise h3{
	font-size:24px;
	font-weight:600;
	color:#134e78;
	padding-bottom:20px;
}
.promise li{
	font-weight:600;
	position:relative;
	padding-left:50px;
	line-height:40px;
	font-size:18px;
	margin-bottom:1em;
}
.promise li span{
	background:#134e78;	
	color:#fff;
	display:inline-block;
	width:40px;
	height:40px;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
	text-align:center;
	line-height:40px;
}


#sec02,#sec03{
	padding-top:0;
}
#sec02 h3{
	padding-top:50px;
}
#sec02 h3 span{
	border-bottom:4px solid #134e78;
	padding:0 1em 0.2em;
	color:#134e78;
	font-size:32px;
}
.flow .txt{
	font-weight:600;
	padding:20px 0 0;
}
.flow-li{
	padding: 20px;
    border: 1px solid #ccc;
	margin-top:50px;
}
.flow .txt a{
	text-decoration:underline;
	color:#134e78;
}
.flow .txt a:hover{
	text-decoration:none;
}
.flow-list h4{
	font-size:24px;
	font-weight:500;
	position:relative;
	padding-left:75px;
	padding-bottom:0.1em;
	border-bottom:3px solid #000;
	line-height:3;
}
.flow-list h4 span{
	color: #fff;
    display: block;
    width: 60px;
    height: 60px;
    text-align: center;
    background: #fb505d;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 60px;
    font-size: 130%;
    font-weight: 600;
}
.flow-li .banner{
	display:block;
	margin:40px auto 0;
	text-align:center;
	width:708px;
}
.flow-li .txt.f-left{
	width:60%;
	padding-right:20px;
}
.flow-li .pic.f-right{
	width:40%;
	padding-top:20px;
}
.flow01{
	margin-bottom:40px;
}
form{
	font-size:14px;
}
form table{
	width:100%;
	margin-top:20px;
}
form th{
	width:30%;
	text-align:justify;
	border-bottom:1px solid #eee;
	padding:20px;
}
form td{
	width:70%;
	text-align:justify;
	border-bottom:1px solid #eee;
	padding:20px;
}
.txt01{
	display: block;
    width: 100%;
    background: #f5f7f4;
    border: 1px solid #dfdfdf;
    line-height: 52px;
	font-size:14px;
	height:52px;
	appearance:none;
	-webkit-appearance:none;
	-ms-appearance:none;
	-moz-appearance:none;
	font-family:游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;

}
textarea{
    display: block;
    width: 100%;
    background: #f5f7f4;
    border: 1px solid #dfdfdf;
    line-height:2;
    height: 200px;
	padding:5px;
}
input[type="checkbox"]{
	width:15px;
	height:15px;
	vertical-align:middle;
	margin-right:0.2em;
}
form li{
	display:inline-block;
	margin-right:1em;
}
.check-area{
	padding:20px 40px;
	margin-top:40px;
	margin-bottom:40px;
	text-align:justify;
}
.check-area p{
	line-height:2;
	width:calc(100% - 40px);
	padding-left:10px;
	vertical-align:top;
	display:inline-block;
}
#check-flg{
	display:inline-block;
	width:20px;
	height:20px;
	vertical-align:top;
}
.send-btn{
	color:#fff;
	font-size:14px;
	font-weight:600;
	appearance:none;
	-webkit-appearance:none;
	-ms-appearance:none;
	-moz-appearance:none;
	display:block;
	width:300px;
	line-height:4.2;
	margin:auto;
	border:none;
	background:#0d61a9;
	cursor:pointer;
}
#sec03 h2,#form h2{
	display:inline-block;
	position:relative;
	padding:0 2em;
	font-weight:500;
}
#sec03 h2:before,#form h2:before{
	content:"";
	display:block;
	width:1px;
	height:100%;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
	background:#000;
	transform:rotate(-30deg);
}
#sec03 h2:after,#form h2:after{
	content:"";
	display:block;
	width:1px;
	height:100%;
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	background:#000;
	transform:rotate(30deg);
}
#sec03 h2 span {
    font-weight: 600;
    font-size: 150%;
    color: #fb505d;
    padding-left: 0.05em;
}
#sec03 .outline {
    margin-top: 3em;
    padding: 30px;
    background: #f8f8f7;
}
#sec03 .outline .pic {
    width: 40%;
}
#sec03 .outline .txt {
	text-align:justify;
    width: 60%;
    padding-right: 40px;
    line-height: 2;
}


/* ++++++++++++++++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-top: 2.5rem;
	}
	.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: 1rem;
	}
	#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;
	}
}