/* 全体 */
html {
	font-size:80%;
}

@media (max-width: 768px) {
	html { font-size: 60%; }
}

body {
	font-size: 14px;/* IE */
	font-size: 1.4rem;
	color: #424242;
	background-color: rgb(112,173,71); /* footerと合わせる */
	font-family: "Helvetica Neue" , Helvetica , Arial , Roboto , "メイリオ" , Meiryo , "游ゴシック" , YuGothic , "ヒラギノ角ゴ ProN W3" , "Hiragino Kaku Gothic ProN" , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
}
* {
	-webkit-box-sizing : border-box;
	-moz-box-sizing : border-box;
	box-sizing : border-box;
}

/* img */
img {
	vertical-align: bottom;
}

/* a */
a {
	text-decoration: none;
}
a:link, a:visited {
	color: #000000;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}
a:hover, a:active {
	color: #1565c0;
	text-decoration: underline;
}

/* button */
a.button, .button {
	display: inline-block;
	font-size: 1.4rem;
	padding: 0 16px;
	height: 36px;
	line-height: 32px;
	border: 2px solid #ff5722;
	border-radius: 2px;
	margin: 8px;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	color: #fff;
	background-color: #ff5722;
}
a.button:hover, .button:hover {
	color: #ff5722;
	background-color: transparent;
}
a.button:active, .button:active {
	box-shadow: none;
}
a.capsule {
	padding: 0 40px;
	height: 48px;
	min-width: 240px;
	line-height: 44px;
	border-radius: 24px;
	letter-spacing: .1em;
}
a.glow {
	border: none;
	line-height: 48px;
	background: linear-gradient(-45deg, rgba(87, 225, 181, 1) 0%, rgba(0, 63, 255, 1) 100%);
}
a.btn_white {
	background-color: #fff;
	border-color: #fff;
	color: #212121;
}
a.btn_white:hover {
	color: #fff;
}

/* label */
.label,
.label-red,
.label-dark,
.label-green {
	font-family: 'Noto Sans Japanese', Helvetica Neue, Helvetica, Arial, sans-serif;
	display: inline-block;
	background-color: #cfd8dc;
	padding: 0px 12px;
	border-radius: 12px;
	margin-right: 2px;
	font-size: 12px;
	line-height: 18px;
	vertical-align: middle;
}
.label-dark {
	background-color: #455a64;
	color: #fff;
}
.label-red {
	background-color: #ec407a;
	color: #fff;
}
.label-green {
	background-color: #009688;
	color: #fff;
}
/* p */
p {
	line-height: 1.5em;
}

/* text-color */
.text-green {
	color: #009688;
}
.text-orange {
	color: #ff5722;
}
/* text align */
.text-center {
	text-align: center;
}
.text-left {
	text-align: left;
}
.text-right {
	text-align: right;
}

/* material-icons */
.material-icons {
	vertical-align: middle;
	font-size:32px;
}

/* text-nowrap */
.text-nowrap {
	display: inline-block;
	white-space: nowrap;
}

/* hr */
hr {
	border: none;
	border-top: 1px solid #bdbdbd;
	margin: 32px 0;
}

/* ul ol dl */
ul, ol, dl {
	padding-left: 20px;
}
dd {
	margin-left: 20px;
}

/* table */
table {
	border-collapse: collapse;
	border: 1px solid rgb(112,112,112);
	font-size: 1.4rem;
	line-height: 2.4rem;
	width: 100%;
}
thead {
	background-color: rgb(200,251,200);
	border-bottom: 2px solid rgb(112,112,112);;
}
thead th {
	border-bottom: none;
}
th {
	padding: 1%;
	font-weight: 400;
	border-bottom: 1px solid rgb(112,112,112);
	background-color:rgb(200,251,200);
}

th.deepgreen {
	background-color:rgb(0,100,0);
	color:#fff;
}
td {
	padding: 1%;
	border-bottom: 1px solid rgb(112,112,112);
	background-color: #fff;
}
th:first-of-type,
td:first-of-type {
	padding-left: 2%;
}
th:last-of-type,
td:last-of-type {
	padding-right:2%;
}

/* font */
/*@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 200;
	src: url('../font/NotoSansCJKjp-Light.woff') format('woff'),
	url('../font/NotoSansCJKjp-Light.ttf')  format('truetype');
}*/
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 400;
	src:local('NotoSansJP-Regular.otf'),
		url('../font/NotoSansCJKjp-Regular.woff') format('woff'),
		url('../font/NotoSansCJKjp-Regular.ttf')  format('truetype');
}
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 700;
	src: url('../font/NotoSansCJKjp-Bold.woff') format('woff'),
	url('../font/NotoSansCJKjp-Bold.ttf')  format('truetype');
}
/*@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 900;
	src: url('../font/NotoSansCJKjp-Black.woff') format('woff'),
	url('../font/NotoSansCJKjp-Black.ttf')  format('truetype');
}*/
h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5, .noto {
	font-family: 'Noto Sans Japanese', Helvetica Neue, Helvetica, Arial, sans-serif;
	margin: 1.5rem 0 .5rem 0;
}
h1, h2, .h1, .h2 {
	font-weight: 700;
	font-size: 3.2rem;
}
h3, .h3 {
	font-weight: 700;
	font-size: 2.4rem;
}
h4, .h4 {
	font-weight: 700;
	font-size: 2.0rem;
}
h5, .h5 {
	font-weight: 400;
	font-size: 1.6rem;
}
h2.mg-thin {
	margin: 0.2rem;
}

