@charset "UTF-8";
/****************************************
		General Setting 
*****************************************/
html, body, div, span, applet, object, iframe, strong,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, legend, caption,
tbody, tfoot, thead, table, label, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  list-style: none;
 font-family: "Noto Sans JP", sans-serif!important;
}

body {
  font-size: 16px;
  line-height: 1.7!important;
  word-break: break-strict;
  text-rendering: optimizeLegibility;
  color: #000000;
  -webkit-text-size-adjust: 100%;
}

a {
  color: #222;
  text-decoration: underline;
}

a:hover {
	opacity: 0.85;
}

a img:hover {
  filter: alpha(opacity=90);
  -moz-opacity: 0.9;
  opacity: 0.9;
}

.thumbimg:hover {
  filter: alpha(opacity=90);
  -moz-opacity: 0.9;
  opacity: 0.9;
}
section {
    position: relative;
}
.clear {
  clear: both;
  line-height: 0;
}

.clearfix {
  display: block;
  zoom: 1;
}

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  font-size: 0px;
}

body {
  min-width: 980px;
  _display: inline;
  _zoom: 1;
}

img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  -webkit-backface-visibility: hidden;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

.pt10{
    padding-top: 10px;
}
.pt20{
    padding-top: 20px;
}
.pt30{
    padding-top: 30px;
}
.pt40{
    padding-top: 40px;
}
.pt50{
    padding-top: 50px;
}

.pb10{
    padding-bottom: 10px;
}
.pb20{
    padding-bottom: 20px;
}
.pb30{
    padding-bottom: 30px;
}
.pb40{
    padding-bottom: 40px;
}
.pb50{
    padding-bottom: 50px;
}

.mt10{
    margin-top: 10px;
}
.mt20{
    margin-top: 20px;
}
.mt30{
    margin-top: 30px;
}
.mt40{
    margin-top: 40px;
}
.mt50{
    margin-top: 50px;
}

.mb10{
    margin-bottom: 10px;
}
.mb20{
    margin-bottom: 20px;
}
.mb30{
    margin-bottom: 30px;
}
.mb40{
    margin-bottom: 40px;
}
.mb50{
    margin-bottom: 50px;
}

.center {
    text-align: center;
}

.left {
    text-align: left;
}

.right {
    text-align: right;
}

.flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.sp_only {
	display: none;
}

.txtc {
  text-align: center;
}
.txtr {
  text-align: right;
}
.txtl {
  text-align: left!important;
}
em {
  font-weight: 900;
}
.bold {
  font-weight: bold;
}
.green {
  color: #166B3B;
}
/**** padding ****/
.p5 {
	padding: 0 5px;
}
.p10 {
	padding: 0 10px;
}

.pb45 {
	padding-bottom: 45px;
}
/**** margin ****/
.mt5 {
	margin-top: 5px;
}
.mt25 {
	margin-top: 25px;
}

:root {
    --white: #fff;
    --red-bean: #9D1D2B;
    --green: #166B3B;
    --shadow: #111111;
    --black: #000000;
    --bg-gray: #F5F5F5;
    --border-gray: #D9D9D9;
}

/****************************************
		Base Setting 
*****************************************/
.wrap {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}
.header{
    position: absolute;
    z-index: 1;
    left: 0;
    right: 0;
}
.header_wrap {
  padding-top: 10px;
  padding-bottom: 10px;
}
.PAGE .header_wrap .wrap {
    padding: 0 ;
}
.header_clm {
    font-size: 12px;
    color: #202020;
    padding: 5px 0;
    font-weight: normal;
    display: inline-block;
}

.header_tel {
  position: absolute;
  top: 15px;
  right: 0;
}

.sec_pagetop {
  text-align: right;
  margin-bottom: 30px;
}

.sec_top_ky{
	position: relative;
}
body .side_btn {
    position: fixed;
    top: 18.5%;
    right: 0;
    z-index: 1;
}

.gnav ul li {
    display: block;
    width: auto;
    float: left;
    padding: 0 23px;
}

.view-pc ul li:last-of-type a {
    background: var(--red-bean);
    padding: 1rem 2rem;
    border-radius: 30px;
    color: var(--white);
}

.view-pc ul {
    display: flex;
    align-items: center;
}

.view-pc ul li:last-of-type {
    padding-right: 0;
}

.gnav ul li a {
  position: relative;
  display: block;
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  padding: 4px 0;
  line-height: 1;
}

/*-- ドロップダウンメニュー --*/

/* 親 li をドロップダウンの基準にする */
.gnav .view-pc ul > li.has-dropdown {
	position: relative;
}

/* サブメニューの基本スタイル */
.gnav .dropdown-menu {
	position: absolute;
	top: 100%;          /* 親メニューの真下 */
	left: 0;
	min-width: 180px;
    display: block;
	padding: 8px 0;
	margin: 0;

	list-style: none;
	background: rgba(255, 255, 255, 0.9); /* 白＋少し透過 */
	border-radius: 4px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);

	opacity: 0;
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	z-index: 1000;      /* ヘッダーより前面に */
}

/* 縦並びのメニュー */
.gnav .dropdown-menu > li {
	width: 100%;
    padding: 1rem 1.5rem;
    box-sizing: border-box;
}

.gnav .dropdown-menu li a {
    background: none!important;
    padding-left: 0!important;
    color: var(--black);
}

/* サブメニューのリンク */
.gnav .dropdown-menu > li > a {
	display: block;
	padding: 8px 16px;
	font-size: 14px;
	white-space: nowrap;
	text-decoration: none;
	color: #333;
}

