@charset "utf-8";
/* CSS Document */
#page p{
    line-height: 1.5;
}


#page .f_box{
    display: flex;
}
#page .f_col3 > *{
    width:calc(100% / 3 - 1rem)
}
#page .f_col2 > *{
    width:calc(100% / 2 - 1rem)
}
#page .f_box_wrap{
    flex-wrap: wrap !important;    
}
#page .f_box_img img{
    width: 100%;
}

#page .f_box-wrap-reverse{
    flex-direction:row-reverse;
}
#page .f_justify_content_center{
    justify-content: center    
}
#page .f_justify_content_space_between{
    justify-content: space-between
}
#page .f_align_items_center{
    align-items: center
}
#page .f_box_layout_row_1{
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;

}
#page .f_box_layout_row_1 > *{
    /*flex-grow: 1;*/
    width: 100%;
    margin-right:1rem;
    background: #FFF
}
#page .f_box_layout_row_1 > *:last-child{
    margin-right:0;
}
#page .f_box_layout_row_1 h3{
    text-align: center;
    background: #017C50;
    color: #fff;
    padding: 1rem 0;
    margin-bottom: 1rem;
}
#page .f_box_layout_row_1 p{
    padding: 0.5rem;
}
#page .f_box_layout_row_1_col5{
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;

}
#page .f_box_layout_row_1_col5 > *{
    width: calc(100%/5 - 1rem);
    margin-right:1rem;
    background: #FFF
}
#page .f_box_layout_row_1_col5 > *:last-child{
    margin-right:0;
}
#page .f_box_layout_row_1_col5 h3{
    text-align: center;
    background: #017C50;
    color: #fff;
    padding: 1rem 0;
    margin-bottom: 1rem;
}
#page .f_box_layout_row_1_col5 p{
    padding: 0.5rem;
}
#page .f_box_layout_row_1_col5 img{
    width: 100%;
}
#page .f_box_layout_row_2{
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
}
#page .f_box_layout_row_2 > *{
    width: 100%;
    margin-right:1rem;
    text-align: center;
}
#page .f_box_layout_row_2 > *:last-child{
    margin-right:0;
}
#page .f_box_layout_row_2 span{
    display: block;
}
#page .f_box_layout_row_3{
    display: flex;
    flex-wrap: wrap ;
}
#page .f_box_layout_row_3 > *{
    width: calc(50% - 3rem - 4px);
    margin-right:1rem;
    margin-bottom: 1rem;
    padding: 0.5rem;
    text-align: center;
    border: #017C50 2px solid;
    border-radius: 7px;
    background: #FFF;
}
#page .f_box_layout_row_3 img{
    width: 100%;
    margin-bottom: 1rem;
}
#page .f_box_layout_row_3 p{
    text-align: left;
    padding: 0 1rem;
}
#page .f_box_layout_row_3_col3{
    display: flex;
    flex-wrap: wrap ;
}
#page .f_box_layout_row_3_col3 > *{
    width: calc(100% / 3 - 3rem - 4px);
    margin-right:1rem;
    margin-bottom: 1rem;
    padding: 0.5rem;
    border: #017C50 2px solid;
    border-radius: 7px;
    background: #FFF;
}
#page .f_box_layout_row_3_col3 img{
    width: 100%;
    margin-bottom: 1rem;
}
#page .f_box_layout_row_3_col3 .heading{
    text-align: left;
    padding: 0 1rem;
    font-size: 1.17rem;
}
#page .f_box_layout_row_3_col3 .date{
    margin-bottom: 1rem;
}
#page .f_box_layout_row_3_col3 p{
    text-align: left;
    padding: 0 1rem;
}
#page .f_box_layout_row_4{
    display: flex;
    flex-wrap: wrap ;
}
#page .f_box_layout_row_4 > *{
    width: calc(50% - 2rem);
    margin-right:1rem;
    margin-bottom: 2rem;
    text-align: center;
    background: #FFF;
}
#page .f_box_layout_row_4 img{
    margin-bottom: 1rem;
}
#page .f_box_layout_row_4 h3{
    text-align: center;
    background: #017C50;
    color: #fff;
    padding: 1rem 0;
    margin-bottom: 1rem;
}
#page .f_box_layout_row_4 p{
    text-align: left;
    padding: 0 1rem;
}
#page .f_box_layout_row_4_col3{
    display: flex;
    flex-wrap: wrap ;
}
#page .f_box_layout_row_4_col3 > *{
    width: calc(100%/3 - 2rem);
    margin-right:1rem;
    margin-bottom: 2rem;
    text-align: center;
    background: #FFF;
}
#page .f_box_layout_row_4_col3 img{
    margin-bottom: 1rem;
    width: 100%;
}
#page .f_box_layout_row_4_col3 h3{
    text-align: center;
    background: #017C50;
    color: #fff;
    padding: 1rem 0;
    margin-bottom: 1rem;
}
#page .f_box_layout_row_4_col3 p{
    text-align: left;
    padding: 0 1rem;
}

#page .flex_image_area{
    flex-shrink: 0;
    text-align:center;
}

#page .table_01{
    border-left: #017C50 1px solid;
    border-top: #017C50 1px solid;
    margin: auto;
        
}
#page .table_01 td,
#page .table_01 th{
    border-right: #017C50 1px solid;
    border-bottom: #017C50 1px solid;
    padding: 1rem;
    vertical-align: middle;
    background: #FFF;
}
#page .table_01 thead th{
    background: #017C50;
    text-align: center;
    color: #FFF;
    font-weight: normal;
}
#page .main-view {
    background: #000;
    padding-top: 90px;
    height: 300px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}
