@charset "UTF-8";
/* ===================================================================
CSS information
file name  :  common.css
style info :  全ページ共通 cssの定義
=================================================================== */
#header01 {
/***********************************

header 01

************************************/
/*position: fixed;*/
top: 0;
left: 0;
width: 100%;
background-color: #FFF;
z-index: 10;
}
#header01 .h_lead_area {
padding: 4px 0; }
#header01 .h_lead_area .inner {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between; }
#header01 .h_lead_area .h_nav_logo {
margin-right: auto; }
#header01 .h_lead_txt {
/* font-size: 11px; */
font-size: 13px;
margin-left: 0;
max-width: 70%; }
#header01 .h_lead_nav {
font-size: 12px;
margin-left: auto; }
#header01 .h_lead_nav a {
padding-left: 14px; }
#header01 .h_lead_nav a:before {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block;
font-size: 12px;
padding-right: 5px; }
#header01 .h_lead_lang {font-size: 10px; margin-left: 24px; }
#header01 .h_lead_lang a {
border-width: 1px;
border-style: solid;
display: inline-block;
margin-left: 2px;
padding: 4px 8px 3px;
line-height: 1; }
#header01 .h_lead_lang a.on, #header01 .h_lead_lang a:hover {
text-decoration: none; }
@media only screen and (max-width: 1049px) {
#header01 .h_lead_txt {
/* font-size: 10px; */
font-size: 12px;
line-height: 1.2; } }
@media only screen and (max-width: 690px) {
#header01 .h_lead_nav {
display: none; }
#header01 .h_lead_txt {
max-width: none;
width: 100%;
}
#header01 .h_lead_lang {
margin-left: auto; } 
}
#header01 .h_nav_area {
transition: 0.3s;
padding: 8px 0 0;
position: relative; }
#header01 .h_nav_area .inner {
position: relative;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
padding-bottom: 15px; }
#header01 .h_nav_area .inner .h_nav_logo {
margin-right: auto; }
#header01 .h_nav_area .inner .h_nav_gnav {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center; }
@media only screen and (max-width: 1049px) {
#header01 .h_nav_area {
padding: 12px 0; }
/*#header01 .h_nav_area #globalnav > .inner {
padding: 0; } */
}

@media only screen and (min-width: 1050px) {
#header01 {

/* tel contact btn ----*/ }
#header01 #js__btn {display: none; }
/*#header01 #globalnav ul {
width: 340px;
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between; }
#header01 #globalnav ul li {
list-style: none;
width: 100%;
text-align: center; }
#header01 #globalnav ul li a {
display: block;
height: 100%;
width: 100%; }
#header01 #globalnav ul li a:hover {
text-decoration: none; }
#header01 #globalnav ul.menu > li:hover {
-webkit-transition: all .5s;
-o-transition: all .5s;
transition: all .5s; }*/

#header01 .aux_menu {
display: flex;
align-items: center;
order: 3;
}

#header01 .aux_menu .h_nav_btn a {
padding: 8px 16px;
font-weight: bold;
border-radius: 3px; }
#header01 .aux_menu .h_nav_btn a:hover {
text-decoration: none; }
#header01 .aux_menu .h_nav_btn.h_nav_btn_l a::before {
font-family: FontAwesome;
content: "\f15c";
display: inline-block;
padding-right: 10px; }
#header01 .aux_menu .h_nav_btn.h_nav_btn_d a::before {
font-family: FontAwesome;
content: "\f0e0";
display: inline-block;
padding-right: 8px;
}
/*#header01 .aux_menu .h_nav_tel {
margin-left: 16px; }
#header01 .aux_menu .h_nav_num {
font-size: 18px;
line-height: 1.2;
font-weight: bold; }
#header01 .aux_menu .h_nav_num::before {
font-family: FontAwesome;
content: "\f095";
display: inline-block;
padding-right: 5px;
vertical-align: middle;
font-size: 22px;
font-size: 14px; }
#header01 .aux_menu .h_nav_time {
font-size: 11px; }
#header01 .aux_menu .h_search input {
border: medium none;
border-radius: 0;
display: block;
height: 32px;
padding: 0 5%; }
#header01 .aux_menu .h_search input.search_txt {
float: right;
width: 160px;
font-size: 11px; }
#header01 .aux_menu .h_search input.submit_btn {
background-repeat: no-repeat;
background-size: 16px auto;
background-position: center;
border: medium none;
cursor: pointer;
float: right;
padding: 0;
text-indent: -9999px;
width: 34px; } */
}

@media only screen and (max-width: 1049px) {
#header01 {
/* globalnavi ----*/ }
#header01 #js__btn {
margin-left: 16px;
display: block;
position: relative;
top: 0;
right: 0;
z-index: 10000;
}

/*#header01 #globalnav {
display: none;
position: absolute;
top: 47px;
left: 0;
width: 100%;
z-index: 5; }

#header01 #globalnav li {
list-style: none;
width: 100%;
width: 200px;
max-width: 240px;
margin: 15px auto;
text-align: center; 
color: #FFF;
}
#header01 #globalnav li a {
display: block;
padding: 12px 2em;
font-size: 110%;
color: #FFF; }
#header01 #globalnav li a::before {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block; }
#header01 #globalnav .menu::after {
content: "";
display: table;
clear: both; }*/


}
@media only screen and (min-width: 980px) and (max-width: 1049px) {
#header01 {
/* tel contact btn ----*/ }
#header01 .aux_menu {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
text-align: center; }
#header01 .aux_menu .h_nav_btn {
margin-left: 1em;
padding: 0; }
#header01 .aux_menu .h_nav_btn + .h_nav_btn {
margin-left: 8px; }
#header01 .aux_menu .h_nav_btn a {
padding: 8px 16px;
font-weight: bold;
border-radius: 3px; }
#header01 .aux_menu .h_nav_btn a:hover {
text-decoration: none; }
#header01 .aux_menu .h_nav_btn.h_nav_btn_l a::before {
font-family: FontAwesome;
content: "\f15c";
display: inline-block;
padding-right: 10px; }
#header01 .aux_menu .h_nav_btn.h_nav_btn_d a::before {
font-family: FontAwesome;
content: "\f0e0";
display: inline-block;
padding-right: 8px;
/*vertical-align: middle;*/ }
#header01 .aux_menu .h_nav_tel {
margin-left: 16px; }
#header01 .aux_menu .h_nav_num {
font-size: 18px;
line-height: 1.2;
font-weight: bold; }
#header01 .aux_menu .h_nav_num::before {
font-family: FontAwesome;
content: "\f095";
display: inline-block;
padding-right: 5px;
vertical-align: middle;
font-size: 22px;
font-size: 14px; }
#header01 .aux_menu .h_nav_time {
font-size: 11px; }
#header01 .aux_menu .h_search input {
border: medium none;
border-radius: 0;
display: block;
height: 32px;
padding: 0 5%; }
#header01 .aux_menu .h_search input.search_txt {
float: right;
width: 160px;
font-size: 11px; }
#header01 .aux_menu .h_search input.submit_btn {
background-repeat: no-repeat;
background-size: 16px auto;
background-position: center;
border: medium none;
cursor: pointer;
float: right;
padding: 0;
text-indent: -9999px;
width: 34px; } }
#header01 .h_search_sp {
display: none; }
@media only screen and (max-width: 979px) {
#header01 {
/* globalnavi ----*/
/* tel contact btn ----*/ }
/*#header01 #globalnav {
display: none;
position: absolute;
top: 47px;
left: 0;
width: 100%;
z-index: 2000; }
#header01 #globalnav li a {
display: block;
padding: 12px 1em;
font-size: 110%; }
#header01 #globalnav li a::before {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block; }*/

