@charset "utf-8";
/* CSS Document *//*================================================
 *  汎用クラス
 ================================================*/
:root{
    --mainBlue:#084595;
    --subBlue:#cfdbeb;
    --middleBlue:#87b0dd;
    --contentWidth:1200px;
    --sectionPadding-M:15rem;
    --sectionPadding-S:10rem;
    --borderColor-table:#707070;
}
.container {
    max-width: var(--contentWidth);
}
.container-in{
    width: 100%;
    max-width: var(--contentWidth);
    margin-left: auto;
    margin-right: auto; 
}
.title{
    font-size: 4rem;
    font-weight: 500;
    line-height: 1.0;
}

.page_h1{
    background: var(--mainBlue);
    color: #fff;
    text-align: center;
}
.page_h2{
    color: var(--mainBlue);
    font-size: 2.6rem;
    line-height: 1.5;
}
.page_h3{
}
.page_h4{
}
.page_h5{
}
.top_h2{
    color: var(--mainBlue);
    font-size: 2.6rem;
    line-height: 1.5;
}
.h2-logo {
    background: url("../images/shisaka_icon.png") no-repeat left center;
    background-size: 60px;
    padding: 1.5rem 0 1.5rem 7.5rem;
}
/*各ページヘッダー*/

.text-shadow{
    text-shadow: 0 0 5px rgba(19,43,63,0.4);
}

/*余白*/
.page_h3 + p{
    margin-top: 3rem;
}
/*リンク*/

.btn-link{
    color: #fff;
    padding: 3rem 5rem;
    font-size:22px;
    font-weight: 600;
    text-align: center;
    line-height: 1.0;
    position: relative;
    z-index: 2;
}
.btn-link::before{
content: "";
    background: var(--mainBlue);
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transform: skewX(-15deg);
    box-shadow: 10px 10px 0 var(--subBlue);
    transition: 0.2s;
}
.text-link{
    text-decoration: underline;
}
[class*="link"],[class*="btn"]{
    transition: .2s;
}
.fc-wh{
    color: #fff;
}
.col-txt{
    color: #303030;
}
.col-txt .top_h3{
    font-size: 2.4rem;
}
.col-txt .top_h3 + p{
    margin-top: 0.5em;
}
.text-block{
    display: block;
}
.table_list{
    width: 100%;
    margin-top: 50px;
}

.table_list th{
    text-align: left;
    font-size: 2.2rem;
    font-weight: bold;
    color: var(--middleBlue);
    
}
.margin-top100{
    margin-top: 10rem;
}
/*表示非表示切替*/
.hidden{
    display: none !important;
}
.fade-in {
    opacity: 0;
    transform: translateY(50px);
    transition: all 1s;
}
.fade-delay{
    opacity: 0;
    transform: translateY(50px);
    transition: all 0.5s;
    transition-delay: 0.5s;
}

/* フェードインするためのクラス */
.fade-in.show,.fade-delay.show {
    opacity: 1;
    transform: translateY(0);
}
/*================================================
 * 共通
 ================================================*/

/*---* ヘッダー *---*/
body{
    background: #fff;
}
html{    
    scroll-behavior: smooth;
}
main{
    overflow-x: hidden;
}
#header_g{
    z-index: 9999;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    transition: 0.3s;
}
.header-wrap{
    background: #fff;
}

.logo{
    /*width: 60%;*/
    max-width: 60px;
    flex-shrink: 1;
    line-height: 0;
    flex-basis: 60px;
    
}
.header-logo a{
    color: #303030;
}
.btn-tc{
    
}
.nav_link {
    line-height: 1.0;
    font-size: 1.8rem;
}
.nav_submenu_list .nav_submenu_link{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
/*----* トップページ *----*/

.mv {
    background: var(--mainBlue);
    padding-top: 88px;
}
.mv .container{
    margin-top: 7.5rem;
    position: relative;
}
.container-right{
    margin-right: 0;
    max-width: calc(var(--contentWidth) + ((100% - var(--contentWidth)) / 2));
}
.container-left{
    margin-left: 0;
    max-width: calc(var(--contentWidth) + ((100% - var(--contentWidth)) / 2));
}

.main_img{
    
}
.main_img .image{
    object-fit: cover;
    display: block;
}
.main_copy{
    position: absolute;
    bottom: 13%;
    color: #fff;
    font-size: 4rem;
    font-weight: 400;
}
.main_copy .slide_box{
    display: inline-block;
}
.main_copy .slideInner{
    background: rgba(0,0,0,.8);
    padding: 0.2em 0.3em;
}
.col-txt .top_h2 + p{
    margin-top: 3rem;
}
.col-txt p + .btn-link{
    margin-top: 3rem;
}
.topCol-square .topCol-2{
    position: relative;
}
.topCol-square .topCol-2::before{
    content: "";
    display: block;
    padding-top: 100%;
}
.topCol-square .square{
    position: absolute;
    top: 0; 
    left: 0;
    width: 100%;
    height: 100%;
    padding: 2rem;
}
#top-section01.topCol-square .square{
    display: flex;
    justify-content: center;
    align-items: center;
}
.frm_border{
    position: absolute;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    top:20px;
    left: 20px;
}
.frm_border::before,
.frm_border::after{
    content: "";
    display: block;
    position: absolute;
    width: 45%;
    height: 45%;
}
.frm_border::before{
    top:0;
    left: 0;
    border-top:1px solid #fff;
    border-left:1px solid #fff;
}
.frm_border::after{
    bottom:0;
    right: 0;
    border-bottom:1px solid #fff;
    border-right:1px solid #fff;
}