#page .main-view::before{
    content: url("../images/_common/page_main_view_object.png");
    position: absolute;
    top: 90px;
    left:20px;
}
#page .main-view h1,
#page .main-view .single_title{
    color: #FFF;
    font-size: 3.5rem;
    font-weight: normal;
    text-align: center;
    line-height: 1.25;
}
#page .main-view h1 span,
#page .main-view .single_title span{
    font-size: 1.875rem;
    display: block;
    text-align: center;
}

/* mechanical-carbon -------------------------*/
#page .super{
    vertical-align: super;
    font-size: 0.8rem;
}
#page .ex-center{
    padding: 1rem;
    text-align: center;
}
#page .sub-title{
    color: #017C50;
    font-weight: bold;
    font-size: 2rem;
}
#page .text-left{
    text-align: left;
}
#page .mechanical-carbon_f_box_layout{
    display: flex;
    justify-content: space-evenly;
}



/* development -------------------------*/
#page .development_f_box_layout{
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
}
#page .development_f_box_layout > *{
    width: 100%;
    margin-right:1rem;
    background: #FFF
}
#page .development_f_box_layout > *:last-child{
    margin-right:0;
}
#page .development_f_box_layout .box{
    border: solid 1px #017C50;
}
#page .development_f_box_layout h3{
    text-align: center;
    background: #017C50;
    color: #fff;
    padding: 1rem 0;
}
#page .development_f_box_layout p{
    padding: 0.5rem;
}
#page .development_beta{
    background-color: #017C50;
    padding: 10px auto;
    color: #FFF;
    font-size: 2.5rem;
    font-weight: 400;
    text-align: center;
    margin: 2rem auto;
}
/* アコーディオンFAQ */
#page .ac-menu:last-child {
    margin-bottom: 60px; /* 最後の要素の下にだけ余白 */
  }
  #page .ac-menu input {
    display: none;
  }
  #page .ac-menu label {
    color: #fff;
    font-size: 1.5rem;
    line-height: 2;
    font-weight: bold;
    background: #017C50;
    padding: 10px;
    cursor: pointer;
    position: relative;
    display: block;
  }
  #page .ac-menu label:after {
    position: absolute;
    right: 20px;
    top: 50%; /* 上下中央配置 */
    -webkit-transform : translateY(-50%);
    transform : translateY(-50%);
    content: "＋"; /* アイコン */
  }
  #page .ac-menu input:checked ~ label::after {
    content: "−"; /* クリック後のアイコン */
  }
  #page .ac-menu div {
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.3s; /* 開閉スピード */
  }
  #page .ac-menu input:checked ~ div {
    height: auto;
    opacity: 1;
    padding: 20px; /* 中身の枠内の余白 */
    background: #FAFAFA; /* 中身の背景色 */
  }
  #page .ac-menu-inside {
    color: #333; /* 中身の文字色 */
    font-size: 17px; /* 中身の文字サイズ */
    line-height: 2; /* 行間 */
  }
  #page .job-table{
    box-sizing: border-box;
    border-collapse:collapse;
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
  }
  #page .job-table th{
    font-size: 1.4rem;
    width: 90px;
    background: #E3F1EC;
    border: solid 1px #017C50;
    padding: 12px 10px;
    line-height: 150%;
  }
  #page .job-table td{
    background-color: #fff;
    border: 1px solid #017C50;
    font-size: 1.4rem;
    padding: 12px 10px;
    line-height: 150%;
    width: auto;
  }
  @media (min-width: 768px) {
    /* #page .job-table{
      width: 65.6626%;
    } */
    #page .job-table th{
      font-size: 1rem;
      padding: 20px;
      width: 120px;
    }
    #page .job-table td{
      font-size: 1rem;
      padding: 20px;
    }
  }



/* recruit -------------------------*/
#page .recruit_top{
    display: flex;
}

#page .recruit_top_name{
    vertical-align: middle;
    text-align: right;
}
#page .recruit_top_name img{
    vertical-align: middle;
}
#page .recruit_title{
    color: #FFF;
    background-color: #017C50;
    display: inline;
    font-size: 2rem;
    line-height: 150%;
    padding: 5px 10px;
    margin: 0 0 20px 0;
  }
#page .recruit_img{
    text-align: center;
}
#page .recruit_img img {
    height: auto;
    max-width: 100%;
}
#page .recruit_img_big{
    width: 100%;
}
#page .recruit_greenball {
    list-style: none;
  }
#page .recruit_greenball li {
    list-style-type: none; /*点を非表示*/
    position: relative; /*基準位置*/
    padding-left: 1rem;
    margin-bottom: 1rem;
  }
  #page .recruit_greenball li:before {
    border-radius: 50%; /*丸くする*/
    width: 9px; /*点の幅*/
    height: 9px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 0; /*点の位置*/
    top: 0.1rem; /*点の位置*/
    content: "";
    background: #017C50; /*点の色*/
  }
#page .recruit_h3{
    font-size: 1.5rem;
    font-weight: bold;
    color: #017C50;
    border-bottom: 3px solid #017C50;
    margin: 80px 0 30px 0;
    padding: 0 0 10px 0;
}
#page .recruit_f_box_layout{
    display: flex;
    justify-content: space-between;
    margin-bottom: 3rem;
}
#page .recruit_f_box_layout > *{
    width: 100%;
    margin-right:1rem;
    background: #FFF
}
#page .recruit_f_box_layout > *:last-child{
    margin-right:0;
}
#page .recruit_f_box_layout .box{
    border: solid 1px #017C50;
    border-radius: 15px;
    text-align: center;
    padding: 10px;
}
#page .recruit_f_box_layout .box p{
    color: #017C50;
}
#page .recruit_f_box_layout .box img{
    margin: 10px auto;
}
#page .recruit_numerical{
    font-family: 'h2_heading_01';
	src: url("../fonts/BebasNeue-Regular.ttf");
    font-size: 5rem;
    font-weight: bold;
}
#page .recruit_numerical_sub{
    margin-left: 5px;
    font-size: 1rem;
}
#page .recruit_f_box_layout .box-data{
    text-align: left;
}
#page .recruit_f_box_layout .box-data01{
    color: #012F1E;
}
#page .recruit_f_box_layout .box-data02{
    color: #01462D;
}
#page .recruit_f_box_layout .box-data03{
    color: #347D63;
}
#page .recruit_f_box_layout .box-data04{
    color: #015D3C;
}
#page .recruit_f_box_layout .box-data05{
    color: #679E8A;
}
#page .recruit_f_box_layout .box-data06{
    color: #222222;
}