#header01 .aux_menu {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center; }
#header01 .h_nav_tel {
margin-left: 8px; }
#header01 .aux_menu .h_nav_btn a {
width: 34px;
height: 34px;
margin: 0 2px;
border-radius: 3px;
display: block;
text-align: center; }
#header01 .aux_menu .h_nav_btn.h_nav_btn_l a::before {
font-family: FontAwesome;
content: "\f15c";
display: inline-block;
padding-right: 10px;
font-size: 18px;
padding-right: 0;
display: block;
margin: auto;
line-height: 34px; }
#header01 .aux_menu .h_nav_btn.h_nav_btn_d a::before {
font-family: FontAwesome;
content: "\f0e0";
display: inline-block;
padding-right: 8px;
/*vertical-align: middle;*/
font-size: 18px;
padding-right: 0;
display: block;
margin: auto;
line-height: 34px; }
#header01 .h_search input {
border: medium none;
border-radius: 0;
display: block;
height: 32px;
padding: 0 5%; }
#header01 .h_search input.search_txt {
float: right;
width: 160px;
font-size: 11px; }
#header01 .h_search input.submit_btn {
background-repeat: no-repeat;
background-size: 16px auto;
background-position: center;
border: medium none;
cursor: pointer;
float: right;
padding: 0;
text-indent: -9999px;
width: 34px; }
#header01 .aux_menu .h_nav_num .material-icons {
padding: 0 8px;
font-size: 20px;
width: 34px;
height: 34px;
line-height: 34px;
display: block;
border-radius: 3px; }
#header01 .aux_menu .h_search_icon .material-icons {
padding: 0 8px;
font-size: 20px;
width: 34px;
height: 34px;
line-height: 34px;
display: block;
border-radius: 3px; }
#header01 .aux_menu .h_nav_num a:hover,
#header01 .aux_menu .h_nav_num a:hover .material-icons,
#header01 .aux_menu .h_nav_num a .material-icons:hover {
text-decoration: none; }
#header01 .h_search_sp {
padding: 16px 24px;
position: absolute;
top: 100%;
left: 0;
width: 100%;
z-index: 100000; }
#header01 .h_search_sp input {
border: medium none;
border-radius: 0;
display: block;
height: 32px;
padding: 0 0.5em; }
#header01 .h_search_sp input.search_txt {
float: right;
width: calc(100% - 34px);
font-size: 16px; }
#header01 .h_search_sp input.submit_btn {
background-repeat: no-repeat;
background-size: 16px auto;
background-position: center;
border: medium none;
cursor: pointer;
float: right;
padding: 0;
text-indent: -9999px;
width: 34px; } }


/*GLOBALNAV*/
.globalnav {display: flex; }
.globalnav li {
position: relative;
list-style: none;
margin-right: 15px;
}
.globalnav li a:hover{
text-decoration: none;
color: #017eb1;
}
.globalnav li.menu__single ul.menu__second-level {
position: absolute;
top: 40px;
width: 300px;
visibility: hidden;
opacity: 0;
z-index: 5;
transition: 0.8s;
background-color: #DDD;
left: calc(50% - 150px);
}
.globalnav li.menu__single:hover ul.menu__second-level {
top: 40px;
visibility: visible;
opacity: 1; 
}



/*----------------------------------
fixed
----------------------------------*/
body.h_fixed #header01 .h_nav_area{
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 100;
box-shadow: 0 0 10px -5px #666;
}
body.h_fixed .h_lead_area{
display: none;
}

@media only screen and (max-width: 979px) {
  body.h_fixed #header01 .h_nav_area {


  } 

}

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

/*MEGAMENU
--------------------*/
.globalnav li ul.menu__second-level li {
  display: flex;
  align-items: center;
  margin-right: auto;
}
.globalnav li ul.menu__second-level li a, 
.globalnav li ul.menu__second-level li figure{
  text-align: center;
  width: 50%;
}

@media only screen and (max-width: 1049px) {
.globalnav li.menu__single ul.menu__second-level {
    position: relative;
    top: 20px;
    width: auto;
    visibility: visible;
    opacity: 1;
    z-index: 5;
    transition: auto;
    background-color: RGBA(255, 255, 255, 0.3);
    left: calc(50% - 100px);
    padding: 0;
    border-radius: 5px;
}
.globalnav li.menu__single:hover ul.menu__second-level {
top: 20px;
visibility: visible;
opacity: 1; 
}
.globalnav li ul.menu__second-level {width: 100%; }
.globalnav li .menu__second-level {display: block; }
.globalnav li ul.menu__second-level li{display: block;}
.globalnav li ul.menu__second-level li a{width: 100%;}
.globalnav li ul.menu__second-level li figure{display: none;}
}

@media only screen and (min-width: 1050px) {
/*  .globalnav li.menu__single ul.menu__second-level {display: block; }
  .globalnav li ul.menu__second-level li {
  margin-left: 0; }
  .globalnav li ul.menu__second-level::before {
  content: "";
  position: absolute;
  top: -10px;
  left: calc(50% - 5px);
  width: 0;
  height: 0; }
  .globalnav li .menu__second-level li a {display: block; }
  .globalnav li ul.menu__second-level > li.menu__single {position: relative; }
  .globalnav li ul.menu__second-level > li.menu__single:hover{cursor: pointer; }
  .globalnav li li.menu__single ul.menu__second-level {
  position: absolute;
  top: calc(100% + 4px);
  left: calc(50% - 150px);
  height: auto;
  width: 300px;
  padding: 4px;
  -webkit-transition: all .2s ease;
  -o-transition: all .2s ease;
  transition: all .2s ease; }
  .globalnav li.menu__single ul.menu__second-level li {padding: 0; }
  .globalnav li.menu__single ul.menu__second-level li a {
  padding: 8px;
  display: block; }
  .globalnav li li.menu__single:hover ul.menu__second-level {
  top: calc(100% + 8px + 4px);
  visibility: visible;
  opacity: 1; }*/
}

@media only screen and (max-width: 979px) {
/*.globalnav li .menu__second-level {
display: block;
background-color: rgba(255, 255, 255, 0.2);
border-radius: 5px;
padding: 5px 0; }*/
}


/********************************************/
/* footer 03 */
/********************************************/
footer#footer01 {
padding: 56px 0; }
footer#footer01 .footer_in:after {
content: "";
display: table;
clear: both; }
footer#footer01 .footer_in .f_pro {
float: left;
width: 30%; }
footer#footer01 .footer_in .f_pro .f_logo {
line-height: 1;
margin-bottom: 20px; }
footer#footer01 .footer_in .f_pro .f_logo a {
display: inline-block;
width: 220px; }
footer#footer01 .footer_in .f_pro .f_logo a img {
width: 100%;
height: auto; }
footer#footer01 .footer_in #footnav {
font-size: 0;
float: right;
width: 68%; }
footer#footer01 .footer_in #footnav .f_top_nav {
vertical-align: top;
padding: 0 5% 0 0;
margin: 10px 0 0 5px; }
footer#footer01 .footer_in #footnav .f_top_nav li {
display: inline-block;
width: 30%;
margin-bottom: 24px;
list-style: none;
vertical-align: top; }
footer#footer01 .footer_in #footnav .f_top_nav li a {
font-size: 18px;
display: inline-block; }
footer#footer01 .footer_in #footnav .f_top_nav li ul {
margin-top: 8px;
padding-left: 10px; }
footer#footer01 .footer_in #footnav .f_top_nav li ul li {
margin-bottom: 5px;
width: 100%; }
footer#footer01 .footer_in #footnav .f_top_nav li ul li a {
font-size: 16px; }
footer#footer01 .footer_in #footnav .f_top_nav li ul li a:before {
font-family: FontAwesome;
content: "\f0da";
padding-right: 8px;
vertical-align: middle;
display: inline-block;
font-size: 10px; }
footer#footer01 .footer_in #footnav .tworow {
max-width: 460px; }
footer#footer01 .footer_in #footnav .tworow ul {
font-size: 0; }
footer#footer01 .footer_in #footnav .tworow ul li {
display: inline-block;
width: 50%; }
footer#footer01 .footer_in #footnav .tworow ul li:not(:nth-child(2n)) {
padding-right: 3%; }
footer#footer01 .footer_in #footnav .tworow ul li a:hover {
text-decoration: underline; }

/* footer top ***************/
.l-footer {
padding: 0; }

.t-default ul.f_top_nav {
display: inline-block;
vertical-align: top;
padding: 0 5% 0 0;
max-width: calc(100% / 4); }

.t-default ul.f_top_nav.tworow {
max-width: 460px; }

