/*layout*/
/*------------------------------------------------------------------------------*/
#wrapper {
	width: 100%;
	overflow: hidden;
}
.inner {
	margin-left: auto;
	margin-right: auto;
	width: 1120px;
	max-width: auto;
	max-width: initial;
}
.sp {
	display: none;
}
.tb {
	display: none;
}
.tb_sp {
	display: none;
}
.f12 {
	font-size: 12px;
}
.f16 {
	font-size: 16px;
}
.f18 {
	font-size: 18px;
}
.bold {
	font-weight: bold;
}
.in_bl {
	display: inline-block;
}
.v_m {
	display: table-cell;
	vertical-align: middle;
}

/*btn*/
/*------------------------------------------------------------------------------*/
.btn01 a {
	display: table;
	width: 200px;
	height: 50px;
	padding: 5px 25px;
	text-align: center;
	color: #FFF;
	background: #0F9545;
	position: relative;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.btn01 a:before {
	content: '';
	width: 6px;
	height: 6px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	position: absolute;
	top: 50%;
	right: 18px;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
}
.btn01 a:hover {
	background: #006228;
}

/*header*/
/*------------------------------------------------------------------------------*/
header {
	position: relative;
}
#header_wrap {
	width: 95%;
	display: flex;
	align-items: center;
	background: #FFF;
	height: 100px;
	margin-left: 5%;
	line-height: 1.2;
}
.t-default header h1, header h1 {
	font-size: 11px;
	margin-bottom: 10px;
	font-weight:normal;
	line-heignt:1.4;
}
header #logo img {
	max-width: 182px;
}

/*globalnav*/
/*------------------------------------------------------------------------------*/
#gnav_btn{display:none;}
#globalnav {
	margin-left: auto;
}
#globalnav #nav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	height: 100px;
}
#globalnav li {
	margin-left: 60px;
    text-align: center;
}
#globalnav li:first-child {
	margin-left: 0;
}
#globalnav li:last-child {
	width: 200px;
	height: 100px;
}
#globalnav li a {
	display: inline-block;
	color: #000;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: relative;
}
#globalnav li a:before {
	content: '';
	width: 0;
	height: 2px;
	position: absolute;
	bottom: -10px;
	left: 0;
	background: #0F9545;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
#globalnav li:last-child a {
	background: #0F9545;
	color: #FFF;
	font-size: 16px;
	display: table;
	width: 100%;
	height: 100%;
}
#globalnav li:last-child a:before {
	content: none;
}

#globalnav li:hover a:hover {
	text-decoration:none;
}

#globalnav li:hover a:before,
#globalnav li.main_current a:before {
	width: 100%;
}
#globalnav li:last-child a:hover {
	background: #006228;
}

/*h_search*/
/*------------------------------------------------------------------------------*/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  appearance: button;
  border: none;
  cursor: pointer;
  -webkit-appearance: none;
}
input[type="submit"]:-webkit-search-decoration,
input[type="button"]:-webkit-search-decoration {
  display: none;
}
input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}
#h_search_btn {
	position: absolute;
	width: 0;
	right: -80px;
	top: 0;
    /*-webkit-transition: all 0.3s;*/
    /*transition: all 0.3s;*/
}
#h_search_in {
	opacity: 0;
	visibility: hidden;
	position: absolute;
	top: 0;
	right: -100%;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    background: rgba(255,255,255,0.9);
    z-index: 6;
    border: 2px solid #0F9545;
    padding: 50px 0 50px 50px;
    padding-right: -webkit-calc((100% - 1170px) / 2);
    padding-right: calc((100% - 1170px) / 2);
    line-height: 1.2;
}
#h_search_in .inner {
	width: 1020px;
}
#h_search_in .search_box01:after,
#h_search_in .search_box02:after {
	content: '';
	display: block;
	clear: both;
}
#h_search_in .search_box01 {
	float: left;
	width: 53%;
	max-width: 540px;
	border: 2px solid #DDD;
	background: #EEE;
	padding: 30px;
	margin: 0 2% 2% 0;
	clear: left;
}
#h_search_in .search_box02 {
	float: right;
	width: 45%;
	max-width: 460px;
	border: 2px solid #DDD;
	background: #EEE;
	padding: 30px;
	margin-bottom: 2%;
}
#h_search_in .title {
	font-size: 20px;
	padding-left: 15px;
	border-left: 3px solid #0F9545;
	margin-bottom: 20px;
}
#h_search_in .select-box01 {
	margin-bottom: 20px;
}
#h_search_in .select-box01 select {
	width: 100%;
	padding: 10px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: 1px solid #DDD;
	background: #FFF url(../image/common/arr02.png) no-repeat 95% center;
	cursor: pointer;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
}
.select-box01 ::-ms-expand {
	display: none;
}
input[type=text] {
	width: 100%;
	padding: 10px;
	border: 1px solid #DDD;
	cursor: pointer;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
	background: #FFF;
}
#h_search_in input[type=button],
#h_search_in input[type=submit] {
	width: 120px;
	padding: 13px 10px;
	margin: 0 auto;
	background: #0F9545;
	display: block;
	cursor: pointer;
    -webkit-transition: all .2s;
	transition: all .2s;
	text-align: center;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, "M+ 1p", sans-serif;
	color: #FFF;
}
#h_search_in input[type=button]:hover,
#h_search_in input[type=submit]:hover {
	opacity: 0.8;
}
#h_search_in .check-box01 input {
	display: none;
}
#h_search_in .check-box01 li {
	float: left;
	width: 17.6%;
	margin: 0 3% 20px 0;
}
#h_search_in .check-box01 li:nth-child(5n) {
	margin: 0 0 20px;
}
#h_search_in .check-box01 label {
	cursor: pointer;
	position: relative;
	width: 100%;
	display: block;
	text-align: center;
	padding: 15px 0;
	background: #FFF;
}