#page .recruit_foot{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}
#page .recruit_foot > div{
    width:calc(100%/4)
}
#page .recruit_foot_img {
    position: relative;  /* 帯の表示位置の基準とする */
  }
  
  #page .recruit_foot_img img {
    width: 100%;
  }
  #page .recruit_foot_img p{
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    text-align: right;
    width: 100%;         /* 画像の幅に合わせるため */
    position: absolute;  /* relativeの要素を基準にする */
    left: 0;             /* 基準からみて左寄せ */
    bottom: 0;           /* 基準からみて下寄せ */
    background: rgba(1,124,80,0.4);  /* 半透明の背景。 */
    padding: 0 8px;
    margin: 0;
    box-sizing: border-box;
  }

  @media (min-width: 1200px) {
    #page .recruit_foot_img p{
      font-size: 2rem;
    }
  }
  #page .recruit_foot_img p span{
      display: block;
      padding: 1rem 2rem 1rem 0
  }



/* privacypolicy -------------------------*/
#page .item-p{/*アコーディオンFAQ内でも使用*/
    color: #017C50;
    font-weight: bold;
}

/* accsess map -------------------------*/

#page .imgBox img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
}
#page .gmap {
height: 0;
overflow: hidden;
padding-bottom: 350px;
position: relative;
}
#page .gmap iframe {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 350px;
}
#page .link_position{
    margin-top: -90px;
    padding-top: 90px;
}
/* company */
#page .company-table{
    box-sizing: border-box;
    border-collapse:collapse;
    margin: 0 auto;
    width: 100%;
  }
  #page .company-table th{
    width: 120px;
    background: #E3F1EC;
    border: solid 1px #017C50;
    padding: 20px;
    line-height: 150%;
  }
  #page .company-table td{
    border: 1px solid #017C50;
    padding: 20px;
    line-height: 150%;
  }


/*　Company-沿革　*/
#page .history__timeline__list {
    margin: 0 0 100px;
  }
  
  #page .history__timeline__list__item {
    margin: 0;
    padding: 0 0 50px 20px;
    position: relative;
  }
  
  @media (min-width: 768px) {
    #page .history__timeline__list__item {
      align-items: stretch;
      -webkit-box-align: stretch;
      -webkit-box-pack: start;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
      -ms-flex-pack: start;
      justify-content: flex-start;
      padding: 0 0 50px 30px;
    }
  }
  
  #page .history__timeline__list__item:last-child {
    padding-bottom: 0;
  }
  
  #page .history__timeline__list__item:before {
    background-color: #017C50;
    border-radius: 50%;
    content: "";
    display: block;
    height: 11px;
    left: 0;
    position: absolute;
    top: 10px;
    width: 11px;
  }
  
  #page .history__timeline__list__item:after {
    background-color: #017C50;
    border-radius: 50%;
    bottom: -10px;
    content: "";
    display: block;
    height: auto;
    left: 5px;
    position: absolute;
    top: 10px;
    width: 1px;
  }
  
  #page .history__timeline__list__item:last-child:after {
    display: none;
  }
  
  #page .history__timeline__list__item__date {
    -webkit-box-flex: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    margin: 0 0 15px;
    white-space: nowrap;
    font-size: 1.2rem;
    font-weight: bold;
    color: #017C50;
  }
  
  @media (min-width: 768px) {
    #page .history__timeline__list__item__date {
      margin: 15px 0 0 0;
      width: 120px;
    }
  }
  
  #page .history__timeline__list__item__main {
    -webkit-box-flex: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
    padding: 3px 0 0 0;
  }
  
  @media (min-width: 768px) {
    #page .history__timeline__list__item__main {
      align-items: stretch;
      -webkit-box-align: stretch;
      -webkit-box-pack: start;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
      -ms-flex-pack: start;
      justify-content: flex-start;
      padding-left: 30px;
    }
  }
  
  #page .history__timeline__list__item__main__photo {
    margin: 0 0 15px;
    padding: 0;
  }
  
  @media (min-width: 768px) {
    #page .history__timeline__list__item__main__photo {
      -webkit-box-flex: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      -ms-flex-positive: 0;
      flex-shrink: 0;
      margin-bottom: 0;
      padding-right: 30px;
      width: 50%;
    }
  }
  
  @media (min-width: 992px) {
    #page .history__timeline__list__item__main__photo {
      margin: 0 30px 0 0;
      padding-right: 0;
      width: 350px;
    }
    #page .history__timeline__list__item__main__photo--small {
      width: 215px;
    }
  }

  #page .history__timeline__list__item__main__photo img {
    height: auto;
    max-width: 100%;
  }
  
  @media (min-width: 768px) {
    #page .history__timeline__list__item__main__content {
      -webkit-box-flex: 1;
      flex-grow: 1;
      -ms-flex-negative: 1;
      -ms-flex-positive: 1;
      flex-shrink: 1;
      width: 50%;
    }
  }
  
  @media (min-width: 992px) {
    #page .history__timeline__list__item__main__content {
      width: auto;
    }
  }
  #page .history__timeline__list__item__main__content__desc {
    margin: 0 0 0 0;
  }

  /*
  @media (min-width: 768px) {
    #page .history__timeline__list__item__main__content__desc {

    }
  }
  */
  #page .history__timeline__list__item__main__content__desc:last-of-type {
    margin-bottom: 0;
  }
  
  #page .history__timeline__list__item__main__content__action {
    margin: 50px 0 0;
    text-align: center;
  }