/* footer bottom ***************/
#f_bottom_wrap03 {
padding: 16px 0; }
#f_bottom_wrap03 .f_bottom {
line-height: 1; }
#f_bottom_wrap03 .f_bottom .f_bottom_nav {
float: left;
font-size: 0; }
#f_bottom_wrap03 .f_bottom .f_bottom_nav a {
display: inline-block;
margin-right: 20px;
padding-right: 20px;
border-width: 0 1px 0 0;
border-style: solid;
font-size: 14px; }
#f_bottom_wrap03 .f_bottom .f_bottom_nav a:last-child {
border-right: none;
padding-right: 0;
margin-right: 0; }
#f_bottom_wrap03 .f_bottom .f_bottom_nav a:hover {
text-decoration: underline; }
#f_bottom_wrap03 .copyright {
float: right;
display: block;
font-size: 12px; }

@media only screen and (max-width: 979px) {
footer#footer01 .footer_in .f_pro {
width: 25%; }
footer#footer01 .footer_in .f_pro .f_logo a {
width: 180px; }
footer#footer01 .footer_in #footnav {
width: 70%;
font-size: 0; }
.t-default ul.f_top_nav,
.t-default ul.f_top_nav.tworow {
padding: 0 4% 0 0; } }

@media only screen and (max-width: 690px) {
.t-default ul.f_top_nav,
.t-default ul.f_top_nav.tworow {
padding: 0;
max-width: 100%;
width: 100%; }
footer#footer01 {
width: 100%;
padding: 35px 0 0; }
footer#footer01 .footer_in {
width: 100%;
padding-right: 0;
padding-left: 0; }
footer#footer01 .footer_in .f_pro {
float: none;
width: 100%;
text-align: center;
padding-bottom: 30px; }
footer#footer01 .footer_in .f_pro .f_logo {
padding: 0;
margin: 0 0 10px; }
footer#footer01 .footer_in .f_pro .f_logo a {
width: 50%;
max-width: 240px; }
footer#footer01 .footer_in .f_pro .f_logo a img {
max-width: 100%;
width: auto; }
footer#footer01 .footer_in #footnav {
float: none;
width: 100%;
border-width: 2px 0 0 0;
border-style: solid; }
footer#footer01 .footer_in #footnav .f_top_nav, footer#footer01 .footer_in #footnav .f_top_nav.tworow {
padding: 0 0 0 0;
margin: 0;
max-width: 100%;
width: 100%; }
footer#footer01 .footer_in #footnav .f_top_nav li, footer#footer01 .footer_in #footnav .f_top_nav.tworow li {
margin-bottom: 0;
width: 100%; }
footer#footer01 .footer_in #footnav .f_top_nav li a, footer#footer01 .footer_in #footnav .f_top_nav.tworow li a {
display: block;
border-width: 1px 0 0 0;
border-style: solid;
padding: 10px 3%;
font-size: 14px;
position: relative; }
footer#footer01 .footer_in #footnav .f_top_nav li a:after, footer#footer01 .footer_in #footnav .f_top_nav.tworow li a:after {
font-family: FontAwesome;
content: "\f0da";
padding-right: 8px;
vertical-align: middle;
display: inline-block;
font-size: 12px;
position: absolute;
right: 3%;
top: calc(50% - 8px); }
footer#footer01 .footer_in #footnav .f_top_nav ul, footer#footer01 .footer_in #footnav .f_top_nav.tworow ul {
display: none; }
#f_bottom_wrap03 {
padding: 10px 10px 50px; }
#f_bottom_wrap03 .f_bottom .f_bottom_nav {
float: none;
text-align: center;
margin-bottom: 10px; }
#f_bottom_wrap03 .f_bottom .f_bottom_nav a {
margin: 10px 15px 10px 0; }
#f_bottom_wrap03 .copyright {
float: none;
text-align: center;
font-size: 11px; } }

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

footer 02

-----------------------------------------------------------------*/
/*footer#footer02{
margin-top: 60px;
}*/
footer#footer02 {
/* 1パターン目 */
/* 2パターン目 */ }
footer#footer02 .f_navi_area {
padding: 40px 0;
border-width: 0 0 1px 0;
border-style: solid; }
footer#footer02 .f_navi {
text-align: center;
width: 100%; }
footer#footer02 .f_navi li {
display: inline-block; }
footer#footer02 .f_navi li a {
padding: 0 2em; }
footer#footer02 .f_info_area_t {
padding: 16px 0;
text-align: center; }
footer#footer02 .f_info_area_t .f_info_navi {
margin-bottom: 4px; }
footer#footer02 .f_info_area_t .f_info_navi a {
padding: 0 16px;
line-height: 1; }
footer#footer02 .f_info_area_t .f_info_navi a + a {
border-width: 0 0 0 1px;
border-style: solid; }
footer#footer02 .f_info_area_y {
padding: 16px 0 16px; }
footer#footer02 .f_info_area_y .inner {
display: -webkit-box;
display: -ms-flexbox;
display: flex; }
footer#footer02 .f_info_area_y .inner .f_info_navi a {
line-height: 1;
display: inline-block; }
footer#footer02 .f_info_area_y .inner .f_info_navi a + a {
border-width: 0 0 0 1px;
border-style: solid;
padding-left: 16px;
margin-left: 16px; }
footer#footer02 .f_info_area_y .inner small {
display: block;
margin-left: auto; }

@media only screen and (max-width: 690px) {
footer#footer02 {
/* 2パターン目 */ }
footer#footer02 .f_navi_area {
padding: 0; }
footer#footer02 .f_navi_area .inner {
padding: 0; }
footer#footer02 .f_navi {
text-align: left; }
footer#footer02 .f_navi li {
display: block;
border-width: 1px 0 0 0;
border-style: solid; }
footer#footer02 .f_navi li a {
display: block;
padding: 12px 1em; }
footer#footer02 .f_navi li a::before {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block; }
footer#footer02 .f_info_area_y {
padding: 20px 0 12px; }
footer#footer02 .f_info_area_y .inner {
display: block; }
footer#footer02 .f_info_area_y .inner .f_info_navi {
text-align: center; }
footer#footer02 .f_info_area_y .inner .f_info_navi a + a {
padding-left: 8px;
margin-left: 8px; }
footer#footer02 .f_info_area_y .inner small {
text-align: center;
margin: 8px auto 0; } }

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

footer 03

-----------------------------------------------------------------*/
/*footer#footer03{
margin-top: 60px;
}*/
footer#footer03 {
/* 1パターン目 */
/* 2パターン目 */ }
footer#footer03 .f_navi_area {
padding: 40px 0;
border-width: 0 0 1px 0;
border-style: solid; }
footer#footer03 .f_navi_area .inner {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
justify-content: center; }
footer#footer03 .f_navi {
margin-right: 60px; }
@media only screen and (max-width: 690px) {
footer#footer03 .f_navi {margin-right: 0; }
}
footer#footer03 .f_navi li {
list-style: none; }
footer#footer03 .f_navi li::before {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block;
font-size: 14px;
padding-right: 4px; }
footer#footer03 .f_navi li a {
font-size: 14px; }
footer#footer03 .f_navi li ul {
margin-top: 0;
margin-left: 16px; }
footer#footer03 .f_navi li ul li {
margin-bottom: 0; }
footer#footer03 .f_navi li ul li::before {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block;
font-size: 12px;
padding-right: 4px; }
footer#footer03 .f_navi li ul li a {
font-size: 100%;
font-weight: normal; }
footer#footer03 .f_info_area_t {
padding: 16px 0;
text-align: center; }
footer#footer03 .f_info_area_t .f_info_navi {
margin-bottom: 4px; }
footer#footer03 .f_info_area_t .f_info_navi a {
padding: 0 16px;
line-height: 1; }
footer#footer03 .f_info_area_t .f_info_navi a + a {
border-width: 0 0 0 1px;
border-style: solid; }
footer#footer03 .f_info_area_y {
padding: 16px 0 16px; }
footer#footer03 .f_info_area_y .inner {
display: -webkit-box;
display: -ms-flexbox;
display: flex; }
footer#footer03 .f_info_area_y .inner .f_info_navi a {
line-height: 1;
display: inline-block; }
footer#footer03 .f_info_area_y .inner .f_info_navi a + a {
border-width: 0 0 0 1px;
border-style: solid;
padding-left: 16px;
margin-left: 16px; }
footer#footer03 .f_info_area_y .inner small {
display: block;
margin-left: auto; }

