@charset "utf-8";
/* CSS Document */
/*
.gnav-collapse-layer.active{    opacity: 0!important;
    transition: visibility 0s ease .2s, opacity .2s ease-in!important;}
*/
#main_contents {
    width: auto;
    float:none;
    margin-bottom: 50px; 
}

#sub_contents {
    float:none;
    width:auto;
    margin:0;    clear: both;
}

#sub_contents .sub_list01{
    padding: 0 0 10px;
    display: flex;
    flex-wrap: wrap;
}
#sub_contents .sub_list01 > li {
    width: calc(25% - 8px);
    margin: 4px;
}

#sub_contents .sub_list01 > li ul{display:none;}

#sub_contents .bnr_area2 ul{    padding: 0 0 10px;
    display: flex;
    flex-wrap: wrap;}

#sub_contents .bnr_area2 ul > li{
    width: calc(25% - 8px);
    margin: 4px;
}
#sub_contents .sub_list01 li.green > a, #sub_contents .sub_list02 li.green > a {
    background:#fff url(../../common/images/ic_arrow_list02_on.png) no-repeat 10px 1.4em;
}
#sub_contents .sub_list01 li a, #sub_contents .sub_list02 li a {
    border: 1px solid #D4D4D3;
    padding: 10px;
    padding-left: 20px;
    background:#fff url(../../common/images/ic_arrow_list02.png) no-repeat 10px 1.4em;
    text-decoration: none;
    font-size: 14.6px;
}
#sub_contents_wrap{background:#fcfcfc;padding:50px 0;clear: both;    position: relative;}
#sub_contents_wrap:before {
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    position: absolute;
    z-index: -1;
    margin: 0 calc(50% - 50vw);
    background-color: #fcfcfc;
    width: 100vw;
    content: '';
}

#sub_contents .listtl{    background: #444;
    color: #fff;position:relative;}

#sub_contents .listtl:before{content:'';position:absolute;z-index:1;left:0;top:0;height:100%;width:10px;background:#FF4D00;}
#sub_contents .listtl:after{content:'';position:absolute;z-index:1;left:10px;top:0;height:100%;width:10px;background:#009E91;}


#sub_contents .listtl h1, #sub_contents .listtl > div{font-size:16px;background:none;positon:relative;}

#topicpath{margin-bottom:80px;}

a.betsu2{position:relative;display:block;}
a.betsu2:before{    content: '';position:absolute;
    display: inline-block;top:0;bottom:0;margin:auto 0;
    width: 14px;
    height: 14px;
    background-image: url(../img/new/betsutab_w.svg);
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
    vertical-align: middle;
    right: 10px;}


/*会社情報*/

.cmntbl01 td{padding:10px 20px;}
.cmntbl01 th {padding:10px 20px;
    background: #F1EADA;font-weight:bold;}

.cmntbl01{max-width:900px;margin:0 auto;}

/**/
.subtl01 h3, .subtl01 h4{    font-size: 137.7% !important;}
.subtl01 {
    border-bottom: 2px solid #2A2823;
    padding-left: 0px;
    position: relative;
}
.texttl{background:none; }
.page-company-group .texttl,.page-company-group-others .texttl{
    background:none;    border-bottom: 2px solid #000;
}
.texttl h2, .texttl h3{    border-left: none;    font-size: 178.5% !important;letter-spacing:1px;
}

.box_11 {
  /*  padding: 40px 60px;
    background: #fdfaf0;
    border: 2px solid #ccc;
    border-radius: 10px;*/
    margin-bottom: 30px;
}
/*トップメッセージ*/

.ajiwai_wrap {
    position: relative;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.wood_ajiwai .ajiwai_left {
    clear: both;
    width: 30%;
    float: none;
    padding-bottom: 35px;
}

.wood_ajiwai .ajiwai_right{width:64%;
    float: none;
    padding-bottom: 35px;}

.woman_info table{margin:0 auto;width:100%;max-width:500px;}
.woman_info .js-scrollable{overflow:hidden!important;}
.woman_info h5{margin:0 auto;text-align:center;}
.woman_info td{ 
    padding: 10px;
    border-bottom: 1px solid #ccc;}

/**/
#showroom_detail .access_map {
    width: auto;
    float: none;
    margin:auto;
}
#showroom_detail .access_info {
    width: auto;
    float: none;
    margin:auto;
}
#showroom_detail .access_data dl{display:table;width:100%;}
#showroom_detail .access_data dt{display:table-cell;width:35%;padding:6px;border-bottom:1px solid #ccc;margin:auto;}
#showroom_detail .access_data dd{display:table-cell;width:65%;padding:6px;border-bottom:1px solid #ccc;margin:auto;}
.img_musium .m0auto{width:100%;}
.img_musium img{width:100%;}
.img_musium .m0auto tr{margin-bottom:10px;}
.img_musium .m0auto td{padding-bottom:10px;}
.img_musium .img_tr1{width:64.5%;}
.img_musium .img_tr2{    width: 35.5%;
    padding-left: 5%;}

.maintenance .mente_cat ul, .recruit .recruit_cat ul, .lohas_bt ul {
    display: flex;    justify-content: space-between;
}

.maintenance .mente_cat ul .long, .recruit .recruit_cat ul li, .lohas_bt ul li {
    width: 33%;
    margin: 0;
    float: none;
    list-style-type: none;
}
.recruit .recruit_cat ul li{width: 49%;}

.maintenance .mente_cat li.long a, .recruit .recruit_cat a, .lohas_bt a {
    display: table;
    width: 100%;
}
#faq_top{   
    width: 100%;    margin-right: -15px;
    margin-left: -15px;display:flex;}