/* comprehensive */
#page .comprehensive_f_box_layout{
    display: flex;
    justify-content:flex-start;
    margin: 0 -30px 3rem 0;
    text-align: center;
    align-items: center;
}
#page .comprehensive_f_box_layout .box{
    width: calc(100%/3 - 80px);
}
#page .comprehensive_f_box_layout .arrow,
#page .comprehensive_f_box_layout .arrow-empty {
    width: 80px;
}
@media (min-width: 992px) {
    #page .comprehensive_f_box_layout .box{
        width: calc(100%/3 - 100px - 30px);
    }
    #page .comprehensive_f_box_layout .arrow,
    #page .comprehensive_f_box_layout .arrow-empty{
        width: 100px;
    }
}
#page .comprehensive_f_box_layout > *:last-child{
    margin-right:0;
}
#page .comprehensive_f_box_layout .box{
    position: relative;
    background: #017C50;
    padding: 15px;
    height: auto;
}
#page .comprehensive_f_box_layout .box img{
    width: 100%
}
#page .comprehensive_f_box_layout .num {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    position: absolute;
    top: -10%;
    left: 5%;
}
#page .comprehensive_f_box_layout h3{
    text-align: center;
    color: #fff;
    margin: 0 0 5px 0;
    font-size: 1.5rem;
}
#page .comprehensive_f_box_layout p{
    text-align: center;
    color: #fff;
    margin: 0 0 10px 0;
    font-size: 1.1rem;
}
#page .comprehensive_f_box_layout .arrow{
    vertical-align: middle;
}
/* comprehensive-btn */
#page a.comprehensive-btn-flat {
    overflow: hidden;
    color: #222222;
    border-radius: 0;
    background: #fff;
    width: 100%;
    height: 100%;
    padding: 10px 0;
    margin: 10px 0 0 0 ;
}
#page a.comprehensive-btn-flat:hover{
    color: #fff;
}
#page a.comprehensive-btn-flat span {
    position: relative;
    z-index: 1;
}
#page a.comprehensive-btn-flat:before {
    position: absolute;
    top: 0;
    left: calc(-100% + 20px);
    width: 100%;
    height: 100%;
    content: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-transform: translateX(0) translateY(0);
    transform: translateX(0) translateY(0);
    background: #222;
}
#page a.comprehensive-btn-flat:after {
    position: absolute;
    top: 0;
    right: calc(-100% + 20px);
    width: 100%;
    height: 100%;
    content: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-transform: translateX(0) translateY(0);
    transform: translateX(0) translateY(0);
    background: #222;
}
#page a.comprehensive-btn-flat:hover:before {
    -webkit-transform: translateX(50%) translateY(0);
    transform: translateX(50%) translateY(0);
}
#page a.comprehensive-btn-flat:hover:after {
    -webkit-transform: translateX(-50%) translateY(0);
    transform: translateX(-50%) translateY(0);
}

/* comprehensive-power */
#page .comprehensive_power_page .content_area p{
    line-height: 1.5
}
#page .comprehensive_power_page .content_area .title_text{
    font-size: 1.5rem;
}
#page .comprehensive_power_page .content_area > div{
    display: flex;
    width: 100%;
    align-items: center;
    margin-bottom: 1.5rem;
}
#page .comprehensive_power_page .content_area img{
    width: 100%;
}
#page .comprehensive_power_page .content_area > div.position_left{
    flex-direction: row-reverse;
}
/* #page .comprehensive_power_page .content_area .text_area > div{
    width: 500px;
    margin: 0 0 0 auto ;
} */

@media (min-width: 897px) {
    #page .comprehensive_power_page .content_area .text_area {
        box-sizing: border-box;
        padding-left: 30px;
        padding-right: 30px;
        width: 45%;
    }
    #page .comprehensive_power_page .content_area .text_area .btn {
        max-width: 500px;
        width: 100%;
    }
    #page .comprehensive_power_page .content_area .image {
        width: 55%;
    }
    #page .comprehensive_power_page .content_area .text_area > div{
        max-width: 500px;
        width: 100%;
    }

    #page .comprehensive_power_page .content_area .position_left .text_area > div {
        margin: 0 0 0 auto;
    }
    #page .comprehensive_power_page .content_area .position_right .text_area {
    }
}
@media (min-width: 1200px) {
    #page .comprehensive_power_page .content_area .text_area {
        width: auto;
    }
    #page .comprehensive_power_page .content_area .image {
        width: auto;
    }
    #page .comprehensive_power_page .content_area .position_left .text_area {
        padding-right: 0;
    }
    #page .comprehensive_power_page .content_area .position_right .text_area {
        padding-left: 0;
    }
}
/* comprehensive-吹き出し */
#page .balloon{
    margin: 0 110px;
    padding: 0;
}
#page .balloon1{
    position: relative;
    padding: 20px;
    background-color: #fff;
    border: 2px solid #017C50;
    border-radius: 5px;
    margin: 0 0 50px 0;
    color: #017C50;
}
#page .balloon1 .icon{
    position: absolute;
    left: -130px;
    top: 0;
    color: #017C50;
    text-align: center;
    font-weight: bold;
}
#page .balloon1::before{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -15px;
    top: 20%;
    border-right: 15px solid #017C50;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}
#page .balloon1::after{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    left: -12px;
    top: 20%;
    border-right: 15px solid #fff;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
  }