@media only screen and (max-width: 690px) {
footer#footer03 {
/* 2パターン目 */ }
footer#footer03 .f_navi_area {
padding: 0;
border-width: 0 0 1px 0;
border-style: solid; }
footer#footer03 .f_navi_area .inner {
display: block;
padding: 0; }
footer#footer03 .f_navi li {
margin-bottom: 0; }
footer#footer03 .f_navi li::before {
display: none; }
footer#footer03 .f_navi li a {
border-width: 1px 0 0 0;
border-style: solid;
padding: 12px 20px;
display: block; }
footer#footer03 .f_navi li a::before {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block;
font-size: 14px;
padding-right: 4px; }
footer#footer03 .f_navi li ul {
display: none; }
footer#footer03 .f_info_area_y {
padding: 20px 0 12px; }
footer#footer03 .f_info_area_y .inner {
display: block; }
footer#footer03 .f_info_area_y .inner .f_info_navi {
text-align: center; }
footer#footer03 .f_info_area_y .inner .f_info_navi a + a {
display: block;
padding-left: 0;
margin-left: 0;
border: none;
margin-top: 5px;
}
footer#footer03 .f_info_area_y .inner small {
text-align: center;
margin: 8px auto 0; } }

/* bese ***/
.pagename {
width: 100vw;
/*margin-right: calc(50% - 50vw);
margin-left: calc(50% - 50vw);*/ }

.pagename.corp {
margin-bottom: 40px; }

@media only screen and (max-width: 690px) {
.pagename.corp {
margin-bottom: 32px; } }

body.dcms_editor #dcms_layoutPageBlockPasteArea .pagename {
width: 100%; }

/*---------------
title
----------------*/
h1, h2, h3, h4, h5, h6 {
font-weight: normal; }

/* ページタイトル H1 ***************************/
#pagetitle01 {
display: flex;
align-items: center;
padding: 30px 0;
border-bottom: 1px solid #DDD;
margin-bottom: 60px;
}
@media only screen and (max-width: 979px) {
#pagetitle01 {
padding: 48px 0; 
margin-bottom: 30px;} 
}
@media only screen and (max-width: 690px) {
#pagetitle01 {
padding: 32px 0; } }
#pagetitle01 .pagetitle {
font-size: 26px;
line-height: 1.3;
}
#pagetitle01 p{
margin-top: 15px;
}
@media only screen and (max-width: 690px) {
#pagetitle01 .pagetitle {
font-size: 20px; } 
}

#pagetitle02 {
padding: 48px 0;
display: table; }
@media only screen and (max-width: 979px) {
#pagetitle02 {
padding: 48px 0; } }
@media only screen and (max-width: 690px) {
#pagetitle02 {
padding: 32px 0; } }
#pagetitle02 .pagetitle {
font-size: 32px;
line-height: 1.3;
position: relative; }
@media only screen and (max-width: 690px) {
#pagetitle02 .pagetitle {
font-size: 26px; } }
#pagetitle02 .pagetitle:after {
content: "";
width: 48px;
height: 4px;
position: absolute;
bottom: -16px;
left: 24px; }
@media only screen and (max-width: 690px) {
#pagetitle02 .pagetitle:after {
bottom: -12px;
left: 3%;
width: 24px; } }

#pagetitle03 {
padding: 48px 0;
display: table; }
@media only screen and (max-width: 979px) {
#pagetitle03 {
padding: 48px 0; } }
@media only screen and (max-width: 690px) {
#pagetitle03 {
padding: 32px 0; } }
#pagetitle03 .pagetitle {
font-size: 32px;
line-height: 1.3;
position: relative;
padding-left: calc(24px + .8em); }
@media only screen and (max-width: 690px) {
#pagetitle03 .pagetitle {
font-size: 26px; } }
@media only screen and (max-width: 690px) {
#pagetitle03 .pagetitle {
padding-left: calc(3% + .8em); } }
#pagetitle03 .pagetitle:after {
content: "";
width: 6px;
height: calc(100% - .1em);
position: absolute;
top: 0;
left: 24px; }
@media only screen and (max-width: 690px) {
#pagetitle03 .pagetitle:after {
left: 3%; } }

#pagetitle04,
.pagetitle04 {
padding: 48px 0;
display: table;
background-repeat: no-repeat;
background-size: cover;
background-position: center; }
@media only screen and (max-width: 979px) {
#pagetitle04,
.pagetitle04 {
padding: 48px 0; } }
@media only screen and (max-width: 690px) {
#pagetitle04,
.pagetitle04 {
padding: 32px 0; } }
#pagetitle04 .pagetitle,
.pagetitle04 .pagetitle {
font-size: 32px;
line-height: 1.3; }
@media only screen and (max-width: 690px) {
#pagetitle04 .pagetitle,
.pagetitle04 .pagetitle {
font-size: 26px; } }

#pagetitle05 {
padding: 48px 0;
display: table;
text-align: center; }

/*個別設定H2*/
#pagetitle01.bioenergy{
color: #FFF;
display: flex;
text-align: left;
align-items: center;
height: 400px;
background: url(../image/page_bioenergy.jpg)no-repeat center top /cover;
}
#pagetitle01.iso{
color: #FFF;
display: flex;
text-align: left;
align-items: center;
height: 400px;
background: url(../image/page_iso.jpg)no-repeat center top /cover;
}
#pagetitle01.training{
color: #FFF;
display: flex;
text-align: left;
align-items: center;
height: 400px;
background: url(../image/page_training.jpg)no-repeat center top /cover;
}
@media only screen and (max-width: 690px) {
#pagetitle01.bioenergy, 
#pagetitle01.iso, 
#pagetitle01.training {
height: 240px;
}
}

@media only screen and (max-width: 979px) {
#pagetitle05 {
padding: 48px 0; } 
.page_bioenergy #pagetitle05, 
.page_iso #pagetitle05, 
.page_training #pagetitle05 {
height: 250px;
}

}
@media only screen and (max-width: 690px) {
#pagetitle05 {
padding: 32px 0; } }
#pagetitle05 .pagetitle {
font-size: 32px;
line-height: 1.3; }
@media only screen and (max-width: 690px) {
#pagetitle05 .pagetitle {
font-size: 26px; } }






#pagetitle06 {
padding: 48px 0;
display: table;
text-align: center; }
@media only screen and (max-width: 979px) {
#pagetitle06 {
padding: 48px 0; } }
@media only screen and (max-width: 690px) {
#pagetitle06 {
padding: 32px 0; } }
#pagetitle06 .pagetitle {
font-size: 32px;
line-height: 1.3;
position: relative; }
@media only screen and (max-width: 690px) {
#pagetitle06 .pagetitle {
font-size: 26px; } }
#pagetitle06 .pagetitle:after {
content: "";
width: 32px;
height: 4px;
position: absolute;
bottom: -20px;
left: calc(50% - 16px); }
@media only screen and (max-width: 690px) {
#pagetitle06 .pagetitle:after {
bottom: -24px; } }

#pagetitle07 {
padding: 48px 0;
display: table;
text-align: center;
padding-bottom: 50px; }
@media only screen and (max-width: 979px) {
#pagetitle07 {
padding: 48px 0; } }
@media only screen and (max-width: 690px) {
#pagetitle07 {
padding: 32px 0; } }
#pagetitle07 .pagetitle {
font-size: 32px;
line-height: 1.3;
position: relative; }
@media only screen and (max-width: 690px) {
#pagetitle07 .pagetitle {
font-size: 26px; } }
#pagetitle07 .pagetitle:after {
content: "";
width: 40px;
height: 4px;
position: absolute;
bottom: -20px;
left: calc(50% - 20px); }
@media only screen and (max-width: 690px) {
#pagetitle07 .pagetitle:after {
bottom: -24px; } }

#pagetitle08 {
padding: 48px 0;
display: table;
text-align: center; }
@media only screen and (max-width: 979px) {
#pagetitle08 {
padding: 48px 0; } }
@media only screen and (max-width: 690px) {
#pagetitle08 {
padding: 32px 0; } }
#pagetitle08 .pagetitle {
font-size: 32px;
line-height: 1.3;
position: relative; }
@media only screen and (max-width: 690px) {
#pagetitle08 .pagetitle {
font-size: 26px; } }