h2.toppage {
	color:rgb(56,86,35);
	margin: 0.7rem 0 .3rem 0;
	border-bottom:solid 3px #dc143c;
}

/* オーバーレイメニュー */
#overlay {
	position: fixed;
	display: table;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	height: 100vh;
	color: #fff;
	background: rgba(15,20,22,.8);
	-webkit-transition: all 0.5s;
	transition: all 0.5s;
	z-index: 999;
	visibility: hidden;
	opacity: 0;
}
#overlay.open {
	visibility: visible;
	opacity: 1;
}
#overlay ul {
	padding: 0;
	list-style: none;
	display: table-cell;
	vertical-align: middle;
	font-size: 1.6rem;
	text-align: center;
}
#overlay a {
	display: inline-block;
	color: #fff;
	padding: 1em;
}
#ov_close {
	position: fixed;
	top: 18px;
	right: 12px;
	cursor: pointer;
	background-color: #fff;
	background-color: rgba(255,255,255,.9);
	color: #212121;
	border-radius: 50%;
}

/* 上部固定ヘッダー */
#header {
	margin-top: 0;
	padding-top: 2px;
	width: 100%;
	position: fixed;
	top: 0;
	z-index: 99;
	background-color: rgb(112,173,71);
	box-shadow: 0 2px 5px rgba(0,0,0,0.26);
	-webkit-transition: filter 0.5s;
	transition: filter 0.5s;
}
	/* グローバルナビゲーション */
.nav {
	height: 84px;
	margin: 0;
	padding: 0;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}
.nav > li {
	list-style-type: none;
	background-color: rgb(255,255,255);
	height: 60px;
	margin-bottom:0px;
	margin-top:auto;
	border-right:1px solid rgb(112,173,71);
	font-size:14pt;
	text-align:center;
	display:flex;
	align-items:center;
}
li.menu p {
	margin:0px auto 0px auto;
	position: relative;
	line-height:1.2em;
}
.nav > li > a {
	display: inline-block;
	position: relative;
	color: #000000;
	height: 100%;
}
.nav > li > a.button:hover {
	color: #212121;
	border-bottom: 3px solid #F0E475;
}
.nav > li.nav_logo {
	margin-right: auto;
	font-size: 2rem;
}
.nav > li.nav_logo a {
	padding: 0;
}
.nav > li.nav_logo img {
	vertical-align: bottom;
}

.nav > li.menu {
	width:120px;
}

.nav > li.contact {
	list-style-type: none;
	background: -moz-linear-gradient(top, rgb(181, 213, 167), rgb(156, 202, 134));
	background: -webkit-linear-gradient(top, rgb(181, 213, 167), rgb(156, 202, 134));
	background: linear-gradient(to bottom, rgb(181, 213, 167), rgb(156, 202, 134));
	height: 75px;
	width:220px;
	margin-bottom:0px;
	margin-top:auto;
	border:1px solid rgb(255,255,255);
	border-radius: 10px;
	padding:0;
	line-height:1.2em;
	text-align:center;
}

.nav > li.contact a {
	display: inline-block;
	position: relative;
	color: rgb(255,255,255);
	height: 100%;
	line-height: 1.1em;
	padding: 0px;
}

.nav > li.contact > a.button:hover {
	color: rgb(255,255,255);
	border-bottom: 0px solid #F0E475;
}

.tel {
	position: relative;
	font-size: 2.0rem;
	color: #fff;
	margin: 0 4px;
}
.tel:before {
	content: "お問い合わせ";
	font-size: 14px;
}

.nav > li.nav_btn {
	display: none;
	cursor: pointer;
	background-color:rgb(112,173,71);
	color:rgb(255,255,255);
}
@media (max-width: 767px) {
	.nav > li {
		display: none;
	}
	.nav > li.nav_logo {
		display: inline;
	}
	.nav > li.nav_btn {
		display: inline;
	}
}
	/* dropdown */