.topCol-square .tb-text{
    background: #cedaea;
}
.topCol-square .tb-deli{
    background: url("../images/index_performanceimage.jpg") no-repeat center;
    background-size: cover;
    position: relative;
}
#top-section02{
    position: relative;
    padding-bottom: 0;  
}
#top-section02::after{
    content: "";
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 75%;
    top: 0;
    left: 0;
    background:#fff url("../images/back_line.png");

}
#top-section02 .col-txt{
    background: rgba(255,255,255,.8);
    max-width: 600px;
}

#top-section03{
    background: -moz-linear-gradient(top, #084595 45%, rgba(255,255,255,0) 45%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #084595 45%,rgba(255,255,255,0) 45%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #084595 45%,rgba(255,255,255,0) 45%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    position: relative;
    
}
#top-section03::after{
    content: "";
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-image: url("../images/back_line.png");
    top: 0;
    left: 0;
}
#top-section03 .top_h2{
    color: #fff;
}

#top-section03 .topCol-2{
    background-position: center;
    background-size: cover;
    text-align: center;
}
#top-section03 .topCol-2:nth-of-type(1){
    background-image: url("../images/index_facilityimage.jpg");
}
#top-section03 .topCol-2:nth-of-type(2){
    background-image: url("../images/index_businessimage.jpg");
}
#top-section03 .col-txt{
    background-color: rgba(9,35,99,.45);
    color: #fff;
    padding: 13rem 4.8%;
    height: 100%;
}
#top-section04{
    background: var(--mainBlue);
}
#top-section04 .col-txt{
    background: #fff;
    padding: 6rem 4.8%;
    text-align: center;
}
#top-section05 .topCol-2{
    padding: 2rem;
}
.top-news_post{
    padding: 2em 0;
    border-bottom: 1px solid #303030;
}

.tn_date{
    font-weight: bold;
}
.top-news_post .tn_date{
    color: var(--middleBlue);
}

.top-link{
    margin-top: 2em;
    text-align: center;
}
.top_map{
    background: #cfdbeb;
}
.top_map .map {
    padding-top: 100%;/*高さ*/
    margin-top: 2em;
}
/*----*  *----*/
.pfLink .topCol-2{
    background-position: center;
    background-size: cover;
    text-align: center;
}
.pfLink .col-txt{
    background-color: rgba(9,35,99,.45);
    color: #fff;
    height: 100%;
    padding: 15rem 4.8%;
}
/*----* はじめに *----*/
    /*はじめに*/