.title02,
p.title02 {
font-size: 28px;
line-height: 1.3;
margin-bottom: 20px; }

.title02.m10,
p.title02.m10 {
margin-bottom: 10px; }

@media only screen and (max-width: 690px) {
.title02, p.title02 {
font-size: 26px;
line-height: 1.4;
margin-bottom: 15px; } }

/* h2 ***************************/
.title03 {
font-size: 28px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: normal;
border-bottom: 1px solid #DDD;
padding-bottom: 15px; }
@media only screen and (max-width: 690px) {
.title03 {
font-size: 20px; } }

.title03_bl {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
padding-left: 13px;
border-width: 0 0 0 5px;
border-style: solid; }
@media only screen and (max-width: 690px) {
.title03_bl {
font-size: 20px; } }

.title03_blb {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
padding-left: 13px;
padding-bottom: 8px;
border-width: 0 0 1px 5px;
border-style: solid; }
@media only screen and (max-width: 690px) {
.title03_blb {
font-size: 20px; } }

.title03_blb2 {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
padding: 12px 0 12px 15px;
border-width: 0 0 1px 0;
border-style: solid;
position: relative; }
@media only screen and (max-width: 690px) {
.title03_blb2 {
font-size: 20px; } }

.title03_blb2:after {
content: "";
position: absolute;
top: 13px;
left: 0;
width: 5px;
height: calc(100% - 26px); }

.title03_bbl {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
padding-bottom: 8px;
border-width: 0 0 1px 0;
border-style: solid; }
@media only screen and (max-width: 690px) {
.title03_bbl {
font-size: 20px; } }

.title03_bbs {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
position: relative;
padding-bottom: 8px; }
@media only screen and (max-width: 690px) {
.title03_bbs {
font-size: 20px; } }

.title03_bbs:after {
content: "";
position: absolute;
bottom: -8px;
left: 0;
width: 32px;
height: 3px; }

.title03_bb2 {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
padding-bottom: 10px;
border-width: 0 0 1px 0;
border-style: solid;
position: relative; }
@media only screen and (max-width: 690px) {
.title03_bb2 {
font-size: 20px; } }

.title03_bb2:after {
content: "";
position: absolute;
bottom: -2px;
left: 0;
width: 80px;
height: 3px; }

.title03_bold {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
font-weight: bold; }
@media only screen and (max-width: 690px) {
.title03_bold {
font-size: 20px; } }

.title03_bg {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
padding: 8px 16px; }
@media only screen and (max-width: 690px) {
.title03_bg {
font-size: 20px; } }

.title03_bgbb {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
line-height: 1.4;
border-width: 0 0 5px 0;
border-style: solid;
padding: 8px 16px; }
@media only screen and (max-width: 690px) {
.title03_bgbb {
font-size: 20px; } }

.title03_tc_bbs {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
text-align: center;
position: relative;
padding-bottom: 32px; }
@media only screen and (max-width: 690px) {
.title03_tc_bbs {
font-size: 20px; } }

.title03_tc_bbs:after {
content: "";
position: absolute;
bottom: 0;
left: calc(50% - 16px);
width: 32px;
height: 6px; }

.title03_tc_verticalbm {
text-align: center;
margin-bottom: 20px;
position: relative; }

.title03_tc_verticalbm:after {
display: inline-block;
content: "";
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 2px;
z-index: 1; }

.title03_tc_verticalbm .ttv {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
margin-bottom: 0;
position: relative;
z-index: 2;
display: inline-block;
padding: 0 2%;
max-width: 90%; }
@media only screen and (max-width: 690px) {
.title03_tc_verticalbm .ttv {
font-size: 20px; } }

.title03_crossbar {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
position: relative; }
@media only screen and (max-width: 690px) {
.title03_crossbar {
font-size: 20px; } }
.title03_crossbar .title_in {
position: relative;
z-index: 2;
padding-right: 16px; }
.title03_crossbar::before {
content: "";
width: 100%;
height: 1px;
position: absolute;
top: 50%;
border-width: 1px;
border-style: dotted;
z-index: 0; }

.title03_icon {
font-size: 26px;
margin-bottom: 24px;
line-height: 1.4;
font-weight: bold;
background-size: 26px auto;
background-repeat: no-repeat;
background-position: 0 center;
padding-left: 32px; }
@media only screen and (max-width: 690px) {
.title03_icon {
font-size: 20px; } }

/* h3 ***************************/
.title04 {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.4;
font-weight: bold; }
@media only screen and (max-width: 690px) {
.title04 {
font-size: 18px; } }

.title04_bl {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.4;
font-weight: bold;
padding-left: 8px;
border-width: 0 0 0 5px;
border-style: solid; }
@media only screen and (max-width: 690px) {
.title04_bl {
font-size: 18px; } }

.title04_bbl {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.4;
font-weight: bold;
padding-bottom: 8px;
border-width: 0 0 1px 0;
border-style: solid; }
@media only screen and (max-width: 690px) {
.title04_bbl {
font-size: 18px; } }