.nav > li.nav_dropdown > a:after{
	position: absolute;
	font-family: 'Material Icons';
	content: "\E5CF";
	top: 24px;
	left: 42%;
}

.nav > li:hover {
	background-color: rgb(200,251,200);
}

.nav > li.nav_logo {
	background-color: rgb(255,255,255);
	height:80px;
	font-size:18pt;
}

.nav > li.nav_dropdown:hover{
	background-color: rgb(200,251,200);
}

.nav > li.nav_dropdown:hover > .dropdown{
	visibility: visible;
	top: 100%;
	opacity: 1;
}
.nav > li.nav_dropdown {
	position: relative;
}
.dropdown {
	list-style: none;
	visibility: hidden;
	position: absolute;
	top: 90%;
	left: 0;
	width: 280px;
	padding: 16px;
	background-color: rgba(152,251,152,0.6);
	box-shadow: 0 3px 3px rgba(0,0,0,0.26);
	opacity: 0;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
	font-size:12pt;
}
.dropdown a {
	display: inline-block;
	padding: 4px;
	color: #212121;
}
.dropdown ul {
	list-style: none;
}

.dropdown ul li {
	border-bottom: 3px solid rgb(112,173,71);
}

.top_banner {
	width:95%;
	padding:10px 0 0 10px;
}

@media (max-width: 767px) {
	.top_banner {
		width:40%;
		padding:10px;
	}
}

/* content */
#content {
	padding-top: 84px; /* headerのheightと合わせる */
	background-color: #fff;
	-webkit-transition: filter 0.5s;
	transition: filter 0.5s;
}

/* breadcrumb */
.breadcrumb {
	font-size: 0;
	margin: 12px 0;
	padding-left: 0;
}
.breadcrumb > li {
	font-size: 1.4rem;
	display: inline-block;
	color: #757575;
}
.breadcrumb > li + li:before {
	font-family: 'Material Icons';
	content: "\203A";
	padding: 0 8px;
}
.breadcrumb span[property="name"] {
	display: inline-block;
	padding: 0;
	vertical-align: middle;
	max-width: 130px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* firstview */
.firstview {
	position: relative;
	width:100%;
	height: calc(32vw); /* headerのheight+バナーエリア */
	padding: 1px;
	text-align: center;
	background: #fff8e1 url("../img/top-bground01.jpg");
	background-size: cover;
	background-position: center center;
}
.caption {
	position: relative;
	top: 80%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	letter-spacing: .1em;
}

/* jumbotron */
.jumbotron {
	position: relative;
	padding: 0;
	text-align: left;
	overflow: hidden;
	border-bottom:1px solid rgb(112,173,71);
}

.jumbotron > * {
	position: relative;
	letter-spacing: .1em;
}

.work {
	margin-top:30px;
}
.work > li {
  list-style-type: none;
  font-size:18pt;
}



/* width 992px以上 の場合 */
.timeline{
	background-color:rgb(112,173,71);
	border-radius:10px;
	padding:10px;
	margin:10px 10px 0px 10px;
	color:rgb(255,255,255);
	width:100%;
	line-height:1.4em;
}

.timeline .time {
	float:left;
	height:100%;
	background-color:rgb(226,240,217);
	color:rgb(56,87,35);
	border-radius:10px;
	border:none;
	padding:10px;
	margin-right:20px;
	font-size:14pt;
	width:90px;
}

.tl {
	height:8em;
}

.tl_s {
	height:5em;
}

.time_s {
	padding-top:10px;
}

.img_timeline img{
	float:left;
	margin: 2%;
	width:40%;
}


.time_s {
	padding-top:10px;
}

p.catchcopy {
	font-size:1.8rem;
	margin: 0;
}
/* footer */
.footer {
	padding:15px 5% 15px 5%;
	margin-top: 15px;
	background-color: rgb(112,173,71);
	color: #fff;
}
.footer a {
	color: #ddd;
}

.footer  .footer_contact {
	font-size:1.2rem;
	width:45%;
//	float:left;
//	margin-left:2%;
margin:0 auto;
	padding:15px;
	background-color: rgb(76,116,45);
}

@media (max-width: 767px) {
	.footer  .footer_contact {
		width:95%;
		float:left;
		margin:2%;
	}
}

 .footer_contact iframe {
	width:100%;
 }

.footer .footer_jigname {
	font-size:15pt;
	font-weight:bold;
}

.footer  .footer_link {
	font-size:1.2rem;
	color:#fff;
	display:block;
	width:520px;
	margin:10px auto;
}
.footer  .footer_link a{
	color:#fff;
}

/* ぼかし */
.blur {
	-webkit-filter: blur(4px);
	filter: blur(4px);
}

/* 画像をレスポンシブに */
.img-responsive {
	display: block;
	height: auto;
	max-width: 100%;
}

/* card */
.card {
	display: block;
	background-color: #fff;
	border-radius: 2px;
	padding: 16px;
	margin: 8px;
	box-shadow: 0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);
	box-shadow: 0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
}
a.card:hover {
	box-shadow: 0 8px 10px 1px rgba(0, 0, 0, .14), 0 3px 14px 2px rgba(0, 0, 0, .12), 0 5px 5px -3px rgba(0, 0, 0, .2);
}
.card p, .card h1, .card h2, .card h3, .card h4, .card h5, .card .label {
	margin: 4px 0;
}
a.card {
	color: #212121;
	text-decoration: none;
}