#faq_top > section{margin: 0;width:auto;float:none;padding: 20px;}
#faq_top > section:nth-child(odd){    margin:0;width:auto;float:none;}

.foot{    background: #009E91;
    color: #fff;}
.foot .foot_logo p{color: #fff;}
.foot .add{color: #fff;}
.bbox_wrap{border-bottom: 1px solid #d3d3d3;}
.bbox dl{    padding: 0px 20px;}

.bbox{
  /*  padding: 25px;*/
 /*   background: #F1EADA;*/
    padding: 20px 20px;
/*    background: #fdfaf0;*/
   /* border: 2px solid #ccc;*/
    /*border-radius: 10px;*/
    display:flex;
    height:100%;}
.bbox h4{    font-size: 16px;
    margin-bottom: 16px;margin-top:0;margin-bottom:6px;}

#office01 .bbox {
  display: grid;
  grid-template-columns: 1fr auto auto; /* 住所・TEL・FAX */
  align-items: start;
  gap: 20px;
}


.bbox dt {
  font-weight: bold;
  margin: 0 0 4px;
}

.bbox_tel_area{display: flex;
    flex-direction: row;
}
.bbox h5{
    padding: 0 0 0 20px;
    font-size: 100.7%;
    margin: 0 0 10px;
}


#office02 .bbox {
  display: grid;
  grid-template-columns: 2fr 3fr 1fr; /* 住所 / 事業内容 / リンク */
  gap: 20px;
  align-items: start;
}

/* 事業内容がないとき、中央列を仮の空要素として維持 */
#office02 .bbox:has(> div.addr) {
  grid-template-areas: "addr desc link";
}
#office02 .bbox > div.addr {
  grid-area: addr;
}
#office02 .bbox > dl {
  grid-area: desc;
}
#office02 .bbox > div.a1 {
  grid-area: link;    min-width: 158px;
}

/* 事業内容が無い場合でも中央の空白を維持する */
#office02 .bbox:not(:has(dl))::before {
  content: "";
  display: block;
  grid-column: 2;
}


.eigyosyo section h4 {
    border-left: 4px solid #2A2823;
    padding: 0 0 0 8px;
    font-size: 107.7%;
    font-weight: bold;
    margin: 0 0 20px;
}
/**/

.tableauPlaceholder{
    border-collapse: collapse;
    width: 100%;
    min-width: 1200px;
    font-family: sans-serif;
}
.tableauPlaceholder_wrap{
    overflow-x: auto;
}
/**/

#main_contents .news .main_l {
    float: none;
    width: auto;width:auto;
}

#main_contents .news .main_r {
    float: none;width:auto;
}

#main_contents .main_l .ir_rib li {
    float: none;
    width: 100%;
}
.ir_info img{max-width:400px;margin:0 auto;}

#main_contents .main_l .ir_rib li {
    float: none;
}
/*#main_contents .main_l .ir_rib li{max-width:400px;margin:0 auto;}*/
#main_contents .main_l .ir_rib li.last {
    margin-left: auto;
}
.newslist dt{    width: 85px;}

#main_contents .news .main_l .newslist dd {
    width: calc(100% - 120px);
}
/*#main_contents .main_l .ir_info{    margin-top: 50px;}*/

#main_contents .news .main_r.kabunushi img{width:100%;}
#main_contents .main_r.kabunushi li {
    margin-bottom: 3px;
    max-width: 300px;
    margin: 0 auto;
    margin-bottom: 4px;
}
#main_contents .news .main_r.kabunushi li a{display:block;}

.ir_list .subtl01 h3,.ir_list .subtl01 h4 {
    font-size: 137.7% !important;
    text-align: left;
}

.newslist dl{display:flex;    flex-wrap: wrap;}
.newslist dt {
    font-size: 16px!important;
    background: url(../images/ic_arrow_list01.gif) no-repeat left 12px;
    font-weight: bold;line-height:1.4;
}
.newslist dt{float:none;width:120px;margin:0;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #ccc;}
.newslist dd{float:none;width:calc(100% - 150px);margin:0;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #ccc;    font-size: 16px;}
#ir_news .main_l .newslist dd {
    width: calc(100% - 120px);
}
.attention{    font-size: 13px;}

.parent_company .attention{text-align:center;margin-top:20px;}

.rights_policy {
    border: 1px solid #ccc;
    padding: 55px;
}
.term-calender .newslist{  /*  padding: 30px;
    background: #f0eada;*/
    margin-bottom: 20px;
  /*      padding: 40px 60px;
    background: #fdfaf0;
    border: 2px solid #ccc;*/
        border-radius: 10px;
    max-width: 500px;
    margin: 0 auto;
}

.page-company-socialmedia{}
/**/


#sub_contents2 aside{display: flex;margin-bottom:26px;    flex-wrap: wrap;}


#sub_contents2 aside section{flex: 0 0 20%;
    max-width: 20%;margin-bottom:26px;}


