@charset "UTF-8";
/* CSSリセット */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	background: none repeat scroll 0 0 transparent;
	border: 0 none;
	font-size: 100%;
	font-weight: normal;
	margin: 0;
	outline: 0 none;
	padding: 0;
	vertical-align: baseline;
}
body {
	line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ul {
	list-style: outside none none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: none;
}
a {
	background: none repeat scroll 0 0 transparent;
	font-size: 100%;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
hr {
	-moz-border-bottom-colors: none;
	-moz-border-left-colors: none;
	-moz-border-right-colors: none;
	-moz-border-top-colors: none;
	border-color: #ccc -moz-use-text-color -moz-use-text-color;
	border-image: none;
	border-right: 0 none;
	border-style: solid none none;
	border-width: 1px 0 0;
	display: block;
	height: 1px;
	margin: 1em 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
input[type="button"],input[type="submit"] {
	border-radius: 0;
	-webkit-appearance: none;
}
address, em {
	font-style: normal;
}

/*-----------------------------------------------
base
-----------------------------------------------*/
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

html{
	width: 100%;
	height: 100% !important;
	font-size: 62.5%;
}
body {
	color: #222222;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.8;
	font-family:  "Yu Gothic", YuGothic,"Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro",Meiryo,"メイリオ","ＭＳ ゴシック",Helvetica,sans-serif;
	padding: 0;
	margin: 0;
	width:100%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
	/* overflow: auto; */
}


/*-----------------------------------------------
General Setting
-----------------------------------------------*/
a {
	color: #222222;
	text-decoration: none;
	-webkit-transform: all .4s;  
	-moz-transform: all .4s;
	transition: all .4s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
}
a:hover {
	color:#0b308e;
	text-decoration: none;
}
.clear{
	display: block;
	clear: both;
}
.cf { zoom: 1; }
.cf:before, .cf:after { content: ""; display: table; }
.cf:after { clear: both; }

img, iframe {
	max-width: 100%;
}

/* フルードイメージ */
img {
	display: block;
	width: 100%;
	height: auto;
	line-height: 1;
}

*, *:before, *:after{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
.hide-text{
	overflow: hidden;
	position: absolute;
	height: 1px;
	width: 1px;
	clip: rect(1px 1px 1px 1px);
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	      clip-path: inset(0px 0px 99.9% 99.9%);
	padding: 0;
	border: 0;
}
.pc_img{
	display: block !important;
}
.sp_img{
	display: none !important;
}
@media screen and (max-width: 640px) {
	.pc_img{
		display: none !important;
	}
	.sp_img{
		display: block !important;
	}
}
/*-----------------------------------------------
font
-----------------------------------------------*/
.poppins400{
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
}
.poppins500{
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
}
/*-----------------------------------------------
fade
-----------------------------------------------*/

.fadecont{
	opacity: 0;
/*
	-webkit-transition: .2s;
	transition: .2s;
*/
}
.fadeshow{
	opacity: 1.0;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	/* transition: .4s; */
}
.fademove{
	opacity: 0;
	-webkit-transition: .8s;
	transition: .8s;
	-webkit-transform: translate3d(0,10px,0);
    -moz-transform: translate3d(0,10px,0);
    -o-transform: translate3d(0,10px,0);
    transform: translate3d(0,10px,0);
    -webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media all and (-ms-high-contrast:none){
	.fademove{
		-webkit-transform: translate(0,10px);
	    transform: translate(0,10px);
	}
}

.fademoveleft{
	opacity: 0;
	-webkit-transition: .8s;
	transition: .8s;
	-webkit-transform: translate3d(-20px,0,0);
    -moz-transform: translate3d(-20px,0,0);
    -o-transform: translate3d(-20px,0,0);
    transform: translate3d(-20px,0,0);
    -webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media all and (-ms-high-contrast:none){
	.fademoveleft{
		-webkit-transform: translate(-20px,0);
		transform: translate(-20px,0);
	}
}
.fademoveright{
	opacity: 0;
	-webkit-transition: .8s;
	transition: .8s;
	-webkit-transform: translate3d(20px,0,0);
    -moz-transform: translate3d(20px,0,0);
    -o-transform: translate3d(20px,0,0);
    transform: translate3d(20px,0,0);
    -webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media all and (-ms-high-contrast:none){
	.fademoveright{
		-webkit-transform: translate(20px,0);
		transform: translate(20px,0);
	}
}
.fademove_show{
	opacity: 1.0;
	-webkit-transition: .8s;
	transition: .8s;
	-webkit-transform: translate3d(0,0,0);
    -moz-transform: translate3d(0,0,0);
    -o-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media all and (-ms-high-contrast:none){
	.fademove_show{
		-webkit-transform: translate(0,0);
		transform: translate(0,0);
	}
}

/*-----------------------------------------------
wrapper
-----------------------------------------------*/

#wrapper{
	width:100%;
	height: 100%;
	    /* min-height: 100%; */
	position: relative;
	background-color: #fff;
	padding-top: 70px;
	/* overflow: auto; */
}
@media screen and (max-width: 1024px) {
	#wrapper{
		padding-top: 50px;
		overflow: visible;
	}
}

#content{
	overflow: hidden;
	position: relative;
	width: 100%;
	margin: 0 auto;
}

/*-----------------------------------------------
header
-----------------------------------------------*/
#header{
	width: 100%;
	height: 70px;
	margin: 0;
	padding: 0;
	/* overflow: hidden; */
	/* position: relative; */
	position: fixed;
	top:0;
	left: 0;
	z-index: 1000;
	-webkit-transition: .3s;
	transition: .3s;
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	background-color: #fff;
}

	#header h1{
		display: block;
		width: 93px;
		height: 45px;
		float: left;
		margin: 13px 0 0 45px;
	}
		#header h1 a{
			display: block;
		}
		
	#header .header_nav{
		font-size: 0;
		width: 100%;
		max-width: 800px;
		display: block;
		float: right;
		overflow: hidden;
	}
		#header .header_nav li{
			display: inline-block;
			/*width: 20%;*/
			/*width: calc( 100% / 6 );*/
			width: calc( 100% / 5 );
			height: 70px;
			line-height: 70px;
			text-align: center;
		}
			#header .header_nav li a{
				position: relative;
/*
						-webkit-perspective: 300px;
				perspective: 300px;
		
*/
				display: inline-block;
				width: 100%;
				height: 70px;
				line-height: 70px;
				text-align: center;
			}
				#header .header_nav li a span{
					display: block;
					position: absolute;
					width: 100%;
					height: 70px;
			/* 		border: 2px solid #333; */
					text-align: center;
					line-height: 70px;
					-webkit-transition: all .4s;
					transition: all .4s;
					pointer-events: none;
				}
					#header .header_nav li a span.line2{
						line-height: 1.8;
						padding-top: 12px;
					}
				
				#header .header_nav li a span:nth-child(1) {
					background-color: #00a63c;
					color: #fff;
					-webkit-transform: rotateX(-90deg);
					-moz-transform: rotateX(-90deg);
					transform: rotateX(-90deg);
					-webkit-transform-origin: 50% 50% -35px;
					-moz-transform-origin: 50% 50% -35px;
					transform-origin: 50% 50% -35px;
					font-size: 13px;
					font-size: 1.3rem;
					font-weight: bold;
				}
				#header .header_nav li a span:nth-child(2) {
					color: #00a63c;
					-webkit-transform: rotateX(0deg);
					-moz-transform: rotateX(0deg);
					transform: rotateX(0deg);
					-webkit-transform-origin: 50% 50% -35px;
					-moz-transform-origin: 50% 50% -35px;
					transform-origin: 50% 50% -35px;
					font-size: 15px;
					font-size: 1.5rem;
				}
				#header .header_nav li a:hover span:nth-child(1) {
					-webkit-transform: rotateX(0deg);
					-moz-transform: rotateX(0deg);
					transform: rotateX(0deg);
				}
				#header .header_nav li a:hover span:nth-child(2) {
					background-color: #0a308f;
					-webkit-transform: rotateX(90deg);
					-moz-transform: rotateX(90deg);
					transform: rotateX(90deg);
				}