/* フェードイン */
/* 画面外にいる状態 */
.fadein {
	opacity : 0;
	transform : translate(0, 50px);
	transition : all 1s;
}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
}

@media (min-width: 768px) {
	/* 2つ目のdelay */
	.delayfadein > .fadein:nth-of-type(2) {
		-moz-transition-delay:.3s;
		-webkit-transition-delay:.3s;
		-o-transition-delay:.3s;
		-ms-transition-delay:.3s;
	}
	/* 3つ目のdelay */
	.delayfadein > .fadein:nth-of-type(3) {
		-moz-transition-delay:.6s;
		-webkit-transition-delay:.6s;
		-o-transition-delay:.6s;
		-ms-transition-delay:.6s;
	}
	/* 4つ目のdelay */
	.delayfadein > .fadein:nth-of-type(4) {
		-moz-transition-delay:.9s;
		-webkit-transition-delay:.9s;
		-o-transition-delay:.9s;
		-ms-transition-delay:.9s;
	}
	/* 5つ目のdelay */
	.delayfadein > .fadein:nth-of-type(5) {
		-moz-transition-delay:1.2s;
		-webkit-transition-delay:1.2s;
		-o-transition-delay:1.2s;
		-ms-transition-delay:1.2s;
	}
}


/* float */
.float {
	float: left;
}
.clearfix:after {
	content: " ";
	display: block;
	clear: both;
}

/* flex */
.flex {
	margin: 0 -12px;
	padding: 0;
}
.flex > * {
	margin: 8px 12px;
}
.flex > *.card {
	margin: 8px;
}
	/* 2列 */
	/* PC3列タブレット2列 */
.col2 > *,
.col3-2 > * {
	-webkit-flex: 1 1 -webkit-calc(50% - 8px); /* Safari */
	-ms-flex: 1 1 calc(50% - 8px); /* IE10 */
	flex: 1 1 calc(50% - 8px); /* 8pxは margin:4pxの合計 */
}
	/* 3列 */
.col3-3 > * {
	-webkit-flex: 1 1 -webkit-calc(33.3% - 8px); /* Safari */
	-ms-flex: 1 1 calc(33.3% - 8px); /* IE10 */
	flex: 1 1 calc(33.3% - 8px);
}
	/* 4列 */
.col4 > * {
	-webkit-flex: 1 1 -webkit-calc(25% - 8px); /* Safari */
	-ms-flex: 1 1 calc(25% - 8px); /* IE10 */
	flex: 1 1 calc(25% - 8px);
}

@media (min-width: 768px) {
	.flex {
		margin: 0 -4px;
		display: -webkit-flex; /* Safari */
		display: -ms-flexbox; /* IE10 */
		display: flex;
		-webkit-flex-wrap: wrap; /* Safari */
		-ms-flex-wrap: wrap; /* IE10 */
		flex-wrap: wrap;
	}
	.flex > *,
	.flex > *.card {
		margin: 4px;
	}
}
@media (min-width: 992px) {
	.col3-2 > * {
		-webkit-flex: 1 1 -webkit-calc(33.3% - 8px); /* Safari */
		-ms-flex: 1 1 calc(33.3% - 8px); /* IE10 */
		flex: 1 1 calc(33.3% - 8px);
	}
}

/* wrapper */
.wrapper {
	padding: 0 12px;
	margin: auto;
}
@media (min-width: 768px) {
	.wrapper {
		padding: 0 32px;
	}
}
@media (min-width: 1092px) {
	.wrapper {
		max-width: 1070px;
	}
}
/*@media (min-width: 1200px) {
	.wrapper {
		max-width: 1170px;
	}
}*/

/* hidden */
.hidden-sm {
	display: inline-block;
}
@media (max-width: 991px) {
	.hidden-sm {
		display: none;
	}
}

/* メディアクエリ */
@media (min-width: 768px) {}/* タブレット以上 */
@media (min-width: 992px) {}/* PC以上 */
@media (min-width: 1200px) {}/* 大画面PC */
