
#contact .contact__inner .submit_btn .submit {
    -webkit-box-shadow: 0 3px 3px 0 rgb(0 0 0 / 50%);
    display: inline-block;
    width: 437px;
    max-width: 100%;
    padding: 35px 0;
    border-radius: 10px;
    background-color: #b80012;
    box-shadow: 0 3px 3px 0 rgb(0 0 0 / 50%);
    color: #fff;
    font-weight: 700;
    font-size: 25px;
    letter-spacing: .075em;
    text-align: center;
    cursor: pointer;
    transition: 0.3s;
}
#contact .contact__inner .submit_btn .submit:hover{
    background-color: white;
    color: #b80012;
}
.mw_wp_form_confirm #contact .contact__inner .submit_btn {
    text-align: center;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.mw_wp_form_confirm #contact .contact__inner .submit_btn .submit.back{
    background-color: #0046e3;
}
.mw_wp_form_confirm #contact .contact__inner .submit_btn .submit.back:hover{
    background-color: #fff;
    color: #0046e3;
}

.a-flex-start{
    margin: -80px 42px 0px 0;
}
.mw_wp_form_confirm #contact .contact__inner .form-ul .form-li{
    padding: 20px 25%;
    justify-content: flex-start;
}
.mw_wp_form_confirm #contact .contact__inner .form-ul .textarea{
    justify-content: flex-start;
    padding: 20px 25%;
}
.thanks #contact .contact__inner .contact_top p {
    padding-bottom: 150px;
    line-height: 1.8;
}
.mw_wp_form_confirm #contact .contact__inner .form-ul .sex-radio{
    width: auto
}
.mw_wp_form_confirm #contact .contact__inner .form-ul .form-li .age{
    width: auto;
    margin-right: 0;
}
.mw_wp_form_confirm #contact .contact__inner .form-ul .form-li .note_address {
    width: auto;
    max-width: unset;
}
.sidebar__list li {
    display: block;
    padding:0;
    border-bottom: 1px solid #ececec;
    font-family: Noto Sans JP,sans-serif;
}
.sidebar__list li a{
    display: block;
    padding: 22px 16px;
}
.screen-reader-text{
    display: none;
}
.header__navDown--titleRecruit:before {
    content: "採用情報";
}
.page-id-27 #contact .contact__inner .contact_top p {
    line-height: 2;
    padding: 0 0 150px;
}
.blog-content p {
    line-height: 1.6;
    font-size: 18px;
    word-wrap: break-word;
}
.blog-content img {
    width: 100%;
    height: auto;
}
.single__category a{
    color: #fff;
}
.recruit-sub__entry-text {
    margin-bottom: 0;
}
.business-sub__iot-list-item.econ:after{
    display: none;
}
.business-sub__case-3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.business-sub__case-3 {
    background-color: #fff;
}
.business-sub__case-container:nth-of-type(3) {
    background-color: #fff;
}
.company-sub__message-content-sign span {
    padding-right: 50px;
}
.footer, .global-footer {
    flex-direction: column;
}
.footer_sublogo {
    margin: 25px 0 0;
}
.first_prodactLink{
    max-width: 902px;
    width: 100%;
    display: block;
    margin: 0 auto;
}

.info-tabs {
    display: flex;
    border: 1px solid #222;
    width: 100%;
    max-width: 895px;
    margin: 55px auto 70px;
}

.info-tabs .tab {
    flex: 1;
    text-align: center;
    padding: 24px 0;
    font-size: 18px;
    letter-spacing: 0.05em;
    color: #222;
    background: #fff;
    border-right: 1px solid #222;
    cursor: pointer;
    position: relative;
    user-select: none;
}
.info-tabs .tab:last-child {
    border-right: none;
}

.info-tabs .tab.active {
    background: #222;
    color: #fff;
    font-weight: bold;
}
.info-tabs .tab.active::after {
    content: "";
    position: absolute;
    bottom: -11px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 11px solid transparent;
    border-right: 11px solid transparent;
    border-top: 11px solid #222;
}