.sp_nav{
	display: none;
}
.menu-trigger{
	display: none;
}
@media screen and (max-width: 1024px) {
	#header{
		height: 50px;
	}
		#header h1{
			display: block;
			width: 62px;
			height: auto;
			float: left;
			margin: 10px 0 0 10px;
		}
		#header .header_nav{
			display: none
		}
		
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 30px;
	height: 22px;
	float: right;
	margin: 14px 12px 0 0;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 2px;
	background-color: #00a040;
	border-radius: 2px;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 10px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-315deg);
	transform: translateY(10px) rotate(-315deg);
}
.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-10px) rotate(315deg);
	transform: translateY(-10px) rotate(315deg);
}

	.sp_nav{
		width: 100%;
		position: absolute;
		/* display: block; */
		top:50px;
		left: 0;
		background-color: #f3f3f3;
		text-align: center;
	}
		.sp_nav li{
			width: 100%;
			padding: 10px;
		}
			.sp_nav li a{
				color: #00a040;
				-webkit-transition: all .4s;
				transition: all .4s;
			}
				.sp_nav li a:hover{
					color: #0b308e;
				}
}
/*-----------------------------------------------
footer
-----------------------------------------------*/
#footer{
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0;
	overflow: hidden;
	position: relative;
	text-align: center;
	background-color: #073190;
}
	#footer>p>small{
		font-size: 12px;
		font-size: 1.2rem;
		line-height: 60px;
		color: #fff;
	}

/*-----------------------------------------------
bread
-----------------------------------------------*/
#bread{
	width: 100%;
	overflow: hidden;
}
#bread_inner{
	width: 100%;
	max-width: 1160px;
	margin: 0 auto;
	overflow: hidden;
	padding: 0 10px;
}
#bread_inner nav{
	float: left;
	margin-top: 20px;
	display: block;
}
#bread_inner nav ul{
	width: 100%;
	padding: 0;
	overflow: hidden;
	display: block;
	font-size: 0;
}
	#bread_inner nav ul li{
		display: inline-block;
		margin-right: 3px;
		line-height: 1.0;
		font-size: 12px;
		font-size: 1.2rem;
	}
	#bread_inner nav ul li a{
		font-size: 12px;
		font-size: 1.2rem;
		text-decoration: none;
		line-height: 1.0;
	}
		#bread_inner nav ul li a:hover{
			color: #00a63c;
		}
/*-----------------------------------------------
hero
-----------------------------------------------*/
.hero{
	margin: 0;
	padding: 0;
	width: 100%;
	height: 650px;
	position: relative;
	overflow: hidden;
/*
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url('images/top/bg-hero.jpg');
*/
}

	.hero h2{
		display: block;
		width: 749px;
		position: absolute;
		top: 50%;
		left: 50%;
		margin-left: -374px;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		z-index: 10;
		opacity: 0;
	}
	
@media screen and (max-width: 640px) {
	.hero{
		height: 500px;
	}
	
	.hero h2{
		width: 300px;
		margin-left: -150px;
		
	}
}
	.hero_slide{
		margin: 0;
		padding: 0;
		width: 100%;
		height: 650px;
		position: relative;
		overflow: hidden;
		opacity: 0;
	}
		.hero_slide .hero_slide_inner{
			margin: 0;
			padding: 0;
			width: 100%;
			height: 650px;
			position: relative;
			overflow: hidden;
		}
			.hero_slide .hero_slide_inner .hero_slide_inner_bg{
				margin: 0;
				padding: 0;
				width: 100%;
				height: 650px;
				position: relative;
				overflow: hidden;
				background-position: center center;
				background-repeat: no-repeat;
				background-size: cover;
				-webkit-backface-visibility:hidden;
				backface-visibility:hidden;
			}
@media screen and (max-width: 640px) {
	.hero_slide{
		height: 500px;
	}
		.hero_slide .hero_slide_inner{
			height: 500px;
		}
			.hero_slide .hero_slide_inner .hero_slide_inner_bg{
				height: 500px;
			}
}
			.hero_slide .hero_slide_inner .hero_slide_inner_bg span{
				display: block;
				width: 100%;
				height: 100%;
				background-color: rgba(0,0,0,.4);
			}
			.hero_slide .hero_slide_inner.image01 .hero_slide_inner_bg{
				background-image: url('images/top/bg-hero02.jpg');
			}
			.hero_slide .hero_slide_inner.image02 .hero_slide_inner_bg{
				background-image: url('images/top/bg-hero04.jpg');
			}
			.hero_slide .hero_slide_inner.image03 .hero_slide_inner_bg{
				background-image: url('images/top/bg-hero01.jpg');
			}
			.hero_slide .hero_slide_inner.image04 .hero_slide_inner_bg{
				background-image: url('images/top/bg-hero03.jpg');
			}
			
			.hero_slide .hero_slide_inner.image01.slick-active .hero_slide_inner_bg,
			.hero_slide .hero_slide_inner.image02.slick-active .hero_slide_inner_bg,
			.hero_slide .hero_slide_inner.image03.slick-active .hero_slide_inner_bg,
			.hero_slide .hero_slide_inner.image04.slick-active .hero_slide_inner_bg{
				-webkit-animation: fadeScale 5.0s ease-in-out;
				animation: fadeScale 5.0s ease-in-out;
			}
			
			@-webkit-keyframes fadeScale {
			    0% {
			        -webkit-transform: scale(1.2);
			    }
			    10% {
			        -webkit-transform: scale(1.2);
			    }
			    100% {
			        -webkit-transform: scale(1.0);
			    }
			}
			@keyframes fadeScale {
			    0% {
			        transform: scale(1.2);
			    }
			    10% {
			        transform: scale(1.2);
			    }
			    100% {
			        transform: scale(1.0);
			    }
			}

.hero_slide .dot-class{
	bottom:50px;
	left: 0;
	position: absolute;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    font-size: 0;
}
	.hero_slide .dot-class>li{
/*
		position: absolute;
		bottom: -25px;
*/
		display: inline-block;
		width: 120px;
		padding: 0;
		margin: 0 2px;
		list-style: none;
		text-align: center;
	}
		.hero_slide .dot-class>li button{
			font-size: 0;
		    line-height: 0;
		    display: block;
		    width: 120px;
		    height: 2px;
		    cursor: pointer;
		    color: transparent;
		    border: 0;
		    outline: none;
		    background: transparent;
		    position: relative;
		}
			.hero_slide .dot-class>li button::before{
				width: 120px;
				height: 2px;
				content: '';
				text-align: center;
				/* opacity: .25; */
				display: block;
				background-color: #fff;
				position: absolute;
				top:0;
				left: 0;
				-webkit-transition: .3s;
				transition: .3s;
			}
			
			.hero_slide .dot-class>li:hover button::before,
			.hero_slide .dot-class>li.slick-active button::before{
			/*     opacity: .75; */
			    background-color: #00a63c;
			}
@media screen and (max-width: 640px) {
	.hero_slide .dot-class>li{
		width: 60px;
	}
		.hero_slide .dot-class>li button{
		    width: 60px;
		}
			.hero_slide .dot-class>li button::before{
				width: 60px;
			}
}
/*-----------------------------------------------
content_wrap
-----------------------------------------------*/
.content_wrap{
	margin: 0;
	padding: 0;
	width: 100%;
	height: auto;
	position: relative;
	overflow: hidden;
	text-align: center;
	padding: 0 10px;
}
.content_wrap.content_wrap_100{
	padding: 0;
}
	.content_wrap_inner{
		margin: 0 auto;
		width: 100%;
		height: auto;
		position: relative;
		overflow: hidden;
		text-align: center;
	}



.h2_title{
	display: block;
	margin: 0 auto 20px;
	text-align: center;
	font-size: 0;
}
/*	.h2_title .en_txt
  	.h2_title .jp_txt_Green{
  		display: block;
  		color: #00a63c;
  		font-size: 38px;
  		font-size: 3.8rem;
  		margin: 0 auto 10px;
  		line-height: 1.0;
  		letter-spacing: 0.05em;
  	}*/
 .jp_txt_Green{
  		display: block;
  		color: #00a63c;
  		font-size: 38px;
  		font-size: 3.8rem;
  		margin: 0 auto 10px;
  		line-height: 1.0;
  		letter-spacing: 0.05em;
  	}
  		.h2_title .en_txt
  	{
  		display: block;
  		color: #00a63c;
  		font-size: 38px;
  		font-size: 3.8rem;
  		margin: 0 auto 10px;
  		line-height: 1.0;
  		letter-spacing: 0.05em;
  	}
