@charset "UTF-8";
/*
 * sub_layout.css
 *
 */

/* !Loading
---------------------------------------------------------- */
#loading {
  width: 100vw;
  height: 100vh;
  transition: all 1.8s 0.6s;
  background-color: #FFF;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
}

.loaded {
  opacity: 0;
  visibility: hidden;
}

/* !mainvisual
---------------------------------------------------------- */
.main {
	position: relative;
	width:100%;
	height:580px;
	padding:0 20px;
	background-color: #F3F3F3;
	overflow: hidden;
	z-index:0;
}
	.main div.inner {
		width:100%;
		height:400px;
		background: url("../img/sub_main.jpg") 50% 50% no-repeat;
		background-size:cover;
		border-radius: 20px;
		margin-top:160px;
		position: relative;
	}
		.main div.inner p {
			position: relative;
			font-size:30px;
			font-weight: 700;
			color: #FFF;
			line-height: 1.3;
			letter-spacing: 0.04em;
			text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
			padding-left:60px;
			padding-top:140px;
			-webkit-animation: copyanimation 3s forwards;
			-moz-animation: copyanimation 3s forwards;
			animation: copyanimation 3s forwards;
		}
		.main div.inner h1 {
			font-size:60px;
			font-weight: 700;
			color: #FFF;
			line-height: 1.4;
			letter-spacing: 0.04em;
			text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.5);
			padding-left:60px;
			-webkit-animation: copyanimation 3s forwards;
			-moz-animation: copyanimation 3s forwards;
			animation: copyanimation 3s forwards;
		}

/* !アニメーション設定 */
@keyframes copyanimation {
	0% {
		opacity: 0;
		transform: translateX(-50px);
    }
	70% {
		opacity: 0;
		transform: translateX(-50px);
    }
	100% {
		transform: translateX(0);
    }
}

@media screen and (max-width:1039px){
.main {
	height:430px;
}
	.main div.inner {
		height:300px;
		margin-top:110px;
	}
		.main div.inner p {
			font-size:26px;
			padding-left:40px;
			padding-top:93px;
		}
		.main div.inner h1 {
			font-size:50px;
			padding-left:40px;
		}
}

@media screen and (max-width:767px){
.main {
	height:305px;
	padding:0 15px;
}
	.main div.inner {
		height:200px;
		background: url("../img/sub_main.jpg") 50% 50% no-repeat;
		background-size:cover;
		border-radius: 20px;
		margin-top:90px;
		position: relative;
	}
		.main div.inner p {
			font-size:17px;
			line-height: 1.4;
			border-radius: 16px;
			padding-top:64px;
			padding-left:20px;
		}
		.main div.inner h1 {
			font-size:28px;
			line-height: 1.5;
			padding-left:20px;
		}
}

@media screen and (max-width:359px){
		.main div.inner h1 {
			font-size:25px;
			letter-spacing: 0.02em;
		}
}

/* !パンくずリスト
---------------------------------------------------------- */
div#breadcrumb {
	width:100%;
	padding:15px 20px;
}
	div#breadcrumb ul {
		width:100%;
		max-width:1200px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
	}
		div#breadcrumb ul li {
			display:inline-block;
			font-size:14px;
			color:#111;
			line-height: 1.6;
			padding-right:26px;
			padding-left:12px;
			position: relative;
			margin-bottom: 5px;
		}
		div#breadcrumb ul li:first-child {
			padding-left:0;
		}
		div#breadcrumb ul li:last-child {
			font-weight: 700;
			color: #111;
			padding-right:0;
		}
			div#breadcrumb ul li:before {
				position: absolute;
				display: block;
				content:"";
				width:14px;
				height: 1px;
				background: #111;
				top:50%;
				right:0;
			}
			div#breadcrumb ul li:last-child:before {
				display: none;
			}
			div#breadcrumb ul li a {
				text-decoration: none;
				color:#65B401;
				transition: all 0.6s ease;
			}
				div#breadcrumb ul li a:hover {
					opacity:0.7;
				}