/* ホバーで背景を少し変える */
.gnav .dropdown-menu > li > a:hover {
	background: rgba(0, 0, 0, 0.04);
}

/* 親にホバーしたらサブメニューを表示 */
.gnav .view-pc ul > li.has-dropdown:hover > .dropdown-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.box_clm {
  padding: 20px 0 0 21px;
}

.box_clm h2,
.box_clm h3.minc {
  color: #006835;
  font-size: 45px;
  line-height: 1.5;
  padding: 0 0 20px;
  letter-spacing: -1px;
  text-transform:none;
}

.box_clm h3.minc {
  font-size: 40px;
}
.box_clm h2 span{
  font-size: 30px;
}
.box_clm h3,
.box_clm .__txt,
.box_clm .__txt02 {
  color: #000000;
  font-size: 22px;
  line-height: 1.5;
  padding: 0 0 25px;
  font-weight: bold;
}
.box_clm .__txt.pb0 {
  padding: 0 0 ;

}
.box_clm .__txt02{
    padding: 0 0 0;
    margin: 0 0 30px;
    position: relative;
      text-align: left;
      color: #006835 ;
}
.box_clm .__txt02:after {
    position: absolute;
    width: 50px;
    bottom: -10px;
    left: 0px;
    content: '';
    border-top: solid #006835 4px;
}
.box_clm .__txt.title02,
.box_clm .title02  {
    padding: 0;
    margin: 0 0 30px;
    font-size: 36px;
}

.box_clm .__txt.orange {
  color: #e55f16;
}
.box_clm .__txt.green {
	color: #006835;
}
.PAGE .POINT_DTL .box_clm .__txt.green {
  margin: 20px 0;
}
.box_clm p {
    padding: 0 0 10px;
    font-size: 16px;
    font-weight: normal;
}
.box_clm p.pb45 {
    padding: 0 0 45px;
}
.box_clm .video {
	padding: 10px 0;
}
.box_img {
  width: 360px;
  float: right;
}

.btn_next {
  position: relative;
  background: #006835;
  display: inline-block;
  min-width: 285px;
  text-decoration: none;
  text-align: center;
  font-size: 16px;
  color: #fff;
  font-weight: 900;
  padding:20px 5px;
  line-height: 1;
  margin: 10px 0 0;
}
.btn_next.arrow:after {
	content: url(../img/common/arrow.gif);
	display:block;
	width: 5px;
	height: 5px;
	position: absolute;
    top: 50%;
    right: 27px;
    margin: -7px 0 0;
}
.box_clm .btn_next {
  min-width: 280px;
}


/***色*/
.btn_next.bgbl {
	background: #148dba;
}
.btn_next.bgor {
    background: #e55f16;
}
.pdf_btn {
    color: #006835;
    position: relative;
    text-align: center;
    display: block;
}
.pdf_btn:after{
	content: url(../img/common/pdf.gif);
	display: inline-block;
	width: 5px;
	height: 5px;
	position: relative;
    top: 1px;
    right: 0;
}
.sec_ban {
  margin: 30px 0 60px;
}

.sec_ban ul li {
  display: block;
  float: left;
  border: 1px solid #D9D9D9;
  width: 308px;
  margin-right: 25px;
}

.sec_ban ul li:nth-child(3n) {
  margin-right: 0;
}

.sec_ban ul li a {
  display: block;
  padding: 4px;
  text-decoration: none;
  position: relative;
  min-height: 260px;
}

.sec_ban ul li a h3 {
  color: #007AC5;
  font-size: 16px;
  padding: 8px 10px 0;
}

.sec_ban ul li a h3 span {
  font-size: 12px;
  color: #000;
}

.sec_ban ul li a p {
  padding: 0 30px 0 10px;
  line-height: 1.5;
}

.sec_ban ul li a i {
  position: absolute;
  right: 5px;
  bottom: 25px;
  font-size: 30px;
  color: #BED2E8;
}

.fnav {
  background: #34a754;
  padding: 40px 0;
  
}
.fnav_block {
    display: flex;
    padding:0 60px;
    color:fff;
    font-size:16px;
}
.fnav_block a {
    color: #fff;
    text-decoration: none;
}
.fnav_block .left{
	width:155px;
	border-right:solid #fff 1px;
	font-weight: bold;
	font-size: 18px;
}
.fnav_block .right{
    display: flex;
}
.fnav_block .right > p{
    padding: 0 50px 0 40px;
}
.fnav_block .right p{
    font-weight: bold;
}
.fnav_block .f_nav_list{
    margin: 0 55px 0 0;
}
.fnav_block .f_nav_list ul{
    font-weight: normal;
}
.fnav_block .f_nav_list ul li {
	display: list-item;
	list-style: disc;
    padding: 0 9px 0 0;
	margin-left: 15px;/* リストの左側に余白 */
	text-align: left;
}



.fnav ul {
  text-align: center;
}

.fnav ul li {
  display: inline-block;
  padding: 0 30px;
}

.fnav ul li a {
  text-decoration: none;
}

.fnav ul li a i {
  padding-right: 5px;
  color: #0079C4;
}

.footer {
    text-align: center;
    padding: 60px 0 30px;
}

.footer .ft_block {
	display: flex;
}
.footer .ft_left{
    text-align: left;
    margin: 0 145px 0 0;
}
.footer .ft_logo{
    margin: 0 0 25px;
    text-align: left;
}
.footer .ft_mail{
    margin: 25px 0 0;
}
.footer .ft_right{
	display: flex;
}
.footer .ft_right .f_nav_list{
	margin: 0 50px 0 0;
	text-align: left;
}
.footer .ft_right .f_nav_list a{
	color:#fff;
	text-decoration: none;
}