/* 記事リスト */
.post-list {
    margin: 0 auto;
    padding: 0;
    list-style: none;
    border-top: none;
    width: 100%;
    max-width: 895px;
}
.post {
    display: flex;
    align-items: center;
    padding: 25px 12px;
    border-bottom: 1px solid #aaa;
    line-height: 1.5;
    text-align: left;
}
.post:last-child { border-bottom: none; }

.post time {
    margin-right: 16px;
    color: #444;
    font-size: 14px;
    white-space: nowrap;
}
.post .label {
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 12px;
    margin-right: 16px;
    border-radius: 2px;
    color: #fff;
}
.post .label.news {
    background: #00a693; /* グリーン系 */
}
.post .label.important {
    background: #ffcf00; /* イエロー系 */
    color: #222;
}


/* リセット（必要なら既存のCSSに合わせて調整） */
.full-green { margin: 0; padding: 0; }

/* 画面いっぱいに緑が伸びる帯 */
.service .title{
    margin-bottom: 50px;
}
.full-green {
    width: 100%;
    background: #0b9a86; /* 画像に近い緑。必要なら調整 */
}

/* インナーは常に 895px 中央寄せ */
.full-green .inner {
    max-width: 100%;
    margin: 0 auto;
}

/* 行の並び：画像と本文を水平にピタッと */
.full-green .row {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 50:50 */
    align-items: center;
    column-gap: 0px;               /* 画像と本文の隙間（見本は30〜40px程度） */
}

/* 交互レイアウト（右画像） */
.full-green .row.row--rev {
    grid-template-columns: 1fr 1fr;
    direction: rtl;                  /* 子要素の並びだけ左右反転 */
}
.full-green .row.row--rev > .col { direction: ltr; } /* 子の中身は元に戻す */

/* 画像ボックス：横いっぱい、高さは比率維持でトリミング */
.full-green .img img {
    width: 100%;
    height: auto;       /* 見本の縦感に合わせた固定高。必要なら 240〜280px で調整 */
    object-fit: cover;   /* はみ出しを自然にトリミング */
    display: block;
}

/* テキスト側（白文字・中央寄せに見えるレイアウト） */
.full-green .body {
    color: #fff;
    text-align: center;           /* 見本は中央寄せ */
    padding: 16px 0;
    position: relative;
}
/* .full-green .body::after{
    content: "";
    width: 18.8vw;
    height:288px;
    background: #0b9a86;
    position: absolute;
    right: -18.8vw;
    top: -3.8vw;
} */
/* .full-green .row.row--rev .body::after{
    content: "";
    width: 18.8vw;
    height:15.1vw;
    background: #0b9a86;
    position: absolute;
    left: -18.8vw;
    top: -3.8vw;
} */
.full-green .body h3 {
    font-size: 28px;              /* 見本のスケール感 */
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: .02em;
    margin: 0 0 16px;
}
.full-green .body p {
    font-size: 14px;
    line-height: 2;
    opacity: .95;
    max-width: 480px;             /* テキスト行長を抑えて見本の箱っぽさに寄せる */
    margin: 0 auto;
}
:root{
    --inner: 1180px;            /* ← 895px にしたい場合はここを 895px に */
    --c-band:   #00a08a;        /* タイトルの緑帯（画像から取得） */
    --c-label:  #ffd24a;        /* 左の黄色ブロック */
    --c-black:  #070808;        /* 表の黒地 */
    --c-line:   #1aa79a;        /* エメラルド罫線 */
    --c-headbg: #e4f3ef;        /* theadの淡ミント背景 */
    --c-headtx: #0a8b7c;        /* thead文字の緑 */
    --c-text:   #0a8b7c;        /* 本文の緑文字 */
    --c-btn:    #14a28f;        /* 詳細ボタン */
    --c-btnhv:  #108d7b;
    --fz: 16px;
}
.tt-inner{max-width:var(--inner);margin:55px auto 0;}
/* タイトル帯：内側いっぱい緑、左に黄色の短冊、その右に白文字 */
.tt-titlebar{
    height:58px; background:var(--c-band);
    display:flex; align-items:center;
}
.tt-titlebar__label{
    width:66px; height:100%; background:var(--c-label);
    margin-right:18px;
}
.tt-titlebar__text{
    margin:0; color:#fff; font-weight:700; letter-spacing:.06em;
    font-size:20px; line-height:1;
}
/* テーブル本体 */
.kc-table{
    width:100%;
    border-collapse:collapse;
    table-layout:fixed;
    border:1px solid var(--c-line);
    margin-top:24px;
}