#header .btn-contact {
        display: inline-flex;
        align-items: center;
       /* justify-content: flex-start;*/    justify-content: center;
    background-color: #212529;
        width: 120px;
       min-height: 44px;
        color: #fff;
        padding: 6px 0px;
        font-size: 12px;
        border-radius: 12px;padding-left: 0px;
    
    }
        #header .btn-contact img{
    margin-right: 9px;}
#header .gnav__aside_custom .btn-contact img {
    margin-right: 9px;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto 0;
    left: 7px;
}
.header .gnav__aside_custom .gnav__aside__btn_2{    width: 100% !important;
    max-width: 280px;
    margin: 0 auto;
    margin-bottom: 10px;}
.header .gnav__aside_custom .gnav__aside__btn{margin:0 auto;margin-bottom:10px;}
#header .gnav__aside_custom .btn-contact{    display: flex;    align-items: center;
    justify-content: center;width: 100%;
    max-width: 280px;margin:0 auto;
    margin-bottom: 10px;}
.header .gnav__aside_custom .gnav__aside__children{right: 0;
        left: 0;
        margin: 0 auto;        max-width: 280px;
    }
@media (min-width: 768px) {
.header .gnav__aside_custom .btn_global{
    pointer-events: none;
    }
}
@media (min-width: 768px) and (max-width: 928px) {
    .tablet-rps .subtl01 h4 {
        font-size: 17px !important;
    }
}
@media (max-width: 991px) {
    #header .btn-contact {justify-content: center;}
    
  #sub_contents2 aside section{
    flex: 0 0 30%;
    max-width: 30%;
  }      #header .btn-contact img {
        margin-right: 10px;
        position: absolute;
        z-index: 10;
        left: 12px;
        top: 0;
        bottom: 0;
        margin: auto 0;
    }
}

@media (max-width: 768px) {
  #sub_contents2 aside section{
    flex: 0 0 50%;
    max-width: 50%;
  }
        #header .btn-contact {
        position: relative;
    }
}

@media (max-width: 480px) {
  #sub_contents2 aside section{
    flex: 0 0 100%;
    max-width: 100%;
  }
}

#sub_contents2 .listtl {
    border-left: 3px solid #ff4d02;
    font-size: 1rem;
    line-height: 1.5;
    padding: 5px 5px 5px 15px;
    margin-bottom: 20px;
}
#sub_contents2 .sub_list_01 li a {
    padding: 5px 15px 5px 20px;display:block;
}
/**/
.trim_img img{    object-fit: cover;
    aspect-ratio: 16 / 11;    object-position: center 80%;}

.subtl01 h3, .subtl01 h4{    padding: 0 0 0 0px;border-left:none;text-align:left;}

.list_sns_wrap{    border: 2px solid #009F95;
    padding: 20px;
    margin-bottom: 20px;}