.footer h4 {
  padding: 0 0 5px 0;
  font-size: 16px;
}

.footer .footer_copy {
  padding: 25px 0 0 0;
}

.footer_text {
    padding-top: 1.9rem;
}

.footer .footer_sns a{
	padding: 0 15px;
}

.footer_list {
width: 50%;
}

.footer_list ul {
    width: 40%;
    text-align: left;
}

.footer_list ul li {
    padding-bottom: 1rem;

}

.footer_list ul li a {
    font-weight: 600;
}

.flex.footer_flex {
    align-items: center;
}

.sec_bread ul {
  padding: 5px 0 30px;
  border-bottom: 1px solid #D6D6D6;
  margin-bottom: 5px;
}

.sec_bread ul li {
  display: inline-block;
}

.sec_bread ul li a {
  font-size: 12px;
  text-decoration: none;
}

.sec_bread ul li a.active {
  color: #0079C4;
}

.sec_pagetit h2 {
  color: #102354;
  font-size: 22px;
  line-height: 1;
  padding: 10px 0 10px 20px;
  background-image: url(../img/common/bg_pagetit.png);
  background-position: left center;
  background-repeat: no-repeat;
  margin-bottom: 10px;
}

.sec_page {
  margin-bottom: 40px;
}

.sec_page h3 {
  border-left: 5px solid #0079C4;
  font-size: 18px;
  padding: 5px 0 5px 10px;
  line-height: 1.5;
  margin-bottom: 20px;
}

.sec_page h4 {
  color: #0079C5;
  padding: 5px 0;
}

.sec_page h4 span {
  border-bottom: 1px solid #0079C5;
  height: 1px;
  width: 208px;
  display: block;
  margin: 5px 0;
}

.sec_tbl .box_clm {
  float: none;
  width: auto;
}

.sec_tbl table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 3px;
}

.sec_tbl table th, .sec_tbl table td {
  padding: 10px;
  text-align: left;
}

.sec_tbl table th {
  font-weight: normal;
  color: #007BC5;
  border-bottom: 1px solid #007BC5;
  vertical-align: top;
  width: 20%;
}

.sec_tbl table td {
  border-bottom: 1px solid #D9D9D9;
}

.sec_imglist {
  margin-bottom: 40px;
}

.sec_imglist .box_clm {
  float: none;
  width: auto;
}

.sec_imglist ul li {
  display: block;
  float: left;
  width: 305px;
  margin-right: 22px;
}

.sec_imglist ul li:nth-child(3n) {
  margin-right: 0;
}

.sec_imglist ul li p {
  padding: 5px 0;
}

.sec_more {
  text-align: center;
  margin: 20px 0 60px;
}

.sec_more .btn_next {
  display: inline-block;
}

/****************************************
	SEC
*****************************************/
.sec {
    position: relative;
    padding: 50px 0 20px;
	font-size: 16px;
}
.sec.sec_inc {
    padding: 0;
}
.sec.sec_inc  .boxlist {
    flex-wrap: initial;
}
.sec .btn{
    position: relative;
}
.sec .btn.arrow:after{
	content: url(../img/common/arrow.gif);
	display: block;
	width: 5px;
	height: 5px;
    position: absolute;
    top: 50%;
    right: 27px;
    margin: -7px 0 0;
}
.sec .box_clm {
    margin: 0 0 50px;
	padding:0;
}
.sec .box_clm .arrow_b{
	padding:20px 0;
}

.sec .boxlist {
    display: flex;
    padding: 0 10px;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: flex-start;
    justify-content: center;
}
.sec .boxlist > a{
    text-decoration: none;
}
.sec .boxlist.col2 li {
    display: block;
    width: 42%;
    margin: 20px 40px 25px;
	position: relative;
}
.sec .boxlist.col3 li {
    display: block;
    width: 31.33333%;
    margin: 0 10px 10px;
    background: #fff;
}
.sec .boxlist h3{
    font-size: 22px;
    padding: 0 20px;
    color:#006835;
}
.sec .boxlist h3.ttl {
	color: #fff;
    font-size: 33px;
    padding: 0 20px;
    display: inline-block;
    position: relative;
    background: #34a754;
    display: inline-block;
    margin: -35px 0 20px;
    letter-spacing: -2px;
}
.sec .boxlist h3.ttl:after{
	content: "";
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 59px 0 0 20px;
    border-color: transparent transparent transparent #34a754;
    display: inline-block;
    top: 0;
    right: -20px;
}
.sec .boxlist h4{
    color: #006835;
    font-size: 20px;
    line-height: 1.5;
    padding: 0 0 5px;
}
.sec .boxlist p{
    font-size: 16px;
    padding: 0 0 20px;
}
.sec .boxlist .btn{
	position: relative;
    background: #148dba;
    display: block;
    width: 243px;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    color: #fff;
    font-weight: 900;
    padding: 20px 5px;
    line-height: 1;
    margin: 0 0 0 auto;
}
.sec .boxlist .btn:after{

}
.sec .boxlist .box.navi{
	position: relative;
}
.sec .boxlist .box.navi:after {
position: absolute;
    top: 0;
    right: 0;
    content: "";
    height: 100%;
    width: 100%;
    z-index: 0;
    background: #000000;
    opacity: 0.3;
}
.sec .boxlist .box.navi .box_txt{
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    margin: auto;
    z-index: 1;
    text-align: center;
    padding: 15px 30px;
    color: #fff;
}
.sec .boxlist .box.navi .box_txt h3{
	color:#fff;
	font-size: 36px;
	margin:0 0 30px;
}
.sec .boxlist .box.navi .box_txt h3 span{
	font-size:18px;
}
.sec .boxlist .box.navi .btn {
    margin: 0 auto;
}
/*ボックスタイプ1*/
.sec .boxlist.type01 {
    flex-wrap: initial;
}
.sec .boxlist.type01.col3 li {
    width: 30.33333%;
    margin: 0 15px 10px;
    background: none;
}
.sec .boxlist .bnr{
    position: relative;
}
.sec .boxlist .bnr ._ttl_block{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    color: #fff;
    display: flex;
    align-items: center;
	justify-content: center;
    text-align: center;
    font-size: 33px;
}
.sec .boxlist .bnr ._ttl{
    color: #fff;
    font-size: 33px;
}
.sec .boxlist .bnr ._ttl span{
    font-size: 20px;
}
.sec .boxlist .bnr .btn{
	top: -25px;
}