/* thead */
.kc-table thead th{
    background:var(--c-headbg);
    color:var(--c-headtx);
    font-weight:700;
    font-size:16px;
    padding:14px 16px;
    text-align:center;
    border:1px solid var(--c-line);
}
.kc-table thead th:last-child{border-right:none;}
.kc-table thead th.is-left{text-align:left;}

/* tbody */
.kc-table tbody td{
    color: var(--c-headtx);
    font-size:16px;
    line-height:1.9;
    padding:18px 16px;
    vertical-align:middle;
    border:1px solid var(--c-line);
}
.kc-table tbody td:last-child{border-right:none;}

/* グループ先頭行だけ太線（画像の強い区切り） */
.kc-table tbody tr.gstart td{ border-top-width:2px; }

/* 左列：▶＋講習名（rowspanセル） */
.skill{ white-space:nowrap; font-weight:700; }
.skill .tri{
    display:inline-block; width:0; height:0; vertical-align:middle; margin-right:10px;
    border-left:12px solid #1aa79a; /* ▶と同色のエメラルド */
    border-top:7px solid transparent; border-bottom:7px solid transparent;
}

/* 2列目の“内側細線”（2行目だけ） */
.course{ position:relative; }
.course--sep{ padding-top:14px; }


/* 日数中央／ボタン */
.days{ text-align:center; white-space:nowrap; }
.btncell{ text-align:center; }
.btncell .btn{
    display: inline-block;
    width: 112px;
    padding: 2px 0;
    background: var(--c-btn);
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    border-radius: 0;
    font-size: 15px;
}
.btn:hover{ background:var(--c-btnhv); }



:root{
    --inner: 1178px;

    /* 配色（画像寄せ） */
    --title:  #11a597;      /* 見出しグリーン */
    --lead:   #707977;      /* リード文グレー */
    --req-bg: #e60012;      /* 必須赤 */
    --req-tx: #fff;

    --fill:   #edf5f3;      /* 入力の塗り（淡ミント） */
    --stroke: #64d1c3;      /* 入力枠（エメラルド 2px） */
    --ph:     #9fb7b2;      /* プレースホルダー */
    --dash:   #0aa39a;      /* 電話のハイフン */
    --radio:  #7ad6c9;      /* ラジオの色 */

    /* 寸法（画像バランス） */
    --row-gap: 26px;
    --label-w: 140px;       /* 左の項目名幅 */
    --req-w:    100px;       /* 必須の幅（赤バッジ） */
    --inph:     50px;       /* input高さ */
}

/* ベース */
.cf__inner{max-width:var(--inner);margin:0 auto;padding:0 16px}
.cf__title{margin:0 0 10px;text-align:center;color:var(--title);font-size:32px;font-weight:800;letter-spacing:.08em}
.cf__lead{margin:0 0 26px;text-align:center;color:var(--lead);font-size:14px}

/* === 3カラム行（項目名｜必須｜入力） === */
.cf__row{
    display:grid;
    grid-template-columns: var(--label-w) var(--req-w) 1fr;
    align-items:start;
    column-gap:16px;
    row-gap:8px;
    margin-bottom: 50px;
}

.cf__label{
    align-self:center;
    font-size:15px;
    font-weight:700;
    color:#0c0c0c;
}
.cf__req{
    align-self:center;
    display:inline-flex;justify-content:center;align-items:center;
    width:48px;height:24px;background:var(--req-bg);color:var(--req-tx);
    font-size:13px;font-weight:700;letter-spacing:.06em;
}
.cf__unit{
    display: flex;
    align-items: center;
    justify-content: end;
}
.cf__sub{
}
.cf__ctrl{min-width:0;
    text-align: end;
    max-width: 788px;}