/*	.h2_title .jp_txt_Green {
  		font-weight: bold;
  	}
  	.h2_title .en_txt_Blue {
  		color: #073190;
  	}*/
  		 .jp_txt_Green {
  		font-weight: bold;
  	}
  	.fademove .en_txt_Blue {
  		color: #073190;
  		font-weight: 500;
  	}
  	.en_txt_Green {
  		color: #00a63c;
  	}

	.h2_title .jp_txt{
		display: inline-block;
		color: #222222;
		font-size: 16px;
		font-size: 1.6rem;
		line-height: 1.0;
		font-weight: bold;
		letter-spacing: 0.05em;
	}

.sec01{
	padding: 117px 0 0;
}
	.sec01 .sec01_txt{
		margin: 0 auto 60px;
		width: 100%;
		max-width: 763px;
		text-align: center;
		letter-spacing: 0.05em;
	}
		.sec01 .sec01_txt .sup {
			font-size: 0.8em;
			vertical-align: top;
		}
		.sec01 .sec01_txt .note {
			font-size: 0.8em;
		}
	.sec01 .sec01_cap {
		margin: 0 auto 20px;
		width: 100%;
		max-width: 763px;
		text-align: center;
		letter-spacing: 0.05em;
		font-weight:bold;
	}
	.sec01 h3{
		display: block;
		width: 236px;
		line-height: 1.0;
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: bold;
		position: relative;
		margin: 0 auto 25px;
	}
		.sec01 h3::before{
			content: '';
			width: 2px;
			height: 25px;
			display: block;
			position: absolute;
			top:-4px;
			left: 0;
			background-color: #000;
			-webkit-transform: rotate(-23deg);
			transform: rotate(-23deg);
		}
		.sec01 h3::after{
			content: '';
			width: 2px;
			height: 25px;
			display: block;
			position: absolute;
			top:-4px;
			right: 0;
			background-color: #000;
			-webkit-transform: rotate(23deg);
			transform: rotate(23deg);
		}
		
	.sec01 ul{
		width: 100%;
		max-width: 1188px;
		overflow: hidden;
		margin: 0 auto;
	}
		.sec01 ul li{
			width: 33.333333%;
			width: -webkit-calc(100%/3);
			width: calc(100%/3);
			float: left;
			padding: 0 14px;
		}
			.sec01 ul li p{
				width: 100%;
				text-align: left;
				padding-top: 20px;
			}
@media screen and (max-width: 640px) {
	.sec01 ul li{
		width: 100%;
		padding: 0 10px;
		margin-top: 30px;
	}
	.sec01 ul li:first-child{
		margin-top: 0;
	}
}

.sec02{
	padding: 117px 0 0;
}
	.sec02 .sec02_slide{
		margin: 0;
		padding: 0;
		width: 100%;
		position: relative;
		overflow: hidden;
	}
		.sec02 .sec02_slide .sec02_slide_inner{
			width: 100%;
			position: relative;
			overflow: hidden;
		}
			.sec02 .sec02_slide .sec02_slide_inner .slide_txt{
				position: absolute;
				width: 100%;
				height: 140px;
				background-color: rgba(255,255,255,.8);
				bottom: 0;
				left: 0;
			}
				.sec02 .sec02_slide .sec02_slide_inner .slide_txt .slide_txt_inner{
					width: 100%;
					max-width: 970px;
					margin: 0 auto;
					text-align: left;
					padding-top: 20px;
					opacity: 0;
					-webkit-transition: .8s;
					transition: .8s;
					-webkit-transform: translate3d(20px,0,0);
					-moz-transform: translate3d(20px,0,0);
					-o-transform: translate3d(20px,0,0);
					transform: translate3d(20px,0,0);
					-webkit-backface-visibility: hidden;
					backface-visibility: hidden;
					-webkit-transition-delay:.7s;
					transition-delay:.7s;
				}
				@media all and (-ms-high-contrast:none){
					.sec02 .sec02_slide .sec02_slide_inner .slide_txt .slide_txt_inner{
						-webkit-transform: translate(20px,0);
						transform: translate(20px,0);
					}
				}
				.sec02 .sec02_slide .sec02_slide_inner.slick-active .slide_txt .slide_txt_inner{
					opacity: 1.0;
					-webkit-transition: .8s;
					transition: .8s;
					-webkit-transform: translate3d(0,0,0);
					-moz-transform: translate3d(0,0,0);
					-o-transform: translate3d(0,0,0);
					transform: translate3d(0,0,0);
					-webkit-backface-visibility: hidden;
					backface-visibility: hidden;
					-webkit-transition-delay:.7s;
					transition-delay:.7s;
				}
				@media all and (-ms-high-contrast:none){
					.sec02 .sec02_slide .sec02_slide_inner.slick-active .slide_txt .slide_txt_inner{
						-webkit-transform: translate(0,0);
						transform: translate(0,0);
					}
				}
				
					.sec02 .sec02_slide .sec02_slide_inner .slide_txt .slide_txt_inner h3{
						display: block;
						font-size: 0;
						margin-bottom: 8px;
					}
					
						.sec02 .sec02_slide .sec02_slide_inner .slide_txt .slide_txt_inner h3 .nb{
							font-size: 30px;
							font-size: 3.0rem;
							line-height: 1.0;
							letter-spacing: 0.05em;
							display: inline-block;
							margin-right: 20px;
						}
						.sec02 .sec02_slide .sec02_slide_inner .slide_txt .slide_txt_inner h3 .txt{
							font-size: 18px;
							font-size: 1.8rem;
							font-weight: bold;
							line-height: 1.0;
							letter-spacing: 0.05em;
							display: inline-block;
						}
			@media screen and (max-width: 1024px) {
				.sec02 .sec02_slide .sec02_slide_inner .slide_txt{
					position: relative;
				}
				.sec02 .sec02_slide .sec02_slide_inner .slide_txt .slide_txt_inner{
					padding: 20px 10px 0;
				}
				.sec02 .sec02_slide .sec02_slide_inner .slide_txt .slide_txt_inner p br{
					display: none;
				}
			}
			
.slide_cont{
	width: 100%;
	position: relative;
}
#arrow .slick-next:before{content:""}
#arrow .slick-prev:before{content:""}

#arrow .slick-next{
	width: 50px;
	height: 100px;
	background-color: #0a308f;
	position: absolute;
	top:50%;
	right: 90px;
}
#arrow .slick-next::after{
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	text-align: center;
	line-height: 100px;
	-webkit-transform: rotate(225deg);
	-moz-transform: rotate(225deg);
	transform: rotate(225deg);
	margin-right: 10px;
}
#arrow .slick-prev{
	width: 50px;
	height: 100px;
	background-color: #0a308f;
	position: absolute;
	top:50%;
	left: 90px;
}
#arrow .slick-prev::after{
	content: '';
	display: inline-block;
	width: 24px;
	height: 24px;
	border-bottom: 2px solid #fff;
	border-left: 2px solid #fff;
	text-align: center;
	line-height: 100px;
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-left: 10px;
}
@media screen and (max-width: 1024px) {
	#arrow .slick-next{
		right: 20px;
	}
	#arrow .slick-prev{
		left: 20px;
	}
}
@media screen and (max-width: 640px) {
	#arrow .slick-next{
		width: 25px;
		height: 50px;
		background-color: #0a308f;
		position: absolute;
		top:auto;
		right: 0;
		bottom: 140px;
	}
	#arrow .slick-prev{
		width: 25px;
		height: 50px;
		background-color: #0a308f;
		position: absolute;
		top:auto;
		left: 0;
		bottom: 140px;
	}
	#arrow .slick-next::after{
		content: '';
		display: inline-block;
		width: 12px;
		height: 12px;
		border-bottom: 2px solid #fff;
		border-left: 2px solid #fff;
		text-align: center;
		line-height: 50px;
		-webkit-transform: rotate(225deg);
		-moz-transform: rotate(225deg);
		transform: rotate(225deg);
		margin-right: 5px;
	}
	#arrow .slick-prev::after{
		content: '';
		display: inline-block;
		width: 12px;
		height: 12px;
		border-bottom: 2px solid #fff;
		border-left: 2px solid #fff;
		text-align: center;
		line-height: 50px;
		-webkit-transform: rotate(45deg);
		-moz-transform: rotate(45deg);
		transform: rotate(45deg);
		margin-left: 5px;
	}
}