#page .balloon2{
    position: relative;
    padding: 20px;
    background-color: #fff;
    border: 2px solid #017C50;
    border-radius: 5px;
    margin: 0 0 50px 0;
    color: #017C50;
}
#page .balloon2 .icon{
    position: absolute;
    right: -110px;
    top: 0;
}
#page .balloon2::before{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -15px;
    top: 20%;
    border-left: 15px solid #017C50;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
}
#page .balloon2::after{
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    right: -12px;
    top: 20%;
    border-left: 15px solid #fff;
    border-top: 15px solid transparent;
    border-bottom: 15px solid transparent;
  }

/*　news      -------------------------*/
#page .archive_content{
    display: flex;
    justify-content: space-between;
}
#page .archive_content .archive_area{
    width: 75%;
}
#page .archive_content .archive_list{
    position: relative;
    border: 1px solid #017C50;
    display: flex;
    justify-content: space-between;
    padding: 0.5rem;
    margin-bottom: 2rem;
}
#page .archive_content .archive_list img{
    width: 100%;
    height: 100%;
}
#page .archive_content .archive_list .date{
    margin-bottom: 1rem;
}
#page .archive_content .archive_list .heading{
    font-size:1.17rem;
    margin-bottom: 1rem;
}
#page .archive_content .archive_list > div:nth-child(1){
    width: 25%;
}
#page .archive_content .archive_list > div:nth-child(2){
    width: 70%;
    padding-top: 0.5rem;
}
#page .archive_content .archive_list .category{
    position: absolute;
    top: 1rem;
    right: 0.5rem;    
}
#page .archive_content .archive_list .category span{
    background: #017C50;
    color: #FFF;
    padding: 0.5rem;
}
#page .archive_content .archive_menu{
    width: 20%;
}
#page .archive_content .archive_menu > div{
    margin-bottom: 3rem;
    border: 1px solid #017C50;
}
#page .archive_content .archive_menu > div h3{
    padding: 0.5rem 1rem;
    background: #017C50;
    color: #FFF;
    font-weight: normal;    
}
#page .archive_content .archive_menu > div li{
    border-bottom: solid 1px #017C50;
}
#page .archive_content .archive_menu > div li:last-child{
    border-bottom: none;
}
#page .archive_content .archive_menu > div li a{
    display: block;
    padding: 1rem 1rem;
}
#page .archive_content .archive_menu > div li a:hover{
    background: #E3F1EC;
}
#page .pager  ul.pagination {
  text-align: center;
  margin: 0;
  padding: 0;
}

#page .pager .pagination li {
  display: inline;
  margin: 0 2px;
  padding: 0;
  display: inline-block;
  background:#FFF;
  width: 50px;
  height: 50px;
  text-align: center;
  position: relative;
}

#page .pager .pagination li a{
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display:table;
  color: #017C50;
  border: 1px solid #017C50;
  text-decoration: none;
}

#page .pager .pagination li a span{
  display:table-cell;
  vertical-align:middle;
}

#page .pager .pagination li a:hover,
#page .pager .pagination li a.active{
  color:  #fff;
  background: #017C50;
}

@media only screen and (max-width: 767px){
 #page  .pager .pagination li{
    display: none;
  }

  #page .pager .pagination li.pre,
  #page .pager .pagination li.next{
    display: inline-block;
    width: 40%;
    height: 50px;
    text-align: center;
  }

  #page .pager .pagination li.pre a,
  #page .pager .pagination li.next a{
    width: 100%;
    text-align: center;
  }

/*  #page .pager .pagination li.pre span::after{
    content: "　前の10件へ";
  }

  #page .pager .pagination li.next span::before{
    content: "次の10件へ　";
  }*/

}

/*　equipment -------------------------*/

#page .equipment_item_list{
    display: flex;
    gap: 30px;
    width: 100%;
    justify-content: space-between;
}
#page .equipment_item_list img{
    padding-bottom: 1em;
    width: 100%;
}

#page .equipment_table{
    width: 45%;
}

/* Job description */
#page .job-desc .out_line_width {
    margin-bottom: 80px;
}

@media (min-width: 768px) {
    #page .job-desc .out_line_width {
        margin-bottom: 160px;
    }
}

#page .job-desc-content {
    padding: 0 0 0 30px;
}

@media (min-width: 768px) {
    #page .job-desc-content {
        padding: 0 0 0 60px;
    }
}

#page .job-desc-content p {
    font-size: 1.4rem;
    line-height: 1.2;
    margin: 0 0 1.5em;
}

@media (min-width: 768px) {
    #page .job-desc-content p {
        font-size: 1.125rem;
    }
}

#page .job-desc-content p:last-child {
    margin-bottom: 0;
}

#page .job-desc .ac-menu label {
    font-weight: 500;
}

#page .job-desc .ac-menu .ac-menu-inside {
    background-color: #fff;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
}

/* interview */
#page .interview-container {
    box-sizing: border-box;
    margin: 0 auto;
    max-width: 1180px;
    padding: 0 20px;
    width: 100%;
}

@media (min-width: 768px) {
    #page .interview-container {
        padding: 0 30px;
    }
}

#page .interview_menu {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    gap: 20px;
    justify-content: flex-start;
}

@media (min-width: 768px) {
    #page .interview_menu {
        gap: 40px;
    }
}

#page .interview_menu__item {
    width: calc(50% - 10px);
}

@media (min-width: 768px) {
    #page .interview_menu__item {
        width: calc(33.33333% - 26.66667px);
    }
}

#page .interview_menu__item__link {
    box-shadow: 4px 4px 4px rgba(0, 0, 0, 0.16);
    display: block;
    margin: 0 auto;
    max-width: 327px;
    text-decoration: none;
    transition: opacity 0.35s cubic-bezier(0.645, 0.045, 0.355, 1) 0s;
    width: -webkit-fit-content;
    width: fit-content;
}

#page .interview_menu__item__link__fig {
    font-size: 10px;
    line-height: 1;
    margin: 0 0 -1px;
    text-align: center;
}