.title04_tc_bbs {
font-size: 22px;
line-height: 1.4;
margin-bottom: 40px;
font-weight: normal;
text-align: center;
position: relative;
padding-bottom: 15px;}
.title04_tc_bbs:after {
content: "";
position: absolute;
bottom: 0;
left: calc(50% - 30px);
width: 60px;
height: 1px;
background-color: #017DB1;}
@media only screen and (max-width: 690px) {
.title04_tc_bbs{
font-size: 18px;
margin-bottom: 20px;
}
}
.title04_bbs {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.4;
font-weight: bold;
position: relative;
padding-bottom: 5px; }
@media only screen and (max-width: 690px) {
.title04_bbs {
font-size: 18px; } }

.title04_bbs:after {
content: "";
position: absolute;
bottom: -8px;
left: 0;
width: 24px;
height: 3px; }

.title04_bb2 {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.4;
font-weight: bold;
padding-bottom: 8px;
border-width: 0 0 1px 0;
border-style: solid;
position: relative; }
@media only screen and (max-width: 690px) {
.title04_bb2 {
font-size: 18px; } }

.title04_bb2:after {
content: "";
position: absolute;
bottom: -2px;
left: 0;
width: 40px;
height: 3px; }

.title04_bold {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.4;
font-weight: bold;
font-weight: bold; }
@media only screen and (max-width: 690px) {
.title04_bold {
font-size: 18px; } }

.title04_bg {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.4;
font-weight: bold;
padding: 6px 10px; }
@media only screen and (max-width: 690px) {
.title04_bg {
font-size: 18px; } }

.title04_square {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.4;
font-weight: bold;
padding-left: 20px;
position: relative; }
@media only screen and (max-width: 690px) {
.title04_square {
font-size: 18px; } }

.title04_square:after {
content: "";
position: absolute;
bottom: calc(50% -  5px);
left: 0;
width: 10px;
height: 10px; }

.title04_crossbar {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.4;
font-weight: bold;
position: relative; }
@media only screen and (max-width: 690px) {
.title04_crossbar {
font-size: 18px; } }
.title04_crossbar .title_in {
position: relative;
z-index: 2;
padding-right: 16px; }
.title04_crossbar::before {
content: "";
width: 100%;
height: 1px;
position: absolute;
top: 50%;
border-width: 1px 0 0 0;
border-style: solid;
z-index: 0; }

.title04_icon {
font-size: 22px;
margin-bottom: 20px;
line-height: 1.4;
font-weight: bold;
background-size: 24px auto;
background-repeat: no-repeat;
background-position: 0 center;
padding-left: 32px; }
@media only screen and (max-width: 690px) {
.title04_icon {
font-size: 18px; } }

/* h4 ***************************/
.title05 {
font-size: 18px;
margin-bottom: 10px;
line-height: 1.4;
font-weight: normal; }
@media only screen and (max-width: 690px) {
.title05 {
font-size: 16px;
margin-bottom: 8px; } }

.title05.m0 {
margin-bottom: 0; }

.title05_bl {
font-size: 18px;
margin-bottom: 10px;
line-height: 1.4;
font-weight: normal;
padding-left: 8px;
border-width: 0 0 0 2px;
border-style: solid; }
@media only screen and (max-width: 690px) {
.title05_bl {
font-size: 16px;
margin-bottom: 8px; } }

.title05_bbl {
font-size: 18px;
margin-bottom: 10px;
line-height: 1.4;
font-weight: normal;
padding-bottom: 8px;
border-width: 0 0 1px 0;
border-style: solid; }
@media only screen and (max-width: 690px) {
.title05_bbl {
font-size: 16px;
margin-bottom: 8px; } }

.title05_bbs {
font-size: 18px;
margin-bottom: 10px;
line-height: 1.4;
font-weight: normal;
position: relative;
padding-bottom: 5px; }
@media only screen and (max-width: 690px) {
.title05_bbs {
font-size: 16px;
margin-bottom: 8px; } }

.title05_bbs:after {
content: "";
position: absolute;
bottom: -2px;
left: 0;
width: 40px;
height: 3px; }

.title05_bb2 {
font-size: 18px;
margin-bottom: 10px;
line-height: 1.4;
font-weight: normal;
padding-bottom: 8px;
border-width: 0 0 1px 0;
border-style: solid;
position: relative; }
@media only screen and (max-width: 690px) {
.title05_bb2 {
font-size: 16px;
margin-bottom: 8px; } }

.title05_bb2:after {
content: "";
position: absolute;
bottom: -2px;
left: 0;
width: 40px;
height: 3px; }

.title05_bold {
font-size: 18px;
margin-bottom: 10px;
line-height: 1.4;
font-weight: normal; }

.title05_bg {
font-size: 18px;
margin-bottom: 10px;
line-height: 1.4;
font-weight: normal;
padding: 6px 10px; }
@media only screen and (max-width: 690px) {
.title05_bg {
font-size: 16px;
margin-bottom: 8px; } }

.title05_square {
font-size: 18px;
margin-bottom: 10px;
line-height: 1.4;
font-weight: normal;
padding-left: 15px;
position: relative; }

.title05_square:after {
content: "";
position: absolute;
bottom: calc(50% -  4px);
left: 0;
width: 8px;
height: 8px; }
@media only screen and (max-width: 690px) {
.title05_square {
font-size: 16px;
margin-bottom: 8px; } 
.title05_square:after{
top: 6px;
bottom: auto;
}
}

.title05_crossbar {
font-size: 18px;
margin-bottom: 10px;
line-height: 1.4;
font-weight: normal;
position: relative; }
@media only screen and (max-width: 690px) {
.title05_crossbar {
font-size: 16px;
margin-bottom: 8px; } }
.title05_crossbar .title_in {
position: relative;
z-index: 2;
padding-right: 16px; }
.title05_crossbar::before {
content: "";
width: 100%;
height: 1px;
position: absolute;
top: 50%;
border-top: 1px dotted #333333;
z-index: 0; }

.title05_icon {
font-size: 18px;
margin-bottom: 10px;
line-height: 1.4;
font-weight: normal;
background-size: 18px auto;
background-repeat: no-repeat;
background-position: 0 center;
padding-left: 26px; }
@media only screen and (max-width: 690px) {
.title05_icon {
font-size: 16px;
margin-bottom: 8px; } }

/* h5 ***************************/
.title06 {
font-size: 16px;
margin-bottom: 10px;
line-height: 1.4; }
@media only screen and (max-width: 690px) {
.title06 {
font-size: 14px; } }

.title06.m0 {
margin-bottom: 0; }

/****************************************************************/
/* html source reference */
/****************************************************************/
.prebox pre {
margin: 0;
padding: 0; }

.prebox .qa_click_a {
padding: 0 2%; }

.partsnav {
text-align: center;
font-size: 0;
background-color: #F9F8F4; }

.partsnav.ppage {
background-color: #ffffff; }

.partsnav .subnavi {
padding: 3% 0;
max-width: 1024px;
margin: auto; }

.partsnav .subnavi_title {
margin-bottom: 20px; }

.partsnav .subnavi_title a {
display: block;
color: #1C293F;
font-size: 30px;
font-weight: bold;
line-height: 1;
text-decoration: none; }

.partsnav li {
display: inline-block;
margin: 10px; }

.partsnav li a {
display: block;
padding: 15px 30px;
text-align: center;
text-decoration: none;
line-height: 1;
border: 1px solid #1C293F;
color: #1C293F;
font-size: 16px;
position: relative;
z-index: 2; }

.partsnav li a::before {
content: "";
width: 100%;
height: 0;
background-color: #1C293F;
position: absolute;
left: 0;
bottom: 0;
-webkit-transition: all 0.2s ease 0s;
-o-transition: all 0.2s ease 0s;
transition: all 0.2s ease 0s;
z-index: -1; }

.partsnav li a:hover::before {
height: 100%; }

.partsnav li a:hover {
text-decoration: none;
color: #ffffff; }

/*---------------
subnav
----------------*/
/***-----column2-----***/
#subnav.sb_col2 {
margin-bottom: 30px; }
#subnav.sb_col2 ul li {
list-style: none; }
#subnav.sb_col2 ul li a {
width: 100%;
display: block;
border-width: 0 0 1px 0;
border-style: dotted;
padding: 10px; }
#subnav.sb_col2 ul li a:hover {
text-decoration: none; }
#subnav.sb_col2 ul li ul {
border-bottom: none; }
#subnav.sb_col2 ul li ul li a {
padding: 5px 5px 5px 25px; }

#subnav_title.sb_col2 a {
display: block;
text-align: center;
padding: 8px 5px;
font-size: 18px; }
#subnav_title.sb_col2 a:hover {
text-decoration: none; }

#subnav.sb_col2 ul li a {
padding: 8px 25px 8px 18px; }

#subnav.sb_col2 ul li.current ul li a {
padding: 8px 28px 8px 28px; }

#subnav.sb_col2 ul li.current ul li.current ul li a {
padding: 8px 28px 8px 38px;
font-size: 0.8em; }

#subnav.sb_col2 ul li.current ul li.current ul li.current ul li a {
padding: 8px 28px 8px 48px; }

#subnav.sb_col2 ul li.current ul li.current ul li.current ul li.current ul li a {
padding: 8px 28px 8px 55px; }

/***-----column1 01-----***/
#subnav.sb_col1_1 {
margin-bottom: 40px;
text-align: center; }
#subnav.sb_col1_1 ul {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center; }
#subnav.sb_col1_1 ul li {
list-style: none;
margin: 4px 0; }
#subnav.sb_col1_1 ul li a {
display: block;
padding: 8px 24px;
line-height: 1.4;
font-size: 95%; }
#subnav.sb_col1_1 ul li a:hover {
text-decoration: none; }
#subnav.sb_col1_1 ul li a::after {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block;
font-size: 14px;
content: "\f138";
margin-left: 8px; }
#subnav.sb_col1_1 ul li a {
border-width: 0 1px 0 1px;
border-style: solid;
margin-left: -1px; }
#subnav.sb_col1_1 ul li.current a::after {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block;
font-size: 14px;
content: "\f138";
margin-left: 8px; }

#subnav_title.sb_col1_1 {
position: relative;
text-align: center;
margin-bottom: 24px; }
#subnav_title.sb_col1_1 a {
display: inline-block;
position: relative;
z-index: 1;
padding: 0 32px;
font-size: 2rem; }
#subnav_title.sb_col1_1::before {
content: "";
width: 100%;
height: 1px;
position: absolute;
top: 50%;
left: 0; }

@media only screen and (max-width: 690px) {
#subnav.col1_1 {
margin-bottom: 40px;
text-align: left; }
#subnav.col1_1 ul li {
font-size: 1.4rem;
display: block; }
#subnav.col1_1 ul li a {
padding: 8px; }
#subnav.col1_1 ul li a::before {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block;
content: "\f138";
font-size: 1.2rem;
margin-left: 8px; }
#subnav.col1_1 ul li a::after {
display: none; }
#subnav.col1_1 ul li:not(:last-child) a {
border-right: none; }
#subnav.col1_1 ul li.current a::before {
font-family: FontAwesome;
content: "\f105";
padding-right: 4px;
font-size: 14px;
text-decoration: none;
position: relative;
display: inline-block;
content: "\f138";
font-size: 1.2rem;
margin-left: 8px; }
#subnav.col1_1 ul li.current a::after {
display: none; }
#subnav.col1_1 ul li:not(:last-child) a {
border-right: none; }
#subnav_title.col1_1 {
margin-bottom: 16px; }
#subnav_title.col1_1 a {
padding: 0 16px;
font-size: 1.8rem; } }