.list_sns_wrap > div{padding:10px;border-bottom:1px solid #ccc;}
.list_sns_wrap > div:last-child{border-bottom:none;}

.link_tit1{display: flex;}
.link_tit1 .tit1 {
    min-width: 390px;
    position: relative;
    padding-left: 40px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}.link_tit1 .tit1:before{content:'';position:absolute;z-index:10;z-index:10;top:0;bottom:0;margin:auto 0;left:0;width:30px;height:30px;background-repeat:no-repeat;background-position: 50% 0%;background-size: 30px;}
.list_sns1.facebook01 .tit1:before{background-image:url('../../index/img/new/ico_face.svg');}
.list_sns1.instagram01 .tit1:before{background-image:url('../../index/img/new/ico_instagram.png');}
.list_sns1.facebook01 .tit1:before{background-image:url('../../index/img/new/ico_face.svg');}
.list_sns1.youtube01 .tit1:before{background-image:url('../../index/img/new/ico_youtube.svg');}
.list_sns1.pinterest01 .tit1:before{background-image:url('../../index/img/new/ico_pinterest.svg');}

.list_sns1.line01 .tit1:before{background-image:url('../../index/img/new/ico_line.svg');}

.list_sns1.x01 .tit1:before{background-image:url('../../index/img/new/ico_x.svg');}

.list_sns1.instagram01 .link_tit1{margin-top:12px;}



.link1{width: calc(100% - 100px);}

.ir_list_in{  /*  padding: 60px;
    border: 1px solid #cccccc;
    border-radius: 14px;*/max-width: 860px;
    margin: 0 auto;}
.ir_list_in .subtl01 h3{position:relative;    padding-left: 30px;}
.ir_list_in .subtl01 h3:before {
    content: '';
    position: absolute;
    z-index: 10;
    background: #009F95;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    top: 4px;
    /* bottom: 0; */
    /* margin: 0; */
    left: 0;
}


.company_info dl{display:table;width:100%;margin-bottom:10px;}
.company_info dt{display:table-cell;width:100px;min-width:130px;    float: none;}
.company_info dd{display:table-cell;width:calc(100% - 130px);}

/*国内営業所*/
.bbox li{  line-height: 1.2;}

.anchor_link{    margin-top: 30px;position:relative;}
.anchor_link_cat a {
    display: flex;
    width: 100%;
    border: 1px solid #D4D4D3;
    padding: 3px 0 3px 30px;
    background:#fff url(../../common/images/ic_arrow_list02.png) no-repeat 20px center;
    text-decoration: none;
    height: 4.3em;
    /* line-height: 3.5em; */
    align-items: center;position:relative;
}
    .anchor_link_cat{
    display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .anchor_link_cat li {
        width: 32.3%;
        margin: 0 auto;
        margin-bottom: 10px;
    }
    .anchor_link_cat2 a{


    }
.e_link{
    margin-top: -70px;
    padding-top: 100px;
}

/**/


.useful_contentbox.js_open2 {
    border: 1px solid #DBD6D3;
    background: #FFFFFF 0% 0% no-repeat padding-box;
    border-radius: 5px;
    padding: 16px 20px;
    /* padding-left: 0px; */
    margin-bottom: 18px;
}
.useful_contentbox.js_open2.is_open2{padding-bottom: 0;}

.useful_contentbox{    border:1px solid #ccc;
    border-radius: 5px;
    border-radius: 5px;
    margin-bottom:24px;  /*  margin-top: -140px;
    padding-top: 140px;*/
}
.js_inner2 .useful_contentbox{border:0;}
.useful_contentbox .h4{    cursor: pointer;text-align: left;
    margin-bottom: 0;
    position: relative;
    color: #000;padding-left:40px;font-weight: bold;    padding-right: 60px;}

.ir_list_in .useful_contentbox .h4  .subtl01 h3:before{top:10px;}
.ir_list_in .useful_contentbox .h4 .subtl01{border-bottom:none;padding:0;margin:0;}


.useful_contentbox .js_inner{   border-top:2px solid #000;padding:10px;padding-top: 25px;
}
.useful_contentbox .js_inner p {
    position: relative;
    padding-left: 0;
    line-height: 150%;margin-bottom:18px;font-size:15px;
}
.box01{border-bottom:1px solid #DBD6D3;padding-bottom:18px;}

.narabi1{display:flex;    margin-bottom: 25px;}

.narabi1 li{margin-right:25px;}
.useful_contentbox .js_inner li{
    line-height: 150%;}

.useful_contentbox_wrap{margin-bottom:30px;}

.useful_contentbox.is_open h4:before {
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(25%) rotate(-45deg);
}
.useful_contentbox .h4{
    /*background: #54A12B 0% 0% no-repeat padding-box;*/
/*    color: #FFFFFF;*/
    padding: 14px 18px;
    font-size: 19.5px;
    font-weight: bold;
    position: relative;
}

.useful_contentbox .useful_contentbox.js_open{border:none;border-bottom: 1px solid #DBD6D3;border-radius:0;}

.useful_contentbox .useful_contentbox.js_open:last-child{border-bottom:none!important;}

.indent_wrap{padding-left:20px;margin-top: 4px}

.useful_contentbox_wrap {
    margin-bottom: 0px;
}

.useful_contentbox h3{position:relative;}
.useful_contentbox h3:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 0;
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
width: 8px;
    height: 8px;
    border: 2px solid #54A12B;
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(-25%) rotate(135deg);
    transition: all .5s;
}

.useful_contentbox.is_open2 h3:before {
    border-left: 0;
    border-bottom: 0;
    box-sizing: border-box;
    transform: translateY(25%) rotate(-45deg);
}
.useful_contentbox.js_open{margin-bottom:24px;}
.useful_contentbox.js_open .h4{    padding-left: 20px;}

.js_open2 .useful_contentbox .h4{font-weight:normal;}
.plus::before,.plus::after  {
    content: '';
    display: inline-block;
    width: 20px;
    height: 2px;
    background-color: #009F95;
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity 1s;
}

.plus::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform 1s;
}

.is_open .plus::before {
    opacity: 0;
}

.is_open .plus::after {
    transform: translateY(-50%) rotate(180deg);
}

.thmb_set{position:relative;max-width:320px;height:auto;width:100%;}

.thmb_set_img{}

.thmb_set_txt{position:absolute;background:rgba(255,255,255,0.8);z-index:10;bottom:0;left:0;width:100%;z-index:10;}

.thmb_set_txt .mannaka2{font-size: 13px;padding:3px;}

.pg_idea img.flRimg{width:230px;}

.form_select{    margin-bottom: 20px;
    display: flex
;
    flex-direction: row-reverse;}

#main_contents .main_l .ir_info .link a, #main_contents .main_r .ir_info .link a{text-decoration:none!important;}


/**/

h2 span{font-size: 15px;margin-left: 15px;}

#story h2{display:block;text-align: center;font-size: 28px;
    font-weight: bold;margin-bottom:50px;color:#fff;}
#story h2 span{display:block;margin-top:12px;}
#brand_statement h2{display:block;text-align: center;font-size: 28px;
    font-weight: bold;margin-bottom:50px;}
#brand_statement h2 span{display:block;margin-top:12px;}

#story p{text-align:center;    font-size: 30px;color:#fff;}
#brand_statement{padding-top:40px;padding-bottom:40px;}
#brand_statement p{    text-align: center;line-height: 2;font-weight: 500;margin-bottom: 36px;}

#tsukuru{position:relative;padding-top:60px;padding-bottom:60px;text-align:center;margin-bottom:60px;}
#tsukuru:before{position:absolute;background:#F1EADA;content:'';z-index:-1;top:auto;
  left: 50%;
  transform: translate(-50%, 0%);width:100vw;height:40%;bottom:0;}
#tsukuru h2{ font-size: 1.5em;
    font-weight: 600;
    margin-bottom: 18px;}

#maehe{padding-top:80px;position:relative;padding-bottom:80px;}