.sec03{
	padding: 117px 0 120px;
}
@media screen and (max-width: 640px) {
	.sec03{
		padding: 117px 10px 120px;
	}
}
	.sec03 ul{
		width: 100%;
		max-width: 1020px;
		position: relative;
		overflow: hidden;
		margin: 0 auto;
	}
		.sec03 ul li{
			width: 33.333333%;
			width: -webkit-calc(100%/3);
			width: calc(100%/3);
			float: left;
			padding: 0 10px;
			position: relative;
			overflow: hidden;
		}
@media screen and (max-width: 640px) {
	.sec03 ul li{
		width: 100%;
		margin-top: 30px;
	}
	.sec03 ul li:first-child{
		margin-top: 0;
	}
}
			.sec03 ul li .sec03_list{
				width: 100%;
				position: relative;
				border: 4px solid #222222;
			}
				.sec03 ul li .sec03_list h3{
					display: block;
					position: relative;
					font-size: 23px;
					font-size: 2.3rem;
					font-weight: bold;
					letter-spacing: 0.05em;
					padding: 0 0 66px;
					line-height: 1.6;
					width: 100%;
					height: 150px;
					padding-top: 80px;
				}
				.sec03 ul li .sec03_list h3.line2{
					padding-top: 60px;
				}
					.sec03 ul li .sec03_list h3::after{
						content: '';
						display: block;
						width: 80px;
						height: 1px;
						background-color: #222222;
						position: absolute;
						bottom: 0;
						left: 50%;
						margin-left: -40px;
					}
					
				.sec03 ul li .sec03_list img{
					max-width: 200px;
					margin: 0 auto;
				}
				
				.sec03 ul li .sec03_list a{
					display: block;
					width: 100%;
					max-width: 190px;
					height: 36px;
					font-size: 13px;
					font-size: 1.3rem;
					border: 2px solid #0b308e;
					background-color: #0b308e;
					color: #fff;
					line-height: 33px;
					margin: 0 auto 66px;
					position: relative;
					-webkit-transition: all .3s;
					transition: all .3s;
				}
				@media screen and (max-width: 640px) {
					.sec03 ul li .sec03_list h3{
						height: 100px;
						padding-top: 34px;
					}
					.sec03 ul li .sec03_list a{
						margin: 0 auto 40px;
					}
					.sec03 ul li .sec03_list h3.line2{
						padding-top: 15px;
					}
				}
					.sec03 ul li .sec03_list a::after{
						position: absolute;
						top: 50%;
						right: 13px;
						content: '';
						margin-top: -5px;
						border: 6px solid transparent;
						border-top-width: 4px;
						border-bottom-width: 4px;
						border-left-color: #fff;
						-webkit-transition: all .3s;
						transition: all .3s;
					}
					
				.sec03 ul li .sec03_list a:hover{
					background-color: #fff;
					color: #0b308e;
				}
					.sec03 ul li .sec03_list a:hover::after{
						border-left-color: #0b308e;
					}