#h_search_in .check-box01 input:checked + .txt{color: #0F9545;}
#h_search_in .check-box01 input:checked + .txt::after{
	content: "";
	display: block;
	position: absolute;
	top: -2px;
	left: -2px;
	width: 100%;
	height: 48px;
	border: 2px solid #0F9545;
}



#h_search_in .w48_l {
	float: left;
	width: 48%;
	clear: left;
}
#h_search_in .w48_r {
	float: right;
	width: 48%;
}
#h_search_in .check-box02 {
	margin-bottom: 15px;
}
#h_search_in .check-box02 dt {
	padding: 10px;
	background: #DDD;
	margin-bottom: 15px;
}
#h_search_in .check-box02 dd {
	display: block;
}
#h_search_in .check-box02 li {
	margin-bottom: 10px;
}
#h_search_in .check-box02 li.w40 {
	width: 40%;
	float: left;
}
#h_search_in .check-box02 li.w60 {
	width: 60%;
	float: left;
}
#h_search_in .check-box02 li .sub {
	padding-left: 10px;
}
#h_search_in .w48_r .search_btn {
	margin-top: 40px;
}
#h_search_in .w48_r .search_btn input[type=button] {
	margin: 0;
	float: right;
}
#h_search_in .check-box02 .w40 li {
	float: left;
	width: 40%;
}
#h_search_in .check-box02 .w33 li {
	float: left;
	width: 33%;
}
#h_search_in .search_box01 {
	float: left;
}
#h_search_in .search_key {
	display: flex;
	justify-content: space-between;
}
#h_search_in .search_box01 input[type=text] {
	width: -webkit-calc(100% - 110px);
	width: calc(100% - 110px);
}
#h_search_in .search_box01 input[type=button] {
	width: 100px;
}

/*スクロール*/
/*------------------------------------------------------------------------------*/
.scrolled header #h_search_btn {
	display: none;
/*	position: fixed;
	right: 0;
	width: 80px;
	z-index: 10;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	z-index: 8;
	height: 100%;*/
}
.scrolled header #h_search_btn a {
	position: relative;
	width: 100%;
	height: 100%;
	display: block;
	background: #0F9545;
	color: #FFF;
	font-size: 18px;
	letter-spacing: 3px;
}
.scrolled header #h_search_btn a .sub {
	position: absolute;
	top: 30px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: vertical-rl;
	writing-mode: vertical-rl;
	display: inline-block;
	padding-top: 40px;
	background: url(../image/common/icon06.png) no-repeat center top;
	width:30px;
	text-align:center;
}
.scrolled .is_active #h_search_in {
	position: fixed;
	height: 100%;
	opacity: 1;
	visibility: visible;
	right: 60px;
    overflow-y: scroll;
}

/*bottom_contact*/
/*------------------------------------------------------------------------------*/
#bottom_contact {
	/*background: url(../image/bottom_contact_bg.jpg) no-repeat center top;*/
	padding-top: 130px;
	min-height: 281px;
}
.bottom_contact_in {
	background: #EEE;
	padding: 40px;
	display: flex;
	justify-content: space-between;
}
.bottom_contact_in ul:first-child {
	width: 49%;
	padding-right: 30px;
	border-right: 2px dotted #DDD;
}
.bottom_contact_in ul:last-child {
	width: 49%;
	padding-left: 10px;
}
.bottom_contact_in li {
	margin-bottom: 20px;
}
.bottom_contact_in li:last-child {
	margin-bottom: 0;
}
.bottom_contact_in li a {
	display: block;
	padding: 35px 26px 35px 50px;
	position: relative;
	font-size: 21px;
	line-height: 1.2;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
	text-align:center;
}