.back_cream_wrap:after {
    content: '';
    position: absolute;
    padding-top: 0;
    margin-top: -4%;
    border-radius: 50%;
    background: #F1EADA;
    z-index: -1;
    top: 0%;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 220vw;
    padding-top: 30%;
}
#maehe h2{      font-size: 1.5em;
    font-weight: 600;
    margin-bottom: 18px;
    line-height: 1.5;}

.d-flex .w50{width:50%;}
#story {
    position: relative;
    padding: 100px 0;
}
#story:before{    content: '';
    position: absolute;
    z-index: -1;
    width: 100vw;
    height: 100%;
    background: url(../../index/img/new/0C4A7767.jpg) no-repeat 50% 30%;
    background-size: cover;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);}
#story:after{  content: '';
    position: absolute;
    z-index: -1;
    width: 100vw;
    height: 100%;
background:rgba(0,0,0,0.3);    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)}





.story_wrap{display:flex;margin-bottom: 60px;position:relative;}
.story01_wrap:before,.story03_wrap:before{
    position: absolute;
    background: #F1EADA;
    content: '';
    z-index: -1;
    top: auto;
    left: 50%;
    transform: translate(-50%, 0%);
    width: 100vw;
    height: 100%;
    bottom: -30px;}


.story_l{width:45%;display: flex;
    align-items: center;
    align-content: center;
    justify-content: center;position:relative;}
.story_r{width:55%;    padding: 60px 40px;}
.story_r p{min-height: 307px;display: flex;align-items: center;}
.story_in{
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
position:relative;
}.story_in:before {
    content: '';
    position: absolute;
    z-index: 0;
    background: #ccc;
    right: 0;
    top: 0;
    width: 50vw;
    height: 100%;
}
#maehe p{position:relative;z-index:1;}
#maehe:before {
    content: '';
    position: absolute;
    z-index: 0;
    width: 100vw;
    height: 100%;
    background: url(../../index/img/new/2656492_m.jpg) no-repeat 50% 30%;
    background-size: cover;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.story_in h3 {
    margin-bottom: 0;
    padding-bottom: 0;
    line-height: 1.8;
    font-weight: bold;
    color: #fff;
    z-index: 10;position: relative;}
.story01_wrap .story_in:before{content:'';background:url(../../index/img/new/_5BX4142.jpg) no-repeat 50% 30%;background-size:cover;z-index:0}
.story01_wrap .story_in:after{content:'';background:rgba(0,0,0,0.3);position:absolute;z-index:1;    right: 0;
    top: 0;
    width: 50vw;
    height: 100%;}



.story02_wrap .story_in:before{content:'';background:url(../../index/img/new/5BFX_0949.jpg) no-repeat 50% 50%;background-size:cover;z-index:0}
.story02_wrap .story_in:after{content:'';background:rgba(0,0,0,0.3);position:absolute;z-index:1;    right: 0;
    top: 0;
    width: 50vw;
    height: 100%;}

.story03_wrap .story_in:before{content:'';background:url(../../index/img/new/syokurin.jpg) no-repeat 50% 50%;background-size:cover;z-index:0}
.story03_wrap .story_in:after{content:'';background:rgba(0,0,0,0.3);position:absolute;z-index:1;    right: 0;
    top: 0;
    width: 50vw;
    height: 100%;}

.story04_wrap .story_in:before{content:'';background:url(../../index/img/new/BFX_0103.jpg) no-repeat 50% 50%;background-size:cover;z-index:0}
.story04_wrap .story_in:after{content:'';background:rgba(0,0,0,0.3);position:absolute;z-index:1;    right: 0;
    top: 0;
    width: 50vw;
    height: 100%;}


.story02_wrap .story_l,.story04_wrap .story_l{
    order: 2;
}
.story02_wrap .story_r,.story04_wrap .story_r{
    order: 1;
}
.story02_wrap .story_in:before{left:0;}
.story02_wrap .story_in:after{left:0;}
.story04_wrap .story_in:before{left:0;}
.story04_wrap .story_in:after{left:0;}



#ir_list01{    padding-top: 80px;
    margin-top:　-80px;}
#ir_list02{    padding-top: 80px;
    margin-top:　-80px;}
#ir_list03{    padding-top: 80px;
    margin-top:　-80px;}


@media screen and (max-width: 768px){
    .pg_idea img.flRimg{width:40%;}
    
    .thmb_set_txt .mannaka2 {
    font-size: 2.3vw;
    padding: 3px;
    line-height: 1.2;
}
}
.histryList01 dl{border:none;margin-bottom:0;}


.histryList01 dt {
    display: table-cell;
    vertical-align: top;
    /* width: calc(16% - 60px) !important; */
    min-width: 240px;
    width: 240px !important;
    position: relative;
   /* padding-left: 30px;*/
        padding-left: 0;
    padding-right: 30px;
    float:none!important;
}
dl.histryList01 dt br{display:none;}

.histryList01 dt::before {
    content: "";
    width: 17px;
    height: 17px;
    border-radius: 50%;
    position: absolute;
    left:auto;
    right: 17px;
    top: 5px;
    background: #009E91;
}
.histryList01 dt::after {
    content: '';
    background-color: #009E91;
    position: absolute;
    top: 0;
    width: 7px;
    left: auto;
    right: 22px;
    height: calc(100% + 60px);
}