.sec03_modal{
	width: 100%;
	max-width: 570px;
	background-color: #fff;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}
	.sec03_modal h4{
		display: block;
		width: 100%;
		height: 70px;
		font-size: 0;
		margin: 20px auto 0;
	}
		.sec03_modal h4 .num{
			display: inline-block;
			line-height: 70px;
			font-size: 30px;
			font-size: 3.0rem;
			border-right: 1px solid #222222;
			padding: 0 25px 0 30px;
			vertical-align: middle;
		}
		.sec03_modal h4 .desc1{
			display: inline-block;
			font-size: 20px;
			font-size: 2.0rem;
			font-weight: bold;
			height: 70px;
			line-height: 70px;
			letter-spacing: 0.05em;
			padding-left: 15px;
			vertical-align: middle;
		}
		.sec03_modal h4 .desc2{
			display: inline-block;
			font-size: 20px;
			font-size: 2.0rem;
			font-weight: bold;
			line-height: 35px;
			letter-spacing: 0.05em;
			padding-left: 15px;
			height: 70px;
			vertical-align: middle;
		}
		
		@media screen and (max-width: 640px) {
			.sec03_modal h4{
				display: block;
				width: 100%;
				height: auto;
				font-size: 0;
				margin: 20px auto 0;
			}
			.sec03_modal h4 .num{
				display: block;
				width: 60px;
				height: 60px;
				text-align: center;
				border-right: none;
				border-bottom: 1px solid #222222;
				display: inline-block;
				line-height: 60px;
				font-size: 30px;
				font-size: 3.0rem;
				padding: 0;
				vertical-align: middle;
				margin-left: 20px;
				margin-bottom: 10px;
			}
			.sec03_modal h4 .desc1,
			.sec03_modal h4 .desc2{
				line-height: 35px;
				padding: 0 20px;
				width: 100%;
				font-size: 17px;
				font-size: 1.7rem;
			}
		}
		
	.sec03_modal .modal01{
		max-width: 150px;
		margin: 31px auto 26px;
	}
	.sec03_modal .modal02{
		max-width: 280px;
		margin: 100px auto 75px;
	}
	.sec03_modal .modal03{
		max-width: 140px;
		margin: 36px auto 26px;
	}
	.sec03_modal p{
		width: 100%;
		padding: 0 40px 35px;
	}
	
	@media screen and (max-width: 640px) {
		.sec03_modal p{
			width: 100%;
			padding: 0 20px 35px;
		}
	}


.sec03_modal .mfp-close {
    width: 40px;
    height: 40px;
    line-height: 40px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: 1.0;
    padding: 0;
    color: #FFF;
    font-style: normal;
    font-size: 34px;
    font-family: Arial, Baskerville, monospace;
    background-color: #222222;
}


.sec04{
	height: 600px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url('images/top/bg-sec04.jpg');
}
	.sec04 .sec04_inner{
		width: 50%;
		height: 600px;
		position: relative;
		overflow: hidden;
		text-align: center;
		float: right;
		background-color: rgba(0,0,0,.4);
	}
		.sec04 .sec04_inner img{
			max-width: 325px;
			margin: 0 auto 95px;
		}
		
		.sec04 .sec04_inner a{
			display: block;
			width: 220px;
			height: 40px;
			font-size: 15px;
			font-size: 1.5rem;
			border: 2px solid #0b308e;
			background-color: #0b308e;
			color: #fff;
			line-height: 36px;
			margin: 0 auto 66px;
			position: relative;
			-webkit-transition: all .3s;
			transition: all .3s;
		}
			.sec04 .sec04_inner a::after{
				position: absolute;
				top: 50%;
				right: 13px;
				content: '';
				margin-top: -5px;
				border: 6px solid transparent;
				border-top-width: 4px;
				border-bottom-width: 4px;
				border-left-color: #fff;
				-webkit-transition: all .3s;
				transition: all .3s;
			}
			
		.sec04 .sec04_inner a:hover{
			background-color: #fff;
			color: #0b308e;
		}
			.sec04 .sec04_inner a:hover::after{
				border-left-color: #0b308e;
			}

.h2_title.sec04_title{
	margin: 100px auto 70px;
}
	.h2_title.sec04_title .en_txt{
		color: #fff;
		margin: 0 auto 5px;
	}
	.h2_title.sec04_title .jp_txt{
		color: #fff;
		line-height: 1.8;
	}
@media screen and (max-width: 640px) {
	.sec04 .sec04_inner{
		width: 100%;
	}
	.sec04 .sec04_inner img{
		max-width: 300px;
		margin: 0 auto 95px;
	}
	.h2_title.sec04_title .jp_txt{
		font-size: 12px;
		font-size: 1.2rem;
	}
}

.sec05{
	padding: 120px 0 80px;
	background-color: #f3f3f3;
}
  	.sec05 .h2_title{
  		margin: 0 auto 25px;
  	}
  	.sec05 .sec05_map{
  		width: 100%;
  		max-width: 1160px;
  		height: auto;
  		margin: 0 auto;
  	}
  		.sec05 .sec05_map .sec05_map_inner{
  			width: 100%;
  			height: 0;
  			padding-bottom: 612px;
  			background-position: center top;
  			background-repeat: no-repeat;
  			background-size: cover;
  			background-image: url('images/top/bg-sec05.png');
  			position: relative;
  		}
  		.sec05 .sec05_map .sec05_map_inner a {
  			width: 24.137931%;
  			display: inline-block;
  			position: absolute;
  			background-color: #f3f3f3;
			pointer-events: none;
  		}
  		.sec05 .sec05_map .sec05_map_inner a.tohoku{
  			right: 3.758621%;
  			top:0;
  		}
  		.sec05 .sec05_map .sec05_map_inner a.company{
  			right: 10%;
/*			top: 39%;*/
  			top: 37%;
  		}
  		.sec05 .sec05_map .sec05_map_inner a.west{
  			left: 26%;
  			bottom: -6%;
/*			left: 38%;
  			bottom: 2%;*/
  		}
  		.sec05 .sec05_map .sec05_map_inner a.fuji{
  			left: 17%;
  			top: -2%;
  		}
  		.sec05 .sec05_map .sec05_map_inner a.fuji{
  			left: 17%;
  			top: -2%;
  		}
  		.sec05 .sec05_map .sec05_map_inner a.saga{
  			left: 8%;
  			top: 38%;
  		}
  		.sec05 .sec05_map .sec05_map_inner a.nagoya{
  			right: 20%;
  			bottom: -8%;
  		}
  			.sec05 .sec05_map .sec05_map_inner a:hover img{
  				opacity: 0.7;
  				-webkit-transform: all .4s;
  				-moz-transform: all .4s;
  				transition: all .4s;
  			}
  			
.sec05_map_sp{
	display: none;
}
@media screen and (max-width: 640px) {
	.sec05{
		padding-bottom: 25px;
	}
	.sec05_map{
		display: none;
	}
	.sec05_map_sp{
		display: block;
	}
		.sec05_map_sp .map_img{
			width: 90%;
			margin: 0 auto 30px;
		}
		
		.sec05_map_sp ul{
			width: 100%;
			position: relative;
			overflow: hidden;
		}
			.sec05_map_sp ul li{
				width: 50%;
				float: left;
				padding: 10px;
				text-align: center;
			}
				.sec05_map_sp ul li h3{
					display: block;
					width: 100%;
				}
					.sec05_map_sp ul li h3 .add{
						display: block;
						width: 100%;
						text-align: center;
						margin-top: 5px;
					}
					.sec05_map_sp ul li h3 .name{
						display: block;
						width: 100%;
						text-align: center;
						font-size: 15px;
						font-size: 1.5rem;
						font-weight: bold;
						color: #00a63c;
					}
}


.sec06{
	padding: 120px 0 15px;
}
	.sec06 h3{
		width: 100%;
		max-width: 600px;
		margin: 0 auto 45px;
		position: relative;
	}
	.sec06 h3:after{
		display: block;
		content: "";
		clear: both;
	}
	.sec06 h3 a {
		display: block;
	}
	.sec06 h3 a:hover {
		opacity: .5;
	}
	.sec06 h3 .logo01 {
		width: 130px;
		height: 64px;
		float: left;
		margin-top: -6px;
	}
	.sec06 h3 .logo02 {
		position: relative;
		float: right;
	}
	.sec06 h3 .logo02:after {
		position: absolute;
		content: ">";
		right: -20px;
		top: -3px;
		z-index: 556464;
		font-size: 18px;
		color: #00ac51;
	}
		.sec06 h3 img{
			margin: 0 auto 20px;
		}
		
	.sec06 ul{
		width: 100%;
		max-width: 1020px;
		position: relative;
		overflow: hidden;
		margin: 0 auto;
	}
		.sec06 ul li{
			width: 33.333333%;
			/*width: -webkit-calc(100%/3);
			width: calc(100%/3);*/
			width: -webkit-calc(100%/4);
			width: calc(100%/4);
			float: left;
			padding: 0 10px;
			margin: 0 0 60px;
		}
		@media screen and (max-width: 640px) {
			.sec06 {
				padding-top: 40px;
			}
			.sec06 h3{
				width: 100%;
				max-width: 300px;
				margin: 0 auto;
			}
			.sec06 h3 .logo01 {
				margin: 0 auto 30px;
				float: none;
			}
			.sec06 ul li{
				width: 100%;
				margin-bottom: 20px;
			}
		}
			.sec06 ul li h4{
				display: block;
				width: 100%;
				font-size: 15px;
				font-size: 1.5rem;
				font-weight: bold;
				color: #00a040;
				letter-spacing: 0.03em;
				position: relative;
				line-height: 1.6;
				padding-bottom: 9px;
				margin-bottom: 9px;
			}
				.sec06 ul li h4 a{
					color: #00a040;
					display: inline-block;
					position: relative;
				}
					.sec06 ul li h4 a::after{
						content:'>';
						display: inline-block;
						margin-left: 5px;
						font-size: 15px;
						font-size: 1.5rem;
						line-height: 1.6;
					}
				.sec06 ul li h4 a:hover{
					color:#0b308e;
					text-decoration: none;
				}
				.sec06 ul li h4::after{
					content:'';
					width: 50px;
					height: 1px;
					background-color: #222222;
					position: absolute;
					bottom: 0;
					left: 50%;
					margin-left: -25px;
				}
			.sec06 ul li p{
				width: 100%;
				line-height: 1.6;
				font-size: 14px;
				font-size: 1.4rem;
			}
			


/*-----------------------------------------------
history
-----------------------------------------------*/
.sec_history{
	max-width: 1160px;
	margin: 0 auto;
	padding: 100px 0 120px;
}
	.sec_history .h2_title{
		margin: 0 auto 40px;
	}
		.sec_history .h2_title .en_txt{
			margin: 0 auto;
		}
		.sec_history .h2_title .jp_txt{
			line-height: 1.6;
		}
	.sec_history .history_txt{
		width: 100%;
		max-width: 556px;
		margin: 0 auto;
	}
	
	.sec_history_inner{
		width: 100%;
		position: relative;
		overflow: hidden;
		margin: 90px auto 0;
		padding: 90px 0 0;
	}
		.sec_history_inner .sec_history_img{
			width: 37.068966%;
			position: absolute;
			top:0;
		}
		.sec_history_inner .sec_history_img.wide{
			width: 44.827586%;
		}
		@media screen and (max-width: 640px) {
			.sec_history .h2_title .jp_txt{
				font-size: 12px;
				font-size: 1.2rem;
			}
			.sec_history_inner{
				margin: 45px auto 0;
				padding:0 0;
			}
			.sec_history_inner .sec_history_img{
				width: 100%;
				position: relative;
			}
			.sec_history_inner .sec_history_img.wide{
				width: 100%;
				position: relative;
			}
		}
			.sec_history_inner .sec_history_img.left{
				left: 0;
			}
			.sec_history_inner .sec_history_img.right{
				right: 0;
			}
			
		.sec_history_inner .sec_history_desc{
			width: 68.103448%;
			background-color: #f3f3f3;
		}
			.sec_history_inner .sec_history_desc.left{
				float: left;
				padding: 55px 11.206897% 75px 6.034483%;
			}
				.sec_history_inner .sec_history_desc.left.wide_desc{
					float: left;
					padding: 55px 15% 75px 6.034483%;
				}
			.sec_history_inner .sec_history_desc.right{
				float: right;
				
				padding: 55px 6.034483% 75px 11.206897%;
			}
			@media screen and (max-width: 640px) {
				.sec_history_inner .sec_history_desc{
					width: 100%;
					padding: 30px 10px 35px !important;
				}
			}
			
			.sec_history_inner .sec_history_desc h3{
				display: block;
			}
				.sec_history_inner .sec_history_desc h3 .num{
					display: block;
					width: 70px;
					height: 50px;
					font-size: 38px;
					font-size: 3.8rem;
					border-bottom: 1px solid #00a63c;
					color: #00a63c;
					text-align: left;
					line-height: 1.0;
					letter-spacing: 0.05em;
					margin-bottom: 10px;
				}
				.sec_history_inner .sec_history_desc h3 .num.blue{
					border-bottom: 1px solid #073190;
					color: #073190;
				}
				.sec_history_inner .sec_history_desc h3 .title{
					display: block;
					font-size: 20px;
					font-size: 2.0rem;
					font-weight: bold;
					text-align: left;
					line-height: 1.8;
					margin-bottom: 13px;
				}
				
			.sec_history_inner .sec_history_desc p{
				text-align: left;
				letter-spacing: 0.03em;
				line-height: 1.9;
			}


/*-----------------------------------------------
tohoku
-----------------------------------------------*/
.tohoku_sec01{
	padding:  100px 10px 0;
}
.tohoku_sec02{
	padding:  120px 10px 0;
}
.tohoku_sec03{
	padding:  120px 10px 0;
}
.tohoku_sec04{
	padding:  120px 10px 0;
}
.h2_tohoku{
	width: 100%;
	height: 48px;
	max-width: 570px;
	margin: 0 auto 30px;
	text-align: center;
	line-height: 50px;
	font-size: 30px;
	font-size: 3.0rem;
	border-bottom: 1px solid #00a63c;
	border-top: 1px solid #00a63c;
	color: #00a63c;
	letter-spacing: 0.05em;
	position: relative;
}

	.h2_tohoku .note {
		position: absolute;
		bottom:-40px;
		right:0;
		color: #222;
		font-size: 1.2rem;
		font-weight: normal;
	}

@media screen and (max-width: 640px) {
	.h2_tohoku{
		height: auto;
	}
}
.tohoku_list{
	width: 100%;
	max-width: 570px;
	margin: 0 auto 40px;
	overflow: hidden;
	display: block;
	
}
	.tohoku_list dt{
		display: block;
		width: 104px;
		float: left;
		text-align: left;
		border-right: 1px solid #00a63c;
		line-height: 2.1;
	}
	.tohoku_list dd{
		display: block;
		width: 100%;
		margin-left: -104px;
		padding-left: 134px;
		float: right;
		text-align: left;
		line-height: 2.1;
	}
	
@media screen and (max-width: 640px) {
	.tohoku_list dt{
		display: block;
		width: 100%;
		float: left;
		text-align: left;
		border-right: none;
		line-height: 2.1;
		font-weight: bold;
	}
	.tohoku_list dd{
		display: block;
		width: 100%;
		margin-left: 0;
		padding-left: 0;
		float: left;
		text-align: left;
		line-height: 2.1;
		border-bottom: 1px solid #00a63c;
		margin-bottom: 10px;
	}
}

.map:after {
	content: "";
	clear: both;
	display: block;
}
.map + .map {
	margin-top: 15px;
}
.map ul {
	margin: 30px auto 0;
}
.map ul li {
	float: left;
}
.map p {
	text-align: left;
}
.map .title {
	margin-bottom: 10px;
	font-size: 16px;
	padding-left: 1em;
	text-indent: -1em;
}
.map .tohoku_list {
	margin-bottom: 10px;
}
.map.Column02 ul {
	width: 800px;
}
.map.Column02 li {
	width: 400px;
	box-sizing: border-box;
}
.map.Column02 li:first-child {
	padding-right: 40px;
}
.map.Column04 ul {
	width: 1160px;
}
.map.Column04 li {
	width: 275px;
}
.map.Column04 li + li {
	margin-left: 15px;
}

@media screen and (max-width: 640px) {
	.map + .map {
		margin-top: 0;
	}
	.map ul p iframe {
		width: 100%;
		height: 250px;
	}
	.map ul li {
		float: none;
	}
	.map.Column02 li:first-child {
		padding-right: 0;
	}
	.map ul li + li {
		margin-top: 15px;
	}
	.map .title {
		margin-bottom: 0;
	}
	.map.Column02 ul,
	.map.Column04 ul {
		width: 100%;
	}
	.map.Column02 li,
	.map.Column04 li {
		width: 100%;
	}
}


#map01,
#map02{
	width: 100%;
	max-width: 1160px;
	height: 400px;
	margin: 0 auto;
}
.mini {
	width: 350px;
	height: 300px;
}
.img_factory{
	width: 100%;
	max-width: 1180px;
	overflow: hidden;
	margin: 0 auto;
	padding: 40px 0 0;
}
	.img_factory li{
		width: 25%;
		float: left;
		padding: 0 10px;
	}