#page .interview_menu__item__link__fig img {
    height: auto;
    max-width: 100%;
    vertical-align: middle;
}

#page .interview_menu__item__link__profile {
    background-color: #017C50;
    color: #fff;
    padding: 10px;
}

@media (min-width: 768px) {
    #page .interview_menu__item__link__profile {
        padding: 20px 25px;
    }
}

#page .interview_menu__item__link__profile__section {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0 0 6px;
    text-align: center;
}

@media (min-width: 768px) {
    #page .interview_menu__item__link__profile__section {
        font-size: 1.875rem;
        margin: 0 0 8px;
    }
}

#page .interview_menu__item__link__profile__name {
    font-size: 1.6rem;
    line-height: 1.2;
    margin: 0;
    text-align: center;
}

@media (min-width: 768px) {
    #page .interview_menu__item__link__profile__name {
        font-size: 1.625rem;
    }
}

#page .interview_menu__item__link:focus {
    opacity: 0.65;
}

@media (hover: hover) and (pointer: fine) {
    #page .interview_menu__item__link:hover {
        opacity: 0.65;
    }
}
#page .interview_flexbox{
 /*    display: flex; */
    justify-content: space-between;
    text-align: center;
}
#page .interview_box1{
    text-align: left;
}
#page .interview_name{
    background-color: #017C50;
    padding: 10px;
    margin: 0 0 20px 0;
    color: #fff;
    font-size: 2rem;
    line-height: 30px;
    font-weight: 500;
}
#page .interview_name span{
    font-size: 1.3rem;
}
#page .interview_q{
    color: #017C50;
    font-weight: bold;
    margin: 0 0 10px 0;
    letter-spacing: 0.1em;
}
#page .interview_a{
    margin: 0 0 20px 0;
    letter-spacing: 0.1em;
}

/* とある一日タイムライン */
#page .interview__timeline__list {
    margin: 0 0 100px;
  }
  
  #page .interview__timeline__list__item {
    margin: 0;
    padding: 0 0 50px 20px;
    position: relative;
  }
  
  @media (min-width: 768px) {
    #page .interview__timeline__list__item {
      align-items: stretch;
      -webkit-box-align: stretch;
      -webkit-box-pack: start;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
      -ms-flex-pack: start;
      justify-content: flex-start;
      padding: 0 0 50px 30px;
    }
  }
  
  #page .interview__timeline__list__item:last-child {
    padding-bottom: 0;
  }
  
  #page .interview__timeline__list__item:before {
    background-color: #017C50;
    border-radius: 50%;
    content: "";
    display: block;
    height: 11px;
    left: 0;
    position: absolute;
    top: 10px;
    width: 11px;
  }
  
  #page .interview__timeline__list__item:after {
    background-color: #017C50;
    border-radius: 50%;
    bottom: -10px;
    content: "";
    display: block;
    height: auto;
    left: 5px;
    position: absolute;
    top: 10px;
    width: 1px;
  }
  
  #page .interview__timeline__list__item:last-child:after {
    display: none;
  }
  
  #page .interview__timeline__list__item__date {
    -webkit-box-flex: 0;
    flex-grow: 0;
    -ms-flex-negative: 0;
    -ms-flex-positive: 0;
    flex-shrink: 0;
    margin: 0 0 15px;
    white-space: nowrap;
    font-size: 1.2rem;
    font-weight: bold;
    color: #017C50;
  }
  
  @media (min-width: 768px) {
    #page .interview__timeline__list__item__date {
      margin: 15px 30px 0 0;
      width: 120px;
    }
  }
  
  #page .interview__timeline__list__item__main {
    -webkit-box-flex: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    -ms-flex-positive: 1;
    flex-shrink: 1;
  }
  
  @media (min-width: 768px) {
    #page .interview__timeline__list__item__main {
      align-items: stretch;
      -webkit-box-align: stretch;
      -webkit-box-pack: start;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
      -ms-flex-pack: start;
      justify-content: flex-start;
    }
  }
  
  #page .interview__timeline__list__item__main__photo {
    margin: 0 0 15px;
    padding: 0;
  }
  
  @media (min-width: 768px) {
    #page .interview__timeline__list__item__main__photo {
      -webkit-box-flex: 0;
      flex-grow: 0;
      -ms-flex-negative: 0;
      -ms-flex-positive: 0;
      flex-shrink: 0;
      margin-bottom: 0;
      padding-right: 30px;
      width: 50%;
    }
  }
  
  @media (min-width: 992px) {
    #page .interview__timeline__list__item__main__photo {
      margin: 0 30px 0 0;
      padding-right: 0;
      width: 243px;
    }
    #page .interview__timeline__list__item__main__photo--small {
      width: 215px;
    }
  }
  
  @media (min-width: 768px) {
    #page .interview__timeline__list__item__main__content {
      -webkit-box-flex: 1;
      flex-grow: 1;
      -ms-flex-negative: 1;
      -ms-flex-positive: 1;
      flex-shrink: 1;
      width: 50%;
    }
  }
  
  @media (min-width: 992px) {
    #page .interview__timeline__list__item__main__content {
      width:30%
    }
  }
  #page .interview__timeline__list__item__main__content__desc {
    margin: 0 30px 0 0;
  }

  /*
  @media (min-width: 768px) {
    #page .interview__timeline__list__item__main__content__desc {

    }
  }
  */
  #page .interview__timeline__list__item__main__content__desc:last-of-type {
    margin-bottom: 0;
  }
  
  #page .interview__timeline__list__item__main__content__action {
    margin: 50px 0 0;
    text-align: center;
  }


  /* gotothe100th-power */
#page .gotothe100th_power_page .content_area > div{
	position: relative;
    max-width: 1580px;
    width: 100%;
    margin: 0 0 1.5rem;
}
#page .gotothe100th_power_page .content_area p{
    line-height: 1.5
}