@media screen and (max-width:1039px){
div#breadcrumb {
	padding:15px 20px;
}
		div#breadcrumb ul li {
			font-size:13px;
		}
				div#breadcrumb ul li a:hover {
					opacity:1;
				}
}

@media screen and (max-width:767px){
div#breadcrumb {
	padding:10px 15px;
}
		div#breadcrumb ul li {
			font-size:12px;
			padding-right:18px;
			padding-left:8px;
			position: relative;
		}
		div#breadcrumb ul li:last-child {
			padding-right:0;
		}
			div#breadcrumb ul li:before {
				width:10px;
			}
}

/* !フォーム
---------------------------------------------------------- */		
ul.contactStep {
	width:100%;
	margin:0 auto 55px auto;
}
	ul.contactStep li {
		width:30%;
		float:left;
		margin-right:5%;
	}
		ul.contactStep li:last-child {
			margin-right:0;
		}
		ul.contactStep li.norm {
			display:block;
			height:60px;
			line-height:60px;
			background:#65B401;
			text-align:center;
			font-size:20px;
			font-weight:700;
			color:#FFF;
			position:relative;
		}
			ul.contactStep li.norm:after {
				position:absolute;
				content:"";
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 30px 0 30px 30px;
				border-color: transparent transparent transparent #65B401;
				top:0;
				right:-30px;
			}
				ul.contactStep li:last-child.norm:after {
					display:none;
				}
		ul.contactStep li.current {
			display:block;
			height:60px;
			line-height:60px;
			background:#00B4FF;
			text-align:center;
			font-size:20px;
			font-weight:500;
			color:#FFF;
			position:relative;
		}
			ul.contactStep li.current:after {
				position:absolute;
				content:"";
				width: 0;
				height: 0;
				border-style: solid;
				border-width: 30px 0 30px 30px;
				border-color: transparent transparent transparent #00B4FF;
				top:0;
				right:-30px;
			}
				ul.contactStep li:last-child.current:after {
					display:none;
				}

span.label {
	display:inline-block;
	padding:1px 5px;
	background-color:#F55523;
	border-radius: 4px;
	color:#FFF;
	font-size:10px;
	margin-left:7px;
}
input.norm {
	width:100%;
	background:#FFF;
	border:1px solid #e1e6d9;
	padding:1em 1em;
}
input.short {
	width:50%;
	background:#FFF;
	border:1px solid #e1e6d9;
	padding:1em 1em;
}
input.exshort {
	width:30%;
	background:#FFF;
	border:1px solid #e1e6d9;
	padding:1em 1em;
}
select {
	background:#FFF;
	border:1px solid #e1e6d9;
	padding:1em 1em;
}
	select option{
		margin-bottom:5px;
	}
textarea.norm {
	width:100%;
	height:200px;
	background:#FFF;
	border:1px solid #e1e6d9;
	padding:1em 1em;
}
label.check {
	display:inline-block;
	padding:1em 1em;
	background:#FFF;
	border:1px solid #e1e6d9;
	margin-left:5px;
	margin-bottom:8px;
}
input.btn_submit {
	padding:1.6em 2em;
	font-size:18px;
	background:#00B4FF;
	color:#FFF;
	font-weight:700;
	border-radius: 4px;
	transition: all 0.5s ease;
}
	input.btn_submit:hover {
		opacity:0.7;
	}
input.btn_back {
	font-size:18px;
	background:#999;
	padding:1.6em 2em;
	color:#FFF;
	font-weight:700;
	border-radius: 4px;
	transition: all 0.5s ease;
}
	input.btn_back:hover {
		opacity:0.7;
	}