@media screen and (max-width: 640px) {
	.img_factory li{
		width: 50%;
		float: left;
		padding: 0 10px 10px;
	}
}

.tohoku_sec03 .h2_tohoku{
	margin: 0 auto 18px;
}
	.tohoku_sec03 .h2_tohoku_desc{
		width: 100%;
		text-align: center;
		font-size: 0;
	}
		.tohoku_sec03 .h2_tohoku_desc .h2_tohoku_desc_top{
			width: 100%;
			text-align: center;
			line-height: 1.0;
			font-size: 16px;
			font-size: 1.6rem;
			display: inline-block;
			font-weight: bold;
		}
		.tohoku_sec03 .h2_tohoku_desc .h2_tohoku_desc_bottom{
			display: inline-block;
			text-align: center;
			width: 100%;
			line-height: 1.6;
			font-size: 14px;
			font-size: 1.4rem;
			margin: 27px auto 47px;
		}

.torihiki_list{
	width: 100%;
	max-width: 570px;
	display: block;
	margin: 0 auto;
	text-align: left;
}
	.torihiki_list dt{
		width: 100%;
		display: block;
		font-size: 16px;
		font-size: 1.6rem;
		font-weight: bold;
		color: #0b308e;
		line-height: 1.0;
		margin: 0 auto 25px;
	}
	
	.torihiki_list dd{
		width: 100%;
		display: block;
	}
		.torihiki_list dd ul{
			width: 100%;
			display: block;
			overflow: hidden;
		}
			.torihiki_list dd ul li{
				width: 50%;
				float: left;
				display: block;
				line-height: 2.0;
			}
	@media screen and (max-width: 640px) {
		.torihiki_list dd ul{
			width: 100%;
			display: block;
			overflow: hidden;
		}
			.torihiki_list dd ul li{
				width: 100%;
				float: left;
				display: block;
				line-height: 2.0;
			}
	}





.tohoku_sec04 .h2_tohoku{
	margin: 0 auto 18px;
}
	.tohoku_sec04 .h2_tohoku_desc{
		width: 100%;
		text-align: center;
		font-size: 0;
		margin: 0 auto 45px;
	}
		.tohoku_sec04 .h2_tohoku_desc .h2_tohoku_desc_top{
			width: 100%;
			text-align: center;
			line-height: 1.0;
			font-size: 16px;
			font-size: 1.6rem;
			display: inline-block;
			font-weight: bold;
		}

.tohoku_sec04 .tohoku_list{
	margin: 0 auto 120px;
}
/* graph
------------------------------------------------- */
.sec07 {
	background-color: #f3f3f3;
	padding: 0 0 132px;
}
.sec07 .lead {
	font-size: 24px;
	line-height: 1.5;
	font-weight: 700;
}
.sec07 .graphTitle {
	font-size: 16px;
	margin-top: 20px;
	line-height: 1;
}
.sec07 .graph {
	/*width: 1160px;*/
	/*width: 1206px;*/
	/*width: 1254px;*/
	width: 1300px;
	margin: 10px auto 0;
	position: relative;
}
.sec07 .graph .line {
	position: absolute;
	left: 0;
	top: 150px;
	bottom: 14px;
	opacity: 0;
	height: auto;
	-webkit-transition: all 0.8s ease;
	transition: all 0.8s ease;
}
.sec07 .graph .line img {
	height: 100%;
	width: 100%;
}
.sec07 .graph .line.active {
	top: 0;
	bottom: 0;
	opacity: 1;
}
.sec07 .graph #graphCenter {
	position: absolute;
	top: 60%;
	left: 50%;
	width: 1px;
	height: 1px;
}
@media screen and (max-width: 640px) {
	.sec07 {
		background-color: #f3f3f3;
		padding: 0 0 50px;
	}
	.sec07 .lead {
		font-size: 18px;
		line-height: 1.33;
		padding: 0 10px;
	}
	.sec07 .graphTitle {
		font-size: 14px;
		margin-top: 25px;
	}
	.sec07 .graph {
		width: auto;
		margin: 20px 10px 0;
		position: relative;
	}
	.sec07 .graph .line {
		position: absolute;
		left: 0;
		top: 75px;
		bottom: 9px;
	}
	.sec07 .graph .line.active {
		top: 0;
		bottom: 0;
		opacity: 1;
	}
}

/*-----------------------------------------------
building
-----------------------------------------------*/

/* ---------------------------------------- .CTA */
#building .CTA {
	padding: 75px 10px;
	background: #f5f5f6;
}