#page .gotothe100th_power_page .content_area .text_area{
	position: absolute;
	bottom: 0;
    left: auto;
    right: 0;
}
#page .gotothe100th_power_page .content_area .image {

}
#page .gotothe100th_power_page .content_area .image img {
    height: auto;
    max-width: 100%;
}
#page .gotothe100th_power_page .content_area .position_left{
    margin-left: auto;
    margin-right: 0;

}
#page .gotothe100th_power_page .content_area .position_left .image{
	text-align: right;
}
#page .gotothe100th_power_page .content_area .position_left .text_area{
	bottom: 0;
	left: 0;
	right: auto;
}
#page .gotothe100th_power_page .content_area .text_area > div{
    width: 500px;
    padding: 30px 20px 30px 150px;
    text-align: right;
    background: rgba(255,255,255,0.7);
}
#page .gotothe100th_power_page .content_area .position_left .text_area > div{
    width: 500px;
    padding: 30px 150px 30px 20px;
    text-align: left;
}
#page .gotothe100th_power_page .content_area .title_text{
    font-size: 1.2rem;
    color: #017C50;
    margin: 10px 0;
}
#page .gotothe100th_power_page .content_area .big{
    font-size: 1.8rem;
    font-weight: bold;
    margin: 10px 0;
}


#page .gotothe100th_power_page .content_area > div.position_left{
    flex-direction: row-reverse;
}

#page .gotothe100th_power_page .content_area > div.position_left{
}

#page .catch_title {
	position: relative;
	padding: 1.5rem 0;
    margin: 0 50px;
	-webkit-transform: skewX(-30deg);
	        transform: skewX(-30deg);
	color: #ffffff;
	border-radius: 3px 3px 3px 3px;
	background-color: #017C50;
    font-size: 2.5rem;
    font-weight: bold;
	text-align: center;
}
#page .catch_title span {
	display: block;
	-webkit-transform: skewX(30deg);
	        transform: skewX(30deg);
}

#page .item-sdgs {
	color: #017C50;
    font-size: 1.5rem;
    font-weight: bold;
    border-bottom: solid 2px #017C50;
}
#page .item-sdgs_under{
	color: #017C50;
    font-size: 1.1rem;
    font-weight: bold;
    margin: 10px 0 10px 0;
}

/*contact*/

#page .contact_tel{
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 0rem;
    padding-bottom: 0rem!important;
}

#page .contact-table{
    box-sizing: border-box;
    border-collapse:collapse;
    margin: 0 auto;
    width: 100%;
  }
  #page .contact-table th{
    background: #E3F1EC;
    border: solid 1px #017C50;
    box-sizing: border-box;
    padding: 1rem 2rem;
    line-height: 150%;
    text-align: left;
    font-weight: normal;
  }
  #page .contact-table td{
    border: 1px solid #017C50;
    box-sizing: border-box;
    padding: 20px;
    line-height: 150%;
    background: #FFF
  }
#page .contact-table th .notes{
    color: #CC0000;
  }
#page .contact-table .input_area{
    box-sizing: border-box;
    width: 100%;
    padding: 0.25rem;
}
#page .contact-table .tel_area{
    padding: 0.25rem;
}
#page .contact-table .text_area{
    box-sizing: border-box;
    width: 100%;
    padding: 0.5rem;
}
#page .contact-table .error{
    display: block;
    text-align: left;
    font-weight:bold;
    padding: 0.25rem 0 0;
}

#page .contact-table .mwform-file-delete + .mw-wp-form_file {
    display: block;
    line-height: 1.6;
    margin: 1.25rem 0 0;
}

#page .contact-table ._note {
    display: block;
    font-size: 80%;
    line-height: 1.6;
    margin: .5rem 0 0;
}

#page .mw_wp_form_confirm .contact-table ._note {
    display: none;
}

/*記事*/
#page .news_single .content_area > *{
    line-height: 1.5;
    margin-bottom: 1rem;
}
#page .news_single h1{
    color: #017C50;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 20px;
}
/* editor */
 
#page .news_single .content_area p {
    display: block;
    margin: 1em 0;
}
#page .news_single .content_area strong { font-weight: bold; }
#page .news_single .content_area em { font-style: italic; }
#page .news_single .content_area blockquote {
    display: block;
    -webkit-margin-before: 1em;
    -webkit-margin-after: 1em;
    -webkit-margin-start: 40px;
    -webkit-margin-end: 40px;
}
 
/* img */
 
#page .news_single .content_area .aligncenter {
    display: block;
    margin: 0 auto;
}
#page .news_single .content_area .alignright { float: right; }
#page .news_single .content_area .alignleft { float: left; }
 
#page .news_single .content_area img[class*="wp-image-"],
#page .news_single .content_area img[class*="attachment-"] {
    height: auto;
    max-width: 100%;
}
#page .news_single .content_area ul{
    list-style-type: disc;
}
/* clearfix */
 
#page .news_single .content_area {
    overflow: hidden;
    zoom: 1;
}
#page .news_single .content_area:after {
    content: "";
    display: block;
    clear: both;
}
#page .puroduct_heading_col2 h2{
    font-size: 2rem !important;
}
#page .puroduct_heading_col3{
    font-size: 1rem !important;
}