body:not(#index){
    background: url("../images/back_line.png");
}
body:not(#index) main{
    padding-top: 18rem;
}
.bg-sb{
    background: var(--subBlue);
}
.bg-a_sb{
    background: -moz-linear-gradient(top,  rgba(255,255,255,0) 50%, var(--subBlue) 50%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 50%, var(--subBlue) 50%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(255,255,255,0) 50%, var(--subBlue) 50%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.bg-sb_a{
    background: -moz-linear-gradient(top, var(--subBlue) 50%, rgba(255,255,255,0) 50%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, var(--subBlue) 50%,rgba(255,255,255,0) 50%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, var(--subBlue) 50%,rgba(255,255,255,0) 50%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.bg-mb{
    background: var(--mainBlue);
}
.bg-a_mb{
    background: -moz-linear-gradient(top,  rgba(255,255,255,0) 50%, var(--mainBlue) 50%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 50%,var(--mainBlue) 50%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(255,255,255,0) 50%,var(--mainBlue) 50%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.bg-mb_a{
    background: -moz-linear-gradient(top, var(--mainBlue) 50%, rgba(255,255,255,0) 50%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top, var(--mainBlue) 50%,rgba(255,255,255,0) 50%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, var(--mainBlue) 50%,rgba(255,255,255,0) 50%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#access{
    background: -moz-linear-gradient(top,  rgba(255,255,255,0) 75%, var(--subBlue) 25%); /* FF3.6-15 */
    background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 75%,var(--subBlue) 25%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom,  rgba(255,255,255,0) 75%,var(--subBlue) 25%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
.bg-wh{
    background: #fff;
}
.con-img{
    width: 90%;
    max-width: 960px;
}
.con-img img{
    display: block;
}
.con-img.img-left{
    margin-left: 0;
    margin-right: auto
}
.con-img.img-right{
    margin-left: auto;
    margin-right: 0;
}
/*----* 会社情報 *----*/
.co_header{
    display: flex;
}
.co_txt{
    margin-top: 1em;
}
ol.co_txt{
    list-style: decimal;
    padding-left: 1em;
}
.co_txt + .page_h2{
    margin-top: 2em;
}
.co_history{
    margin-top: 5rem;
}
.history_item{
    display: flex;
}
.history_yy{
    color: var(--middleBlue);
    font-weight: bold;
    font-size: 2.2rem;
    line-height: 3rem;
}

.history_line{
    position: relative;
    display: block;
    background: #333;
    width: 1px;
    margin-left:1.5em;
    margin-right: 1.5em;
    top:3px;
}
.history_line::before,.history_line::after{
    content: "";
    display: block;
}
.history_line::after{
    width: 2.2rem;
    height: 2.2rem;
    background: var(--mainBlue);
    border-radius: 50%;
    z-index: 2;
    margin-left: calc(-1.1rem + 1px);
}
.co_access.map{
    margin-top: 5rem;
}
.co_message{
}
.co_message p{
    line-height: 2;
}
.image_sdgs + p{
    margin-top: 3rem;
}
/*----* 事業内容*----*/
#business{
    counter-reset: number 0;
}
.ctn_biz{
    background: #fff;
    margin-top: 15rem;
}
.biz_h3{
    color: var(--mainBlue);
    display: flex;
    align-items: center;
    line-height: 1.6;
}
.biz_h3::before{
    counter-increment: number 1;
    content:"0" counter(number) ". ";
    color: var(--middleBlue);
    font-size: 2.2em;
    font-weight: 500;
    flex-shrink: 1;
    margin-right: 0.5em;
}
.biz_h3 + .flex{
    margin-top: 10rem;
}
.ctn_biz h4 + p,.ctn_biz h3 + p{
    margin-top: 2em
}
.biz_flow{
    margin-top: 10rem;
}
.biz_flow dt{
    margin-top: 5em;
    color: var(--mainBlue);
    font-weight: bold;
    text-align: center;
}
.biz_flow dd{
    margin-top: 2em;
    text-align: center;
}
.biz_flow dd:not(:last-of-type){
    padding-bottom: 10rem;
    background: url("../images/arrow_pc.png") no-repeat bottom center;
}

.biz_flow .icon-svg{
    width: 55px;
    vertical-align: middle;
    margin-right: 0.5em;
}

.biz_flow_list li::before{
    content: "・";
}
/*----* 設備紹介 *----*/
.pfms .page_h2 + p{
    margin-top: 2em;
}
.pfms_img{
    position: relative;
    margin-top: 8rem;
}
.pfms_imgPhoto{
    position: relative;
    z-index: 2;
    text-align: center;
}
.pfms_imgBg{
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

/*----*自動化*----*/
.auto_prob{
    background:rgba(9,35,99,.45);
    position: relative;
    padding: 9rem 0;
    margin-top: 15rem;
}
.auto_prob::before{
    content: "";
    background: url("../images/automation_bg.jpg") no-repeat center;
    background-size: cover;
    position: absolute;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    top:0;
    left: 0;
}
.auto_prob .page_h2{
    color: #fff;
}
.auto_flex .box-img{
    max-width: 300px;
    flex-basis: 300px;
}
.auto_flow{
    color: #fff;
    text-align: center;
    font-weight: bold;
}
.af_list{
    background: url("../images/arrow_w_pc.png") no-repeat bottom center;
    padding-bottom: 10rem;
    margin-top: 10rem;
}
.af_list_last{
    margin-top: 10rem;
}
.af_list_last .underline{
    font-size:1.4em;
    display: inline-block;
    border-bottom: 2px solid #fff;
}
.auto_solution{
    padding-top: 6rem;
    padding-bottom: 6rem;
}
.as_icons{
    margin-top: 5rem;
}
.as_icons img.icon-svg{
    width:14rem;
}


/*----*採用情報*----*/
.page-mv{
    margin-top: 16rem;
}
#recruit .box-img + .box-img{
    margin-top: 6rem;
}

#guideline .c-txt{
    text-align: center;
    line-height: 2em;
    color: #fff;
}
#guideline .list-lh2 li + li{
    margin-top: 0.5em;
}
.page_contact{
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 175px;
    padding-bottom: 175px;
    position: relative;
    background: url("../images/recruit_contactbutton.jpg") no-repeat center;
    background-size: cover;
}
.page_contact::before{
    content: "";
    width: 100%;
    height: 100%;
    background: #092363;
    opacity: .5;
    top: 0;
    left: 0;
    position: absolute;
}

/*----*お問合せ*----*/
#mailform.container{
    max-width: 1000px;
    padding-bottom: 8rem;
}
.mailform_box_list{
    
}
input[type="text"],input[type="tel"],input[type="email"],textarea{
    margin-top: 0.5em;
    padding: 10px;
    border: 1px solid var(--borderColor-table);
    border-radius: 5px;
    display: block;
    width: 100%;
    font-size: 1.8rem;
}
.must::before{
    content: "※";
    color: #d00;
}
.mailform_box_list dd + dt{
    margin-top: 2em;
}
.mfp_checks{
    margin-top: 8rem;
    text-align: center;
}
#mailformpro button{
    border: none;
    background: none;
}
.mfp_checks .text-link{
    font-weight: bold;
    color: var(--mainBlue);
}
.mfp_checks input[type="checkbox"]{
    transform: scale(1.5);
    margin-right: 0.8em;
    vertical-align: middle;
}
div.mfp_buttons button#mfp_button_send,div.mfp_buttons button#mfp_button_cancel{
    color: #fff;
    padding: 1rem 3rem;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.0;
    position: relative;
    z-index: 2;
    border: none;
    transition: 0.2s;
}
div.mfp_buttons button#mfp_button_send::before
,div.mfp_buttons button#mfp_button_cancel::before{
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    transform: skewX(-15deg);
    box-shadow: 5px 5px 0 var(--subBlue);
    transition: 0.2s;
}
div.mfp_buttons button#mfp_button_send{
    
}
div.mfp_buttons button#mfp_button_send::before{
    background: var(--mainBlue);
}
div.mfp_buttons button#mfp_button_cancel{
    color: var(--mainBlue);
    margin-left: 5px;
}
div.mfp_buttons button#mfp_button_cancel::before{
    background: #ccc;
}
.pfContact{
    padding-top: 10rem;
    padding-bottom: 10rem;
}
.pfContact .topCol-2{
    padding-left: 1em;
    padding-right: 1em;
}
.pfContact .col-txt{
    position: relative;
    color:  var(--mainBlue);
    text-align: center;
    padding: 5rem 4.8%;
}
.pfContact .col-txt::before,
.pfContact .col-txt::after{
    content: "";
    display: block;
    position: absolute;
    width: 45%;
    height: 45%;
}
.pfContact .col-txt::before{
    top:0;
    left: 0;
    border-top:1px solid var(--mainBlue);
    border-left:1px solid var(--mainBlue);
}
.pfContact .col-txt::after{
    bottom:0;
    right: 0;
    border-bottom:1px solid var(--mainBlue);
    border-right:1px solid var(--mainBlue);
}
.ct_txt{
    margin-top: 1em;
}
.ct_tel{
    font-size: min(28px,2vw);
    font-weight: bold;
    display: block;
}
.pfContact{
    
}
/*----*プライバシーポリシー*----*/
.pp_text + .pp_text{
    margin-top: 5rem;
}
.pp_text .page_h2 + p{
    margin-top: 0.5em;
}
/*----* フッター *----*/
#footer{
    background: var(--mainBlue);
    color: #fff;
    padding-top: 5rem;
    padding-bottom: 6rem;
}

