﻿@charset "utf-8";

p{ font-size:17px; line-height:2; }

.sp{ display:none; }

.unit{ margin:60px 0; }

.imgbox{ margin:25px 0 40px; text-align:center;}

.ttl01{ font-size:30px; margin:0 0 50px; }
.ttl02{ font-size:25px; margin:0 0 40px; }
.ttl02 .num{ background:#69ba00; border-radius:5px; display:inline-block; color:#fff; font-size:85%; padding:12px 20px; margin-right:25px; line-height:1; font-weight:normal; }
.ttl03{ font-size:19px; margin:0 0 25px; }

.block1{ width:1100px; margin:0 auto; padding:110px 0; font-size:17px; }

.box01{ padding:40px 40px; }

.tbl01{ margin:30px 0px; }
.tbl01 tr th, .tbl01 tr td{ padding:35px; }

.kv_block{ position:relative; }
.kv_block h1{ position:absolute; top:0; left:0; }
.kv_block #txt01{ position:absolute; top:0; left:0; }

.headline_box{ margin-bottom:80px; min-height:150px; }



.cv{ height:400px; }
.cv .block1{ position:relative; }
.cv .info_box{ color:#fff; }
.cv .ex{ font-size:28px; line-height:1.75; font-weight:bold; padding:0 0; margin:15px 0 15px; }
.cv .ex span{ font-size:50%; }
.cv .sub{}
.cv .cv_btn_box{ position:absolute; top:100px; right:0; height:200px; }
.cv .cv_btn01{ float:left; margin:0 30px 0 0; }
.cv .cv_btn02{}
.cv a:hover{ opacity:0.7; }



#about .headline_box h2{ position:absolute; }
#about .headline_box .txt{ padding:70px 0 0 400px; }



#concept .left{ float:left; width: 450px; }
#concept .right{ float:right; width:550px; }
#concept .headline_box h2{ margin:30px 0 70px; }
#concept .left img{ border-radius:20px; }



#area .headline_box h2{ position:absolute; }
#area .headline_box .txt{ padding:70px 0 0 400px; }
.area_list_item{ width:350px; float:left; margin:0 25px 0 0; }
.area_list_item:nth-child(3n){ margin:0; }
.area_list_item .infobox{ padding:30px 30px 40px; }
.area_list_item .infobox p{ font-size:16px; line-height:150%; }
.area_list_item h3{ }
.area_list_item h3 .sub{ margin:0 0 10px;  }
.area_list_item h3 .ttl{ font-size:26px; margin:0 0 20px; line-height:130%; letter-spacing:-0.02em; }
.area_list_item h3 .ttl span{ font-size:13px; margin-left:3px; }



#merit{}
#merit .headline_box h2{ position:absolute; }
#merit .headline_box .txt{ padding:70px 0 0 400px; }
.merit_item{ padding:50px 0 0; }
.merit_item .img img{ position:absolute; top:0; left:0; border-radius:20px; }
.merit_item .infobox{ position:relative; margin:0 0 0 520px; border-radius:20px; padding:40px 40px 60px 40px; min-height:380px; }
.merit_item .infobox h3{ margin:0 0 30px; }
.merit_item .infobox h3:after{ display: block; visibility: hidden; clear: both; overflow: hidden; content: ''; }
.merit_item .infobox h3 .num{ float:left; }
.merit_item .infobox h3 .ttl{ float:right; width:350px; font-size:30px; line-height:45px; padding-top:11px; }



#photo .headline_box h2{ position:absolute; }
#photo .headline_box .txt{ padding:70px 0 0 400px; }
.gallery-list{ }
.gallery-list:after{ display: block; visibility: hidden; clear: both; overflow: hidden; content: ''; }
.gallery-list li{ float:left; width:260px; margin:0 20px 20px 0; }
.gallery-list li:nth-child(4n){ margin-right:0; }



#equipment{}
#equipment .headline_box h2{ position:absolute; }
#equipment .headline_box .txt{ padding:70px 0 0 600px; }



#jurisdiction{}
#jurisdiction .headline_box h2{ position:absolute; }
#jurisdiction .headline_box .txt{ padding:70px 0 0 600px; }



#service{}
#service .headline_box h2{ position:absolute; }
#service .headline_box .txt{ padding:70px 0 0 450px; }


#service .service_list h3{ margin:0 0 60px;}
#service .service_list h3 .num{ margin:0 0 30px; }
#service .service_list h3 .ttl01{ }

#service {}
.service01_02 .left{ float:left; width:620px; }
.service01_02 .right{ float:right; width:360px;  }
.service01_02 .imgbox{ margin:0; }
.service01_03 .left{ float:left; width:500px; }
.service01_03 .right{ float:right; width:480px;  }
.service01_03 .imgbox{ margin:0; }
.service01_04 .imgbox{ margin-bottom:0; }

.service_group .box01{ width:350px; float:left; margin:0 25px 25px 0; }
.service_group .box01:nth-child(3n){ margin-right:0; }

.service_group .box01 .icon { margin-bottom:25px; }
.service_group .box01 .ttl02{ margin-bottom:25px; }
.service_group .box01 .txt{ font-size:16px; line-height:30px; }



#payment{}
#payment .headline_box h2{ position:absolute; }
#payment .headline_box .txt{ padding:70px 0 0 500px; }

#payment .shiharai .tbl01 td{ padding:15px 5px; }

.payment_list{ margin:50px 0; }
.payment_list .box01{ margin:0 0 30px; float:left; }
.payment_list .payment_plan30{ width:535px; margin-right:30px; }
.payment_list .payment_plan365{ width:535px;}
.payment_list .payment_plan730{ width:1100px; }
.payment_list .icon{ margin:0 0 20px; }
.payment_list .ttl02{ margin:0 0 30px; }

#campaign{}
#campaign .headline_box h2{ position:absolute; }
#campaign .headline_box .txt{ padding:70px 0 0 500px; }
#campaign .left{ float:left; width:290px; }
#campaign .right{ float:right; width:670px; }
#campaign .left{}
#campaign .left .icon{ margin:0 0 30px; }
#campaign .left .ttl{ font-size:30px; line-height:45px;  }
#campaign .right .summary{}
#campaign .right .list01{ margin:20px 0 25px; }
#campaign .right .list01 li{ font-weight:bold; margin:5px 5px; }
#campaign .right .list01 li strong{ margin:0 4px; }
#campaign .right .list01 li:before{ top:16px; }
#campaign .right .note{ font-size:14px; line-height:28px; }
.campaign_box{ padding:60px 50px; margin:0 0 40px; }


#point5{}
#point5 .headline_box h2{ position:absolute; }
#point5 .headline_box .txt{ padding:70px 0 0 400px; }
#point5 .reasons{}
#point5 .reasons .reason{ margin-bottom:30px; float:left; }
#point5 .reasons .reason .box01{}
#point5 .reasons .reason .heading{ }
#point5 .reasons .reason .heading{}
#point5 .reasons .reason .heading .order-count{ font-size:70px;  }
#point5 .reasons .reason .heading .ttl03{ font-size:30px; }
#point5 .reasons .reason .box02{ margin:50px 0 0; padding:50px;  }
#point5 .reasons .reason .box02 h3{ margin:0 0 40px; font-size:20px; }
#point5 .reasons .reason_item01{ }
#point5 .reasons .reason_item02{ width:535px; margin-right:30px; }
#point5 .reasons .reason_item03{ width:535px; }
#point5 .reasons .reason_item04{ width:535px; margin-right:30px; }
#point5 .reasons .reason_item05{ width:535px; }


#place{}
#place .headline_box h2{ position:absolute; }
#place .headline_box .txt{ padding:70px 0 0 400px; }
.basebox { margin:0 33px 30px 0; width:250px; float:left; }
.basebox:after{ display: block; visibility: hidden; clear: both; overflow: hidden; content: ''; }
.basebox:nth-child(4n) { margin-right:0; }
.basebox .imagebox { margin:0 0 10px; }
.basebox .lead { margin:0 0 2px; font-size:1.4rem; }
.basebox .name { font-size:18px; }
.basebox .own{ position:absolute; top:-25px; left:-25px; }



#faq{}
#faq .headline_box h2{ position:absolute; }
#faq .headline_box .txt{ padding:70px 0 0 400px; }

.faqbox{}
.toggle-cont{ }
.ques{  }
.ques h3{ font-size:19px;  padding:11px 70px 0 0; line-height:135%; }
.ans{ padding-top:6px; }
#faq .box01{ padding:20px 30px; margin:20px 0; }



#process{}
#process .headline_box h2{ position:absolute; }
#process .headline_box .txt{ padding:70px 0 0 400px; }
.process_list{ margin:0 0 60px; }
.process_list .box01{ padding:30px; }
.processbox{ float:left; width:260px; margin:0 20px 0 0; }
.processbox .num{ text-align:center; color:#fb9c09; font-size:60px; margin-bottom:10px; }
.processbox .icon{ text-align:center; margin-bottom:25px; }
.processbox h3{ text-align:center; font-weight:bold; color:#69ba00; margin-bottom:30px; font-size:25px; }
.processbox .txt{}
.process_item01{}
.process_item02{}
.process_item03{}
.process_item04{ margin-right:0; }



#greeting{}
#greeting .headline_box h2{ position:absolute; }
#greeting .headline_box .txt{ padding:70px 0 0 500px; }
#greeting .headline_box .txt p{ font-size:25px; line-height:50px; font-weight:bold; }
#greeting .left{ float:left; width:540px; }
#greeting .right{ float:right; width:500px; }
#greeting .right .image{ margin:0 0 15px; }
#greeting .right .image img{ border-radius:20px; }
#greeting .right .line1{ margin:0 0 10px; }
#greeting .right .line2{ margin:0 0 10px;  }
.greeting_box,
.greeting_box p{ }



#entry{}
#entry .headline_box h2{ position:absolute; }
#entry .headline_box .txt{ padding:70px 0 0 400px; }

	.form table th {
		display: table-cell;
		padding:20px 0;
		width:290px;
		color: #69ba00; 
	}

	.form table td {
		display: table-cell;
		padding:20px 0 20px 30px;
	}

	.form table tr:last-child td {
		padding:20px 0 20px 30px;
	}

	.form table td.input {
		padding:12px 0 12px 30px;
	}

	.checkline {
		line-height:40px;
	}

	.selectline {
		padding:0 0 0 95px;
		width:400px;
		position: relative
	}

	.selectline .label {
		position: absolute;
		top:6px;
		left:0;
		margin:0;
	}

	.form table td .area51 {
		height:200px;
	}

	.form table td .rules {
		height:200px;
	}

	.form table td .rules h3 {
		margin:0 20px 5px 0;
	}

	.form table td .rules .rblock {
		margin:0 20px 30px 0;
	}

	.btn_block p {
		display: inline-block;
		margin:0 10px;
	}

	.btn_block p.back {
		margin:0 10px;
	}

	.pagetop {
		right:50px;
		bottom:50px;
		width:50px;
	}

	footer .block1 {
		padding:35px 50px 55px;
	}







footer{ }
footer .flinks{ margin:0 0 20px; }
footer .flinks li{ display:inline-block; margin:0 10px; }
footer .flinks li a{ }
footer .flogo{ margin:0 0 30px; }
footer .flogo img{ width:300px; }
footer .copy{ font-size:12px; }

.pagetop {
right:50px;
bottom:50px;
width:50px;
}

.pagetop a {
padding: 50px 0 0;
background-size: 22px 11px;
}