.histryList01 dd{    background-color: #eee;
    padding: 10px 10px 10px 14px;
        border-radius: 6px;position: relative;}

.histryList01 dd::before {    position: absolute;
    content: '';
    width: 0;
    height: 0;
    border-style: solid;        border-width: 10px 12px 10px 0;
        left: -12px;
        top: 12px;
border-color: transparent #eee transparent transparent;
}
.histryList01 dl:nth-child(2n) dd{background-color: #dcdcdc;}
.histryList01 dl:nth-child(2n) dd:before{border-color: transparent #dcdcdc transparent transparent}



@media (max-width: 768px) {
    
    .link_tit1{    flex-direction: column;}
    .link_tit1 .tit1{min-width:inherit;}
    .link1{width:auto;padding-left: 50px;}
    .sns_name{padding-bottom:4px;}
    
    dl.histryList01 dt br {
     display: block;
}
    .histryList01 dt{min-width: 110px;width:110px!important;}
    .histryList01 dl {    margin-bottom: 10px;
}
    
    #topicpath {
    margin-bottom: 40px;
}
    .container #main_container {
        padding-right: 0;
        padding-left: 0;
    }
    .texttl h2, .texttl h3 {
    border-left: none;
        font-size: 148.5% !important;}
    #sub_contents .sub_list01 > li {
    width: calc(50% - 8px);
    margin: 4px;
}
    #sub_contents .sub_list01 li a, #sub_contents .sub_list02 li a {
    border: 1px solid #D4D4D3;
    padding: 10px;
    padding-left: 15px;
    background: #fff url(../../common/images/ic_arrow_list02.png) no-repeat 8px 1.7em;
    text-decoration: none;
    font-size: 11px;
}
    #sub_contents .bnr_area2 ul > li {
    width: calc(50% - 8px);
    margin: 4px;
}
    h1#pagetl {
    clear: both;
    font-size: 123.8%;
    font-weight: bold;
    margin: 15px 0 15px;
    line-height: 1.1;
}
    .rights_policy {
    border: 1px solid #ccc;
    padding: 25px;
}
    /*統合（品質／環境）方針
*/
    .hoshin_l {
    font-size: 24px;
    padding: 0 3px;
    width: 40px;
}.hoshin_r {
    padding: 16px;
    border: 1px solid #ccc;
    width: calc(100% - 40px);
}
    /**/
    
    
#office01 .bbox {
  display: grid;
  grid-template-columns: 1fr 1fr; /* 2カラム構成 */
  gap: 20px;
}

/* 1行目（住所ブロック）を全幅にする */
#office01 .bbox > div:first-of-type {
  grid-column: 1 / 3; /* 左端から右端まで */
}

/* 2行目（TEL）左 */
#office01 .bbox > dl:nth-of-type(1) {
  grid-column: 1;
}

/* 2行目（FAX）右 */
#office01 .bbox > dl:nth-of-type(2) {
  grid-column: 2;
}
    .eigyosyo #office01 .bbox {    grid-template-columns: 1fr;}
    
  #office02 .bbox {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  #office02 .bbox > div,
  #office02 .bbox > dl,
  #office02 .bbox > a {
    grid-area: unset; /* グリッド解除 */
    width: 100%;
  }

  #office02 .bbox:not(:has(dl))::before {
    display: none; /* スマホでは空カラム不要 */
  }

  #office02 .bbox > a {
    align-self: flex-start;
    margin-top: 10px;
  }
    
.story_l {
    height: 200px;width:100%;
}
    .story_wrap {
    display: flex;
    margin-bottom: 0px;
    position: relative;
    flex-direction: column;
    flex-wrap: wrap;padding: 30px 6px;
   padding-bottom: 0;
}
    .story_in:after {
    width: 100%!important;
    }.story_r{width:100%;}
    .story_r p {
    min-height: inherit;
    display: flex
;
    align-items: center;
}
.story01_wrap .story_in:before{
    width: 100%;
}.story_in:before{width:100%;}
   #maehe .anchor_link_cat li{width:100%;}
    #tsukuru{padding-top:30px;}
    .story_r {
    padding: 20px 6px;        padding-bottom: 0;
}
    
    
    .story02_wrap .story_l,.story04_wrap .story_l{
    order: 1;
}
.story02_wrap .story_r,.story04_wrap .story_r{
    order: 2;
}
}
@media (max-width: 600px) {
    .kaso_back {
        padding: 30px 0;
        padding-top: 80px;
    }
    #brand_statement {
    padding-top: 40px;
    padding-bottom: 0px;
}
    #brand_statement h2 {
    margin-bottom: 24px;
}#brand_statement h2 span {
    display: block;
    margin-top: 2px;
}
    #story p {
    font-size: 18px;
}#brand_statement p {
    margin-bottom: 20px;
}#maehe {
    padding-top: 40px;
    position: relative;
    padding-bottom: 40px;
}
}
@media screen and (max-width: 575.98px) {
    body {
        margin-top: 0px!important;
    }
}

div.list2{    text-indent: -1.7em!important;
    padding-left: 2.9em!important;}
.list1_li{    text-indent: -1.8em;
    padding-left: 1.8em;}