#footer .h2-logo{
    color: #fff;
    font-size: 2.4rem;
    font-weight: bold;
}
#footer a{
    color: #fff;
}
.nav_menu_list dt{
    font-weight: bold;
}
.nav_menu_list dt + dd{
    margin-top: 0.8em;
}
.page_link{
    display: block;
    border: 4px solid #fff;
    background: #2C4C7C;
    text-align: center;
    padding: 50px 15px; 
    font-size: 24px;
}
.foot_line{
    border-top: 1px solid #fff;
}
.footer_end a{
    color: #fff;
}
.ft-contact {
    font-size: 1.8rem;
    text-align: center;
}

.ft-small{
    font-size: 0.8em;
    display: block;
}
.pc-num{
    display: block;
    font-size: 3rem;
    font-weight: bold;
}

.ft-address{
    margin-top: 1em;
    font-weight: bold;
}
.copyright{
}

.btn{
    padding: 15px;
    font-weight: bold;
    border-radius: 5px;
    transition: 0.3s;
    display: inline-block;
}

.btn + .btn{
    margin-left: 30px;
}


/*お知らせ*/
.news_title{
    font-weight: bold;
}
#news .container a{
    transition: 0.2s;
}
#news .container a:hover{
    opacity: 0.8;
}
#newsWrap .pager{
    
}
.pager {
    margin-top: 1em;
    text-align: right;
    
}
.pager a{
    margin-left: 0.3em;
    padding: 0.3em;
    color: var(--mainBlue);
    font-weight: bold;
}
.pager a:hover{
    text-decoration: underline;
}
.news_post + .news_post{
    margin-top: 5rem;
}
.news_post .tn_date + p{
    margin-top: 0.5em;
}
.news_post .tn_date{
    color: var(--mainBlue);
    font-size: 1.4em;
}

.news_img img{
    display: block;
}

/**/
.slide_box{
    overflow: hidden;
}
.slideInner{
    width: 100%;
    height: inherit;
    opacity: 0;
}