/*
.bottom_contact_in li a:before {
	content: '';
	position: absolute;
	top: 50%;
	left: 9px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.bottom_contact_in ul:first-child li:nth-child(1) a:before {
	background: url(../image/common/icon01.png) no-repeat;
	width: 15px;
	height: 14px;
}
.bottom_contact_in ul:first-child li:nth-child(2) a:before {
	background: url(../image/common/icon02.png) no-repeat;
	width: 13px;
	height: 15px;
}
*/


/*
.bottom_contact_in ul:last-child li:nth-child(1) a:before {
	background: url(../image/common/icon04.png) no-repeat;
	width: 15px;
	height: 20px;
}
*/


.bottom_contact_in ul:last-child li a::before {
	content: '';
	position:absolute;
	left:20%;
	background: url(../image/common/icon03_l.png) no-repeat;
	background-size:30px auto;
	width: 30px;
	height: 22px;


}
.bottom_contact_in ul:last-child li a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #FFF;
	border-right: 2px solid #FFF;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
}


.bottom_contact_in li a{
	background: #0F9545;
	color:#FFF;
}

.bottom_contact_in li a:hover {
	opacity:0.7;
	text-decoration:none;
}




.bottom_contact_in ul li:first-child {
	margin-bottom: 20px;
}
.bottom_contact_in ul li .tel {
	display: block;
	padding: 28px 10px;
	position: inherit;
	font-size: 28px;
	line-height: 1.2;
	color: #F5F5F5;
	text-align: center;
	background: #0F9545;
}
.bottom_contact_in ul li .tel .in_bl {
	padding-left: 54px;
	background: url(../image/common/icon05.png) no-repeat left center;
}



/*footer*/
/*------------------------------------------------------------------------------*/
footer {
	background-color: #898F96;
	line-height: 1.2;
	width: 100%;
	margin: 0 auto;
	border-top: 3px solid #DDD;
}
#footer_box01 {
	border-bottom: 1px solid #DDD;
	background: #A6ABB0;
}
#footer_box01 ul {
	display: flex;
	align-items: center;
	justify-content: space-around;
	max-width: 1020px;
	height: 115px;
	margin: 0 auto;
}
#footer_box01 li a {
	display: inline-block;
	position: relative;
	color: #FFFFFF;
}
#footer_box01 li a:before {
	content: '';
	width: 0;
	height: 2px;
	position: absolute;
	bottom: -5px;
	left: 0;
	background: #0F9545;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

#footer_box01 li a:hover {
	text-decoration:none;
}

#footer_box01 li a:hover:before {
	width: 100%;
}
#footer_box02 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 41px;
	font-size: 11px;
	color: #FFF;
}
#footer_box02 a {
	font-size: 11px;
	color: #FFF;
}
#footer_box02 a:hover {
	text-decoration:none;
}
#footer_box02 li {
	display: inline-block;
}
#footer_box02 li:first-child {
	padding-right: 20px;
	margin-right: 20px;
	border-right: 1px solid #DDD;
}

/* pagetop */
/*------------------------------------------------------------------------------*/
#topcontrol{
	z-index:50;
}
a.pagetop {
	width: 60px;
	height: 60px;
	background: url(../image/common/pagetop01.png) no-repeat 0 0;
	overflow: hidden;
	display:block;
	z-index: 50;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
a.pagetop:hover {
	opacity: 0.7;
}


/*top_box01 20214阪本追記*/
/*------------------------------------------------------------------------------*/
#top_box01 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.top_box01_in {
	width: -webkit-calc((100% - 40px) / 4);
	width: calc((100% - 40px) / 4);
	position: relative;
	margin-bottom: 50px;
}
.top_box01_in:before {
	content: '';
	width: 100%;
	height: 100%;
	background: rgba(3,123,52,0.6);
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
	z-index: 1;
}
.top_box01_in .img100 {
	overflow: hidden;
}
.top_box01_in .img100 img {
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    transform: scale(1.0);
}
.top_box01_in h4 {
	background:#0F9545;
	color:#FFFFFF;
	position: absolute;
	left: 0;
	bottom: -25px;
	padding: 15px;
	width: 100%;
	font-size: 16px;
	z-index: 3;
}
.top_box01_in p {
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	color: #FFF;
    -webkit-transition: all 0.2s;
    transition: all 0.2s;
    opacity: 0;
    z-index: 2;
    padding: 0 20px;
}
.top_box01_in:hover:before {
	opacity: 1;
}
.top_box01_in:hover .img100 img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}
.top_box01_in:hover p {
	opacity: 1;
}

