@charset "utf-8";
/* CSS Document */
.mainMenu {
    z-index: 10000;
}

/*PC*/
@media print, screen and (min-width: 769px) {

.com_table td a { text-decoration: underline;
    font-weight: bold;}

.com_tit { text-align: center; }
.subsub_tit { font-weight: bold; font-size: 18px; margin-bottom: 15px; }
/*----新デザイン---*/
.c_box { margin-bottom: 50px; }
#c_box { margin-bottom: 50px; }
#c_box .com_tit { text-align: center; }
.list_item2 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: flex-start; margin-bottom: 50px; }
.list_item2 li { flex-basis: 48%; max-width: 48%; margin-right: 4%; }
.list_item2 li:nth-child(2n+2) { margin-right: 0px; margin-top: 50px; }
.list_item2_tit { margin-top: -30px; position: relative; z-index: 10; margin-bottom: 20px; font-size: 20px; }
.list_item2 li a .list_item2_tit span { background: #fff; padding: 15px 50px 15px 25px;  font-weight: bold; position: relative;}
.list_item2 li a .list_item2_tit span::after { position: absolute; right: 15px; top: 15px; content: "\f054"; font-family: "Font Awesome 5 Free"; display: block; color: #87c34e; font-size: 16px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.list_item2 li a:hover .list_item2_tit span::after { right: 10px; }
.list_item2_txt { font-size: 14px; }

.list_item3 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; }
.list_item3 li { flex-basis: 32%; max-width: 32%; }
.list_item3 li:nth-of-type(2) { margin-top: 50px; }
.list_item3 li:nth-of-type(3) { margin-top: 100px; }
.list_item3_tit { margin-top: -30px; position: relative; z-index: 10; margin-bottom: 18px; font-size: 20px; }
.list_item3 li a .list_item3_tit span { background: #fff; padding: 15px 50px 15px 25px;  font-weight: bold; position: relative;}
.list_item3 li a .list_item3_tit span::after { position: absolute; right: 15px; top: 15px; content: "\f054"; font-family: "Font Awesome 5 Free"; display: block; color: #87c34e; font-size: 16px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.list_item3 li a:hover .list_item3_tit span::after { right: 10px; }
.list_item3_txt { font-size: 14px; }


.logo_Hed_index { display: none; }
/*--------index------------*/

.b_list { width: 100%; margin: 0 auto;  }
.b_list li { width: 32%; float: left; margin-right: 2%; }
.b_list li:nth-child(3n+3) { margin-right: 0px; }
.b_list li:nth-of-type(2) { margin-top: 50px; }
.b_list li:nth-child(n+4) { margin-top: 50px; }
.b_list li:nth-of-type(5) { margin-top: 100px; }
.b_list_tit { color: #000; margin-bottom: 10px; font-size: 20px;  text-align: left; line-height: 2em; margin-top: 15px; }
.b_list_tit span.en { display: block; text-align: left; color: #87c34e; font-size: 25px;  }
.b_list_subtit { font-size: 16px; font-weight: bold; color: #356702; margin-bottom: 10px; }
.b_list_txt { line-height: 2em; }

/*-------idx_box02-------------*/
.idx_btn02 { position: relative; display: inline-block; font-size: 16px; font-weight: bold; margin-top: 30px; }
.idx_btn02::after { position: absolute; bottom: -4px; left: 0; content: ""; width: 100%; height: 2px; background: #87c34e;  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s; }
.b_list li a:hover .idx_btn02::after { transform: scale(1, 1); }
.b_list li a:hover .idx_btn02 { color: #87c34e;  }
.b_list li a:hover .idx_btn02::after { transform: scale(1, 1); }
.b_list li a:hover .idx_btn02 { color: #87c34e;  }

.mix_s {
position: relative;
overflow: hidden;
height: 23vw;
}

.mix_s a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

.mix_s a .mix_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}

.mix_s2 {
position: relative;
overflow: hidden;
height: 20vw;
}

.mix_s2 a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

.mix_s2 a .mix_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}
.mix_s2:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.mix_s:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.mix_01::before {
background: url("../images/company/img01.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  
.mix_02::before {
background: url("../images/company/img02.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  
.mix_03::before {
background: url("../images/company/img03.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  
.mix_04::before {
background: url("../images/company/img04.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  
.mix_05::before {
background: url("../images/company/img05.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  
/*//////////*/

.timeline {
width: 100%;
margin: 0 auto 50px;
}    

.timeline > li {
overflow: hidden;
margin: 0;
position: relative;
}
.timeline-date {
width: 200px;
float: left;
}
.timeline-date { font-weight: bold;  }
.timeline-content {
width: 75%;
float: left;
border-left: 1px #333333 solid;
padding-left: 30px;
padding-bottom: 20px;
}    


.timeline-content:before {
content: '';
width: 12px;
height: 12px;
background:  #87c34e;
position: absolute;
left: 195px;
top: 5px;
border-radius: 100%;
}



/*----------greeting------------*/
.message_box00 { margin-bottom: 30px; margin-top: 30px; }
.message_box { width: 100%; margin: 0 auto;  margin-bottom: 30px; }
.message_txtbox { width: 48%; float: left; }
.message_imgbox { width: 48%; float: right; }
.message_img { width: 100%; margin: 0  auto; position: relative; }
.message_img img { width: 100%; height: auto; }
.message_img::before { position: absolute; width: 200%; top: -70px; right: -500px; ; background: rgba(0,0,0,0.05); height: 100%; content: ""; display: block; z-index: -1; }
.message_tit { font-size: 20px; font-weight: bold; margin-bottom: 15px; }
.message_txt { line-height: 1.8em; }

.message_img02 { width: 100%; margin: 0 auto; }
.message_img02 img { width: 100%; height: auto; }
.message_name { font-size: 16px; font-weight: bold; margin-top: 15px; text-align: right; }
.idea_txt { font-size: 20px; font-weight: 500; letter-spacing: 0.1em; text-align: left!important; }

.message_img_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 30px; }
.message_img_list li { width: 50%; }
.message_img_list li img { width: 100%; height: auto; }
.message_img02 { width: 100%; margin: 0 auto; }
.message_img02 img { width: 100%; height: auto; }
#message { margin-bottom: 100px; }

/*-----------アクセス-----------*/


.company_box00 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; margin-bottom: 100px;  }
.company_txtbox { flex-basis: 48%; margin-right: 4%; }
.company_imgbox { flex-basis: 48%; }
.company_img { width: 100%; margin: 0 auto; }
.company_img img { width: 100%; height: auto; }
.company_txt { line-height: 2em; }

.map_wrap { margin-top: 50px; }

.access_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.access_list li { width: 48%; margin-right: 4%; }
.access_list li:nth-child(2n+2) { margin-right: 0px; }
.access_list li:nth-child(n+3) { margin-top: 50px; }
#access01 { margin-bottom: 100px; }



/*--------許認可証--------*/

.permit_list { width: 100%; margin: 0 auto; }
.permit_list li { width: 48%; margin-right: 4%; float: left; }
.permit_list li:nth-child(2n+2) { margin-right: 0px; }
.permit_list li p { width: 100%; margin: 0 auto; }


/*----ロゴ説明---*/

.logo_detailbox { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; }
.logo_detailimgbox { flex-basis: 40%; max-width: 40%; margin-right: 5%; }
.logo_detailimg { padding: 30px; border: 1px solid #ddd; width: 100%; box-sizing: border-box; }
.logo_detailimg img { width: 100%; height: auto; }

.logo_detail_txtbox { flex-basis: 55%; max-width: 55%; }

.logo_detailbox_top { margin-top: 50px; }
.logo_detail_txtbox_txt { line-height: 1.8em; }


}




/*----------------------------------------------------*/




/*sp*/
@media only screen and (max-width: 768px) {



.pager .prev { padding-bottom: 30px; width: 100%; }
.pager .next { width: 100%; margin-top: 30px; }

.pager .index { top: 50px; }



.com_table td a { text-decoration: underline;
    font-weight: bold;}
.logo_Hed_index { display: none; }

/*--------index------------*/

.b_list { width: 100%; margin: 0 auto;  }
.b_list li { width: 100%;  }
.b_list li:nth-child(n+2) { margin-top: 50px;  }
.b_list_tit { color: #000; margin-bottom: 10px; font-size: 18px;  text-align: left; line-height: 2em; margin-top: 15px; }
.b_list_tit span.en { display: block; text-align: left; color: #87c34e; font-size: 25px;  }
.b_list_subtit { font-size: 14px; font-weight: bold; color: #356702; margin-bottom: 10px; }
.b_list_txt { line-height: 2em; }

/*-------idx_box02-------------*/
.idx_btn02 { position: relative; display: inline-block; font-size: 16px; font-weight: bold; margin-top: 30px; }
.idx_btn02::after { position: absolute; bottom: -4px; left: 0; content: ""; width: 100%; height: 2px; background: #87c34e;  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s; }
.b_list li a:hover .idx_btn02::after { transform: scale(1, 1); }
.b_list li a:hover .idx_btn02 { color: #87c34e;  }
.b_list li a:hover .idx_btn02::after { transform: scale(1, 1); }
.b_list li a:hover .idx_btn02 { color: #87c34e;  }

.mix_s {
position: relative;
overflow: hidden;
height: 60vw;
}

.mix_s a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

.mix_s a .mix_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}
.mix_s:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}
.mix_s2 {
position: relative;
overflow: hidden;
height: 60vw;
}

.mix_s2 a {
position: relative;
width: 100%;
height: 100%;
display: block;
}

.mix_s2 a .mix_box {
position: absolute;
margin: auto;
left: 0;
right: 0;
}
.mix_s2:hover::before {
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
transform: scale(1.1);
transition: all 1s cubic-bezier(0.23, 1, 0.32, 1) 0s
}

.mix_01::before {
background: url("../images/company/img01.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  
.mix_02::before {
background: url("../images/company/img02.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  
.mix_03::before {
background: url("../images/company/img03.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  
.mix_04::before {
background: url("../images/company/img04.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  
.mix_05::before {
background: url("../images/company/img05.jpg") center center;
background-size: cover;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
content: "";
-webkit-transition: -webkit-transform 125ms;
transition: -webkit-transform 125ms;
transition: transform 125ms;
transition: transform 125ms, -webkit-transform 125ms
}  

/*//////////*/
.timeline {
list-style: none;
width: 98%;
margin: 0 auto 50px;
}
.timeline > li {

}       

.timeline li {
border-left: 1px solid #333333;
padding-left: 20px;
padding-bottom: 20px;
}
.timeline li {
position: relative;
}


.timeline-date { font-weight: bold;  }

.timeline-date::before {
content: '';
width: 12px;
height: 12px;
background:  #87c34e;
position: absolute;
left: -7px;
top: 5px;
border-radius: 100%;
}


/*----------greeting------------*/
.message_box00 { margin-bottom: 30px; margin-top: 30px; }
.message_box { width: 100%; margin: 0 auto; margin-bottom: 30px; }
.message_txtbox { width: 100%; }
.message_imgbox { width: 100%; margin-bottom: 30px; }
.message_img { width: 100%; margin: 0  auto; position: relative; }
.message_img img { width: 100%; height: auto; }
.message_img::before { position: absolute; width: 200%; top: -70px; right: -500px; ; background: rgba(0,0,0,0.05); height: 100%; content: ""; display: block; z-index: -1; }
.message_tit { font-size: 20px; font-weight: bold; margin-bottom: 15px; }
.message_txt { line-height: 1.8em; }

.message_img02 { width: 100%; margin: 0 auto; }
.message_img02 img { width: 100%; height: auto; }
.message_name { font-size: 14px; font-weight: bold; margin-top: 15px; text-align: right; }
.idea_txt { font-size: 18px; font-weight: 500; letter-spacing: 0.1em; text-align: left!important; line-height: 1.8em;  }


.message_img_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 30px; }
.message_img_list li { width: 50%; }
.message_img_list li img { width: 100%; height: auto; }
/*-----------アクセス-----------*/


.company_box00 { width: 100%; margin: 0 auto; margin-bottom: 50px;  }
.company_txtbox { width: 100%; margin-bottom: 30px;  }
.company_imgbox { width: 100%; }
.company_img { width: 100%; margin: 0 auto; }
.company_img img { width: 100%; height: auto; }
.company_txt { line-height: 2em; }

.map_wrap { margin-top: 30px; }

.access_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.access_list li { width: 100%; margin: 0 auto; }
.access_list li:nth-child(n+2) { margin-top: 50px;  }


/*--------許認可証--------*/

.permit_list { width: 100%; margin: 0 auto; }
.permit_list li { width: 48%; margin-right: 4%; float: left; }
.permit_list li:nth-child(2n+2) { margin-right: 0px; }
.permit_list li p { width: 100%; margin: 0 auto; }


#permit .w48_l { margin-bottom: 50px; }

/*-----新デザイン---*/


.list_item2 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: flex-start; margin-bottom: 30px; }
.list_item2 li { flex-basis: 100%; max-width: 100%; }
.list_item2 li:nth-child(n+2) { margin-top: 30px; }
.list_item2_tit { margin-top: -15px; position: relative; z-index: 10; margin-bottom: 15px; font-size: 16px; }
.list_item2 li a .list_item2_tit span { background: #fff; padding: 10px 30px 10px 10px;  font-weight: bold; position: relative;}
.list_item2 li a .list_item2_tit span::after { position: absolute; right: 10px; top: 10px; content: "\f054"; font-family: "Font Awesome 5 Free"; display: block; color: #87c34e; font-size: 14px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.list_item2 li a:hover .list_item2_tit span::after { right: 5px; }
.list_item2_txt { font-size: 14px; }

.list_item3 { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; }
.list_item3 li { flex-basis: 100%; max-width: 100%; }
.list_item3 li:nth-child(n+2) { margin-top: 30px; }
.list_item3_tit { margin-top: -15px; position: relative; z-index: 10; margin-bottom: 15px; font-size: 16px; }
.list_item3 li a .list_item3_tit span { background: #fff; padding: 10px 30px 10px 10px;  font-weight: bold; position: relative;}
.list_item3 li a .list_item3_tit span::after { position: absolute; right: 10px; top: 10px; content: "\f054"; font-family: "Font Awesome 5 Free"; display: block; color: #87c34e; font-size: 14px; -webkit-transition: all 0.3s ease-out;
-moz-transition: all 0.3s ease-out;
-ms-transition: all 0.3s ease-out;
transition: all 0.3s ease-out; }
.list_item3 li a:hover .list_item3_tit span::after { right: 5px; }
.list_item3_txt { font-size: 14px; }

.c_box { margin-bottom: 30px; }

/*----ロゴ説明---*/

.logo_detailbox { width: 100%; margin: 0 auto; }
.logo_detailimgbox { width: 90%; margin: 0 auto 15px; }
.logo_detailimg { padding: 15px; border: 1px solid #ddd; width: 100%; box-sizing: border-box; }
.logo_detailimg img { width: 100%; height: auto; }

.logo_detail_txtbox { width: 100%; margin: 0 auto; }

.logo_detailbox_top { margin-top: 30px; }
.logo_detail_txtbox_txt { line-height: 1.8em; }

}