/* 入力共通 */
.cf__input, .cf__textarea{
    width:100%;
    background:var(--fill);
    border:2px solid var(--stroke);
    border-radius:0;
    color:#0c0c0c;
    outline:none;
}
.cf__input{height:var(--inph);padding:7px 14px;
    box-sizing: border-box;}
.cf__textarea{min-height:360px;padding:14px;resize:vertical}
.cf__input::placeholder, .cf__textarea::placeholder{color:var(--ph)}

/* サブラベル（姓/名などの小見出し） */
.cf__sub{
    color: #00a693;
    font: 15px;
    margin-right: 15px;
}

/* 2分割（姓・名／セイ・メイ） */
.cf__ctrl--2col{
    display:grid;grid-template-columns:1fr 1fr;gap:28px;
}

/* 電話（3分割＋ハイフン） */
.cf__ctrl--tel{
    display:grid;
    grid-template-columns: 180px auto 140px auto 220px; /* 画像感に寄せた幅感 */
    align-items:center;gap:16px;
}
.cf__dash{color:var(--dash);font-weight:700}

/* ラジオ */
.cf__ctrl--radios{display:grid;gap:18px}
.cf__radio{display:flex;align-items:center;gap:10px}
.cf__radio input{appearance:none;-webkit-appearance:none;position:absolute;opacity:0}
.cf__radio{width:18px;height:18px;border:2px solid var(--radio);border-radius:50%;display:inline-block;position:relative}
.cf__radio input:checked + .cf__dot::after{
    content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:8px;height:8px;border-radius:50%;background:var(--radio);
}
.cf__ctrl--radios > span{
    margin-bottom: 30px;
    font-size: 23px;
    font-weight: 500;
}
.cf__ctrl--radios label{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 30px;
    position: relative;
}
.cf__ctrl--radios{
    position: relative;
}
.cf__input.ex{
    max-width: 640px;
    position: absolute;
    right: 0;
    bottom: 13px;
}
.cf__ctrl--date{
    position: relative;
    margin-bottom: 30px;
}
.cf__ctrl--date p {
    position: absolute;
    bottom: -40px;
}
.cf__ctrl--time{
    position: relative;
    margin-bottom: 30px;
}
.cf__ctrl--time p {
    position: absolute;
    bottom: -40px;
}
/* 日付（年/月/日） */
.cf__ctrl--date{display:grid;grid-template-columns:repeat(3, 1fr);gap:22px;max-width:600px}
.cf__ctrl--time{display:grid;grid-template-columns:180px 200px;gap:28px;max-width:420px}
.mw_wp_form_preview .cf__ctrl{
    text-align: left;
}
.mw_wp_form_preview .cf__ctrl{
    justify-content: start;
}
.mw_wp_form_preview .submitbtn input{
    margin: 0 15px;
}
.mw_wp_form_preview .submitbtn input.back{
    background-color: #73c9bd;
}
.cf__ctrl--tel span{
    text-align: center;
}
.post.news{
    text-align: left;
}
.header_menu_r{
    display: flex;
    align-items: stretch;
}
.btn-insta{
    max-width: 140px;
    display: flex;
    align-items: center;
    color: #ffffff;
    margin-right: 45px;
}
.btn-insta img{
    max-width: 52px;
}
.btn-insta span{
    line-height: 1.5;
    margin-left: 10px;
}
.page-404{
    background: #00a08a;
    color: #ffffff;
    padding: 60px 0 100px 0;
}
.page-404 .page-404-text{
    text-align: center;
    line-height: 1.5;
}
.page-404 .page-404-text a{
    color: #00a08a;
    background: #ffffff;
    margin-top: 20px;
    display: inline-block;
    border: 1px solid;
    padding: 5px 10px;
    border-radius: 10px;
}
.page-404 .page-404-text a:hover{
    color: #ff0000;
}
@media screen and (max-width: 768px){
    .green-block .row,
    .green-block .row.reverse {
        flex-direction: column;
    }
    #contact .contact__inner .submit_btn .submit {
        max-width: 47%;
        padding: 5vw 0;
        border-radius: 10px;
        font-weight: 700;
        font-size: 4.3vw;
        letter-spacing: .075em;
        text-align: center;
    }
    .thanks　#contact .contact__inner .contact_top p {
        padding-bottom: 15vw;
        font-size: 2.82vw;
    }
    .spTitle {
        background-image: url(../img/bg01.jpg);
    }
    .spTitle.equipment__SpTitle {
        background-image: url(../img/bg01.jpg);
    }
    .service-sub__econ-text {
        color: #009d39;
        font-size: 18px;
        font-weight: 700;
        margin: 2vw 0;
        text-align: right;
    }
    .blog-content p {
        line-height: 1.8;
        font-size: 3.6vw;
    }
    .recruit-sub__entry-en {
        margin: 10vw auto 20vw;
    }
    .business__copy {
        padding: 2.5vw 5.5% 20vw;
        letter-spacing: 0.05em;
    }
    .sdgs__copy {
        width: 92%;
    }
    .sdgs__list-item {
        padding: 6vw 5vw;
    }
    .company-sub__message-content-sign span {
        padding: 0 19vw 0 0;
    }
    .footer_sublogo {
        margin: 25px 0 0;
        width: 33vw;
    }

    .info-tabs .tab{
        padding: 4vw 0;
        font-size: 3.2vw;
    }
    .info-tabs {
        display: flex;
        border: 1px solid #222;
        width: 100%;
        max-width: 895px;
        margin: 10vw auto;
    }
    .full-green .row {
        display: flex;
        grid-template-columns: 1fr 1fr;
        align-items: center;
        column-gap: 0px;
        flex-flow: column;
    }
    .cf__row {
        display: grid;
        grid-template-columns: unset;
        align-items: start;
        column-gap: 0;
        row-gap: 5vw;
        margin-bottom: 10vw;
    }
    .cf__ctrl--2col {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8vw;
        max-width: 100%;
    }
    .cf__ctrl--tel {
        display: grid;
        grid-template-columns: 20vw 12vw 20vw 12vw 20vw;
        align-items: center;
        gap: 1vw;
    }
    .cf__ctrl--radios > span {
        margin-bottom: 5vw;
        font-size: 5vw;
        font-weight: 500;
    }
    .cf__input.ex {
        max-width: 70%;
        position: absolute;
        right: -6vw;
        bottom: 0vw;
        width: 100%;
    }
    .cf__ctrl--date {
        display: grid;
        grid-template-columns: 25vw 25vw 25vw;
        gap: 2vw;
        max-width: 600px;
    }.
     .cf__ctrl--time {
         display: grid;
         grid-template-columns: 30vw 30vw;
         gap: 2vw;
         max-width: 420px;
     }
    .cf__textarea {
        min-height: auto;
        padding: 3vw;
        resize: vertical;
        max-width: 100%;
        box-sizing: border-box;
    }
    .submitbtn .btnbox {
        background-color: #00a08a;
        border: none;
        color: #fff;
        cursor: pointer;
        font-size: 20px;
        letter-spacing: .12em;
        padding: 5vw 0;
        width: 100%;
        margin-bottom: 5vw;
    }
    .cf__ctrl {
        min-width: inherit;
        text-align: end;
        max-width: 100%;
        width: 100%;
    }
    .cf__ctrl--time {
        display: grid;
        grid-template-columns: 30vw 30vw;
        gap: 28px;
        max-width: 100%;
        text-align: center;
    }
    .co_content {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 1vw;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        flex-direction: column;
    }
    .footer_logo {
        width: 70vw;
        max-width: 100%;
    }

    /*リエム*/
    .header{
        justify-content: space-between;
    }
    .header__inner{
        width: auto;
    }
    .logo__img {
        width: 28vw;
    }
    .header {
        height: 13vw;
    }
    .top__mv img{
        width: 100%;
    }
    .btn-insta img {
        max-width: 10vw;
    }
    .btn-insta {
        margin-right: 1vw;
    }
}