.sec .boxlist.type01 .box{
}
.sec .boxlist.type01 .box .num {
	margin: 20px auto;
	display: block;
    color: #fff;
    line-height: 2.5;
    font-size: 25px;
	width:60px;
	height:60px;
	-webkit-border-radius: 30px;
	-moz-border-radius: 30px;
	border-radius: 30px;
	/* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#59d256+1,39b64f+47,189b48+100 */
	background: #59d256; /* Old browsers */
	background: -moz-linear-gradient(left,  #59d256 1%, #39b64f 47%, #189b48 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(left,  #59d256 1%,#39b64f 47%,#189b48 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to right,  #59d256 1%,#39b64f 47%,#189b48 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#59d256', endColorstr='#189b48',GradientType=1 ); /* IE6-9 */

}
.sec .boxlist.type01 .box .ttl {
    font-size: 24px;
    font-weight: bold;
    position: relative;
	margin: 0 auto 20px;
}
.sec .boxlist.type01 .box .ttl:after {
    content: '';
    width: 50px;
    bottom: 0;
    left: 0;
    border-top: solid #006835 3px;
    margin: auto;
    display: block;
}
.sec .boxlist.type01 .box p {
}
.sec .boxlist.type01.list{
	flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between
}
.sec .boxlist.type01.list li{
}
.sec .boxlist.type01.list .box.bg_w{
    background: #fff;
    padding: 30px 35px 10px;
     min-height: 298px;
}


.sec .slide{
	margin:30px 0 45px;
}
.sec .slide .slick-track{
    height: 0px;
}
.sec .slide .colbox{
    background: #fff;
    width: 400px;
    margin: 0 20px;
    height: initial;
}
.sec .slide .colbox a{
    text-decoration: none;
}
.sec .slide .colbox .txtbox{
	font-size: 16px;
	padding: 20px 20px 20px;
	text-align: left;
}
.sec .slide .colbox h3{
    color: #006835;
    margin: 0 20px;
	font-size: 22px;
	min-height: 130px;
	padding: 0 0 10px;
}
.sec .slide .colbox p{
    margin: 0 20px;
}

/* 背景色 */
.sec.bgbl{
    background: #ddebf8;
}
.sec.bggy{
    background: #f3f2f2;
}
/* 背景色グラデーション */
.sec.bgbl_gra{
	background: #ddebfb;
    background: -moz-linear-gradient(left, #ddebfb 0%, #dbeaee 47%, #d9e8e1 100%);
    background: -webkit-linear-gradient(left, #ddebfb 0%,#dbeaee 47%,#d9e8e1 100%);
    background: linear-gradient(to right, #ddebfb 0%,#dbeaee 47%,#d9e8e1 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ddebfb', endColorstr='#d9e8e1',GradientType=1 );
}

/* 背景デザイン */
.sec .bg01{
    margin: 0 0 130px;
}
.sec .bg01:after {
    position: absolute;
    top: 65px;
    content: "";
    height: 100%;
    width: 100%;
    z-index: -999;
    background: #34a754;
}

/**　タイトルデザイン　**/
.title01{
	font-size: 45px;
    text-align: center;
    padding:50px 0 50px ;
    color: #006835;
}

.title01.lineB {
    position: relative;
}
.title01.lineB:after {
    content: '';
    width: 50px;
    bottom: 0;
    left: 0;
    border-top: solid #006835 3px;
    margin: auto;
    display: block;
}
.title01.txt_bk {
    color: #000;
}


/**タイトル2(会社沿革)**/
.title02{
	font-size: 22px;
    margin: 0 0 25px;
    color: #006835;
    position: relative;
    font-weight: bold;
    text-align: left;
}
.title02:after{
	position: absolute;
    width: 50px;
    bottom: -10px;
    left: 0px;
    content: '';
    border-top: solid #006835 4px;
}
.title02.fs22{
	font-size: 22px;
}
.title02.fs36{
	font-size: 36px;
}
/**タイトル3(プロジェクト最前線)**/
.title03,
.box_clm .title03{
	font-size: 30px;
    margin: 0 0 50px;
    color: #000;
	position: relative;
	padding: 0;
	text-align: center;
}
.title03:after{
    position: absolute;
    width: 50px;
    bottom: -10px;
    content: '';
    border-top: solid #006835 4px;
    margin: 0 auto;
    left: 0;
    right: 0;
}
.title03.fs36,
.box_clm .title03.fs36{
	font-size: 36px;
}
.title03.fs36:after,
.box_clm .title03.fs36:after{
    bottom: -15px;
}
/**タイトル4(福利厚生)**/
.title04{
	font-weight: bold;
	text-align: left;
    font-size: 20px;
    margin: 0 0 10px;
    padding: 0;
}
.title04:before {
	content: url(../img/blast/list_ico.gif);
    top: 4px;
    position: relative;
    padding: 0 0px 0 0;
    left: 0;
}

/**　リンクデザイン（会社沿革）　**/
.link_block {
	text-align: center;
    display: flex;
    margin: 0 auto;
    justify-content: center;
	margin: 0 0 50px;
}
.link_block li{
	padding: 0 20px;
	position: relative;
}
.link_block li:after {
    position: absolute;
    width: 0;
	height: 24px;
    top: 3px;
    right: 1px;
    content: '';
    -webkit-transform: rotate(-45deg);
    transform: rotate(26deg);
    border-width: 0 0 0 1px;
    border-style: solid;
    border-color: #000;
}
.link_block li:last-child:after{
	content: none;
}
.link_block li a {
    color: #222;
    text-decoration: none;
    font-size: 18px;
	font-weight: bold;
}
/**　dlデザイン（会社沿革テーブル）　**/
.dl_block dl {
	max-width: 970px;
    border-top: solid 1px #a0a0a0;
    margin: 0 auto;
	display: block;
    width: 100%;
}
.dl_block dl:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    font-size: 0px;
}
.dl_block dl:last-of-type {
    border-bottom: solid 1px #a0a0a0;
}
.dl_block dl dt {
    width: 23%;
    color: #006835;
    padding: 20px 20px;
    text-align: center;
	display: initial;
    float: left;
}
.dl_block dl dd {
    padding: 20px 20px;
	display: table-cell;
}

/**　テキストデザイン　**/
.txt_area {
    margin: 0 0 35px;
}
.txt_area a{
    margin: 0 0 35px;
    color:#385898;
}

/****************************************
		ブロック
*****************************************/
/* 画像ブロック */
.img_block{
    margin: 30px auto;
}
.img_block.max720{
    max-width: 720px;
}
.img_block ._txt{
    font-weight: bold;
    margin: 10px 0;
    font-size: 16px;
}
.img_block .col2 li{
	padding: 0 7px;
}
.img_block .col3 li {
    width: 33.333333%;
}
.img_block .col3 li ._box {
    padding: 0 10px;
}
.img_block .col3 li iframe{
    width: 100%;
    height: 216px;
}
.img_block .col li ._txt.ico {
        padding: 0;
        text-align: left;
}
.img_block .col li ._txt.ico:before {
	content: url(../img/blast/list_ico.gif);
    top: 6px;
    position: relative;
    padding: 0 10px 0 0;
}


/* 画像ブロック1 */
.img_block.type01{
    margin: 0;
    padding: 30px 0;
}
.img_block.type01 ul.col.col2 > li:first-child {
	width:42%;
	padding: 0 0 0 ;
}
.img_block.type01 ul.col.col2 > li:last-child {
	width:58%;
	padding: 0 0 0 40px;
}

/* 画像ブロック2 */
.img_block.type02 .col2 li{
    width: 48%;
    margin: 0 0 20px;
}
.img_block.type02 ._box {
    border: 1px solid #c9c9c9;
	background: #fff;
	margin: 0 0 1px;
}
.img_block.type02 ._box ._txt,
.img_block.type02 ._box ._txt.ico {
    background: #e1f2e6;
    margin: 1px 0 0;
    padding: 5px 10px;
    border-bottom: 1px solid #c9c9c9;
	font-size: 20px;
}
.img_block.type02 ._box ._txt_box {
    padding: 15px 10px;
    background: #fff;
    font-size: 16px;
    margin: 0 0 1px;
}
.img_block.type02 ._box ._txt_box p {
    min-height: 84px;
    text-align: left;
    display: block;
}
.img_block.type02 .col3 li ._box {
    padding: 0 ;
}
.img_block.type02 .col3 li ._box {
    padding: 0;
    margin: 0 10px 20px;
    min-height: 209px;
    letter-spacing: -1px;
}
.img_block.type02 .col3 ._box ._txt_box {
    padding: 10px 10px;
    background: #fff;
}
@media (max-width: 768px) {
	.img_block.type02 .col3 li ._box ._txt,
	.img_block.type02 .col3 li ._box ._txt.ico {
	    margin: 0;
	    padding: 5px 5px;
	    font-size: 0.9rem;
	    letter-spacing: -1px;
	    line-height: 2.5;
	}
	.img_block.type02 .col3 li ._box ._txt.ico:before {
	    top: 6px;
	    padding: 0px 5px 0 0;
	}
	.img_block.type02 .col3 li ._box {
	    padding: 0;
	    margin: 0 5px 10px;
	    min-height: 200px;
	    font-size: 0.8rem;
	}
	.img_block.type02 .col3 li ._box ._txt_box {
	    padding: 5px ;
	}
	.img_block.type02 .col3 ._box ._txt_box p {
	    font-size: 0.8rem;
	}
}
/****************************************
		円ブロック
*****************************************/
.circle_block .col {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 20px auto ;
}
.circle_block .col li{
	position: relative;
    width: 300px;
    height: 300px;
    border-radius: 160px;
    -webkit-border-radius: 160px;
    -moz-border-radius: 160px;
    border-radius: 160px;
    background: #fff;
    margin: 0 auto;
}
.circle_block .col4 li{
	width: 250px;
    height: 250px;
}
.circle_block .col4 li ._box {
    /* top: 30%; */
    transform: translateY(30%);
}

.circle_block ._box {
    position: absolute;
    /* top: 50%; */
    transform: translateY(50%);
    left: 0;
    right: 0;
}
.circle_block ._num {
    font-size: 36px;
    font-style: italic;
    color: #006835;
}
.circle_block ._txt{
    font-weight: bold;
    font-size: 24px;
    line-height: 1.5;
}

/****************************************
		部分ボックス
*****************************************/
.boxtype01 {
    background: #f5f6f7;
    padding: 30px;
    margin: 0 0 1em;
}
.boxtype01 dl {
    display: flex;
    align-items: center;
}
.boxtype01 dl dd {
    padding: 0 0 0 40px;
}
.boxtype01 dl dd p{
    font-weight: bold;
}
.boxtype01 dl dd p.normal{
	font-weight: normal;
}
.boxtype01 dl ul {
    line-height: 1.5;
	text-align: left;
}
.boxtype01 dl ul li:before {
    content: "●";
    font-size: 20px;
    padding: 0 4px 0 0;
    position: relative;
    top: 1px;
    color: #148dba;
}
.boxtype01 ul li em {
	font-size: 1.2em;
}

/*白*/
.boxtype01.bg_w {
    background: #fff;
}
.boxtype01 ul.list_txt > li {
    margin-bottom: 10px;
}
.boxtype01 ul.list_txt > li:last-child {
    padding: 0 ;
}
.boxtype01 ul.list_txt > li:before {
}

/*******部分ボックス リストボックス*****/
.boxtype01.list_box {
    background: #fff;
    padding: 0;
}
.boxtype01.list_box ul.list_txt {
    padding:30px 0;
}
.boxtype01.list_box ul.list_txt > li{
    background: #f5f6f7;
    padding: 30px 30px 30px 70px;
    margin: 0 0 30px;
}
.boxtype01.list_box ul.list_txt > li::before {
    left: 35px;
    top: 30px;
}
.boxtype01.list_box ul.list_txt > li .box{
	margin:20px 0 0;
}
.boxtype01.list_box ul.list_txt > li .box ._txt {
    font-size: 22px;
    color:#e55f16;
}
.boxtype01.list_box ul.list_txt > li .box .btn_box {
	display: flex;
    justify-content: initial;
    align-items: center;
}
.boxtype01.list_box ul.list_txt > li .box .btn_box > li{
    padding: 0 20px;
}
.boxtype01.list_box ul.list_txt > li .box:last-child{
}

/****************************************
		カラム
*****************************************/
/* カラム */
.col{
    display: flex;
}
.col.list{
	flex-wrap: wrap;
}
.col.center{
	justify-content: center;
}
.col2 > li{
	width: 50%;
}
.col3 > li{
	width: 33.333333%;
}
/****************************************
		ステップ
*****************************************/
.step_block {

}
.step_block > dl{
    display: flex;
    width: 100%;
    border: solid 3px #31a8d1;
    background: #fff;
    box-sizing: border-box;
}
.step_block > dl dt {
    background: #31a8d1;
    color: #fff;
    padding: 20px 15px;
    width:25%;
	display: flex;
    align-items: center;
    justify-content: center;
}
.step_block > dl dd{
    width:75%;
    padding: 20px 20px;
}
.step_block > dl dd ul{
    display: flex;
    text-align: left;
    color: #000;
}
.step_block > dl dd ul li:first-child {
    width: 50%;
    padding: 0 30px 0 0;
}
.step_block > dl dd ul li:last-child {
    width: 100%;
}
.step_block ._txt{
    font-size: 26px;
    font-weight: bold;
}
.step_block .num{
	font-weight: bold;
    font-size:26px;
    border: none;
    padding: 15px 0px;
    text-align: left;
}
.step_block .num span{
    font-size:  18px;
}
.step_block .arrow_b{
    padding: 15px 0 ;
}
.step_block > dl dd  dl {
	display: table;
    padding: 0;
    margin: 10px 0 0;
}
.step_block > dl dd  dl dt{
    width: 90px;
    padding: 0 0;
    display: table-cell;
	text-align: center;
    font-weight: bold;
}
.step_block > dl dd  dl dd{
    display: table-cell;
    width: inherit;
    padding: 5px 10px;
}
/**色**/
.step_block > dl.color01 {
    border: solid 3px #13ae67;
}
.step_block > dl.color01  dt {
    background: #13ae67;
}
.step_block > dl.color01  dd ._txt{
    color: #13ae67;
}
.step_block > dl.color02 {
    border: solid 3px #14b299;
}
.step_block > dl.color02  dt {
    background: #14b299;
}
.step_block > dl.color02  dd ._txt{
    color: #14b299;
}
.step_block > dl.color03 {
    border: solid 3px #29aab3;
}
.step_block > dl.color03  dt {
    background: #29aab3;
}
.step_block > dl.color03  dd ._txt{
    color: #29aab3;
}
.step_block > dl.color04 {
    border: solid 3px #31a8d1;
}
.step_block > dl.color04  dt {
    background: #31a8d1;
}
.step_block > dl.color04 dd ._txt{
    color: #31a8d1;
}
.step_block > dl.color05 {
    border: solid 3px #2d89d5;
}
.step_block > dl.color05  dt {
    background: #2d89d5;
}
.step_block > dl.color05  dd ._txt{
    color: #2d89d5;
}
/****************************************
		リストテキスト
*****************************************/
ul.list_txt {
    counter-reset: number 0;
    margin: 0 0 0 35px;
    text-align: left;
}
ul.list_txt > li{
	padding: 0 ;
    position: relative;
    font-size: 16px;
	width: inherit;
}
ul.list_txt > li::before {
    counter-increment: number 1;
    content: counter(number, decimal-leading-zero)".";
    font-size: 22px;
    color: #006835;
    font-style: italic;
    position: absolute;
    left: -35px;
    font-weight: 700;
    line-height: 1.5;
}
ul.list_txt > li p{
    font-size: 16px;
    padding-left: 10px;
}
ul.list_txt > li p em{
	font-size: 1.2em;
}
ul.list_txt > li .box p._txt {
  font-weight: 700;
}
/*ul.list_txt > li > p {
  font-size: 22px;
}*/

/****************************************
		求人エリア
*****************************************/
.recruit_box {

}
.recruit_box ._txt{
    font-size: 22px;
    font-weight: bold;
}
.recruit_box ._tel_box {
    line-height: 1.5;
}
.recruit_box ._tel_box ._tel{
    font-size: 45px;
    font-weight: bold;
	color: #217b50;
}
.recruit_box ._tel_box ._tel span{
    font-size: 22px;
    color: #000;
    padding: 0 10px 0 0;
}
.recruit_box ._tel_box ._time{
    font-size: 16px;
}
/****************************************
		タイムライン
*****************************************/
.timeline {
  list-style: none;
}
.timeline > li {
  margin-bottom: 60px;
}
.timeline > li dl {
    display: flex;
    justify-content: space-between;
    margin: 10px 0 0;
}
.timeline > li dl dt  {
	padding: 0 10px 0 0;
}
.timeline > li {
  overflow: hidden;
  margin: 0;
  position: relative;
    display: flex;
}
.timeline-time {
  width: 110px;
  margin-top: 0;
	color: #006835;
	font-weight: bold;
	font-size: 22px;
}
.timeline-content {
  width: 85%;
  border-left: 3px #006835 solid;
  padding-left: 30px;
  padding: 0 0 30px 30px;
  position: relative;
}
.timeline-content h3{
		font-size: 22px;
		color: #006835;
}
.timeline-content p{
		font-size: 16px;
}
.timeline-content:before {
		content: '';
	    width: 18px;
	    height: 18px;
	    background: #006835;
	    position: absolute;
	    left: -10px;
	    top: 8px;
	    border-radius: 100%;
	    z-index: 2;
}

@media (max-width: 768px) {
	.timeline > li dl dt ,
	.timeline > li dl dd {
	         width: 50%;
	}
}

/****************************************
		FAQ
*****************************************/
.faq dl {
	width: 100%;
	border-bottom: solid 1px #a0a0a0;
	margin: 0 0 40px 0;
}
.faq dl dt {
	color: #006835;
	padding: 0 0;
	border-radius: 2px;
	font-size: 20px;
    font-weight: bold;
}
.faq dl dt:before {
	content: "Q.";
	font-weight: bold;
	margin-right: 8px;
}
.faq dl dd {
	margin: 15px 0 40px 30px;
	line-height: 140%;
	font-size:16px;
	position: relative;
}
.faq dl dd:before {
	content: "A.";
	font-weight: bold;
	margin-right: 8px;
	color: #e55f16;
    position: absolute;
    left: -30px;
}
.faq dl dd a{
	color: #385898;
}

/****************************************
		リンクボタン一覧
*****************************************/
.linl_btn{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
	margin:70px 0 0;
}
.linl_btn li{
}
.linl_btn li a{
	position: relative;
    display: block;
    background: #ebebeb;
    text-decoration: none;
    padding: 20px 25px;
    color: #000;
    margin: 0 7px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
.linl_btn.arrow li a:after {
    content: url(../img/common/arrow_bk.gif);
    display: inline-block;
    width: 5px;
    height: 5px;
    position: relative;
    top: -3px;
    right: -6px;
}
.linl_btn li.current-cat a,
.linl_btn li a:hover{
    background: #148dba;
    color: #fff;
}
.linl_btn li.current-cat a:after,
.linl_btn li a:hover:after {
    content: url(../img/common/arrow.gif);
}


/****************************************
		Mobile Setting 
*****************************************/
@media (max-width: 768px) {
  .target_line {
  }
  .pc_only {
    display: none;
  }
  .sp_only {
    display: block;
  }
  body {
    min-width: 0;
  }
  .wrap {
    width: auto;
    padding: 0 3%;
  }

	.gnav {
	    top: -3px;
		left: 0px
	}
	.gnav ul {
	    padding: 10px 0;
	}
	.top_bgimg .txt_img img {
	    width: 90%;
	}
	.sec_top_ky .side_btn {
	    top: 15%;
	}
	.box_clm h2 {
	    font-size: 2.0rem;
	    line-height: 1.5;
	    padding: 0 0 25px;
	}
	.box_clm h3 {
	    font-size: 1.4rem;
	    line-height: 1.5;
	    padding: 0 0 25px;
	}
	.sec .boxlist {
	    padding: 0;
	}
	.sec .boxlist.col2 li {
	    width:47.3%;
	    margin: 0 7px 30px;
	}
	.sec .boxlist h3.ttl {
	    color: #fff;
	    font-size: 1.2rem;
	    padding: 0 5px;
	    background: #34a754;
	    display: inline-block;
	    margin: -32px 0 20px;
	}
	.sec .boxlist h3.ttl:after {
	    border-width: 34px 0 0 15px;
	    right: -15px;
	}
	.sec .boxlist.col3 li {
	    width: 31.94%;
	    margin: 0 5px 0;
	}
	.sec .boxlist .box.navi .box_txt {
	    top: 50%;
	    transform: translateY(-50%);
	    padding: 5px 6px;
	}
	.sec .boxlist .box.navi .box_txt h3 {
	    font-size: 1.2rem;
	    margin: 0 0 5px;
	    line-height: 1.2;
	}
	.sec .boxlist .box.navi .box_txt h3 span {
	    font-size:0.9rem;
	}
	.sec .boxlist p {
	    font-size: 0.9rem;
	    padding: 0 0 5px;
	    line-height: 1.0;
	}
	.sec .boxlist .btn {
	    width: 90%;
	    font-size: 0.9rem;
	    padding: 10px 0;
	    line-height: 1;
	}
	.fnav {
	    padding: 25px 0;
	}
	.fnav_block {
	    padding: 0 0;
	    font-size:0.8rem;
	}
	.fnav_block .left {
	    width: 90px;
	}
	.fnav_block .right > p {
	    padding: 0 25px 0 10px;
	}
	.fnav_block .f_nav_list {
	    margin: 0 10px 0 0;
	}
	.footer .ft_left {
	    margin: 0 70px 0 0;
	}
	.footer .ft_right .f_nav_list {
	    margin: 0 40px 0 0;
	}

	.link_block {
	    margin: 0 0;
	}
	.link_block li {
	    padding: 0 10px;
	}
	.circle_block ._box {
	    transform: translateY(32%);
	}
	.circle_block .col li {
	    width: 220px;
	    height: 220px;
	    margin: 0 7px;
	}
	.circle_block ._txt {
	    font-weight: bold;
	    font-size: 18px;
	    line-height: 1.5;
	}
	.circle_block .col.col4 li{
	    width: 220px;
	    height: 165px;
	    margin: 0 7px;
	}
	.circle_block .col4 li ._box {
	    /* top: 30%; */
	    transform: translateY(9%);
	}
	.circle_block .col4 li ._txt {
	    font-size: 16px;
	    line-height: 1.5;
	    letter-spacing: -1px;
	}
	.step_block ._txt {
	    font-size: 16px;
	}
	.step_block .num {
	    font-size: 21px;
	    padding: 10px 0px;
	}
	.step_block .num span {
	    font-size: 14px;
	}
	.clm01 .box_clm {
	    padding: 0;
	    padding: 35px 50px;
	    max-width: 640px;
	}
	.box_clm .__txt.title02 {
	    padding: 0;
	    margin: 0 0 30px;
	    font-size: 26px;
	}
	.title02,
	.box_clm .__txt.title02,
	.box_clm .title02 {
	    font-size: 1.8rem;
	}
	.title02:after,
	.box_clm .__txt.title02,
	.box_clm .title02 {
	    bottom: 0;
	    left: 0px;
	}
}
.recruit_box ._tel_box ._tel a {
  color: #217b50;
  text-decoration: none;
}

@media screen and (min-width: 769px){.telnum{pointer-events:none}}

/*-- ボタニカルブラスト協会 --*/
.header_inner {
    max-width: 1400px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 3%;
    box-sizing: border-box;
}

@media (max-width: 768px) {
    body .side_btn {
        top: initial;
        display: flex;
        bottom: 0;
        width: 100%;
    }
}

/*-- 固定ページ独自の共通CSS --*/
.page_container .sec {
    padding: 0;
}

.page_container h2 {
    font-size: 2.6em;
    font-weight: 700;
    position: relative;
    display: inline-block;
    margin-bottom: 4rem;
    color: var(--black);
}

.page_container h2:before {
    content: '';
    position: absolute;
    bottom: -20px;
    display: inline-block;
    width: 70px;
    height: 3px;
    left: 37px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: var(--green);
    border-radius: 2px;
}

.page_container h3 {
    font-size: 2em;
    padding-bottom: 1.9rem;
    font-weight: 700;
}

.page_container p {
    line-height: 1.8;
    padding-bottom: 1.9rem;
}

.page_container strong {
    color: var(--red-bean);
    font-weight: 600;
}

.page_container img {
    padding-bottom: 1.9rem;
}

.page_container ul li {
    padding-bottom: 1rem;
}

.page_container .sec .wrap {
    padding: 0 3%;
    box-sizing: border-box;
}

.wp-block-group__inner-container {
    width: 1200px;
    margin: 0 auto;
}

.has-background {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
}

.wp-block-button__link {
    background-color: var(--red-bean)!important;
}

@media (max-width: 768px) {
    .wp-block-group__inner-container {
        width: 100%;
        padding: 0 3.5%;
        box-sizing: border-box;
    }
    .page_container .sec .wrap {
        padding: 0 5%;
    }
    .page_container img {
        padding-bottom: 0;
    }
    .page_container h2 {
        font-size: 1.8em;
    }
    .page_container h2:before {
        width: 45px;
        height: 2px;
        left: 24px;
    }
    .page_container ul li {
        padding-bottom: 1.2rem;
    }
}

/*-- フォームCSS --*/
.wpcf7 label {
    font-size: 1.1em;
}

.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
    width: 60%;
    height: 50px;
    font-size: 0.9em;
    padding: 1% 1.4%;
}

.wpcf7-form-control-wrap textarea {
    height: 10rem;
}

input.wpcf7-submit {
    display: inline-block;
    min-width: 285px;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    color: var(--white);
    background: var(--red-bean);
    font-weight: 500;
    padding: 20px 5px;
    line-height: 1;
    margin: 10px 0 0;
    border: none;
    border-radius: 30px;
}

@media (max-width: 768px) {
    .wpcf7-form-control-wrap input,
    .wpcf7-form-control-wrap textarea {
        width: 100%;
        padding: 2.5% 2%;
        font-size: 1.1em;
    }
    .wpcf7-submit {
        text-align: center;
    }
    form p:last-of-type {
        text-align: center;
        padding-bottom: 0;
    }
    .burg.active span {
        background: var(--black);
    }
}