/***-----column1 02-----***/
.sb_col1_2_wrap {
padding: 20px 0; }

#subnav.sb_col1_2 {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center; }

.sb_col1_2_wrap #subnav_title {
border-width: 0 2px 0 0;
border-style: solid; }
.sb_col1_2_wrap #subnav_title a {
font-weight: bold;
padding: 0 16px;
text-decoration: none; }

.sb_col1_2_wrap #subnav_list {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap; }
.sb_col1_2_wrap #subnav_list li {
list-style: none;
padding: 0 16px;
border-width: 0 1px 0 0;
border-style: solid;
font-size: 90%; }

@media only screen and (max-width: 979px) {
.sb_col1_2_wrap {
padding: 0;
position: absolute;
width: 100%;
z-index: 3; }
#subnav.sb_col1_2 {
display: none; }
#sb_col1_2_btn {
width: 30px;
height: 30px;
position: absolute;
top: -40px;
right: 2%; 
cursor: pointer;}
#sb_col1_2_btn::before {
font-family: FontAwesome;
content: "\f078";
font-size: 20px;
text-decoration: none;
display: inline-block;
width: 30px;
height: 30px;
text-align: center; }
#sb_col1_2_btn.active::before {
content: "\f077"; }
.sb_col1_2_wrap #subnav_title {
border-width: 0 0 1px 0; }
.sb_col1_2_wrap #subnav_title a {
padding: 8px;
display: block; }
.sb_col1_2_wrap #subnav_list {
display: block; }
.sb_col1_2_wrap #subnav_list li {
padding: 8px;
border-width: 0 0 1px 0; }
.sb_col1_2_wrap #subnav_list li:last-child {
border: none; }
.sb_col1_2_wrap #subnav_list li a {
display: block; } }

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

side fix banner link

-----------------------------------------------------------------*/
.sidefix_banner {
position: fixed;
top: 25%;
right: 0;
z-index: 10000; }

.sidefix_banner li {
margin-bottom: 2px;
list-style: none; }

.sidefix_banner li a {
display: block;
width: 80px;
font-size: 13px;
font-weight: bold;
text-align: center;
line-height: 1.2;
padding: 8px 4px; }

.sidefix_banner li a img {
max-width: 28px;
height: auto;
display: block;
margin: auto auto 4px; }

.sidefix_banner li .material-icons {
display: block; }

@media only screen and (max-width: 979px) {
.sidefix_banner {
display: none; } }

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

pagetop

-----------------------------------------------------------------*/
#topcontrol {
z-index: 150;
margin-bottom: 0; }

a.pagetop {
width: 72px;
height: 72px;
background-repeat: no-repeat;
background-position: 0 0;
background-size: 72px 72px;
display: block;
z-index: 50; }

@media only screen and (max-width: 979px) {
#topcontrol {
margin-bottom: 20px; }
a.pagetop {
width: 50px;
height: 50px;
background-size: 50px 50px; } }

@media only screen and (max-width: 690px) {
#topcontrol {
margin-bottom: 20px; }
a.pagetop {
width: 40px;
height: 40px;
background-size: 40px 40px; } }

/*-----------------------------------------------------------------*/
/* ぱんくず locator */
/*-----------------------------------------------------------------*/
#locator_t_under {
font-size: 10px;
line-height: 1.4;
padding: 12px 0;
border-width: 1px 0 1px 0;
border-style: solid;
width: 100vw;
margin-right: calc(50% - 50vw);
margin-left: calc(50% - 50vw);
margin-bottom: 40px; }

@media only screen and (max-width: 690px) {
#locator_t_under {
margin-bottom: 24px; } }

#locator_t_up {
/* font-size: 10px; */
font-size: 12px;
line-height: 1.4;
padding: 12px 0;
border-width: 1px 0 1px 0;
border-style: solid;
width: 100vw;
margin-right: calc(50% - 50vw);
margin-left: calc(50% - 50vw); }

@media only screen and (max-width: 690px) {
#locator_t_up .inner {
width: calc(100% - 40px);
margin-left: 0; } }

/*-----------------------------------------------------------------*/
/* キャッチ・強調　テキスト */
/*-----------------------------------------------------------------*/
.page_catch_area {
background-color: #dddddd;
background-size: cover;
background-repeat: no-repeat;
background-position: center;
margin-top: -40px;
margin-bottom: 60px;
padding: 24px 0;
height: 400px;
display: table;
width: 100%; }
.page_catch_area .page_catch_area_in {
display: table-cell;
vertical-align: middle; }
.page_catch_area .page_catch_area_in .inner {
padding-right: 40%; }

.page_catch_title {
font-size: 28px;
font-weight: bold;
margin-bottom: 16px;
line-height: 1.2; }

@media only screen and (max-width: 979px) {
.page_catch_area {
margin-bottom: 50px;
padding: 16px 0;
height: 320px; } }

@media only screen and (max-width: 690px) {
.page_catch_area {
margin-bottom: 24px;
margin-top: -24px;
padding: 32px 0;
height: auto; }
.page_catch_area .page_catch_area_in .inner {
padding-right: 16px; }
.page_catch_title {
font-size: 24px;
margin-bottom: 8px; }
.page_catch_txt {
font-size: 90%; } }

.catch {
font-size: 30px;
font-weight: bold;
line-height: 1.4; }
@media only screen and (max-width: 690px) {
.catch {
font-size: 24px; } }

.mincho {
font-family: "ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","HiraMinProN-W3",serif; }

.txt_tate {
letter-spacing: 4px;
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
text-align: justify;
text-justify: inter-ideograph; }

.txt_bg_blue {
padding: 2px 10px;
display: inline-block; }

.txt_bg_green {
padding: 2px 10px;
display: inline-block; }

.catch_bb {
font-size: 32px;
line-height: 1.4;
text-align: center;
position: relative;
padding-bottom: 15px;
margin-bottom: 40px; }
@media only screen and (max-width: 690px) {
.catch_bb {
font-size: 26px;
padding-bottom: 15px;
margin-bottom: 20px; } }

.catch_bb:after {
content: "";
position: absolute;
bottom: 0;
left: calc(50% - 20px);
width: 40px;
height: 5px; }

.title_jp {
font-size: 28px;
line-height: 1.2;
letter-spacing: 0.1em;
border-bottom: 1px solid #DDD;
padding-bottom: 15px; }

.title_jp_s {
font-size: 24px;
text-align: center;
line-height: 1.2;
margin-bottom: 5px; }

.title_en {
font-size: 10px;
line-height: 1.4;
font-weight: bold;
text-align: center;
letter-spacing: .1em; }

.title_jp.yoko,
.title_en.yoko {
display: inline-block; }

.title_en.yoko {
margin-left: 5px; }

.title_simple {
color: #878787;
text-align: center;
font-size: 28px;
line-height: 1.2; }

@media only screen and (max-width: 690px) {
.title_jp {
font-size: 22px;
padding-bottom: 8px;}
.title_jp_s {
font-size: 20px; }
.title_en {
letter-spacing: .15em; }
.title_simple {
font-size: 24px; } }

/*-----------------------------------------------------------------*/
/* バナー */
/*-----------------------------------------------------------------*/
.banner_sbs3 {
font-size: 0; }
.banner_sbs3 li {
display: inline-block;
width: 32%; }
.banner_sbs3 li:not(:last-child) {
margin-right: 2%; }
.banner_sbs3 li img {
max-width: 100%;
width: auto;
height: auto;
display: block;
margin-right: auto;
margin-left: auto; }
@media only screen and (max-width: 690px) {
.banner_sbs3 li {
width: 100%;
margin: 8px 0; }
.banner_sbs3 li:not(:last-child) {
margin-right: 0; } }

.banner_sbs2 {
font-size: 0; }
.banner_sbs2 li {
display: inline-block;
width: 47.5%; }
.banner_sbs2 li:not(:last-child) {
margin-right: 5%; }
.banner_sbs2 li img {
max-width: 100%;
width: auto;
height: auto;
display: block;
margin-right: auto;
margin-left: auto; }
@media only screen and (max-width: 690px) {
.banner_sbs2 li {
width: 100%;
margin: 8px 0; }
.banner_sbs2 li:not(:last-child) {
margin-right: 0; } }