.kiyaku {
	width: 100%;
	height: 300px;
	padding:30px 40px;
	border: 1px solid #0C0C0C;
	overflow-x: scroll;
	font-size:90%;
	margin-bottom: 60px;
}
	.kiyaku h2 {
		font-size:18px;
		font-weight: 700;
		text-align: center;
		margin-bottom: 30px;
	}
	.kiyaku .cap {
		font-weight: 700;
		margin-bottom: 10px;
	}
	.kiyaku p.read {
		margin-bottom: 30px;
	}
	
@media screen and (max-width:1039px){
	ul.contactStep li.norm {
			height:60px;
			line-height:60px;
			font-size:18px;
		}
			ul.contactStep li.norm:after {
				border-width: 30px 0 30px 30px;
				right:-30px;
			}
		ul.contactStep li.current {
			height:60px;
			line-height:60px;
			font-size:18px;
		}
			ul.contactStep li.current:after {
				border-width: 30px 0 30px 30px;
				right:-30px;
			}

input.btn_submit {
	font-size:16px;
}
	input.btn_submit:hover {
		opacity:1;
	}
input.btn_back {
	font-size:16px;
}
	input.btn_back:hover {
		opacity:1;
	}
	
.kiyaku {
	padding:30px 30px;
}
}

@media screen and (max-width:767px){
ul.contactStep {
	margin:0 auto 50px auto;
}
	ul.contactStep li {
		width:28%;
		margin-right:8%;
	}
		ul.contactStep li.norm {
			height:46px;
			line-height:46px;
			font-size:100%;
		}
			ul.contactStep li.norm:after {
				border-width: 23px 0 23px 23px;
				right:-23px;
			}
		ul.contactStep li.current {
			height:46px;
			line-height:46px;
			font-size:100%;
		}
			ul.contactStep li.current:after {
				border-width: 23px 0 23px 23px;
				right:-23px;
			}
	
input.short {
	width:70%;
}
input.exshort {
	width:50%;
}
label.check {
	padding:0.8em 0.6em;
}
input.btn_submit {
	font-size:15px;
}
input.btn_back {
	font-size:15px;
}
	
.kiyaku {
	padding:25px 20px;
	font-size:90%;
	margin-bottom: 50px;
}
	.kiyaku h2 {
		font-size:16px;
	}
}

@media screen and (max-width:359px){
input.btn_submit {
	padding:1.6em 1.6em;
	font-size:14px;
}
	input.btn_submit:hover {
		opacity:1;
	}
input.btn_back {
	padding:1.6em 1.6em;
	font-size:14px;
}
}

/* !Table
---------------------------------------------------------- */
.table_basic01 {
	width: 100%;
}
.table_basic01 table {
	width: 100%;
	border-collapse:collapse;
}
	.table_basic01 table td {
		padding: 0.8em 0;
		border-bottom: 1px solid #0C0C0C;
	}
	.table_basic01 table td:first-child {
		width:30%;
		vertical-align:top;
		font-weight: 700;
		color:#006B3F;
	}
	.table_basic01 table td:last-child {
		width:70%;
		vertical-align:top;
	}
	
@media screen and (max-width:1039px){
	.table_basic01 table td:first-child {
		width:35%;
	}
	.table_basic01 table td:last-child {
		width:65%;
	}
}

@media screen and (max-width:767px){
.table_basic01 {
	width: 100%;
}
	.table_basic01 table,
	.table_basic01 table thead,
	.table_basic01 table tbody,
	.table_basic01 table tr,
	.table_basic01 table td {
		width: 100%;
		display: block;
		
	}
	.table_basic01 table td:first-child {
		width: 100%;
		font-weight:bold;
		padding: 1.2em 0 0 0;
		border-bottom:0;
	}
	.table_basic01 table td:last-child {
		width: 100%;
		padding: 0.6em 0 1.2em 0;
		border-bottom:1px solid #D7E7E0;
	}
}