.ico_gaibu{position:relative;padding-right:30px;color: #2a2823;}

.ico_gaibu:before{content:'';position:absolute;background:url(../img/new/ico_gaibu.svg) no-repeat 50% 50%;background-size:14px;top:0;bottom:0;margin:auto 0;width:14px;height:14px;right:10px;}

.ico_gaibu:hover{color:#009E91;}
/*topから*/

/* header */
header {
    padding-top: 12px;
    padding-bottom: 8px;
    position: fixed;
    width: 100%;
    top: 0;
    background: #fff;
}
@media (min-width: 768px){
/*768px以上*/
.header .gnav__aside__btn_2 {
    width: 120px !important;
}
    .header .gnav__aside.mobile{display:none;}
    .header .gnav__box a{font-size:14.8px;}
    
}
.header .gnav__aside__btn {
    display: flex;
    width: 280px;
    transition: opacity .15s linear;
    min-height: 44px;
    text-align: center;
    align-items: center;
    justify-content: center;
    align-content: center;
    border-radius: 12px;
    font-weight: bold;
}

.header .newMenu:hover {
  color: #495057 !important;
  text-decoration: underline !important;
  background-color: unset !important;
}.header .gnav__aside__btn::after{background-image: none;}
.header .gnav__aside__icon{width:20px;display:none;}

/*.btn_mainsite span{padding-right:20px;padding-left:0;}
.btn_global span{padding-right:20px;padding-left:0;}*/
.header .gnav__menu{font-weight:bold;    margin-bottom: 10px;        border-bottom: 1px solid #dddddd;}
.header .gnav__menu:hover{color:#009684;}
.header .gnav__menus2{gap:8px;}

/*topspから*/

.header .gnav__aside__btn_2 {
    padding: 0 !important;
    padding-bottom: 0;
    min-height: 44px !important;
    border-radius: 12px;
    font-size: 12px;
    margin-top: 0;
    /* padding-top: 5px !important; */
   /* padding-left: 8px !important;*/
    font-size: 13px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    font-weight: bold;
   /* width: 120px !important;*/
}


#header .btn-contact{font-weight:bold;}
#header .btn-contact:hover{
    opacity: .5;
    color: #fff!important
}

header{height:66px!important;}
  .header .gnav__menus {
    position:relative;
    padding: 44px 30px;
    background-color: transparent;
    display: grid;
    padding-top: 70px;
  }
@media (max-width:1060px) {

  /* ヘッダー */
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.26);
    z-index: 9999;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
  }
#logo {
    margin-top: 0px;
    padding: 3px 2px;
    padding-left: 10px;
    max-width: 102px;
    line-height: 50px;
}
  #header .container {
    padding: 0;
    padding: 10px 0 0 20px;
  }
  header h1 {
    float: left;
    vertical-align: middle;
    position: relative;
  }
  header .inner01 h1 img {
    /*display:table-cell;*/
    vertical-align: middle;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
  }

  #header {
    width: 100%;
   /* height: auto;*/
  }
}
    @media (min-width: 991px) {
    .header .gnav__aside{
  display: none
} 

        
    }
.header .gnav__aside__btn_2.btn_mainsite::after{content:none;}

  @media (max-width: 768px) {
          .header .gnav__aside__btn[target=_blank]::after{
        background-repeat: no-repeat;
        background-image: url(data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2214%22%20height%3D%2211.645%22%20viewBox%3D%220%200%2014%2011.645%22%3E%3Cg%20transform%3D%22translate%28-334.5%20-315.7%29%22%3E%3Cpath%20d%3D%22M344.575%2C325.358h-8.766v-4.579h8.766Zm1.308-7.458H334.5v8.766h11.383V317.9Z%22%20transform%3D%22translate%280%200.679%29%22%20fill%3D%22%23fff%22%2F%3E%3Cg%20transform%3D%22translate%28338.556%20315.7%29%22%3E%3Cpath%20d%3D%22M337.6%2C315.7h9.944v8.766h-1.308v-7.458H337.6Z%22%20transform%3D%22translate%28-337.6%20-315.7%29%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E);
        width: 12px;
        height: 10px;
        margin-top: -5px;
           
    }
.header .gnav__box a {
    text-decoration: none;
    font-size: 14px;
    padding: 5px 0;
}
	    #header .btn-contact{    width: 280px;}
          .header .gnav__aside__btn_2{margin-bottom:10px;}
}

.header__logo{
  margin-bottom: 2%;
  /*display: none;*/height:auto;
}
.gnav .gnav__menus{
/*  padding: 0 30px;*/
}
.header #headerTop{
  padding: 0px 30px;
  justify-content: space-between;
}
@media (max-width: 1279.98px) {
  .header .gnav .gnav__container {
    font-size: 14px;
  }
}
@media (max-width: 1150px) {
  .header .gnav{
    width: unset;
    background: transparent;
  /*  position: unset;*/
      position:absolute;
  }
  .header{
 /*   height: 100px !important;*/
  }
}
@media (max-width: 768.98px) {
    .gnav-open{position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;}
  .header .gnav__menu::before {
    background-color: transparent;
  }
    .header .gnav__menu :hover {
      color: #495057;
      text-decoration: underline;
    }
    body{padding-top:66px;}
/*  #header{
    background: transparent;
  }
  .header {
    box-shadow: none;
  }*/
  .header .gnav .gnav__container{
    padding: 0;
  }
  .header #headerTop{
    padding: 6px 20px;
  }
  .header .gnav__menus {
    background-color: transparent;
  }
  #header .container{
    padding: 0 0 0 20px;
    }}