@keyframes play {
  from {
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

/*マスク要素をスライドアウトする*/
@keyframes maskOut {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(100%);
  }
}
/*スライドインを動作するclass*/
.isPlay {
  animation-name: play;
  animation-duration: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  position: relative;
  opacity: 1 !important;
}

/*isPlayの疑似要素にマスクとマスクを外すアニメーションを設定 */
.isPlay:before {
  animation-name: maskOut;
  animation-duration: .5s;
  animation-delay: .5s;
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(.8,0,.5,1);
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-image: linear-gradient(to left,  #084595 0, #87b0dd 100% );
}

/*================================================
 *  PC用(769px以上)
 ================================================*/
@media (min-width: 769px) {
    .header-wrap{
    }
    .header-wrap .logo{
        margin-left: 3.3%;
        margin-right:2.5%;
    }
    .header-nav{
        display: flex;
        justify-content: space-between;
        flex-grow: 1;
        align-items: center;
    }
    .header-nav nav{
        flex-basis: 580px;
    }
    
    .btn-tc a{
        padding: 3rem;
        
    }

    .nav_menu_list{
        display: flex;
        position: relative;
        
    }
    .nav_link {
        text-align: center;
        cursor: pointer;
    }
    .nav_link a{
        transition-duration: .2s;
        color: var(--mainBlue);
        font-weight: bold;
        transition: .2s;
    }
    .nav_link a:hover{
        opacity: .8;
    }
    .nav_link + .nav_link{
        margin-left: 4rem;
    }
    .btn-tc a{
        background: var(--subBlue);
        display: block;
        color: var(--mainBlue);
        padding: 3rem;
        font-weight: bold;
        transition: .2s;
    }
    .btn-tc a:hover{
        background: var(--mainBlue);
        color: var(--subBlue);
    }

    /**/
    .btn-link:hover{
        opacity: 1;
        transform: translate(10px,10px);
    }
    .btn-link:hover::before{
        box-shadow: none;
    }
    .section-M {
        padding-top: var(--sectionPadding-M);
        padding-bottom:var(--sectionPadding-M); 
    }
    .section-top-M {
        padding-top: var(--sectionPadding-M); 
    } 
    .section-top-M:last-of-type {
        padding-bottom: var(--sectionPadding-M); 
    } 
    .section-S {
        padding-top: var(--sectionPadding-S);
        padding-bottom:var(--sectionPadding-S); 
    }
    .section-top-S {
        padding-top: var(--sectionPadding-S); 
    } 
    .section-top-S:last-of-type {
        padding-bottom: var(--sectionPadding-S); 
    } 
    .section .inner,.section-top .inner{
        padding-left: 50px;
        padding-right: 50px;
    }
    /*はじめに*/
    .main_copy{
        left: -1em;
    }
    .topCol-square{
        display: flex;
    }
    .topCol-2{
        flex-basis: 50%;
    }
    .topCol-square .col-txt{
        max-width: 400px;
    }
    #top-section02 .container{
        background: url("../images/index_automationimage.jpg") no-repeat center;
        background-size: cover;
        padding: 4.5rem 6rem;
        box-shadow: 0 0 20px rgba(0,0,0,.2);
    }
    #top-section02 .col-txt{
        padding: 6rem 9rem;
    }
    #top-section05{
        display: flex;
    }
    #top-section05 .topCol-2{
        padding: 8rem;
    }
    #top-section05 .col-box{
        max-width: 540px;
        margin: auto;
    }
    .top-news_post{
        display: flex;
    }
    .top-news_post .tn_date{
        flex-shrink: 1;
    }
    .top-news_post .tn_news{
        margin-left: 5rem;
    }
    /*k各ページ共通*/
    .page_h2 + .c-txt{
        margin-top: 5rem
    }

    /*会社情報*/
    .co_header{
        align-items: flex-start;
        margin-top: 11rem;
    }
    .co_header .col-img{
        margin-top: -11rem;
        flex-basis: 50vw;
        box-shadow: 0 0 20px rgba(0,0,0,.2);
    }
    .co_header .col-txt{
        padding: 6rem 9rem;
    }
    #access .container{
        max-width: 990px;
    }
    .co_message {
        padding-bottom: 20rem;
    }
    .co_message h2 + p{
        margin-top: 10rem;
    }
    #company #guideline .container + .container{
        margin-top: 15rem;
    }
    .table_list{
    }
    .table_list tr{
        border-top: 1px solid var(--borderColor-table);
    }
    .table_list tr:last-of-type{
        border-bottom: 1px solid var(--borderColor-table);
    }
    .table_list th,.table_list td{
        padding: 2rem 0;
    }
    .table_list th{
        text-wrap: nowrap;
        padding-right: 2em;
        width: 230px;
    }
    .history_yy{
        flex-basis: 15rem;
    }
    .history_mm{
        display: flex;
        flex-basis: calc(100% - 15rem - 3em);
    }
    .history_month{
        flex-basis: 9rem;
        text-align: right;
        flex-shrink: 1;
    }
    .history_disc{
        padding-left: 2em;
        flex-basis: calc(100% - 9rem);
    }

    /*事業内容*/
    .bi_header{
        margin:18rem calc(50% - 50vw) 0; 
        
    }
    .bi_header + .ctn_biz{
        margin-top: -18rem;
        position: relative;
        z-index: 2;
    }
    .bi_header + .ctn_biz > .page_h2 + div{
        display: flex;
        justify-content: center;
    }
    .ctn_biz{
        padding: 9rem 10rem;
    }
    .ctn_biz .topCol-2{
        
    }
    .ctn_biz [class^="flex"]{
        justify-content: space-between;
    }
    .ctn_biz .topCol-2.col-img{
        flex-basis: calc(50% - 9rem);
    }
    .biz_flow_list li{
        display: inline-block;
    }
    #business .container-in .section:last-of-type {
        padding-top: var(--sectionPadding-M);
    }
    /*設備*/
    .pfms + .pfms{
        margin-top:  15rem;
    }
    [class*="grid-col"]{
        display: grid;
        column-gap: 1em;
    }
    .grid-col3{
        grid-template-columns: repeat(3, 1fr);
    }
    .grid-col2{
        grid-template-columns: repeat(2, 1fr);
    }
    [class*="grid-col"] + [class*="grid-col"]{
        margin-top: 1em;
    }
    .pfms_gridItem.fade-delay + .fade-delay{
        transition-delay: 1s;
    }
    /*自動化*/
    
    .auto_prob {
        padding-left: 10rem;
        padding-right: 10rem;
    }
    .auto_prob .page_h2{
        text-align: center;
    }
    .auto_flex{
        display: flex;
        justify-content: space-between;
        margin-top: 10rem;
    }
    .auto_flow{
        margin-top: 10rem;
    }
    .as_icons_li{
        display: inline-block;
        margin: 0 2em;
    }

    /*採用情報*/
   

    #guideline .container{
        padding: 10rem;
    }

        #recruit .bg-sb{
        display: flex;
        padding-left: 30px;
        padding-right: 30px;
    }
    #recruit .bg-sb .image{
        padding-top: var(--sectionPadding-S);
        margin-left: calc((100% - 1200px) / 2);
        width: 420px;
    }
    #recruit .bg-sb .image img{
        width: 100%;
    }
    #recruit .bg-sb .container{
        width: fit-content;
        margin-left: 100px;
    }
    @media(max-width:1220px){
        #recruit .bg-sb .image{
            padding-top: var(--sectionPadding-S);
            margin-left: 0;
            width: 420px;
           
        }
        #recruit .bg-sb .container{
            width: fit-content;
            margin-left: 50px;
            padding-left: var(--tbInnerPadding);
            padding-right: var(--tbInnerPadding);
        }
    }
    @media(max-width:768px){
        #recruit .bg-sb .image img{
        }
        #recruit .bg-sb .container{
            width: fit-content;
            margin-left: 50px;
            padding-left: var(--tbInnerPadding);
            padding-right: var(--tbInnerPadding);
        }
    }

    /*フッター*/
    .footer_flex{
        display: flex;
        justify-content: space-between;
    }
    .foot_nav{
        margin-top: 2rem;
        margin-left: 1em;
        /*flex-grow: 1;*/
    }
    .fn_link_list + .fn_link_list{
        margin-left: 2rem;
    }
    .footer_end{
        margin-top: 150px;
        border-top: 1px solid;
        padding-top: 2em;
        display: flex;
        justify-content: space-between;
    }

    .btn:hover,.mfp_element_button:hover{
        box-shadow: none;
        transform:translateY(4px) ;
    }
    div.mfp_buttons button#mfp_button_send:hover
    ,div.mfp_buttons button#mfp_button_cancel:hover{
        opacity: 1;
        transform: translate(5px,5px);
    }
    div.mfp_buttons button#mfp_button_send:hover::before
    ,div.mfp_buttons button#mfp_button_cancel:hover::before{
        box-shadow: none;
    }

    /*お知らせ*/
    .news_img_list{
    }
    .news_img{
    }
    .news_img img{
    }
    .news_img + .news_img{
    }
}
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
}
/*================================================
*  タブレット(960pxのコンテンツ幅以下の時) 
================================================*/
@media screen and (max-width: 1220px) and (min-width: 769px) {
    :root{
        --tbInnerPadding:1.5em;
    }
    .header-wrap{
    }
    .header-wrap .logo{
        margin-left: var(--tbInnerPadding);
    }
    .nav_link + .nav_link {
        margin-left: 2rem;
    }
    .btn-tc a{
        padding-left: 1.5vw;
        padding-right: 1.5vw;
    }
    .header-nav nav {
        flex-basis: initial;
    }
    #footer{
        padding-left: var(--tbInnerPadding);
        padding-right: var(--tbInnerPadding);
    }
    .footer_flex {
        flex-wrap: wrap;
    }
    .nav_menu_list a{
        /*font-size: 1.8rem;*/
    }
    .container-in{
        padding-left: var(--tbInnerPadding);
        padding-right: var(--tbInnerPadding);
    }
    .header-wrap.container{
        padding-right: 0;
    }
    .mv .container{
        padding-left: 0;
        padding-right: 0;
    }
    .main_copy {
        left: 0;
    }
    .top-news_post{
        display: block;
    }
    .tn_news{
        margin-left: 0;
    }
    #top-section04{
        padding-left: var(--tbInnerPadding);
        padding-right: var(--tbInnerPadding);
    }
    #guideline {
        padding-left: var(--tbInnerPadding);
        padding-right: var(--tbInnerPadding);
    }
    
}
/*================================================
*  スマホ用
================================================*/
@media screen and (max-width: 768px) {
    :root{
        --spInnerPadding:4.3vw;
        --sP-M-sp:calc(var(--sectionPadding-M) / 2);
        --sP-S-sp:calc(var(--sectionPadding-S) / 2);
    }
    
    .header-wrap{
        padding:7px 15px;
        background:#fff;
    }
    #index .header-wrap{
        background: var(--mainBlue);
    }
    .header_logo{
        width: 200px;
        flex-basis: 250px;
    }
    .header-nav{
        height: 0;
        top:74px;
        padding: 0 3rem;
        opacity: 0;
        transition: 0.5s;
        overflow: hidden;
    }

    #nav-btn{
        display: flex;
        align-items: center;
    }
    .spMenu{
        display: block;
        background: var(--mainBlue);
        width: 50px;
        height: 6px;
        position: relative;
        z-index: 100;
    }
    .spMenu::before,.spMenu::after{
        content: "";
        display: block;
        background: var(--mainBlue);
        width: 100%;
        height: 6px;
        position: absolute;
        left: 0;
    }
    #index .spMenu,#index .spMenu::before,#index .spMenu::after{
        background: #fff;
    }
    .spMenu::before{
        top:-17px
    }
    .spMenu::after{
        bottom:-17px;
    }
    .menu_sp{
        display: inline-block;
        padding-top: 10px;
        font-size: 10px;
    }
    #nav-btn .spMenu,#nav-btn .spMenu::before,#nav-btn .spMenu::after{
        transition: 0.2s;
    }
    #nav-btn.active .spMenu{
        position: relative;
        z-index: 100;
        display: block;
        width: 50px;
        height: 5px;
        background: rgba(255,255,255,0);
    }
    #nav-btn.active .spMenu::before,#nav-btn.active .spMenu::after{
        content: "";
        display: block;
        width: 100%;
        height: 6px;
        position: absolute;
        left: 0;
        top:calc(50% - 2px);
        transform-origin: center;
    }
    #nav-btn.active .spMenu::before{
        transform: rotate(45deg);
    }
    #nav-btn.active .spMenu::after{
        transform: rotate(-45deg);
    }
    #nav-btn.active .menu_sp{
        opacity: 0;
    }
    #nav-btn.active ~ .header-nav{
        display: block;
        height: calc(100vh - 74px);
        background: rgba(8,69,149,.9);
        padding: 30px;
        opacity: 1;
    }
    .header-nav a{
        color: #fff;
        font-weight: 600;
        line-height: 2;
    }
    .nav_link + .nav_link{
        margin-top: 1em;
    }
    .sp_hnav{
        margin-top: 1em;
    }
    
    .hnav_pp{ 
    }
    .hnav_pp a{
        font-weight: normal;
        font-size: 0.9em;
    }
    
    
    /*ヘッダーナビボタン*/
    /*汎用*/
    .section-M {
        padding-top: var(--sP-M-sp);
        padding-bottom: var(--sP-M-sp); 
    }
    .section-top-M {
        padding-top: var(--sP-M-sp); 
    } 
    .section-top-M:last-of-type {
        padding-bottom: var(--sP-M-sp); 
    }
    .section-S {
        padding-top: var(--sP-S-sp);
        padding-bottom: var(--sP-S-sp); 
    }
    .section-top-S {
        padding-top: var(--sP-S-sp); 
    } 
    .section-top-S:last-of-type {
        padding-bottom: var(--sP-S-sp); 
    }
    .container-in{
        padding-left: var(--spInnerPadding);
        padding-right: var(--spInnerPadding);
    }
    .page_h2 + .c-txt{
        margin-top: 1em;
    }

    .flex-col2-pdg>div + div{
        margin-top: 15px;
    }
    *[class*="inner"]/*.inner,.inner-sp*/{
        padding-left: 8%;
        padding-right: 8%;
    }

    .col-txt{
        padding: 0 2rem;
    }
    .page_header{
        height: 300px;
    }
    .table_list th,.table_list td{
        display: block;
        width: 100%;
    }
    .table_list th{
        border-top:1px solid var(--borderColor-table);
        padding-top: 2rem;
    }
    .table_list td{
        margin-top: 1em;
        padding-bottom: 2rem;
    }
    .table_list tr:last-of-type td{
        border-bottom:1px solid var(--borderColor-table);
    }
    
    .dummy{
        display: none;
    }
        /**/
    .btn-link{
        min-width: 21rem;
        padding-left: 5%;
        padding-right: 5%;
    }
    .btn-link:active{
        opacity: 1;
        transform: translate(10px,10px);
    }
    .btn-link:active::before{
        box-shadow: none;
    }

    
    /*はじめに*/
    body:not(#index) main{
        padding-top: 13rem;
    }
    .main_copy{
        padding-left: var(--spInnerPadding);
        font-size: 7.8vw;
        line-height: 1.8;
    }
    /*.top_h2{
        padding-top: 0;
        padding-bottom: 0;
    }*/
    .col-txt .top_h2 + p {
        margin-top: 1em;
    }
    #top-section02{
        background: -moz-linear-gradient(top,  rgba(255,255,255,0) 50%, var(--mainBlue) 50%); /* FF3.6-15 */
        background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 50%,var(--mainBlue) 50%); /* Chrome10-25,Safari5.1-6 */
        background: linear-gradient(to bottom,  rgba(255,255,255,0) 50%,var(--mainBlue) 50%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    }
    #top-section02 .col-txt{
        padding-top: 6rem;
        padding-bottom: 6rem;
    }    
    #top-section03 .topCol-2 + .topCol-2{
        margin-top: 5rem;
    }
    #top-section04{
        padding: 7%;
    }
    #top-section05 .topCol-2{
        padding: 8rem 8% ;
    }
    /*会社情報*/
    #company .container-left{
        margin-right: var(--spInnerPadding);
    }
    .co_header {
        margin-top: calc(5rem + 27vw);
        flex-wrap: wrap;
    }
    .co_header .col-img{
        width: 80vw;
        flex-basis: 80vw;
        margin-top: -27vw;
    }
    .co_header .col-txt{
        padding: 5rem 12%;
    }
    #company #guideline .container + .container{
        margin-top: 8rem;
    }
    .history_item{
    }
    .history_disc{
        padding-bottom: 2em !important;
    }
    .co_message h2 + p{
        margin-top: 6rem;
    }
    #access.section{
        padding-top: 8rem;
        padding-bottom: 8rem;
    }
    .map_co .map {
        margin-top:6rem;
        width:100%;
    }
    .co_message{
    }
    /*事業内容*/
    .bi_header{
        margin-top:9rem; 
    }
    .biz_h3 + .flex{
        margin-top: 4rem;
    }
    .ctn_biz{
        padding: 3rem var(--spInnerPadding);
    }
    .ctn_biz + .ctn_biz{
        margin-top: 8rem;
    }
    .bi_header + .ctn_biz{
        margin: -5rem var(--spInnerPadding) 0;
        position: relative;
        z-index: 2;
    }
    .ctn_biz .topCol-2 + .topCol-2{
        margin-top: 2em;
    }
    #business .container-in .section:last-of-type {
        padding-top: calc(var(--sectionPadding-M) / 2);
    }
    /*設備紹介*/
    .pfms + .pfms{
        margin-top:  10rem;
    }
    .pfms_gridItem{
        margin-top: 2em;
    }
    .pfms_imgPhoto video{
        width:100%;
    }
    /*自動化*/
    .auto_flow{
        padding-left: 12vw;
        padding-right: 12vw;
    }
    .auto_flex .box-img{
        margin: 5rem auto 0;
    }
    .as_icons_li{
        position: relative;
    }
    .as_icons_li + .as_icons_li {
        margin-top: 2em;
    }
    .as_icons_li:not(:last-of-type)::after{
        content: "";
        border: 1em solid transparent;
        border-top: 1em solid var(--mainBlue);
        display: block;
        width: 0;
        margin: 2em auto 0;
    }

    
    /*お問合せ*/
    .mfp_checks{
        margin-top: 4rem;
    }
    div.mfp_buttons button#mfp_button_send:active
    ,div.mfp_buttons button#mfp_button_cancel:active{
        opacity: 1;
        transform: translate(5px,5px);
    }
    div.mfp_buttons button#mfp_button_send:active::before
    ,div.mfp_buttons button#mfp_button_cancel:active::before{
        box-shadow: none;
    }

    .pfContact .topCol-2{
        padding-left: var(--spInnerPadding);
        padding-right: var(--spInnerPadding);
    }
    .pfContact .topCol-2 + .topCol-2{
        margin-top: 5rem;
    }
    .pfContact .col-txt::before,
    .pfContact .col-txt::after{
        width: 38vw;
        height: 38vw;
    }
    .ct_tel{
        font-size: 5vw;
    }
    /*採用情報*/
    .page-mv{
    margin-top: 6rem;
    }
    #guideline{
        padding-left: var(--spInnerPadding);
        padding-right: var(--spInnerPadding);
    }
    #guideline .container{
        padding: 8rem 8%;
    }
    .page_contact{
        padding-top: 12rem;
        padding-bottom: 12rem;
    }
    #recruit .bg-sb .image{
        padding-left: 8%;
        padding-right: 8%;
    }
    /*プライバシーポリシー*/
    .pp_text + .pp_text{
        margin-top: 3rem;
    }
    /*フッター*/
    .nav_menu_list{
        margin-top:2.5em;
    }
    .nav_menu_list li + li{
        margin-top:2.5em;
    }
    /*お知らせ*/

    .news_list_item{
        padding: 15px;
        padding-left: 10px;
    }
    .news_post + .news_post{
        margin-top: 3rem;
    }

    .ft-contact a{
        color: #10273E;
        text-decoration: underline;
    }
    .footer_end{
        margin-top: 8rem;
    }
    .foot_pp{
        border-top: 1px solid #fff;
        padding-top: 1.5em;
    }
    .copyright{
        font-size: 1.6rem;
    }
}