/* !Listing
---------------------------------------------------------- */
ul.iconList {
	width:100%;
}
	ul.iconList li {
		position: relative;
		line-height:1.8;
		padding-left:1em;
		margin-bottom: 20px;
	}
	ul.iconList li:last-child {
		margin-bottom: 0;
	}
		ul.iconList li:before {
			position: absolute;
			content:"";
			width:6px;
			height: 6px;
			background: #BBB;
			border-radius: 50%;
			top:13px;
			left:0;
		}
ul.circle li {
	list-style:circle;
	margin:0 0 10px 20px;
}
	ul.circle li:last-child {
		margin-bottom:0;
	}

ol.numList li {
	list-style:decimal;
	margin:0 0 15px 20px;
}
	ol.numList li:last-child {
		margin-bottom:0;
	}
	
ol.numListCircle {
	counter-reset: my-counter;
	list-style: none;
	padding: 0;
}
	ol.numListCircle li {
		line-height:1.8;
		margin-bottom: 20px;
		padding-left: 35px;
		position: relative;
	}
	ol.numListCircle li:last-child {
		margin-bottom: 0;
	}
		ol.numListCircle li:before {
			position:absolute;
			content: counter(my-counter);
			counter-increment: my-counter;
			background-color: #65B401;
			color: #FFF;
			display: block;
			float: left;
			font-size:14px;
			line-height: 22px;
			margin-left: -35px;
			text-align: center;
			height: 24px;
			width: 24px;
			border-radius: 50%;
			top:4px;
		}
	
@media screen and (max-width:1039px){
		ul.iconList li:before {
			top:12px;
		}
		ol.numListCircle li:before {
			top:4px;
		}
}

@media screen and (max-width:767px){
		ul.iconList li:before {
			top:11px;
		}
	ol.numListCircle li {
		padding-left: 30px;
	}
		ol.numListCircle li:before {
			font-size:12px;
			margin-left: -30px;
			top:2px;
		}
}

/* !Title
---------------------------------------------------------- */
.tit_basic01 {
	font-size:30px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.06em;
	position: relative;
	margin-bottom: 60px;
}
	.tit_basic01 span {
		font-size:70%;
	}

@media screen and (max-width:1039px){
.tit_basic01 {
	font-size:26px;
	margin-bottom: 50px;
}
}

@media screen and (max-width:767px){
.tit_basic01 {
	font-size:18px;
	margin-bottom: 40px;
}
}

/* !Box
---------------------------------------------------------- */
.box01 {
	width:100%;
	padding:50px 60px;
	background: #FFF;
	border-radius: 6px;
	margin-bottom: 50px;
}
	.box01 h2.tit,
	.box01 h3.tit {
		font-size:22px;
		font-weight: 700;
		line-height: 1.6;
		margin-bottom: 30px;
	}
	.box01 p.read {
		margin-bottom: 30px;
	}

.box02 {
	width:100%;
	padding:50px 60px;
	background: #f2f2f2;
	border-radius: 6px;
	margin-bottom: 50px;
}
	.box02 h2.tit,
	.box02 h3.tit {
		font-size:22px;
		font-weight: 700;
		line-height: 1.6;
		margin-bottom: 30px;
	}
	.box02 p.read {
		margin-bottom: 30px;
	}

@media screen and (max-width:1039px){
.box01 {
	padding:40px 40px;
	margin-bottom: 40px;
}
	.box01 h2.tit,
	.box01 h3.tit {
		font-size:20px;
		margin-bottom: 30px;
	}
.box02 {
	padding:40px 40px;
	margin-bottom: 40px;
}
	.box02 h2.tit,
	.box02 h3.tit {
		font-size:20px;
		margin-bottom: 30px;
	}
}

@media screen and (max-width:767px){
.box01 {
	padding:30px 20px;
	margin-bottom: 30px;
}
	.box01 h2.tit,
	.box01 h3.tit {
		font-size:16px;
		margin-bottom: 25px;
	}
.box02 {
	padding:30px 20px;
	margin-bottom: 30px;
}
	.box02 h2.tit,
	.box02 h3.tit {
		font-size:16px;
		margin-bottom: 25px;
	}
}