@media (min-width: 769px) {
  .header .gnav__box{
    top: calc(100% - 0px);
  }
    .header #headerTop{padding-right:90px;}
}
@media (max-width: 769px) {
    .header .gnav{
    background: rgb(234 228 209 / 80%);
    width: 100vw;
  }
}

@media (min-width: 769px) {
  #header .container{
    padding: 15px 20px;
  }
  .header .gnav {
    position:fixed;
    top: 0;
    right: 0;
    z-index: 1030;
    width: 320px;
    height: 100vh;
    height: 100dvh;
    padding-bottom: 40px;
    background: rgb(234 228 209 / 80%);
    overflow-y: auto;
    visibility: hidden;
    transform: translate3d(100%,0,0);
    overscroll-behavior-y: contain
  }
    .header .gnav .gnav__box__container{padding-bottom:20px;}
    
  .burger {
    position:absolute;
    top: 0;
    right: 0;
    z-index: 1055;
    display: inline-block;
    padding: 24px 20px 24px;
    margin: 0;
    text-align: center;
    cursor: pointer;
    background: 0 0;
    border: none;
    outline: 0;
    margin-right: 11%;
  }
  .fix_header__logo{
    display: none;
  }
/*  .header .fix_gnav__menu2{
    display: none;
  }*/

  .header .gnav{
  /*  width: 30%;*/
    margin-right: 10%;
  }

    
  .header .gnav[aria-expanded=false] {
  transition: visibility 0s ease .4s,transform .4s ease-out
  }
  .header .gnav[aria-expanded=true] {
    visibility: visible;
    transition: visibility 0s ease,transform .4s ease-out;
    transform: translate3d(0,0,0)
  }
  .burger__bar {
    position: relative;
    margin-top: 8px;
    margin-right: auto;
    margin-bottom: 8px;
    margin-left: auto;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none
  }
  .burger__bar,.burger__bar::after,.burger__bar::before {
    display: block;
    width: 28px;
    height: 2px;
    background-color: #212529;
    outline: 1px solid transparent;
    transition-duration: .3s;
    transition-property: background-color,transform;
    -webkit-transition-property: background-color,-webkit-transform;
    -moz-transition-property: background-color,-moz-transform;
    -o-transition-property: background-color,-o-transform;
    -webkit-transition-duration: .3s;
    -moz-transition-duration: .3s;
    -o-transition-duration: .3s
  }
  .burger__bar::after,.burger__bar::before {
    position: absolute;
    content: ""
  }
  .burger__bar::before {
    top: -8px
  }
  .burger__bar::after {
    top: 8px
  }
  .burger__text {
    display: block;
    width: 4em;
    padding-top: 4px;
    font-size: 1rem;
    color: #212529;
    white-space: nowrap
  }
  .burger__text::before {
    content: "メニュー"
  }
  .header {
    position:fixed;
    top: 0;
    left: 0;
    z-index: 1020;
    width: 100%;
    height: 66px
  }
  .header .gnav__menus::after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    content: "";
  }
  .header .gnav .gnav__container {
    max-width:100%;
    padding:0 0 0 0px;
    display: unset;

  }
    .header .gnav__menu {
        display: block;
        /*padding: 2.4% 0;*/
        padding:10px 0;
        width: 100%;
        font-weight: 700;
        text-align: left;
        cursor: pointer;
        height: auto;
    }
    
    .header .gnav__menu :hover {
      color: #495057;
      text-decoration: underline;
    }

  .header .gnav__menu--last {
      border-bottom: 0
  }
  .header .gnav__menu[aria-expanded=true] {
    box-shadow: unset;

  }
    .header .gnav__menu:after{content:'';
        position:absolute;top:0;bottom:0;margin:auto 0;
        right:10px;
            background-repeat: no-repeat;
        background-size: 16px;
        background-position: 95% center;        width: 16px;
        height: 16px;
    }
    .header .gnav__menu[aria-expanded=true]:after {      background-image: url(../img/new/close.png);
        background-size: 16px;}
    .header .gnav__menu[aria-expanded=false]:after{
        background-image: url(../img/new/open.png);
    }
    
    .header .gnav__menu{position:relative;margin-bottom:0;padding:16px 0;}
    .header .gnav__box{padding:10px 0;}
    
  .header .gnav__box {
    position:unset;
    background-color: transparent;
    top: unset;
  }
  .col-md-3 {
    flex: unset;
    max-width: unset;
  }
  .header .newMenu:hover{
    color: #495057 !important;
    text-decoration: underline !important;
    background-color: unset;
  }
  .gnav__box__container .row {
    display: unset !important;
    margin-top: -5px;
  }
  .row .col-md-7{
    flex: unset;
    max-width: unset;
  }
  .row .col-md-2{
    flex: unset;
    max-width: unset;
  }
  .col-md-7 h5{
    margin-bottom: 0;
  }
  .col-md-2 .header-categry-under{
    margin-top: 5px;
    margin-bottom: 5px;
  }
}
@media (min-width: 769px) {
  .is-scrolled .header {
    transform: none !important;
    transition: none !important;
  }
  .is-scrolled-ready .header {
    transform: none !important;
  }
}
#office section h4 {
    border-left: 4px solid #2A2823;
    padding: 0 0 0 8px;
    font-size: 107.7%;
    font-weight: bold;
    margin: 0 0 20px;
}