@media only screen and (max-width: 1049px) {
/* -------- menu-btn st */
.menu-btn {
display: block;
position: relative;
width: 35px;
height: 30px;
cursor: pointer; 
z-index: 100;
}
.menu-btn,
.menu-btn span {
display: inline-block;
-webkit-transition: all .4s;
-o-transition: all .4s;
transition: all .4s;
-webkit-box-sizing: border-box;
box-sizing: border-box; }
.menu-btn span {
position: absolute;
left: 0;
width: 100%;
height: 4px;
background-color: #333333;
border-radius: 4px; }
.menu-btn span:nth-of-type(1) {
top: 0; }
.menu-btn span:nth-of-type(2) {
top: calc(50% - 2px);}
.menu-btn span:nth-of-type(3) {
bottom: 0; }
.menu-btn.active span:nth-of-type(1) {
-webkit-transform: translateY(10px) rotate(-45deg);
-ms-transform: translateY(10px) rotate(-45deg);
transform: translateY(10px) rotate(-45deg); }
.menu-btn.active span:nth-of-type(2) {
opacity: 0; }
.menu-btn.active span:nth-of-type(3) {
-webkit-transform: translateY(-16px) rotate(45deg);
-ms-transform: translateY(-16px) rotate(45deg);
transform: translateY(-16px) rotate(45deg); }

.menu-btn.active span{
background-color: #FFF;
}
.menu-btn.active span.txt{
color: #FFF;
}


/* -------- menu st */
#js__btn .txt {
position: absolute;
font-size: 10px;
left: calc(50% - 15px);
bottom: -10px;
background-color: transparent; }
.menu {
  display: none;
position: fixed;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.8);
-webkit-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
visibility: hidden;
opacity: 0; 
z-index: 100;
}
.side-open .menu {
display: table;
/*-webkit-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;*/
visibility: visible;
opacity: 1; }
.header_navi .menu ul {
display: table-cell;
vertical-align: middle; }
.header_navi .menu ul {
display: table-cell;
height: auto;
padding: 16px;
background-color: transparent; }
.header_navi .menu li {
width: 200px;
max-width: 240px;
margin: 48px auto;
text-align: center;
opacity: 0; }
.header_navi li {
margin: 5% auto; }
.header_navi .menu li a {
color: #ffffff; }
.header_navi li.header_mail a {
border-color: #ffffff; }
.side-open .menu li {
opacity: 1; } }

/*-----------------------------------------------------------------*/
/* google map */
/*-----------------------------------------------------------------*/
/* API */
#map_canvas {
height: 240px;
width: 100%;
position: relative; }

/*#map_canvas::after{
content: "";
position: absolute;
background-color: rgba(0,0,0,.15);
width: 100%;
height: 100%;
}*/
@media only screen and (max-width: 979px) {
#map_canvas {
height: 240px; } }

@media only screen and (max-width: 690px) {
#map_canvas {
height: 160px; } }

/* iframe */
.gmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden; }

.gmap iframe,
.gmap object,
.gmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%; }

/*-----------------------------------------------------------------*/
/* side banner */
/*-----------------------------------------------------------------*/
#contents_right .banner_iconimg .banner_in,
.banner_iconimg .banner_in {
margin-bottom: 8px;
list-style: none; }
#contents_right .banner_iconimg .banner_in a,
.banner_iconimg .banner_in a {
display: block;
padding: 10px 1em;
text-align: center;
font-size: 18px; }
#contents_right .banner_iconimg .banner_in a img,
.banner_iconimg .banner_in a img {
max-width: 40px;
display: inline-block;
vertical-align: middle;
margin-right: 20px; }
#contents_right .banner_iconimg .banner_in a:hover,
.banner_iconimg .banner_in a:hover {
text-decoration: none; }

.banner_iconimg .material-icons {
padding-right: 16px;
font-size: 32px;
vertical-align: middle; }

.banner_bgimg .banner_in {
position: relative;
margin-bottom: 8px; }
.banner_bgimg .banner_in a {
display: block;
position: absolute;
bottom: 0;
padding: 5px;
text-align: center;
width: 100%; }

@media only screen and (max-width: 979px) {
.banner_iconimg,
.banner_bgimg {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-ms-flex-wrap: wrap;
flex-wrap: wrap; }
.banner_iconimg .banner_in,
.banner_bgimg .banner_in {
width: calc(50% - 8px);
margin-right: 16px;
margin-bottom: 16px; }
.banner_iconimg .banner_in:nth-child(2n),
.banner_bgimg .banner_in:nth-child(2n) {
margin-right: 0; } }

@media only screen and (max-width: 690px) {
.banner_iconimg .banner_in {
width: 100%;
margin-right: 0;
margin-bottom: 8px; }
.banner_bgimg .banner_in {
position: static;
width: calc(50% - 4px);
margin-right: 8px; }
.banner_bgimg .banner_in a {
display: block;
position: static; } }

/*-----------------------------------------------------------------*/
/* media_info */
/*-----------------------------------------------------------------*/
#media_info {
background-color: #eeeeee;
padding: 40px 0;
margin-top: 30px; }
#media_info .media_in {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
margin: 16px 0; }
#media_info .media_area {
background-color: #ffffff;
padding: 16px 32px; }
#media_info .media_img {
width: 30%; }
#media_info .media_img img {
display: block;
width: auto;
max-width: 100%;
height: auto; }
#media_info .media_txt {
width: 70%;
padding: 0 0 0 2em; }
#media_info .media_pos {
margin-top: 8px; }
#media_info .catelist {
display: none; }
#media_info time {
margin-bottom: 12px; }
#media_info .title06 {
font-size: 18px;
font-weight: bold;
margin-top: -4px; }

@media only screen and (max-width: 690px) {
#media_info {
padding: 24px 0; }
#media_info .media_in {
margin: 20px 0; }
#media_info .media_in:first-child {
margin-top: 0; }
#media_info .media_area {
padding: 16px 16px 8px; }
#media_info .media_img {
width: 30%; }
#media_info .media_txt {
width: 70%;
padding: 0 0 0 0.8em; }
#media_info time {
display: none; }
#media_info .title06 {
font-size: 16px;
font-weight: bold; }
#media_info .media_pos {
font-size: 12px;
line-height: 1.2; } }

/**********************************************************************************************
***********************************************************************************************
***********************************************************************************************
***********************************************************************************************
TOP SUB common
***********************************************************************************************
***********************************************************************************************
***********************************************************************************************
**********************************************************************************************/
/*-----------------------------------------------------------------
sub area T
-----------------------------------------------------------------*/
.sub_t_area {
border-width: 1px 0 0 1px;
border-style: solid; }
.sub_t_area .col, .sub_t_area .col:nth-child(3n+1), .sub_t_area .col:nth-child(5n+1) {
padding: 16px 24px;
margin: 0;
border-width: 0 1px 1px 0;
border-style: solid;
-webkit-transition: all .2s ease 0s;
-o-transition: all .2s ease 0s;
transition: all .2s ease 0s; }
.sub_t_area .col img, .sub_t_area .col:nth-child(3n+1) img, .sub_t_area .col:nth-child(5n+1) img {
max-width: 60%;
margin: auto; }

.sub_t_area .col3_sp2 .col {
width: 33.33333%; }

.sub_t_area .col4_sp2 .col {
width: 25%; }

.sub_t_area .col5_sp2 .col {
width: 20%; }

.sub_t_area_m .col {
text-align: center;
padding: 1em;
margin-bottom: 0;
-webkit-transition: all .2s ease 0s;
-o-transition: all .2s ease 0s;
transition: all .2s ease 0s; }
.sub_t_area_m .col img {
max-width: 60%;
margin: auto;
opacity: 1; }

@media only screen and (max-width: 979px) {
.sub_t_area_m .col {
margin-bottom: 24px; } }

@media only screen and (max-width: 690px) {
.sub_t_area .col3_sp2 .col {
width: 50%; }
.sub_t_area .col4_sp2 .col {
width: 50%; }
.sub_t_area .col5_sp2 .col {
width: 50%; }
.sub_t_area_m .col {
margin-bottom: 16px; } }