@media screen and (max-width: 640px) {
	#building .CTA {
		padding: 30px 0;
	}
}

	#building .CTA dl {
		text-align: center;
	}

		#building .CTA dl dt {
			font-size: 18px;
			font-weight: bold;
		}

	#building .CTA .btn {
		overflow: hidden;
		display: block;
		position: relative;
		max-width: 300px;
		margin: 30px auto 0;
		line-height: 80px;
		background: #073190;
		color: #fff;
		-webkit-transform: perspective(1px) translateZ(0);
				transform: perspective(1px) translateZ(0);
		-webkit-transition-duration: 0.3s;
				transition-duration: 0.3s;
		-webkit-transition-property: color, background-color;
				transition-property: color, background-color;
	}
	#building .CTA .btn:hover,
	#building .CTA .btn:focus,
	#building .CTA .btn:active {
	  background-color: #00a63c;
	}

	@media screen and (max-width: 640px) {
		#building .CTA .btn {
			margin-top: 15px;
			line-height: 40px;
		}
	}

		#building .CTA .btn::after {
			content: '';
			display: block;
			position: absolute;
			top: calc( 50% - ( 8px / 2 ) );
			right: 30px;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 4px 0 4px 8px;
			border-color: transparent transparent transparent #fff;
		}




/* ---------------------------------------- #building01 */
#building #building01 {
	padding: 100px 10px;
}

@media screen and (max-width: 640px) {
	#building #building01 {
		padding: 80px 0 30px;
	}
}

#building #building01 .img {
	position: relative;
	max-width: 1160px;
	margin: 50px auto 0;
}

	#building #building01 .img .txt {
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		background: rgba(255,255,255,0.80);
	}

		#building #building01 .img .txt p {
			padding: 30px 40px;
			text-align: left;
		}

@media screen and (max-width: 640px) {
	#building #building01 .img {
		margin-top: 40px;
	}
	
	#building #building01 .img .txt p {
		padding: 10px;
	}
}

/* ---------------------------------------- .numbering */
#building .numbering {
	padding: 120px 10px 100px;
}

@media screen and (max-width: 640px) {
	#building .numbering {
		padding: 50px 10px;
	}
}

#building .numbering + .numbering {
	margin-top: -100px;
}

@media screen and (max-width: 640px) {
	#building .numbering + .numbering {
		margin-top: -50px;
	}
}

	#building .numbering h2 {}

	#building .numbering h2 .en_txt {
		display: inline-block;
		position: relative;
		margin-bottom: 60px;
		font-size: 38px;
	}

	@media screen and (max-width: 640px) {
		#building .numbering h2 .en_txt {
			margin-bottom: 35px;
		}
	}

		#building .numbering h2 .en_txt::after {
			content: '';
			display: block;
			position: absolute;
			left: calc( 50% - ( ( 100% + 1em ) / 2 ) );
			bottom: -29px;
			width: calc( 100% + 1em );
			height: 1px;
			background: #00a63c;
		}
		#building .numbering h2 .en_txt_Blue::after {
			background: #073190;
		}

		@media screen and (max-width: 640px) {
			#building .numbering h2 .en_txt::after {
				bottom: calc( -35px / 2 );
			}
		}

		#building .numbering h2 .jp_txt {
			display: block;
			font-size: 28px;
		}

		@media screen and (max-width: 640px) {
			#building .numbering h2 .jp_txt {
				font-size: 18px;
				line-height: 1.5;
			}
		}

	#building .numbering h2 + .read {
		max-width: 800px;
		margin: 0 auto;
		text-align: left;
	}

/* ---------------------------------------- #numbering01 */
#building #numbering01 {}

#building #numbering01 #numbering01_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
			flex-direction: column;
	max-width: 1000px;
	margin: 60px auto 0;
	padding: 70px 0 0;
	border: solid 1px #e5e5e5;
}

@media screen and (max-width: 640px) {
	#building #numbering01 #numbering01_wrap {
		margin-top: 25px;
		padding-top: 0;
	}
}

#building #numbering01 #numbering01_wrap .object {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
			justify-content: space-between;
	max-width: 820px;
	margin: 0 auto;
	padding: 20px 10px;
	text-align: left;
}

@media screen and (max-width: 640px) {
	#building #numbering01 #numbering01_wrap .object {
		-webkit-flex-direction: column;
				flex-direction: column;
		padding: 30px 10px;
	}
	
	#building #numbering01 #numbering01_wrap .object + .object {
		padding-top: 0;
	}
}

#building #numbering01 #numbering01_wrap .object .txt {
	width: 60%;
}

@media screen and (max-width: 640px) {
	#building #numbering01 #numbering01_wrap .object .txt {
		width: 100%;
	}
}

#building #numbering01 #numbering01_wrap .object .txt h3 {
	margin: 0 0 8px;
	border-bottom: solid 1px #e5e5e5;
	font-size: 22px;
	font-weight: bold;
	color: #00a63c;
}

#building #numbering01 #numbering01_wrap .object .ph {
	width: 36%;
}

@media screen and (max-width: 640px) {
	#building #numbering01 #numbering01_wrap .object .ph {
		width: 100%;
		margin-top: 8px;
	}
}

#building #numbering01 #numbering01_wrap .bottom_txt {
	padding: 40px 10px 60px;
	font-size: 24px;
	font-weight: bold;
	color: #00a63c;
}

@media screen and (max-width: 640px) {
	.bottom_txt {
		padding: 0 10px 30px;
		font-size: 17px;
		line-height: 1.3;
	}
}

/* ---------------------------------------- #numbering02 */
#building #numbering02 #numbering02_wrap {
	overflow: hidden;
	max-width: 1000px;
	margin: 0 auto;
	text-align: left;
}

#building #numbering02 #numbering02_wrap .pcObject {
	display: block;
}

@media screen and (max-width: 640px) {
	#building #numbering02 #numbering02_wrap .pcObject {
		display: none;
	}
}

#building #numbering02 #numbering02_wrap .smpObject {
	display: none;
}

@media screen and (max-width: 640px) {
	#building #numbering02 #numbering02_wrap .smpObject {
		display: block;
		margin: 60px 0 0;
	}
}

#building #numbering02 #numbering02_wrap h3 {
	margin: 90px 0 20px;
	padding: 5px 0 5px 20px;
	border-left: solid 5px #073190;
	border-bottom: solid 1px #073190;
	font-size: 20px;
	font-weight: bold;
	color: #073190;
}
#building #numbering02 #numbering02_wrap h3 span {
	font-size: 14px;
	font-weight: bold;
	color: #222;
}

#building #numbering02 #numbering02_wrap ul {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
			justify-content: space-between;
	margin: 0 -10px;
}
#building #numbering02 #numbering02_wrap ul + h3 {
	margin-top: 50px;
}

#building #numbering02 #numbering02_wrap ul li {
	width: calc( 25% - 20px );
	margin: 0 10px;
	line-height: 1.3;
}

#building #numbering02 #numbering02_wrap ul li img {
	margin-bottom: 5px;
}

#building #numbering02 #numbering02_wrap .cutAfter {
	margin: 80px 0 0;
}

#building #numbering02 #numbering02_wrap .cutAfter h3 {
	margin: 0;
	padding: 30px 0;
	border: none;
	background: url("images/building/numbering02_arrow.png") center no-repeat;
	background-size: auto 100%;
	text-align: center;
}

@media screen and (max-width: 640px) {
	#building #numbering02 #numbering02_wrap .cutAfter h3 {
		line-height: 1.3;
		font-size: 17px;
	}
}

#building #numbering02 #numbering02_wrap .cutAfter .img {
	max-width: 700px;
	margin: 40px auto 0;
}

@media screen and (max-width: 640px) {
	#building #numbering02 #numbering02_wrap .cutAfter .img {
		margin-top: 15px;
	}
}

/* ---------------------------------------- #numbering03 */
#building #numbering03 {
	padding-bottom: 140px;
}

@media screen and (max-width: 640px) {
	#building #numbering03 {
		padding-bottom: 80px;
	}
}

#building #numbering03 #numbering03_wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
	position: relative;
	max-width: 1000px;
	margin: 60px auto 0;
	padding: 35px 50px;
	background: #f5f5f6;
}

@media screen and (max-width: 640px) {
	#building #numbering03 #numbering03_wrap {
		margin-top: 30px;
		padding: 30px 10px;
	}
}

#building #numbering03 #numbering03_wrap h3 {
	width: 100%;
	padding: 0 0 5px;
	font-size: 22px;
	font-weight: bold;
	border-bottom: solid 1px #fff;
}

#building #numbering03 #numbering03_wrap .pop {
	position: absolute;
	top: -30px;
	right: 20px;
	max-width: 110px;
}