/*　title部分 -------------------------*/
#page .j_column{
    background-image: url("../images/j_column/title.png");
}
#page .proposal{
    background-image: url("../images/proposal/title.png");
}
#page .topics{
    background-image: url("../images/topics/title.png");
}
#page .quality{
    background-image: url("../images/quality/title.png");
}
#page .development{
    background-image: url("../images/development/title.png");
}
#page .material{
    background-image: url("../images/material/title.png");
}
#page .manufacturing{
    background-image: url("../images/manufacturing/title.png");
}
#page .mechanical-carbon{
    background-image: url("../images/mechanical-carbon/title.png");
}
#page .privacypolicy{
    background-image: url("../images/privacypolicy/title.png");
}
#page .access{
    background-image: url("../images/access/title.png");
}
#page .recruit{
    background-image: url("../images/recruit/title.png");
}
#page .job-description{
    background-image: url("../images/job-description/title.png");
}
#page .comprehensive{
    background-image: url("../images/comprehensive/title.png");
}
#page .company{
    background-image: url("../images/company/title.png");
}
#page .product{
    background-image: url("../images/product/title.png");
}
#page .news{
    background-image: url("../images/news/title.png");
}
#page .equipment{
    background-image: url(../images/equipment/title.png);
}
#page .interview{
    background-image: url("../images/interview/title.png");
}
#page .gotothe100th{
    background-image: url("../images/gotothe100th/title.png");
}
#page .contact{
    background-image: url("../images/contact/title.png");
}
#page .contact-config{
    background-image: url("../images/contact-config/title.png");
}
#page .contact-error{
    background-image: url("../images/contact-error/title.png");
}


/* company */
#organization > div.out_line_width > p:nth-child(2) > a > img {
    height: auto;
    max-width: 999px;
    width: 100%;
}

/* j_column */
#page .j_column-gallery {
    padding: 0 30px;
}
#page .j_column-gallery li img {
    height: auto;
    max-width: 100%;
}

#page .j_column-actions {
    gap: 20px;
}

#page .j_column-actions > div {
    margin: 0 0 20px;
    width: 100%;
}

@media (max-width: 896px) {
    #page .j_column-actions > div:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 897px) {
    #page .j_column-actions > div {
        margin: 0;
        width: calc(50% - 10px);
    }
}

#page .j_column-actions .btn2 {
    box-sizing: border-box;
    min-width: auto;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
}

/* development */
#page .development-actions {
    gap: 20px;
}

#page .development-actions > div {
    margin: 0 0 20px;
    width: 100%;
}

@media (max-width: 896px) {
    #page .development-actions > div:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 897px) {
    #page .development-actions > div {
        margin: 0;
        width: calc(50% - 10px);
    }
}

#page .development-actions .btn2 {
    box-sizing: border-box;
    min-width: auto;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
}

/* manufacturing */
#page .manufacturing-flow img {
    width: 100%;
}

#page .manufacturing-gallery li img {
    height: auto;
    max-width: 100%;
}

#page .manufacturing-actions {
    gap: 20px;
}

#page .manufacturing-actions > div {
    margin: 0 0 20px;
    width: 100%;
}

@media (max-width: 896px) {
    #page .manufacturing-actions > div:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 897px) {
    #page .manufacturing-actions > div {
        margin: 0;
        width: calc(50% - 10px);
    }
}

#page .manufacturing-actions .btn2 {
    box-sizing: border-box;
    min-width: auto;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
}


/* quality */
#page .quality-system img {
    height: auto;
    max-width: 100%;
}

#page .quality-equipment h3 + p img {
    height: auto;
    max-width: 100%;
}

#page .quality-actions {
    gap: 20px;
}

#page .quality-actions > div {
    margin: 0 0 20px;
    width: 100%;
}

@media (max-width: 896px) {
    #page .quality-actions > div:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 897px) {
    #page .quality-actions > div {
        margin: 0;
        width: calc(50% - 10px);
    }
}

#page .quality-actions .btn2 {
    box-sizing: border-box;
    min-width: auto;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
}

/* proposal */
#page .proposal-list {
    gap: 40px;
}

#page .proposal-list > div {
    box-sizing: border-box;
    margin: 0 0 20px;
    width: 100%;
}

@media (max-width: 896px) {
    #page .proposal-list > div:last-child {
        margin-bottom: 0;
    }
}

@media (min-width: 897px) {
    #page .proposal-list > div {
        margin-bottom: 0;
        width: calc(50% - 20px);
    }
}

/* mechanical-carbon */
@media (max-width: 896px) {
    #page .mechanical-carbon-table-wrapper {
        white-space: nowrap;
        overflow-x: auto;
    }
}

/* recruit */
#page img.recruit-img {
    height: auto;
    max-width: 100%;
}

#page .recruit-gallery {
    align-items: center;
    display: flex;
    flex-flow: column nowrap;
    gap: 12px;
    justify-content: center;
    list-style: none;
    margin: 0 0 3rem;
    padding: 0;
}

@media (min-width: 897px) {
    #page .recruit-gallery {
        flex-direction: row;
    }
}

#page .recruit-gallery > li {
    margin: 0;
    padding: 0;
}

#page .recruit-gallery > li img {
    height: auto;
    max-width: 100%;
}

@media (max-width: 896px) {
    #page .recruit-action .btn2 {
        box-sizing: border-box;
        padding-left: 10px;
        padding-right: 10px;
        width: 100%;
    }
}


/* --------------------
 Perfect scroll
-------------------- */
.js-ps {
    padding: 0;
    position: relative;
}

.ps--active-x {
    padding-bottom: 10px;
}

.ps--active-y {
    padding-right: 18px;
}

.ps__rail-x {
    background-color: rgb(199.3043478261, 200.8956521739, 200.8956521739) !important;
    border-radius: 2px;
    height: 4px !important;
    opacity: 1 !important;
}

.ps__thumb-x {
    background-color: #017C50 !important;
    border-radius: 2px;
    bottom: 0 !important;
    height: 4px !important;
}

.ps__rail-y {
    background-color: rgb(199.3043478261, 200.8956521739, 200.8956521739) !important;
    border-radius: 0;
    opacity: 1 !important;
    width: 14px !important;
}

.ps__thumb-y {
    background-color: #6a6c6a !important;
    border-radius: 0;
    right: 2px !important;
    width: 10px !important;
}