@media screen and (max-width: 640px) {
	#building #numbering03 #numbering03_wrap .pop {
		max-width: 85px;
	}
}

#building #numbering03 #numbering03_wrap ol {
	list-style: none;
	width: 50%;
	margin: 20px 0 0;
	text-align: left;
}

@media screen and (max-width: 640px) {
	#building #numbering03 #numbering03_wrap ol {
		width: 100%;
	}
	
	#building #numbering03 #numbering03_wrap ol + ol {
		margin-top: 0;
	}
}

#building #numbering03 #numbering03_wrap ol > li {
	position: relative;
	padding-left: 1em;
	font-weight: bold;
	font-size: 16px;
}

#building #numbering03 #numbering03_wrap ol > li > span {
	display: inline-block;
	position: relative;
	top: -0.2em;
	left: -1em;
	width: 18px;
	height: 18px;
	margin: 0 -0.5em 0 0;
	line-height: 18px;
	border: none 1px #00a63c;
	border-radius: 50%;
	background: #00a63c;
	color: #fff;
	font-size: 13px;
	text-align: center;
}

#building #numbering03 #numbering03_wrap ol > li ul {
	list-style: disc;
	margin: 0 0 0 0.7em;
}

#building #numbering03 .memberbtn {
	margin: 50px 0 0;
}

	#building #numbering03 .memberbtn .btn {
		overflow: hidden;
		display: block;
		position: relative;
		max-width: 300px;
		margin: 30px auto 0;
		line-height: 80px;
		background: #073190;
		color: #fff;
		-webkit-transform: perspective(1px) translateZ(0);
				transform: perspective(1px) translateZ(0);
		-webkit-transition-duration: 0.3s;
				transition-duration: 0.3s;
		-webkit-transition-property: color, background-color;
				transition-property: color, background-color;
	}
	#building #numbering03 .memberbtn .btn:hover,
	#building #numbering03 .memberbtn .btn:focus,
	#building #numbering03 .memberbtn .btn:active {
	  background-color: #00a63c;
	}

	@media screen and (max-width: 640px) {
		#building #numbering03 .memberbtn .btn {
			margin-top: 15px;
			line-height: 40px;
		}
	}

		#building #numbering03 .memberbtn .btn::after {
			content: '';
			display: block;
			position: absolute;
			top: calc( 50% - ( 8px / 2 ) );
			right: 30px;
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 4px 0 4px 8px;
			border-color: transparent transparent transparent #fff;
		}

/* ---------------------------------------- #contact */
#building #contact {
	padding: 0 10px 150px;
}

#building #contact .h2_title {
	font-size: 28px;
	font-weight: bold;
	color: #00a63c;
}

#building #contact #contact_wrap {
	max-width: 1000px;
	margin: 0 auto;
}

#building #contact #contact_wrap dl {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
	border-top: solid 1px #e5e5e5;
	text-align: left;
}

@media screen and (max-width: 640px) {
	#building #contact #contact_wrap dl {
		-webkit-flex-direction: column;
				flex-direction: column;
	}
}

#building #contact #contact_wrap dt,
#building #contact #contact_wrap dd {
	border-bottom: solid 1px #e5e5e5;
}

#building #contact #contact_wrap dt {
	position: relative;
	width: 25%;
	padding: 25px;
	padding-right: calc( 25px + 48px );
	background: #f5f5f6;
	font-weight: bold;
}

@media screen and (max-width: 640px) {
	#building #contact #contact_wrap dt {
		width: 100%;
		padding: 10px;
	}
}

#building #contact #contact_wrap dt span {
	display: block;
	position: absolute;
	top: 25px;
	right: 25px;
	padding: 0 1em;
	background: #e62e10;
	font-size: 12px;
	font-weight: bold;
	color: #fff;
}

@media screen and (max-width: 640px) {
	#building #contact #contact_wrap dt span {
		top: 10px;
		right: 10px;
	}
}

#building #contact #contact_wrap dt span.nini {
	background: #999;
}

#building #contact #contact_wrap dd {
	width: 75%;
	padding: 15px 25px;
}

@media screen and (max-width: 640px) {
	#building #contact #contact_wrap dd {
		width: 100%;
		padding: 10px;
	}
}

#building #contact #contact_wrap dd div {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
			flex-wrap: wrap;
	-webkit-align-items: center;
			align-items: center;
}

#building #contact #contact_wrap dd div p {
	color: #a0a0a0;
}

#building #contact #contact_wrap textarea {
	outline: 0;
	box-sizing: border-box;
	width: 100%;
	height: 100px;
	margin: 5px 0;
	padding: 5px 3px;
	border: solid 1px #a0a0a0;
	font-size: 16px;
}

#building #contact #contact_wrap input {
	outline: 0;
	box-sizing: border-box;
	width: 60%;
	margin: 5px 0;
	padding: 0 3px;
	border: solid 1px #a0a0a0;
	font-size: 16px;
	line-height: 2;
}

@media screen and (max-width: 640px) {
	#building #contact #contact_wrap input {
		width: 100%;
	}
}

#building #contact #contact_wrap input.small {
	width: 6em;
}

@media screen and (max-width: 640px) {
	#building #contact #contact_wrap input.small {
		max-width: calc( 33.333% - 2em );
	}
}

#building #contact #contact_wrap input.large {
	width: 100%;
}

#building #contact #contact_wrap dd.select {
	display: -webkit-flex;
	display: flex;
}

#building #contact #contact_wrap dd.select ul {
	display: -webkit-flex;
	display: flex;
}

#building #contact #contact_wrap dd.select ul li {
	white-space: nowrap;
	margin: 0 2em 0 0;
}

#building #contact #contact_wrap dd.select ul li label {
	cursor: pointer;
}

#building #contact #contact_wrap dd.select ul li input {
	width: auto;
}

#building #contact #contact_wrap .buttonBlock {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
			justify-content: center;
	margin: 30px auto 0;
}

#building #contact #contact_wrap .buttonBlock li {
	position: relative;
	margin: 0 10px;
}

@media screen and (max-width: 640px) {
	#building #contact #contact_wrap .buttonBlock li {
		width: calc( 50% );
		margin: 0 5px;
	}
}

#building #contact #contact_wrap .buttonBlock .submit::after {
	content: '';
	display: block;
	position: absolute;
	top: calc( 50% - ( 8px / 2 ) );
	right: 20px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 0 4px 8px;
	border-color: transparent transparent transparent #fff;
}

#building #contact #contact_wrap .buttonBlock .back::after {
	content: '';
	display: block;
	position: absolute;
	top: calc( 50% - ( 8px / 2 ) );
	left: 20px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 8px 4px 0;
	border-color: transparent #222 transparent transparent;
}

@media screen and (max-width: 640px) {
	#building #contact #contact_wrap .buttonBlock .submit::after {
		right: 10px;
	}
	
	#building #contact #contact_wrap .buttonBlock .back::after {
		left: 10px;
	}
}

#building #contact #contact_wrap .buttonBlock input {
	width: 230px;
	height: 70px;
	line-height: 70px;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	font-size: 14px;
	cursor: pointer;
	-webkit-transform: perspective(1px) translateZ(0);
			transform: perspective(1px) translateZ(0);
	-webkit-transition-duration: 0.3s;
			transition-duration: 0.3s;
	-webkit-transition-property: color, background-color;
			transition-property: color, background-color;
}

@media screen and (max-width: 640px) {
	#building #contact #contact_wrap .buttonBlock input {
		width: 100%;
		height: 50px;
		line-height: 50px;
	}
}

#building #contact #contact_wrap .buttonBlock .submit input {
	background: #00a63c;
	color: #fff;
}

#building #contact #contact_wrap .buttonBlock .back input {
	background: #eee;
}

#building #contact #contact_wrap .buttonBlock .submit input:hover {
		background: #073190;
}

#building #contact #contact_wrap .buttonBlock .back input:hover {
		background: #ccc;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
     -webkit-appearance: none;
     margin: 0;
}

input[type="number"] {
     -moz-appearance:textfield;
}

input::-ms-clear {
     visibility:hidden
}

/* ---------------------------------------- #building.confirm #contact */
#building.confirm #contact #contact_wrap dd {
	-webkit-display: flex;
			display: flex;
}

/* ---------------------------------------- #building.send #contact */
#building.regist #contact,
#building.send #contact {
	padding-top: 50px;
}




