@charset 'UTF-8';

/* **********************************************************************
 *
 *       Title:   Site-Shokunin CMS block.css
 *       Notes:   Hand-crafted by WebLab Corporation in Tokyo.
 *
 ********************************************************************** */

html { font-size: 62.5%; }

body {
        font: 1.0rem;
        font-family:'Noto Sans JP', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'Helvetica', 'Arial', 'sans-serif';
        font-weight: 400;
}

/* トップスライドショースタイル設定
======================================================= */
/* 共通 */
.slider_wra {
        position: relative;
}

/* スライド設定 */
#bxslider {
        position: relative;
        height: 680px;
        margin: 0;
        padding: 0;
        overflow: hidden;
}

#bxslider ul {
        display: none;
        margin: 0;
        padding: 0;
        list-style-type: none;
        text-align: left;
}
#bxslider .bx-wrapper ul {
        display: block !important;
}

#bxslider .bx-wrapper ul img {
        width: 100%;
        height: auto;
        top: 0;
        transform: translateY(0);
}

#bxslider .bx-wrapper ul li.mv01 {
        background: url(../img/main_img01.jpg) 50% 0 no-repeat;
        background-size: cover;
        background-positon: cover;
        height: 680px;
}
#bxslider .bx-wrapper ul li.mv02 {
        position: relative;
        background: url(../img/main_img02.gif) 50% 0 no-repeat;
        background-size: cover;
        background-positon: cover;
        height: 680px;
}
#bxslider .bx-wrapper ul li.mv02 span.txt {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        right: 0;
        display: inline-block;
        width: 640px;
        padding: 18px 0px 18px 20px;
        margin: 0 auto;
        font-size: 40px;
        font-size: 4.0rem;
        font-weight: 500;
        font-family: 'Noto Serif JP', 'serif';
        line-height: 1.0;
        color: #111;
        text-align: center;
}
#bxslider .bx-wrapper ul li.mv03 {
        background: url(../img/main_img03.jpg) 0 50% no-repeat;
        background-size: cover;
        background-positon: cover;
        height: 680px;
}

#bxslider .bx-controls-direction a {
        display: block;
        overflow: hidden;
        width: 40px;
        height: 0 !important;
        margin: 0;
        padding-top: 63px;
        outline: medium none;
}
#bxslider .bx-prev {
        position: absolute;
        z-index: 100;
        top: 42%;
        left: 1px;
        width: 40px;
        height: 63px;
        background: url(../img/arw_slide_l.png) no-repeat scroll 0 0;
}
#bxslider .bx-next {
        position: absolute;
        z-index: 100;
        top: 42%;
        right: 1px;
        width: 40px;
        height: 63px;
        background: url(../img/arw_slide_r.png) no-repeat scroll 0 0;
}
#bxslider .bx-controls .bx-pager {
        position: absolute;
        bottom: -25px;
        left: 0;
        width: 980px;
        height: 12px;
        margin: 0;
        padding: 0;
        list-style: outside none none;
        text-align: center;
}
#bxslider .bx-controls .bx-pager-item {
        display: inline;
}
#bxslider .bx-controls .bx-pager-item a {
        display: inline-block;
        overflow: hidden;
        width: 12px;
        height: 0 !important;
        margin: 0 4px;
        padding-top: 12px;
        outline: medium none;
}
html.ie #bxslider .bx-controls .bx-pager-item a {
        display: inline;
}
#bxslider .bx-controls .bx-pager-item a {
        background: url(../img/main_list.png) no-repeat 0 0;
}
#bxslider .bx-controls .bx-pager-item a.active {
        background: url(../img/main_list_on.png) no-repeat 0 0;
}

/* 縦並び防止 */
#bxslider ul {
        visibility:hidden;
}

#bxslider .bx-viewport ul {
        visibility: visible;
}

/* キャッチコピー */
.slider_wra .catchcopy {
        position: relative;
        display: none;
        min-width: 980px;
        max-width: 1094px;
        margin: 0 auto;
}

.slider_wra .catchcopy .inner {
        position: absolute;
        bottom: 100%;
        transform: translateY(-100%);
        left: 0;
}

.slider_wra .catchcopy .tit {
        font-size: 36px;
        font-size: 3.6rem;
        font-weight: 500;
        line-height: 2.0;
        color: #fff;
}
.slider_wra .catchcopy .tit span {
        display: inline-block;
        padding: 0 34px 0 24px;
        border-bottom: 3px solid #00a5b4;
        background: #222;
}

/* 説明会ボタン */
.slider_wra .btn {
        position: absolute;
        bottom: -70px;
        right: 0;
        display: table;
        width: 183px;
        height: 184px;
        padding: 0;
        background: url(../img/bg_main_btn01.png) 50% 50% no-repeat;
        border-radius: 50%;
        box-shadow: 3.214px 3.83px 0px 0px rgba(0, 0, 0, 0.15);
        z-index: 60;
}

.slider_wra .btn .txt_area {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
        width: 124px;
}

.slider_wra .btn p {
        font-size: 23px;
        font-size: 2.3rem;
        font-weight: bold;
        line-height: 1.3;
        color: #000;
}

.slider_wra .btn a {
        display: inline-block;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.8;
        font-weight: bold;
        color: #fff;
        background: #000;
        text-decoration: none;
        padding: 0 6px;
        margin: 0 0 5px;
}

/* トップ見出し設定
======================================================= */
.home .block h2 {
        position: relative;
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: 500;
        line-height: 1.5;
        padding: 0 0 22px;
        margin: 0 0 30px;
        background: none;
        color: #333;        /* [6. トップページ見出し設定]　文字色 */
        border: none;
}

.home .block h2::before {
        background: none;
}

.home .block h2 span {
        position: relative;
}

.home .block h2 span::after {
        position: absolute;
        content: "";
        bottom: -22px;
        left: 0;
        width: 40px;
        height: 2px;
        background: #00a5b4;
}

/* トップblock設定
======================================================= */
/* top-a */
#top-a {
        /*max-width: 1340px;
        min-width: 1160px;*/
        margin: 0 auto;
        /*padding: 0 0 33px;*/
}

.top_feature {
        margin: 0;
        padding: 100px 0;
        background: url(../img/bg_top_feature.jpg) 0 0 no-repeat;
        background-size: cover;
        background-position: bottom;
}

.top_feature .inner {
        position: relative;
        width: 900px;
        padding: 40px 40px 72px;
        margin: 0 auto;
        background: rgba(255, 255, 255, 0.85);
        text-align: center;
}

.top_feature .inner .tit {
        margin: 0 0 32px;
}

.top_feature .inner .tit p {
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: 500;
        line-height: 1.6;
}

.top_feature .inner .tit .stit {
        position: relative;
        font-size: 18px;
        font-size: 1.8rem;
        color: #0095a4;
        margin: 0 0 25px;
}

.top_feature .inner .tit .stit::before,
.top_feature .inner .tit .stit::after {
        position: absolute;
        content: "";
        top: 50%;
        width: 370px;
        height: 1px;
        background: #c8c8c8;
}
.top_feature .inner .tit .stit::before {
        left: 0;
}
.top_feature .inner .tit .stit::after {
        right: 0;
}

.cyan {
        color: #0095a4;
        font-weight: 500;
}

.top_feature .inner .box_colum_btn {
        position: absolute;
        bottom: -30px;
        right: 0;
        left: 0;
        margin: 0 auto;
}
.top_feature .inner .box_colum_btn a {
        padding: 16px 80px 15px;
}

/* top-b */
/*#top-b {
        padding: 100px 0;
        margin: 0 0 100px;
        background: #f5f5f5;
}*/

#top-b .inner {
        max-width: 1340px;
        min-width: 1160px;
        margin: 0 auto;
}

#top-b .block {
        width: 1160px;
        margin: 0 180px 100px 0;
}

/* top-c */
#top-c {
        width: 980px;
        /*margin: 0 auto 100px;　トップC非表示の為*/
        margin: 0 auto;
}

.top_recruit h2 {
        text-align: center;
}
.top_recruit h2 span::after {
        right: 0;
        margin: 0 auto;
}

/* ブログ */
.top_column {
        margin: 0 0 54px;
/*    padding: 100px 0;
        background: #f5f5f5;*/
}

.top_column .block {
        width: 980px;
        margin: 0 auto;
}
.top_column h2 {
        text-align: center;
}
.top_column h2 span::after {
        right: 0;
        margin: 0 auto;
}

.top_column .top_post_list a {
        text-decoration: none;
        color: #333;
        line-height: 1.7;
        text-align: left;
}
.top_column .top_post_list a:hover {
        opacity: 0.6;
        transition: .5s
}

.top_post_list .post {
        float: left;
        width: 300px;
        margin: 0 40px 0 0;
}

.top_post_list .post:nth-child(3n) {
        margin-right: 0;
}

.top_post_list .post .img_area {
        margin: 0 0 35px;
}

.top_post_list .txt_area .date {
        color: #00a5b4;
        margin: 0 0 13px;
}

/*.top_lineup {
        width: 980px;
        margin: 0 auto 100px;
}*/
.top_lineup h2 {
        text-align: center;
        position: relative;
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: 500;
        line-height: 1.5;
        padding: 0 0 22px;
        margin: 0 0 30px;
}
.top_lineup h2:before {
        content: "";
        width: 40px;
        height: 2px;
        background: #00a5b4 !important;
        position: absolute;
        bottom: 0;
        left: 50%;
        margin: 0 0 0 -20px;
}
.top_lineup ul {
        list-style-type: none;
        margin: 0 0 50px;
        padding: 0;
        display: flex;
        justify-content: center;
}
.top_lineup ul li {
        display: flex;
        width: 230px;
        margin: 0 20px 0 0;
}
.top_lineup ul li:last-child {
        margin: 0;
}
.top_lineup ul li a {
        display: block;
        border: 1px solid #e2e2e2;
        text-decoration: none;
        color: #333;
        background: #fff;
}
.top_lineup ul li a:hover {
        opacity: .6;
}
.top_lineup ul li a img {
        margin: 0 0 10px;
}
.top_lineup ul li a .txt {
        padding: 0 20px 20px;
}
.top_lineup ul li a .txt .com {
        display: inline-block;
        background: #333;
        color: #fff;
        padding: 3px 10px;
        margin: 0 0 10px;
}
.top_lineup ul li a .txt .tit {
        font-size: 18px;
        font-size: 1.8rem;
}

body .catalog {
        padding: 0 0 30px;
        border-bottom: 4px solid #333;
        border-left: 4px solid #333;
        border-right: 4px solid #333;
        background: #f5f5f5;
}
.catalog .tit {
        color: #fff;
        font-weight: bold;
        font-size: 1.7rem;
        text-align: center;
        background: #333;
        padding: 15px 20px;
}

.catalog .txt {
        padding: 20px 20px 30px;
}


/* 下層block設定
======================================================= */
.wrap_un .block,
.wrap_contact .block {
        margin: 0 0 40px;
}


/* ネット申し込み
======================================================= */

.lineupbox {
        border: 1px solid #e2e2e2;
        padding: 20px 30px 20px 0;
        display: flex;
}
.lineupbox img {
        margin: 0 20px 0 0;
}
.lineupbox .txt .tit {
        font-size: 18px;
        font-size: 1.8rem;
        margin: 0 0 10px;
}
.lineupbox .txt .tit span {
        display: inline-block;
        background: #333;
        color: #fff;
        font-size: 15px;
        font-size: 1.5rem;
        padding: 3px 10px;
        margin: 0 20px 0 0;    
}
.lineupbox .txt ul {
        margin: 5px 0 15px 10px;
}
.order_btn {
        margin: 0 0 0;
}
.order_btn a {
        display: inline-block;
        vertical-align: top;
        zoom: 1;
        padding: 14px 60px 13px;
        background: #00a5b4 url(../img/ico_blank_w.png) no-repeat right 20px center;
        background-size: 16px auto;
        border: 1px solid #00a5b4;
}

.order_btn a:link,
.order_btn a:visited {
        text-decoration: none;
        color: #fff;
}
.order_btn a:hover {
        opacity: .6;
}


/* 下層：代表挨拶
======================================================= */
.blockade {
        padding: 25px;
        border: 5px solid #f1f1f1;
        text-align: center;
}

.blockade p {
        font-size: 18px;
        font-size: 1.8rem;
        font-family: 'Noto Serif JP', 'serif';
        line-height: 2.2;
}


/* 下層：事業内容
======================================================= */
.warranty {
        position: relative;
        display: flex;
        align-items: center;
}

.warranty .img {
        position: absolute;
        right: 49px;
}

.tbr.tbr_service {
        width: 588px;
}

/* 下層：会社情報
======================================================= */
.tbr_company {
        background: url(../img/bg_outline.gif) right 60px bottom 28px no-repeat;
}

/* 採用情報 トップページ設定
======================================================= */
/* 共通設定 */
.recruit.top .wrapper .main {
        width: 100%;
        padding: 0;
        font-weight: 500;
        font-family: 'Noto Serif JP', 'serif';
/*    min-width: 1400px;*/
}

.recruit.top .wrapper .main .block {
        margin: 0;
}

/* 応募条件 */
.terms {
        background: #000 url(../img/bg_terms_01.jpg) 50% 0 no-repeat;
        background-size: 100% auto;
        color: #fff;
}

.recruit.top .terms .inner {
        width: 980px;
        margin: 0 auto;
        padding: 103px 0 230px;
}

.terms .apply {
        position: relative;
        width: 478px;
        height: 128px;
        margin: 0 auto 72px;
        border: 1px solid #fff;
        text-align: center;
}

.terms .apply .stit {
        font-size: 22px;
        font-size: 2.2rem;
        font-weight: 500;
        border-bottom: 1px dotted #fff;
}

.terms .apply h1 {
        position: absolute;
        top: 17px;
        left: -19px;
        font-size: 10px;
        font-size: 1.0rem;
        line-height: 1.0;
        margin: 0;
        padding: 0;
        border-bottom: none;
}

.terms .apply h1::after {
        background: none;
}

.terms .txt {
        text-align: center;
}

.terms .txt p {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: 500;
        line-height: 2.0;
}

.terms .img img {
        width: 100%;
        height: auto;
}

/* 詳細・エントリーはこちら */
.explanatory {
        padding: 80px 0;
        background: url(../img/bg_explanatory.jpg) 0 0 no-repeat;
        background-size: cover;
}

.explanatory p {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: 700;
        color: #000;
}

.explanatory .explanbox {
        position: relative;
        width: 674px;
        margin: 0 auto;
        padding: 42px 0 42px 245px;
        background: #fff;
}
#tinymce .explanatory .explanbox {
        width: 90%;
        padding: 42px 10px;
}

.explanatory .explanbox .tit {
        position: absolute;
        top: -51px;
        left: -60px;
}
#tinymce .explanatory .explanbox .tit {
        position: unset;
        top: auto;
        left: auto;
}

.explanatory .explanbox .box_colum_btn {
        position: absolute;
        bottom: -40px;
}
.recruit .explanatory .explanbox .box_colum_btn a {
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: 700;
        padding: 8px 36px 8px 35px;
        background: #fee700;
        box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
        border: 1px solid #0a0a0a;
}

.recruit .explanatory .explanbox .box_colum_btn a:link,
.recruit .explanatory .explanbox .box_colum_btn a:visited {
        color: #000;
}

/* 赤背景 コンテンツ */
.bg_message {
        background: #f5f5f5;
}

/* 社長メッセージ */
.recruit.top .bg_message .message {
        min-width: 1400px;
        margin: 0 auto 100px;
        padding: 160px 0 164px;
}

#tinymce .bg_message .message img {
        max-width: 720px;
        height: auto;
}

.recruit.top .bg_message .message .inner {
        position: relative;
        width: 1340px;
        margin: 0 auto;
}

.bg_message .message .inner .txt {
        background: #fff;
        border: 1px solid #000;
}

.bg_message .message .inner .tit {
        position: absolute;
        top: 0;
        left: 0;
        width: 68px;
        height: 260px;
        font-size: 36px;
        font-size: 3.6rem;
        font-weight: 700;
        font-family: 'Noto Serif JP', 'serif';
        background: #d20000;
        color: #fff;
        padding: 40px 8px 40px 0;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        z-index: 1;
}
#tinymce .bg_message .message .inner .tit {
        position: unset;
        width: auto;
        height: auto;
        writing-mode: horizontal-tb;
        display: inline-block;
}

.recruit.top .message .inner .message_in {
        position: relative;
        width: 645px;
        top: 35px;
}

.message .inner .message_in .txt {
        position: absolute;
        top: 86px;
        left: 46px;
        width: 598px;
        padding: 42px 54px 53px 58px;
        font-family: 'Noto Sans JP', 'sans-serif';
}
.message .inner .message_in .txt p {
        font-weight: 400;
}

#tinymce .message .inner .message_in .txt {
        position: unset;
        top: auto;
        left: auto;
        width: auto;
}

.lineup .message .inner .message_in .txt p {
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 500;
        line-height: 2.0;
        color: #111;
}
.lineup .message .inner .message_in .txt p.signature,
.signature {
        text-align: right;
        font-size: 15px;
        font-size: 1.5rem;
}

/* メッセージ以外のコンテンツ */
.recruit.top .lineup .other.col6 {
        min-width: 1160px;
        max-width: 1340px;
        margin: 0 auto;
        padding: 0 0 100px;
}

#tinymce .lineup .other.col6 {
        width: 980px;
        margin: 0 auto;
}

.lineup .other .col {
        position: relative;
        float: left;
        width: 32%;
        max-width: 432px;
        margin: 0 19px 20px 0;
        border: 1px solid #000;
        box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
}

.recruit.top .lineup .other .col:nth-child(3n) {
        margin: 0 0 20px;
}

.lineup .other .img img {
        width: 100%;
        height: auto;
}

.lineup .other .col .tit {
        position: absolute;
        bottom: 0;
        width: 100%;
        color: #fff;
        z-index: 1;
        text-align: center;
}

.lineup .other .col .tit p {
        font-size: 30px;
        font-size: 3.0rem;
        font-weight: 700;
        line-height: 1.5;
        padding: 11px 30px 12px;
        background: #d20000;
}

.lineup .other .col .tit a {
        color: #fff;
        text-decoration: none;
}

/* マイナビ誘導 */
.new_graduate {
        width: 844px;
        margin: 0 auto 100px;
}

.new_graduate .inner {
        margin: 0 4px 4px 0;
        border: 1px solid #080103;
        box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1),inset 0px 60px 0px 0px rgba(255, 255, 255, 1);
}

.new_graduate .tit {
        background: #fee700;
        text-align:center;
        padding: 18px 0 19px;
}
.new_graduate .tit p {
        font-size: 40px;
        font-size: 4.0rem;
        font-weight: bold;
}

.new_graduate .mynavi {
        text-align:center;
        padding: 6px 0 7px;
}

.new_graduate .mynavi p {
        font-size: 24px;
        font-size: 2.4rem;
        font-weight: 400;
        font-family: 'Noto Sans JP', 'sans-serif';
}

.new_graduate .mynavi a {
        color: #111;
        padding: 0 35px 0 63px;
        background: url(../img/mynavi_logo.png) no-repeat 0 50%, url(../img/ico_blank.png) no-repeat 100% 50%;
        background-size: auto, 20px auto;
        text-decoration: none;
}



/* 採用下層：職業紹介
======================================================= */
.job_descript {
        padding: 21px 30px;
        margin: 0 0 30px;
        background: #efefef;
}

.connect_intro .col {
        float: left;
        width: 314px;
        margin: 0 16px 16px 0;
        border: 1px solid #000;
        box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
}
.connect_intro .col:nth-child(3n) {
        margin: 0 0 16px;
}

.connect_intro .img {
        float: left;
        width: 70px;
}

.connect_intro .col .txt {
        float: left;
        width: 219px;
        padding: 16px 10px 16px 15px;
        background: #d20000;
        color: #fff;
}

.connect_intro .col .txt p {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        font-family: 'Noto Sans JP', 'sans-serif';
        line-height: 1.5;
}

/* 採用下層：社員インタビュー
======================================================= */
.interview.col4 .col {
        float: left;
        width: 478px;
        margin: 0 17px 17px 0;
        border: 1px solid #000;
        box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
}
.interview.col4 .col:nth-child(2n) {
        margin: 0 0 17px;
}

.interview .col .inner {
        float: left;
        width: 258px;
}

.interview .col .inner .catch {
        display: table-cell;
        height: 184px;
        padding: 0 25px;
        vertical-align: middle;
        background: #d20000;
        color: #fff;
}
.interview .col .inner .catch p {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: 500;
        font-family: 'Noto Serif JP', 'serif';
        line-height: 2.0;
}

.interview .col .inner .career {
        padding: 12px 25px 13px;
}

.interview .col .inner .career p {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
}

.interview .col .img {
        float: right;
        width: 220px;
}

/* 採用下層：社員インタビュー詳細ページ 共通
======================================================= */
.self_intro {
        position: relative;
        padding: 30px 30px 22px;
        margin: 50px 0 82px;
        background: #d20000;
        color: #fff;
}

.self_intro .img {
        position: absolute;
        top: -50px;
        right: 0;
        width: 560px;
        height: 460px;
}
#tinymce .self_intro .img {
        right: 30px;
        width: 350px;
}
#tinymce .self_intro .img img {
        max-width: 350px;
        height: auto;
}

.self_intro .inner {
        width: 365px;
}

.self_intro .catch p {
        display: inline-block;
        font-size: 22px;
        font-size: 2.2rem;
        font-weight: 700;
        font-family: 'Noto Serif JP', 'serif';
        line-height: 3.0;
        padding: 0 18px;
        margin: 0 0 10px;
        background: #000;
}

.self_intro .txt p {
        font-weight: 400;
}

.self_intro .txt .name {
        font-size: 20px;
        font-size: 2.0rem;
}


/* 他の社員のインタビューはこちら */
.other_intro {
        padding: 50px;
        background: #ededed;
}

.other_intro .tit {
        font-size: 22px;
        font-size: 2.2rem;
        font-weight: 700;
        font-family: 'Noto Serif JP', 'serif';
        text-align: center;
        margin: 0 0 35px;
}

.other_intro .intro.col3 .col {
        float: left;
        width: 280px;
        margin: 0 17px 0 0;
        border: 1px solid #000;
        box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
}
.other_intro .intro.col3 .col:nth-child(3n) {
        margin: 0;
}

.other_intro .intro.col3 .col .img img {
        width: 100%;
        height: auto;
}

.other_intro .intro .col .inner {
        padding: 25px 30px;
        background: #d20000;
        color: #fff;
}

.other_intro .intro .col .catch {
        margin: 0 0 15px;
}

.other_intro .intro .col .catch p {
        font-size: 16px;
        font-size: 1.6rem;
        font-weight: 500;
        font-family: 'Noto Serif JP', 'serif';
        line-height: 1.6;
}

.other_intro .intro .col .inner .career p {
        font-size: 13px;
        font-size: 1.3rem;
        font-weight: 400;
        line-height: 1.5;
}

/* 採用下層：育成方針
======================================================= */
.step .col {
        position: relative;
        margin: 0 0 50px;
}

.step .col::before {
        position: absolute;
        content: "";
        top: 80px;
        left: 39px;
        width: 3px;
        height: 100%;
        background: #d20000;
}

.step .col:last-child::before {
        position: unset;
        top: auto;
        left: auto;
        width: auto;
        height: auto;
        background: none;
}

.step .col .tit {
        float: left;
        width: 80px;
        color: #fff;
        padding: 13px 0 14px;
        background: #242424;
        text-align: center;
}

.step .col .tit p {
        font-size: 36px;
        font-size: 3.6rem;
        font-family: 'Noto Serif JP', 'serif';
        line-height: 1.0;
        font-weight: bold;
}

.step .col .tit .stit {
        font-size: 17px;
        font-size: 1.7rem;
}

.step .col .inner {
        float: left;
        width: 870px;
        margin: 0 0 0 30px;
}

#tinymce .step .col .inner {
        width: 690px;
}

/* 採用下層：数字で見る保険ショップパートナー
======================================================= */
.figures.col2 .col {
        float: left;
        width: 480px;
        margin: 0 0 0 20px;
}
.figures.col2 .col:first-child {
        margin: 0;
}

.main .block .figures h2 {
        margin: 0;
}

/* 管理画面用スタイル */
#tinymce .figures.col2 .col {
        width: 390px;
}

#tinymce .figures.col2 .col img {
        max-width: 390px;
        height: auto;
}

#tinymce .figures h2 {
        position: relative;
        font-size: 22px;
        font-size: 2.2rem;
        font-weight: bold;
        line-height: 1.6;
        margin: 0;
        padding: 10px 10px 11px 35px;
        background: #242424;
        color: #fff;
        border-bottom: none;
}
#tinymce .figures h2::before {
        position: absolute;
        content: "";
        top: 27px;
        left: 0;
        width: 18px;
        height: 3px;
        background: #d20000;
}

/* 採用下層：募集要項・採用の流れ
======================================================= */
.col3.under.essential .col {
        background: #d20000;
        border: 1px solid #000;
        box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
        margin: 0 0 4px 15px;
}

.box_column01.essential .img {
        margin: 0;
}

.box_column01.essential .link {
        margin: 0;
        padding: 0;
        background: none;
}

.box_column01.essential .link a {
        display: block;
        padding: 14px 30px 15px;
        color: #fff;
        text-decoration: none;
}

.tbr_fixity th {
        width: 20%;
}


/* 採用下層：採用の流れ
======================================================= */
.flowchart .col {
        position: relative;
        float: left;
        width: 180px;
        margin: 0 0 0 20px;
}
.flowchart .col:first-child {
        margin: 0;
}

.flowchart .col::after {
        position: absolute;
        content: "";
        top: 50%;
        right: -14px;
        width: 8px;
        height: 16px;
        background: url(../img/arw_step.png) 0 0 no-repeat;
        background-size: 8px 16px;
}
.flowchart .col:last-child::after {
        background: none;
}

.flowchart .col .tit {
        font-size: 28px;
        font-size: 2.8rem;
        font-weight: bold;
        font-family: 'Noto Serif JP', 'serif';
        line-height: 1.0;
        padding: 10px 5px 10px 17px;
        color: #fff;
        background: #242424;
}
.flowchart .col:last-child .tit {
        background: #d20000;
}

.flowchart .col .tit span {
        display: inline-block;
        font-size: 17px;
        font-size: 1.7rem;
        margin: 0 5px 0 0;
}

.flowchart .col .txt {
        min-height: 109px;
        padding: 14px 20px;
        background: #f0f0f0;
        box-sizing: border-box;
}


/* 採用下層：エントリーフォーム
======================================================= */
.contact .new_graduate {
        width: 700px;
        margin: 0 auto;
}

.new_graduate .tit p {
        font-size: 28px;
        font-size: 2.8rem;
        font-family: 'Noto Serif JP', 'serif';
}


/* 会社説明会：申込フォーム
======================================================= */

.recruit2023.contact form table.tbr p.point_icon {
        font-size: 10px;
        font-size: 1.0rem;
        background: #B5002D;
        margin: 4px 0 0;
        padding: 0 4px 1px;
        display:inline-block;
        color: #fff;
}


/* ブログ一覧設定
======================================================= */
.blog .post_list ul {
        padding: 0;
        margin: 0;
        list-style-type: none;
}

.blog .post_list ul li article {
        float: left;
        width: 340px;
        margin: 0 0 40px 40px;
}
.blog .post_list ul li:nth-child(odd) article {
        margin: 0 0 40px;
}

/* タグ設定 */
.post-thumbnail.top {
        position: relative;
        margin: 0 0 10px;
}

.post-thumbnail.top .list-inline {
        position: absolute;
        padding: 0;
        margin: 0;
        list-style-type: none;
        font-size: 13px;
        font-size: 1.3rem;
        z-index: 1;
    display: flex;
    gap: 2px;
}

.post-thumbnail.top .list-inline li {
        /* display: inline-block; */
        padding: 3px 8px 3px 7px;
        /* margin: 0 0 0 -2px; */
        color: #fff;
        background: #00a5b4;
}
/* .post-thumbnail.top .list-inline li:first-child {
        margin: 0;
} */

/* 画像設定 */
.post-thumbnail.top img {
        max-width: 340px;
        height: auto;
}

/* リード文 */
.blog .post_list .top_entrybox {
        margin: 0 0 5px;
}

.blog .post_list .top_entrybox .date {
        color: #b1b1b1;
}

.blog .post_list .top_entrybox .top_entry_tit {
        font-size: 15px;
        font-size: 1.5rem;
        font-weight: 400;
        margin: 0 0 5px;
        line-height: 1.8;
}

.blog .post_list .more {
        text-align: right;
}

/* サイド設定 */
.blog .widget {
        margin: 0 0 35px;
}

.widget form {
        border: 1px solid #b6babf;
}

.widget input {
        width: 167px;
        font-size: 14px;
        font-size: 1.4rem;
        padding: 3px 5px 6px;
        border: none;
}

.widget button {
        width: 31px;
        line-height: 1.0;
        padding: 8px 5px;
        border: none;
        background: #fff url(../img/ico_search.png) 50% 50% no-repeat;
        text-indent: -9999px;
        overflow: hidden;
        transition: .3s;
}

.blog .widget h3 {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: 500;
        line-height: 1.6;
        padding: 12px 20px 13px;
        margin: 0 0 25px;
        background: #f5f5f5;
        border-bottom: 2px solid #00a5b4;
}

.blog .widget .recent_article {
        padding: 0;
        margin: 0;
        list-style-type: none;
        max-height: 390px;
        overflow: hidden;
}

.blog .widget .recent_article li {
        margin: 0 0 20px;
}

.blog .widget .recent_article .txt {
        font-size: 13px;
        font-size: 1.3rem;
        line-height: 1.5;
}

.blog .widget .recent_article .txt span {
        display: block;
        color: #b1b1b1;
        margin: 0 0 5px;
}

.blog .widget .recent_article .txt a {
        color: #333;
        text-decoration: none;
}
.blog .widget .recent_article .txt a:hover {
        text-decoration: underline;
}

.blog .widget .catelist {
        font-size: 13px;
        font-size: 1.3rem;
}

.blog .widget .catelist li a {
        color: #333;
        text-decoration: none;
}
.blog .widget .catelist li a:hover {
        text-decoration: underline;
}


/* ブログ記事設定
======================================================= */
.entry_head {
        display: flex;
        align-items: center;
        margin: 0 0 30px;
}
.entry_head p {
        margin: 0 20px 0 0;
}

.entry_head .date {
        color: #b1b1b1;
}

.entry_head ul {
        padding: 0;
        margin: 0;
        list-style-type: none;
        font-size: 13px;
        font-size: 1.3rem;
}

.entry_head ul li {
        display: inline-block;
        margin: 0;
        color: #fff;
        background: #00a5b4;
}
.entry_head ul li:first-child {
        margin: 0 0 0 -3px;
}

.entry_head ul li a{
        display: inline-block;
        padding: 3px 8px 3px 7px;
        color: #fff;
        text-decoration: none;
}

.blog .block img {
        max-width: 720px;
        height: auto;
}

.blog .block .img {
        text-align: center;
}

/* バナー設定
======================================================= */

ul.bnr {
        float: right;
        width: 230px;
        margin: 0;
        padding: 0;
        list-style-type: none;
}

ul.bnr li {
        line-height: 1;
        margin: 0 0 20px;
        padding: 0;
}


/* パーツテンプレート設定
======================================================= */
/* 管理画面ブロック幅 */
#tinymce .box_column01 {
        width: 980px;
}

/* 管理画面 iframe */
#tinymce .mceItemIframe{ background: #ebebeb; }

/* 管理画面 pc_none */
#tinymce .pc_none{ display: block; }

/* 共通 */
.box_column01 .col {
        float: left;
}

.box_column01 .img {
        margin: 0 0 10px;
}

.box_column01 .link {
        margin: 0 0 5px;
        padding: 0 0 0 16px;
        background: url(../img/arw.png) no-repeat 0 .6em;  
        background-size: 6px auto;
}
.recruit .box_column01 .link {
        background: url(../img/arw_r.png) no-repeat 0 .6em;  
        background-size: 6px auto;
}

/* 3列_テキスト下 */
.box_column01.col3 .col {
        width: 300px;
        margin: 0 0 0 40px;
}

.box_column01.col3 .col:first-child {
        margin: 0;
}


/* 3列_テキスト下 */
.box_column01.col4 .col {
        width: 230px;
        margin: 0 0 0 20px;
}

.box_column01.col4 .col:first-child {
        margin: 0;
}

/* 3列_テキスト下 下層ページ */
.col3.under .col {
        width: 312px;
        margin: 0 0 0 21px;
}


/* 1列_テキスト右 */
.box_column01.col1 .col {
        float: none;
}

.box_column01.col1 .img {
        font-size: 12px;
        font-size: 1.2rem;
        float: left;
        width: 480px;
        margin: 0;
}

.box_column01.col1 .inner {
        float: right;
        width: 480px;
}

.box_column01.col1 .img img {
        margin: 0 0 12px;
}

/* 1列_テキスト右（下層） */
.col1.under .img,
.col1.under .inner {
        width: 480px;
}


/* 2列_テキスト下 */
.box_column01.col2_image_none {
        display: -ms-flexbox;
        display: -webkit-box;
        display: -moz-box;
        width: 100%;
}

.box_column01.col2_image_none .col {
        float: none;
        width: 468px;
        margin: 0 0 0 40px;
        border: 1px solid #e6e6e6;
}
.ie .box_column01.col2_image_none .col,
.ie7 .box_column01.col2_image_none .col,
.ie8 .box_column01.col2_image_none .col,
.ie9 .box_column01.col2_image_none .col {
        float: left;
}

.box_column01.col2_image_none .col:first-child {
        margin: 0;
}

.box_column01.col2_image_none .inner {
        padding: 14px 19px;
}

.col2_image_none.under .col {
        float: none;
        width: 478px;
        margin: 0 0 0 20px;
        border: 1px solid #e6e6e6;
}

/* 2列_テキスト下 */
.box_column01.col2l .col {
        width: 480px;
        margin: 0 0 0 20px;
}

.box_column01.col2l .col:first-child {
        margin: 0;
}

/* 2列_テキスト右 */
.box_column01.col2 {
        margin: 0 0 0px;
}

.box_column01.col2 .col {
        width: 460px;
        margin: 0 0 0 50px;
}

.box_column01.col2 .col:first-child {
        margin: 0;
}

.box_column01.col2 .col .img {
        float: left;
        width: 90px;
        margin-bottom: 0;
}

.box_column01.col2 .col .inner {
        float: right;
        width: 300px;
}

/* 2列_テキスト右 下層 */
.col2.under .col {
        width: 480px;
        margin: 0 0 0 20px;
}
.col2.under .col .img {
        float: left;
        width: 180px;
        margin-bottom: 0;
}
.col2.under .col .inner {
        float: right;
        width: 290px;
}
.col4.under .col {
        width: 230px;
        margin: 0 0 0 20px;
}

/* ボタン */
.box_colum_btn {
/*    clear: both;*/
        margin: 0 0 0;
        text-align: center;
}

.box_colum_btn a {
        display: inline-block;
        vertical-align: top;
        zoom: 1;
        *display: inline;
        padding: 19px 80px 18px;
        background: #00a5b4 url(../img/arw_w.png) no-repeat right 20px center;        /* [18. CVエリア設定]　ボタン背景色 */
        background-size: 6px auto;
        border: 1px solid #00a5b4;      /* [18. CVエリア設定]　ボタン枠線色 */
}

.recruit .main .box_colum_btn a {
        background: #d20000 url(../img/arw_w.png) no-repeat right 20px center; 
        background-size: 6px auto;
        margin: 0 0 4px;
        border: 1px solid #000;
        box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
}

.ie8 .box_colum_btn a {
        background: url(../img/arw_w.png) no-repeat right 20px center;
        background-size: 6px auto;
}

.box_colum_btn a:link,
.box_colum_btn a:visited {
        text-decoration: none;
        color: #fff;        /* [18. CVエリア設定]　ボタン文字色 */
}

/* alink */
ul.alink {
        margin: 0;
        padding: 0;   
        list-style-type: none;
}

ul.alink li a {
        display: block;
        margin: 0;
        padding: 8px 14px 8px 40px;
        border: 1px solid #e5e5e5;
        background: url(../img/arw_down.png) no-repeat 19px 1.25em;
        background-size: 10px auto;
}

/* 採用情報 alink */
.recruit ul.alink li a {
        border: 1px solid #333;
        background: #f0f0f0 url(../img/arw_down_r.png) no-repeat 19px 1.25em;
        background-size: 10px auto;
}

/* 中央揃え */

.bnr_center {
        width: 1000px;
        position: relative;
        overflow: hidden;
}
.bnr_center.under {
        width: 740px;
}
.bnr_center.inquiry {
        width: 740px;
        display: inline;
        margin: 30px;
}
#tinymce .bnr_center.under {
        width: 746px;
}

.bnr_center ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
        position: relative;
        left: 50%;
        float: left;
}

.bnr_center li {
        position: relative;
        left: -50%;
        float: left;
        margin: 0 20px 0 0;
}

/* 165センター */

.bnr_center.bnr_165 {
        width: 740px;
}


/* link_text_lr
======================================================= */

.link_text_lr .link_text_l {
        float: left;
        width: 345px;
}

.link_text_lr .link_text_r {
        float: right;
        width: 345px;
}

.link_text_lr a {
        display: table;
        *display: block;
        width: 315px;
        padding: 14px;
        border: 1px solid #e6e6e6;
        font-size: 14px;
        font-size: 1.4rem;
}

.link_text_lr a span {
        display: table-cell;
        vertical-align: middle;
        text-align: left;
        width: 174px;
        padding: 0 20px 0 21px;
        background: url(../img/arw.png) no-repeat 0 50%;
}

.link_text_lr .link_text_r a span {
        padding: 0 0 0 41px;
        background: url(../img/arw.png) no-repeat 20px 50%;
}

.link_text_lr a img {
        display: table-cell;
        vertical-align: middle;
        width: 100px;
}

.ie .link_text_l img {
        float: right;
}
.ie .link_text_l span {
        float: left;
}
.ie .link_text_r img {
        float: left;
}


/* FAQ
======================================================= */

/* ページ内リンク */

.alink_faq ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
}

.alink_faq ul li {
        margin: 0 0 15px;
        padding: 0 0 0 36px;
         background: url(../img/ico_faq_q.png) no-repeat 0 0;
}


/* 開閉なし */

.faq_open {
        padding: 0 0 40px;
        border-bottom: 1px solid #ccc;
}

.faq_open .faq_q {
        margin: 0 0 15px;
        padding: 0 0 0 36px;
         background: url(../img/ico_faq_q.png) no-repeat 0 0;
}

.faq_open .faq_a {
        margin: 0;
        padding: 0 0 0 36px;
         background: url(../img/ico_faq_a.png) no-repeat 0 0;
}



/* お問い合わせ・資料請求設定
======================================================= */

.f_contact {
        width: 760px;
        position: relative;
        overflow: hidden;
        margin: 0 auto;
}

.f_contact .f_contact_in {
        margin: 0;
        padding: 0;
        list-style-type: none;
        position: relative;
        left: 50%;
        float: left;
}

.f_contact .f_contact_in > div {
        position: relative;
        left: -50%;
        float: left;
        margin: 0 20px 0 0;
        width: 698px;
        padding: 20px;
        border: 1px solid #e6e6e6;
}

.f_contact .f_contact_in .fcon {
        text-align: center;
}

.f_contact .fcon .tit {
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: bold;
        margin: 0 0 20px;
        line-height: 1;
}

.f_contact .fcon .tel {
        float: left;
        width: 370px;
        margin: 0 0 0px;
        padding: 7px 0 0 0;
        line-height: 1;
}

.f_contact .fcon .tel a {
        float: left;
        margin: 0 10px 0 0;
}

.f_contact .fcon .tel span {
        font-size: 12px;
        font-size: 1.2rem;
        text-align: left;
        padding: 2px 0 0;
}

.f_contact .fcon .box_colum_btn {
        float: right;
        margin: 0;
        clear: none;
}
.f_contact .fcon .box_colum_btn a {
        display: inline-block;
        vertical-align: top;
        zoom: 1;
        *display: inline;
        padding: 10px 38px 10px;
}

.f_contact .fcon .box_colum_btn a:link,
.f_contact .fcon .box_colum_btn a:visited {
        text-decoration: none;
}

.f_contact .fcon .box_colum_btn a:hover {
        text-decoration: underline;
}

ul.annotation {
        font-size: 12px;
        font-size: 1.2rem;
        margin: 5px 0 5px 10px;
        padding: 0 0 0 10px;
        list-style-type: disc;
}

.tel .tap {
        display: none;
}

/* BLOCK内スタイル設定
======================================================= */
span.texts {
        display: inline-block;
        font-size: 12px;
        font-size: 1.2rem;
}
span.textn {
        display: inline-block;
}
span.textl {
        display: inline-block;
        font-size: 18px;
        font-size: 1.8rem;
}
span.textll {
        display: inline-block;
        font-size: 20px;
        font-size: 2.0rem;
}
span.textxl {
        display: inline-block;
        font-size: 24px;
        font-size: 2.4rem;
}
span.textxxl {
        display: inline-block;
        font-size: 28px;
        font-size: 2.8rem;
}

table {
        width: 100%;
        border-collapse: collapse;
        font-size: 15px;
        font-size: 1.5rem;
}

table.nbr,
table.tbr table.nbr {
        border-collapse: collapse;
        border-top: none;
        border-left: none;
}

table.nbr th,
table.tbr table.nbr th {
        font-weight: normal;
        padding: 0;
        border-right: none;
        border-bottom: none;
}

table.nbr td,
table.tbr table.nbr td {
        padding: 0;
        text-align: left;
        border-right: none;
        border-bottom: none;
}

table.tbr,
table.nbr table.tbr {
        border-collapse: collapse;
        border-top: 1px solid #d9d9d9;    /* [15. 表組み設定]　枠線色 */
        border-left: 1px solid #d9d9d9;    /* [15. 表組み設定]　枠線色 */
}

table.tbr th,
table.nbr table.tbr th {
        font-weight: normal;
        padding: 10px 20px;
        line-height: 1.8;
        text-align: left;
        color: #333;    /* [15. 表組み設定]　th文字色 */
        border-right: 1px solid #d9d9d9;    /* [15. 表組み設定]　枠線色 */
        border-bottom: 1px solid #d9d9d9;    /* [15. 表組み設定]　枠線色 */
        background: #f9f9f9;    /* [15. 表組み設定]　th背景色 */
}

table.tbr td,
table.nbr table.tbr td {
        padding: 10px 20px;
        text-align: left;
        line-height: 1.8;
        border-right: 1px solid #d9d9d9;    /* [15. 表組み設定]　枠線色 */
        border-bottom: 1px solid #d9d9d9;    /* [15. 表組み設定]　枠線色 */
}

/* 採用情報 */
.recruit table.tbr,
.recruit table.nbr table.tbr {
        border-top: 1px solid #626262;
        border-left: 1px solid #626262;
}

.recruit table.tbr th,
.recruit table.nbr table.tbr th {
        color: #001111;
        border-right: 1px solid #626262;
        border-bottom: 1px solid #626262;
        background: #f0f0f0;
}

.recruit table.tbr td,
.recruit table.nbr table.tbr td {
        border-right: 1px solid #626262;
        border-bottom: 1px solid #626262;
}

img {
        line-height: 1;
        vertical-align: top;
        border: 0;
}

.photo-r {
        font-size: 10px;
        font-size: 1.0rem;
        float: right;
        margin: 3px 0 10px 30px;
        text-align: left;
}

.photo-l {
        font-size: 10px;
        font-size: 1.0rem;
        float: left;
        margin: 3px 30px 10px 0;
        text-align: left;
}

.photo-c {
        font-size: 10px;
        font-size: 1.0rem;
        margin: 3px auto 10px;
}

.photo-r img,
.photo-l img,
.photo-c img {
        margin-bottom: 5px;
}

iframe {
        border: none;
}

/* リンク定義
======================================================= */
ul.link_un {
        margin: 5px 0;
        padding: 0;
        list-style-type: none;
}

ul.link_un li {
        margin: 0 0 5px;
}

.arw a {
        padding: 0 0 0 14px;
        background: url(../img/arw.png) no-repeat 0 .4em;
        background-size: 6px auto;
        text-decoration: none;
        color: #333;
}
.arw a:hover {
        text-decoration: underline;
}

.blank a {
        padding: 0 0 0 23px;
        background: url(../img/ico_blank.png) no-repeat 0 .3em;
        background-size: 16px auto;
}

.pdf a {
        padding: 0 0 0 25px;
        background: url(../img/ico_pdf.png) no-repeat 0 0;
        background-size: 16px auto;
}

/* 採用情報 */
.recruit .arw a {
        background: url(../img/arw_r.png) no-repeat 0 .4em;
        background-size: 6px auto;
        text-decoration: none;
        color: #111;
}
.recruit .arw a:hover {
        text-decoration: underline;
}

/* 引用定義
======================================================= */
blockquote {
        padding: 18px 21px;
        border: 5px solid #f1f1f1;
}

.recruit blockquote {
        background: #efefef;
        border: 5px solid #efefef;
}

/* お問い合わせ設定
======================================================= */

/* お問い合わせ table */

form table.tbr .wpcf7-list-item {
        margin-left: 0;
}

form table.tbr {
        width: 100%;
        margin: 0 0 20px;
}

form table.tbr th {
        width: 30%;
        text-align: left;
        padding: 20px 10px;
}

form table.tbr td {
        width: 70%;
        text-align: left;
        padding: 20px;
}
form table.tbr td .hp_form-inline span {
        display: inline;
}

form table.tbr .required {
        float: right;
        color: #fff;
        font-size: 12px;
        font-size: 1.2rem;
        background: #c00;
        padding: 2px 7px;
}

form ul {
        margin: 0;
        padding: 0;
        list-style-type: none;
}

form input,
form select,
form label {
        padding: 5px;
        font-size: 1.6rem;
        vertical-align: middle;
}

form textarea {
        width: 90%;
        padding: 5px;
        font-size: 1.6rem;
        vertical-align: middle;
        resize: vertical;
}

form input[type="text"] {
        width: 85%;
}

form input[type="tel"] {
        width: 20%;
}
*#tel1,
*#tel2,
*#tel3,
*#zip1 {
        width: 20%;
}
*#zip2 {
        width: 30%;
}

form input[type="radio"],
form input[type="checkbox"] {
        width: 20px;
        height: 20px;
}


form ul.list_inline li {
        float: left;
        margin: 0 30px 0 0;
}

form ul.list_inline li input[type="checkbox"] {
        margin: 0 5px 0 0;
}

dl.subform {
        width: 100%;
        margin: 0 0 10px;
        padding: 0;
}

dl.subform dt {
        float: left;
        width: 23%;
        padding: 9px 0 0;
        font-size: 13px;
        font-size: 1.3rem;
}
dl.subform dd {
        float: left;
        width: 77%;
}

form .agree_box {
        padding: 20px 10px;
        text-align: center;
        border: 1px solid #e6e6e6;
        font-size: 18px;
        font-size: 1.8rem;
}

form .agree_box input[type="checkbox"] {
        margin: 0 10px 0 0;
}

form input.btn {
        display: block;
        margin: 0 auto;
        padding: 18px 59px 19px;
        color: #fff;
        background: #00a5b4;
        border: none;
        font-size: 20px;
        font-size: 2.0rem;
}
form input.btn:hover {
        opacity: 0.6;
}

form p.back {
        margin: 30px 0 0;
        text-align: center;
}

form p.back a {
        padding: 0 0 0 21px;
        background: url(../img/arw.png) no-repeat 0 .2em;
}

form input.back {
        border: none;
        padding: 0 0 0 21px;
        background: url(../img/arw.png) no-repeat 0 .45em;
        background-size: 6px auto;
}
form input.back:hover {
        text-decoration: underline;
}

input[type="submit"][disabled] {
        background: #cbcbcb !important;
}
input[type="submit"][disabled]:hover {
        opacity: 1.0 !important;
}

/* 採用 お問い合わせ送信ボタン */
.recruit form input.btn {
        background: #d20000;
        border: 1px solid #000;
        box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
        font-weight: bold;
        font-family: 'Noto Serif JP', 'serif';
        margin: 0 0 4px;
}
.recruit input[type="submit"][disabled] {
        border: 1px solid #909090 !important;
        box-shadow: 3.536px 3.536px 0px 0px rgba(144, 144, 144, 1.0) !important;
}

.recruit form input.back {
        background: url(../img/arw_r.png) no-repeat 0 .45em;
        background-size: 6px auto;
}

/* お問い合わせ error */

.err_block {
        clear: both;
        margin-bottom: 17px;
        padding: 12px;
        background: #ffe8e8;
}

.err_block p {
        color: #f00;
}

.err_block p.err_tit {
        font-weight: bold;
        margin: 0 0 5px;
        padding: 2px 0 2px 10px;
        color: #fff;
        background: #f00;
}

label.error {
        border: 1px solid #ff8383;
        background: #ffe8e8;
        display: inline-block;
}

input.error {
        border: 1px solid #ff8383;
        background: #ffe8e8;
}

select.error {
        border: 1px solid #ff8383;
        background: #ffe8e8;
}

textarea.error {
        border: 1px solid #ff8383;
        background: #ffe8e8;
}

fieldset {
        display: inline;
        padding: 3px;
}

fieldset.error {
        background: #ffe8e8;
}

#form_flow {
        margin: 0;
        padding: 0;
        list-style-type: none;
}

#form_flow li {
        float: left;
        width: 202px;
        list-style-type: none;
}

#form_flow li.arw {
        width: 57px;
        padding: 7px 0 0;
        text-align: center;
}

#form_flow li .inner {
        padding: 5px 0;
        text-align: center;
        border: 1px solid #d2d2d2;
}

/* 個人情報保護に関する基本方針に同意する */
.inquiry_consent p {
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.7;
}

form .inquiry_consent table{
        margin: 10px 0;
}

form .inquiry_consent #privacy {
        width: 100%;
        height: 150px;
        padding: 5px;
        vertical-align: middle;
        resize: vertical;
        overflow-y: auto;
        box-sizing: border-box;
        -webkit-writing-mode: horizontal-tb !important;
        text-rendering: auto;
        color: -internal-light-dark(black, white);
        letter-spacing: normal;
        word-spacing: normal;
        text-transform: none;
        text-indent: 0px;
        text-shadow: none;
        display: inline-block;
        text-align: start;
        appearance: textarea;
        background-color: -internal-light-dark(rgb(255, 255, 255), rgb(59, 59, 59));
        -webkit-rtl-ordering: logical;
        flex-direction: column;
        cursor: text;
        white-space: pre-wrap;
        overflow-wrap: break-word;
        border-width: 1px;
        border-style: solid;
        border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133));
        border-image: initial;
}

form .inquiry_consent #privacy pre {
        font-size: 1.6rem;
        font-family:'Noto Sans JP', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', 'Helvetica', 'Arial', 'sans-serif';
        font-weight: 400;
}

.inquiry_consent .check {
        background: #ffece8;
        text-align: center;
        margin: 30px 0 40px;
        padding: 15px 0;
}

/* 真ん中
======================================================= */

.tal {
        text-align: left !important;
}

.tac {
        text-align: center !important;
}

.tar {
        text-align: right !important;
}


/* TOPへ戻る
======================================================= */

.top_back {
        clear: both;
        padding: 30px 0;
        text-align: center;
}

.top_back a {
        padding: 0 15px;
}


/* 汎用スタイル設定
======================================================= */

.tac { text-align: center; }
.tal { text-align: left; }
.ter { text-align: right; }

.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }

.pc_none { display: none; }
.clearfix {
        zoom: 1;
}
.clearfix:after {
        display: block;
        clear: both;
        content: '';
}
/* *:after {
        display: block;
        clear: both;
} */


/* ちらつき防止
======================================================= */
.overimg {
        box-shadow: #fff 0 0 0;
}

.overimg:hover {
        -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
        filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=60);
        background: #fff¥9;
}

/* 画面に合わせた設定
======================================================= */
/* 採用情報TOP */
@media screen and (max-width: 1300px) {
        .lineup .other .col .tit p {
                        font-size: 25px;
                        font-size: 2.5rem;
        }
}

/* TOP メインビジュアル */
@media screen and (max-width: 1540px) {
        #bxslider .bx-wrapper ul li.mv03 img {
                        top: 0;
                        transform: translateY(0);
        }
}

/*トップページ　column
=======================================================*/
#feed_column {
        width: 980px;
        margin: 0 auto 40px;
}
.mceTopics ul#feed_column{
        border-top: 1px solid #e6e6e6;
}
.mceTopics #feed_column li{
        margin: 15px 0 0;
        padding: 0 0 15px;
        border-bottom: 1px solid #e6e6e6;
        overflow: hidden;
}
.mceTopics #feed_column li span{
        display: inline-block;
}
.mceTopics #feed_column span.tag{
        font-size: 12px;
        font-size: 1.2rem;
        display: inline-block;
        padding: 3px 8px 3px 7px;
        color: #fff;
        background: #00a5b4;
        margin: 0 5px 0 0;
}
.mceTopics #feed_column .date {
        color: #b1b1b1;
        margin: 0 15px 0 0;
}
.mceTopics #feed_column li span.title{
        float: none;
        width: inherit;
        font-size: 15px;
        font-size: 1.5rem;
        margin: 0 0 0 14px;
}

/*カタログ
=======================================================*/

.catalog_cnt {
        margin: 0 0 50px;
}

.catalog_cnt .tab {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
}

.catalog_cnt .tab li {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 49.5%;
        height: 64px;
        border-top: 1px solid #EBEBEB;
        border-left: 1px solid #EBEBEB;
        border-right: 1px solid #EBEBEB;
        box-sizing: border-box;
        font-size: 20px;
        font-size: 2.0rem;
        font-weight: 500;
        text-align: center;
        cursor: pointer;
}

.catalog_cnt .tab li.active {
        height: 70px;
        border-top: 3px solid #00A5B4;
        background: #F5F5F5;
}

.catalog_cnt .panel {
        display: none;
        padding: 40px;
        font-size: 18px;
        font-size: 1.8rem;
        background: #F5F5F5;
}

.catalog_cnt .tab + .panel {
        display: block;
}

.catalog_cnt .panel .list {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 30px 0 0;
        padding: 0;
        list-style: none;
}

.catalog_cnt .panel .list li {
        width: 48%;
        margin: 0 0 20px;
}

.catalog_cnt .panel .list li input {
        display: none;
}

.catalog_cnt .panel .list li label {
        display: flex;
        align-items: center;
        width: 100%;
        height: 110px;
        padding: 0 20px 0 120px;
        border: 1px solid #D9D9D9;
        box-sizing: border-box;
        font-weight: 500;
        background-color: #fff;
        cursor: pointer;
}

.catalog_cnt .panel .list li #catalog01 + label {
        background-image: url(../img/ico_catalog01.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog02 + label {
        background-image: url(../img/ico_catalog02.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog03 + label {
        background-image: url(../img/ico_catalog03.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog04 + label {
        background-image: url(../img/ico_catalog04.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog05 + label {
        background-image: url(../img/ico_catalog05.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog06 + label {
        background-image: url(../img/ico_catalog06.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog07 + label {
        background-image: url(../img/ico_catalog07.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog08 + label {
        background-image: url(../img/ico_catalog08.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog09 + label {
        background-image: url(../img/ico_catalog09.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog10 + label {
        background-image: url(../img/ico_catalog10.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog11 + label {
        background-image: url(../img/ico_catalog11.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog12 + label {
        background-image: url(../img/ico_catalog12.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog13 + label {
        background-image: url(../img/ico_catalog13.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog14 + label {
        background-image: url(../img/ico_catalog14.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog15 + label {
        background-image: url(../img/ico_catalog15.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog16 + label {
        background-image: url(../img/ico_catalog16.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog17 + label {
        background-image: url(../img/ico_catalog17.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog18 + label {
        background-image: url(../img/ico_catalog18.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li #catalog19 + label {
        background-image: url(../img/ico_catalog19.png);
        background-repeat: no-repeat;
        background-position: 20px center;
}

.catalog_cnt .panel .list li input:checked + label {
        color: #fff;
        border-color: #00A5B4;
        background-color: #00A5B4;
}
p:empty {
        margin-bottom: 1.5em;
}


/* 採用情報 2023 共通設定
=======================================================*/
.recruit2023 .wrapper p{
        font-size: 16px;
        font-size: 1.6rem;
}

.recruit2023 .wrapper a{
        color: #00A5B4;
}

.recruit2023 .main h1,
.recruit2023 .main .block h2 {
        font-weight: bold;
        font-size: 26px;
        font-size: 2.6rem;
        line-height: 1.42;
        margin: 0 0 20px;
        padding: 0 0 13px;
        background: none;
        border-bottom: 1px solid #00A5B4;
}

.recruit2023 .main .block h3{
        font-weight: bold;
        font-size: 20px;
        font-size: 2.0rem;
        line-height: 1.45;
        margin: 0 0 20px;
        padding: 0 0 0 15px;
        border-left: 1px solid #00A5B4;
}

.recruit2023 .main .block h3:after{
        display: none;
}

.recruit2023 table.tbr,
.recruit2023 table.nbr table.tbr,
.recruit2023 table.tbr td,
.recruit2023 table.nbr table.tbr td {
        border-color: #C7DBDD;
}

.recruit2023 table.tbr th,
.recruit2023 table.nbr table.tbr th{
        background: #EFF9FA;
        border-color: #C7DBDD;
}

.recruit2023 blockquote{
        border: 1px solid #00A5B4;
        border-radius: 3px;
        padding: 30px 35px;
}

.recruit2023 .main .box_colum_btn{
        text-align: center;
}

.recruit2023 .main .box_colum_btn a{
        display: inline-block;
        font-weight: bold;
        font-size: 18px;
        font-size: 1.8rem;
        letter-spacing: 0.03em;
        line-height: 1.4;
        color: #fff;
        border-radius: 3px;
        background: #00a5b4 url(../img/recruit/arw_w.png) no-repeat right 30px center;
        background-size: 14px auto;
        box-shadow: 5px 5px 15px rgba(0, 72, 78, 0.1);
}

/* カテゴリタイトル */
.recruit2023 .catetit{
        height: 250px;
        background: url(../img/recruit/bg_cate_def.jpg) 0 0 no-repeat;
        background-size: cover;
        padding: 22px 0 0;
}

.recruit2023 .catetit h1,
.recruit2023 .catetit p {
        display: inline-flex;
        font-size: 36px;
        font-size: 3.6rem;
        line-height: 1.4;
        font-weight: bold;
        margin: 0 auto;
        padding: 0;
        color: #fff;
        background: none;
        border-bottom: 0;
        text-shadow: 2px 2px 10px rgba(0, 72, 78, 0.15);
}

/* ナビゲーション */
.recruit2023 .un_nav{
        display: block;
        top: auto;
        left: auto;
        overflow: hidden;   
}

.recruit2023 .submenu{
        left: auto;
}

.recruit2023 .un_nav ul{
        font-size: 16px;
        font-size: 1.6rem;
}

.recruit2023 .un_nav ul li{
        padding: 25px 0 20px;
        font-weight: bold;
}

.recruit2023 .un_nav .subnav ul li a:hover,
.recruit2023 .un_nav .subnav ul li.subselected > a {
        padding: 0 0 4px;
        border-bottom: 1px solid #fff;
}


.recruit2023 .un_nav .localnav{
        background: #4FB0B9;
}

.recruit2023 .un_nav .localnav ul{
        font-size: 15px;
        font-size: 1.5rem;
}

.recruit2023 .un_nav .localnav ul li{
        padding: 33px 0 28px;
}

.recruit2023 .un_nav .localnav ul li a:link,
.recruit2023 .un_nav .localnav ul li a:visited {
        color: #fff;
        padding: 0 0 4px;
        border-bottom: 1px solid transparent;
}

.recruit2023 .un_nav .localnav ul li a:hover,
.recruit2023 .un_nav .localnav ul li.localselected > a{
        border-bottom: 1px solid #fff;
}


/* CVエリア */
.recruit2023 .recruit_cv{
        position: relative;
        display: block;
        overflow: hidden;
        padding: 138px 0 100px;
        background: url(../img/recruit/bg_recruit_cv.jpg) 50% 50% no-repeat;
        background-size: cover;
}

.recruit2023 .recruit_cv:before{
        content:"";
        position: absolute;
        z-index: 0;
        left: 0;
        top: 0;
        width: 909px;
        height: 212px;
        background: url(../img/recruit/bg_recruit_entry.png) 0 0 no-repeat;
        background-size: contain;
}

.recruit2023 .recruit_cv .inner{
        position: relative;
        z-index: 1;
        width: 82%;
        min-width: 920px;
        max-width: 1100px;
        margin: 0 auto;
        padding: 0 0 70px;
        background: #fff url(../img/recruit/bg_recruit_cv_in.jpg) 50% 50% no-repeat;
        background-size: cover;
        border-radius: 3px;
}

.recruit2023 .recruit_cv .tit_head{
        text-align: center;
        margin: 0 0 30px;
}

.recruit2023 .recruit_cv .tit_head .en{
        position: relative;
        top: -31px;
        margin: 0 0 -5px;
        line-height: 0;
}

.recruit2023 .recruit_cv .tit_head .tit{
        display: inline-block;
        font-weight: bold;
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.45;
        color: #00484e;
        border-radius: 3px;
        border: 2px solid #00484e;
        margin: 0;
        padding: 2px 11px 3px;
}

.recruit2023 .recruit_cv .lead{
        font-weight: 500;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.4;
        text-align: center;
        color: #00484e;
        margin: 0 0 50px;
}

.recruit2023 .recruit_btn {
        position: relative;
        left: auto;
        float: none;
        display: flex;
        justify-content: center;
}

.recruit2023 .recruit_btn li {
        left: auto;
        float: none;
        width: 400px;
        border: none;
        text-align: center;
        margin: 0 0 0 60px;
}

.recruit2023 .recruit_btn li:first-child {
        margin: 0;
}

.recruit2023 .recruit_btn li a {
        display: block;
        text-decoration: none;
        font-size: 20px;
        font-size: 2.0rem;
        line-height: 1.45;
        color: #fff;
        font-weight: bold;
        padding: 30px 0 31px;
        border-radius: 45px;
        box-shadow: 5px 5px 15px rgba(0, 72, 78, 0.1);
        background: #00BDCE url(../img/recruit/arw_w.png) no-repeat right 30px center;
        background-size: 14px auto;
}

.recruit2023 .recruit_btn li.btn_entry a {
        background-color: #007883;
}


/* 採用情報TOP 2023
=======================================================*/
.recruit2023.top .wrapper .main {
        width: 100%;
        max-width: 100%;
        padding-bottom: 0;
        padding-inline: 0;
}

.recruit2023.top .wrapper .main .inner {
        width: 1340px;
        margin: 0 auto;
        box-sizing: border-box;
}

.recruit2023.top .wrapper .block{
        overflow: hidden;
        margin-bottom: 0;
}

/* KV */
.recruit_top_kv {
        position: relative;
        width: 100%;
        padding-top: 45.45%;
        margin: 0 0 120px;
}
.recruit_top_kv iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
}

/* トップメッセージ */
.recruit_top_message .inner{
        position: relative;
        min-height: 555px;
        padding: 0 805px 115px 0;
}

.recruit2023.top .wrapper .main .recruit_top_message .inner {
        margin-bottom: 90px;
}

.recruit_top_message .inner:after{
        content:"";
        position: absolute;
        z-index: 0;
        left: 505px;
        bottom: 0;
        width: 1703px;
        height: 188px;
        background: url(../img/recruit/bg_top_message.png) 0 0 no-repeat;
        background-size: contain;
}

.recruit_top_message .inner > *{
        position: relative;
        z-index: 1;
}

.recruit_top_message .tit_head .en{
        margin: 0 0 30px;
}

.recruit_top_message .tit_head h2,
.recruit2023 .recruit_top_message .tit_head h2{
        display: inline-block;
        font-weight: bold;
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.46;
        color: #00a5b4;
        margin: 0 0 40px;
        padding: 5px 15px 7px;
        border-radius: 3px;
        border: 2px solid #00a5b4;
}

.recruit_top_message .lead{
        margin: 0 0 60px;
}

.recruit_top_message .box_colum_btn{
        width: 360px;
}

.recruit2023.top .recruit_top_message .box_colum_btn a{
        display: block;
}

.recruit_top_message .img{
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
}

.recruit_top_message .img img{
        border-radius: 3px;
}

/* 社員インタビュー */
.recruit_top_interview{
        position: relative;
        margin: 0 0 90px;
        padding: 0 0 93px;
}

.recruit_top_interview:before{
        content:"";
        position: absolute;
        z-index: 0;
        top: 31px;
        right: 0;
        width: calc( ( 100% - 1340px ) / 2 + 1190px );
        height: 550px;
        background: url(../img/recruit/bg_top_interview.jpg) 50% 50% no-repeat;
        background-size: cover;
}

.recruit_top_interview > *{
        position: relative;
        z-index: 1;
}

.recruit_top_interview .tit_head .en{
        margin: 0 0 30px;
}

.recruit_top_interview .tit_head h2,
.recruit2023 .recruit_top_interview .tit_head h2{
        display: inline-block;
        font-weight: bold;
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.46;
        color: #00a5b4;
        margin: 0 0 40px;
        padding: 5px 15px 7px;
        border-radius: 3px;
        border: 2px solid #00a5b4;
}

.recruit_top_interview .content{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-radius: 3px;
        overflow: hidden;
}

.recruit_top_interview .content:before{
        content:"";
        position: absolute;
        z-index: 1;
        left: 0;
        top: 0;
        width: 480px;
        height: 100%;
        clip-path: polygon(0 0, 100% 0%, 420px 100%, 0% 100%);
        background: linear-gradient(-90deg, #00a5b4 0%, #00b18f 100%);
}

.recruit_top_interview .content:after{
        content:"";
        position: absolute;
        z-index: 1;
        left: 0;
        top: 0;
        width: 422px;
        height: 70px;
        background: url(../img/recruit/bg_top_culture.png) 0 0 no-repeat;
        background-size: contain;
}

.recruit_top_interview .content .txt_area{
        position: relative;
        z-index: 2;
        color: #fff;
        width: 300px;
        padding: 0 50px 0 70px;
}

.recruit_top_interview .content .txt_area .catch{
        font-weight: bold;
        font-size: 30px;
        font-size: 3.0rem;
        line-height: 1.46;
        text-align: left;
        color: #eff9fa;
        margin: 0 0 16px;
}

.recruit_top_interview .content .txt_area .lead{
        margin: 0 0 30px;
}

.recruit2023.top .recruit_top_interview .box_colum_btn a{
        display: block;
        color: #00A5B4;
        background: #fff url(../img/recruit/arw.png) no-repeat right 30px center;
        background-size: 14px auto;
}

.recruit_top_interview .content .img_area{
        position: relative;
        z-index: 0;
}


/* 働く環境 */
.recruit_top_environment{
        position: relative;
        margin: 0 0 120px;
        padding: 226px 0 0;
}

.recruit_top_environment:before{
        content:"";
        position: absolute;
        z-index: 0;
        left: 0;
        top: 98px;
        width: 100%;
        height: 421px;
        background: url(../img/recruit/bg_top_environment.jpg) 50% 50% no-repeat;
        background-size: cover;
}

.recruit_top_environment .inner{
        position: relative;
        z-index: 1;
}

.recruit_top_environment .inner:before{
        content:"";
        position: absolute;
        z-index: 1;
        left: 62px;
        top: -226px;
        width: 1875px;
        height: 188px;
        background: url(../img/recruit/bg_top_environment_tit.png) 0 0 no-repeat;
        background-size: contain;
}

.recruit_top_environment .inner > *{
        position: relative;
        z-index: 2;
}

.recruit_top_environment .tit_head{
        text-align: center;
}

.recruit_top_environment .tit_head .en{
        margin: 0 0 30px;
}

.recruit_top_environment .tit_head h2,
.recruit2023 .recruit_top_environment .tit_head h2{
        display: inline-block;
        font-weight: bold;
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.46;
        color: #fff;
        margin: 0 0 40px;
        padding: 5px 15px 7px;
        border-radius: 3px;
        border: 2px solid #fff;
}

.recruit_top_environment .content{
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        margin: 0 auto 10px;
        width: 1080px;
}

.recruit_top_environment .content .item{
        width: 299px;
        margin: 0 0 50px 48px;
}

.recruit_top_environment .content .item:first-child{
        margin: 0 0 50px 0;
}

/*
.recruit_top_environment .content .item:nth-child(4n-3){
        margin-left: 0;
}
*/

.recruit_top_environment .content .item .img{
        margin: 0 0 20px;
}

.recruit_top_environment .content .item .img img{
        border-radius: 3px;
        box-shadow: 5px 5px 15px rgba(0, 72, 78, 0.1);
}

.recruit_top_environment .content .item .tit{
        display: flex;
        align-items: center;
        min-height: 58px;
}

.recruit_top_environment .content .item .tit a{
        position: relative;
        display: block;
        width: 100%;
        font-weight: bold;
        font-size: 20px;
        font-size: 2.0rem;
        line-height: 1.45;
        text-align: left;
        color: #333;
        text-decoration: none;
        padding: 0 64px 0 0;
}

.recruit_top_environment .content .item .tit a:after{
        content:"";
        position: absolute;
        z-index: 1;
        right: 0;
        top: calc( 50% - 16px );
        width: 32px;
        height: 32px;
        background: #00A5B4 url(../img/recruit/arw_w.png) 50% 50% no-repeat;
        border-radius: 100%;
}

.recruit_top_environment .box_colum_btn{
        width: 360px;
        margin: 0 auto;
}

.recruit2023.top .recruit_top_environment .box_colum_btn a,
.recruit_top_environment .box_colum_btn a{
        display: block;
}

/* 風景 */
.recruit_top_scene{
        position: relative;
        margin: 0 0 140px;
}

.recruit_top_scene:before{
        content:"";
        position: absolute;
        z-index: 0;
        top: 200px;
        left: 0;
        width: calc( ( 100% - 1340px ) / 2 + 1340px );
        height: 610px;
        background: url(../img/recruit/bg_top_scene.jpg) 50% 50% no-repeat;
        background-size: cover;
}

.recruit2023.top .wrapper .main .recruit_top_scene .inner,
.recruit_top_scene .inner{
        position: relative;
        z-index: 1;
        width: 1200px;
}

.recruit_top_scene .inner > *{
        position: relative;
}

.recruit_top_scene .top_scene_lunch{
        margin: 0 0 60px;
}

.recruit_top_scene .en{
        position: absolute;
        z-index: 1;
}

.recruit_top_scene .top_scene_lunch .en{
        left: 750px;
        top: 110px;
}

.recruit_top_scene .top_scene_office .en{
        right: 750px;
        bottom: 130px;
}

.recruit2023 .wrapper .recruit_top_scene .tit,
.recruit_top_scene .tit{
        position: absolute;
        z-index: 1;
        font-weight: bold;
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.46;
        color: #fff;
        padding: 5px 15px 7px;
        border-radius: 3px;
        border: 2px solid #fff;
}

.recruit_top_scene .top_scene_lunch .tit{
        left: 750px;
        top: 261px;
}

.recruit_top_scene .top_scene_office .tit{
        right: 750px;
        bottom: 275px;
}

.recruit_top_scene .img img{
        border-radius: 3px;
        box-shadow: 5px 5px 20px rgba(0, 72, 78, 0.1);
}

.recruit_top_scene .top_scene_office .img img{
        display: block;
        margin-left: auto;
}

/* Instagram */
.recruit_instagram{
        position: relative;
        padding: 0 503px;
        box-sizing: border-box;
}

@media (max-width: 1540px){
        .recruit_instagram{
                left: calc( 50% - 770px );
                width: 1540px;
        }
}

.recruit_instagram .txt_area{
        background: url(../img/recruit/bg_recruit_instagram.jpg) 50% 100% no-repeat;
        background-size: 100% 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 382px;
        text-align: center;
}

.recruit2023.top .wrapper .main .recruit_instagram .txt_area .inner,
.recruit_instagram .txt_area .inner{
        width: 374px;
}

.recruit_instagram .txt_area h2,
.home .recruit_instagram .txt_area h2{
        font-weight: bold;
        font-size: 30px;
        font-size: 3.0rem;
        line-height: 1.46;
        color: #fff;
        margin: 0 0 16px;
        padding: 0;
}

.recruit_instagram .txt_area h2 span{
        position: relative;
        padding: 0 0 0 40px;
}

.recruit_instagram .txt_area h2 span:before{
        content:"";
        position: absolute;
        z-index: 1;
        left: 0;
        top: calc( 50% - 15px );
        width: 30px;
        height: 30px;
        background: url(../img/recruit/ico_instagram_w.png) 0 0 no-repeat;
        background-size: contain;
}

.recruit_instagram .txt_area h2 span::after,
.home .recruit_instagram .txt_area h2 span::after{
        display: none;
}

.recruit_instagram .txt_area p{
        color: #fff;
}

.recruit_instagram .txt_area .account{
        font-weight: bold;
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.6875;
        margin: 0 0 30px;
}

.recruit_instagram .txt_area .lead{
        margin: 0 0 40px;
}

.recruit_instagram .txt_area .box_colum_btn{
        width: 260px;
        margin: 0 auto;
}

.recruit2023 .wrapper .recruit_instagram .txt_area .box_colum_btn a,
.recruit_instagram .txt_area .box_colum_btn a{
        display: block;
        color: #8058d2;
        background: #fff;
        font-weight: bold;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.5;
        border-radius: 15px;
        padding: 14px 0 15px;
        border: none;
}

.recruit_instagram .img_area .img01{
        position: absolute;
        z-index: 1;
        left: 0;
        top: 0;
}

.recruit_instagram .img_area .img02{
        position: absolute;
        z-index: 1;
        right: 0;
        top: 0;
}

/* 採用情報TOP 下層ページ共通
=======================================================*/
@media (max-width: 1350px){
        .recruit2023.top .wrapper .main .inner{
                width: 94%;
                max-width: 1160px;
        }

        .recruit_top_message .inner {
                padding-right: 685px;
        }

        .recruit_top_message .img img{
                width: 600px;
                height: auto;
        }
        .recruit_top_interview .content .txt_area .lead{
                margin-bottom: 20px;
        }
        .recruit_top_interview .box_colum_btn a{
                padding: 14px 80px 13px;
        }
        .recruit_top_interview .content .img_area img{
                width: 740px;
                height: auto;
        }
        .recruit_top_environment .content .item{
                width: 22%;
                margin: 0 0 50px 4%;
        }
        .recruit_top_environment .content .item:nth-child(4n-3){
                margin-left: 0;
        }
        .recruit_top_environment .content .item .img img{
                width: 100%;
                height: auto;
        }
        .recruit2023.top .wrapper .main .recruit_top_scene .inner,
        .recruit_top_scene .inner{
                width: 100%;
                max-width: 1200px;
        }
        .recruit_top_scene .img img{
                width: 696px;
                height: auto;
        }
        .recruit_top_scene .top_scene_lunch .en,
        .recruit_top_scene .top_scene_lunch .tit{
                left: 726px;
        }
        .recruit_top_scene .top_scene_office .en{
                right: 726px;
                bottom: 100px;
        }
        .recruit_top_scene .top_scene_office .tit{
                right: 726px;
                bottom: 245px;
        }
}


/* 採用情報 下層ページ共通
=======================================================*/

.recruit2023 .main{
        width: 94%;
        max-width: 1340px;
        box-sizing: border-box;
}

.recruit2023 .wrapper .block{
        overflow: visible;
}

.recruit2023 .main img{
        border-radius: 3px;
        max-width: 100%;
        height: auto;
}

.recruit2023 ul.alink{
        margin: 0 0 0 -15px;
}

.recruit2023 ul.alink li{
        margin: 0 0 15px 15px;
}

.recruit2023 ul.alink li a {
        font-size: 15px;
        font-size: 1.5rem;
        line-height: 1.4;
        font-weight: bold;
        padding: 14px 46px 15px 18px;
        border: 1px solid #00A5B4;
        border-radius: 3px;
        background: #fff url(../img/recruit/arw_down.png) right 18px top 50% no-repeat;
        background-size: 14px auto;
}

.recruit2023 .main .block h2.recruit_interview_tit,
h2.recruit_interview_tit{
        text-align: center;
        margin: 0 0 40px;
        padding: 0;
        border-bottom: 0;
}

/* 採用情報 社長メッセージ
=======================================================*/
.recruit2023_message{
        display: flex;
        justify-content: space-between;
}

.recruit2023_message.img_r{
        flex-direction: row-reverse;
}

.recruit2023_message .img_area{
        position: relative;
        width: 600px;
        height: 380px;
}

.recruit2023_message .img_area .label{
        position: absolute;
        z-index: 1;
        left: 0;
        bottom: 40px;
        color: #fff;
        background: #00A5B4;
        padding: 20px 30px;
}

.recruit2023_message .img_area .label p{
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 2.0;
}

.recruit2023_message .img_area .label p.name{
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.8;
}

.recruit2023_message .img_area .label p.name span{
        font-size: 21px;
        font-size: 2.1rem;
        line-height: 1.37;
        font-weight: 500;
        padding-left: 1em;
}

.recruit2023_message .txt_area{
        width: 680px;
        width: calc( 100% - 660px );
}

.recruit2023_message_label{
        display: table;
        margin-left: auto;
}

.recruit2023 .wrapper .recruit2023_message_label p,
.recruit2023_message_label p{
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 2.0;
}

.recruit2023 .wrapper .recruit2023_message_label p.name,
.recruit2023_message_label p.name{
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 1.8;
}

.recruit2023_message_label p.name span{
        font-size: 21px;
        font-size: 2.1rem;
        line-height: 1.37;
        font-weight: 500;
        padding-left: 1em;
}

@media (max-width: 1350px){

}

/* 採用情報 働く環境
=======================================================*/
.recruit2023_environment01{
        display: flex;
        justify-content: space-between;
        flex-direction: row-reverse;
        align-items: center;
}

.recruit2023_environment01 .txt_area{
        width: 680px;
        width: calc( 100% - 660px );
}

.recruit2023_environment02{
        display: flex;
}

.recruit2023_environment02 > *{
        width: 25%;
}

.recruit2023_environment02 .date{
        position: relative;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 56px;
        padding: 0 29px 0 36px;
}

.recruit2023_environment02 .date:after{
        content:"";
        position: absolute;
        z-index: 1;
        top: 0;
        right: -7px;
        border-style: solid;
        border-width: 28px 0 28px 7px;
}

.recruit2023_environment02 .item01 .date{
        background: #0076B4;
}
.recruit2023_environment02 .item01 .date:after{
        border-color: transparent transparent transparent #0076B4;
}

.recruit2023_environment02 .item02 .date{
        background: #008AB4;
}
.recruit2023_environment02 .item02 .date:after{
        border-color: transparent transparent transparent #008AB4;
}

.recruit2023_environment02 .item03 .date{
        background: #0098B4;
}
.recruit2023_environment02 .item03 .date:after{
        border-color: transparent transparent transparent #0098B4;
}

.recruit2023_environment02 .item04 .date{
        background: #00A5B4;
}
.recruit2023_environment02 .item04 .date:after{
        display: none;
}

.recruit2023_environment02 .content{
        margin: 0 7px 0 0;
        padding: 30px 9px 0;
}

.recruit2023_environment02 .content .item01{
        padding: 0 0 0 16px;
}

.recruit2023_environment02 .content .item04{
        margin-right: 0;
}

.recruit2023_environment02 .content .tit{
        font-size: 20px;
        font-size: 2.0rem;
        line-height: 1.44;
        font-weight: bold;
        text-align: center;
        margin: 0 0 20px;
}

.recruit2023_environment03{
        display: flex;
        justify-content: space-between;
}

.recruit2023_environment03 > *{
        width: 32%;
        margin: 0 0 0 3%;
}

.recruit2023_environment03 > *:first-child{
        margin-left: 0;
}

.recruit2023_environment04{
        padding: 70px 5.2%;
        background: url(../img/recruit/bg_environment04.jpg) 50% 50% no-repeat;
        background-size: cover;
}

.recruit2023 .main .block .recruit2023_environment04 h3,
.recruit2023_environment04 h3{
        font-weight: bold;
        font-size: 26px;
        font-size:  2.6rem;
        line-height: 1.42;
        text-align: center;
        color: #00a5b4;
        margin: 0 0 40px; 
        padding: 0;
        border-left: none;
}


.recruit2023_environment04 .content{
        display: flex;
        justify-content: space-between;
}

.wrapper .recruit2023_environment04 .content > *,
.recruit2023_environment04 .content > *{
        width: 31.6%;
        max-width: 380px;
        height: 90px;
        border-radius: 45px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 20px;
        font-size: 2.0rem;
        line-height: 1.35;
        color: #fff;
        font-weight: bold;
        margin: 0 0 0 2.6%;
}

.wrapper .recruit2023_environment04 .content > *:first-child,
.recruit2023_environment04 .content > *:first-child{
        margin-left: 0;
}

.recruit2023_environment04 .content .item01{
        background: #0076B4;
}

.recruit2023_environment04 .content .item02{
        background: #008AB4;
}

.recruit2023_environment04 .content .item03{
        background: #00A5B4;
}

.recruit2023_environment05 ul{
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 -25px;
        padding: 0;
        list-style-type: none;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.6;
        font-weight: bold;
}

.recruit2023_environment05 ul li{
        position: relative;
        display: flex;
        align-items: center;
        width: 32%;
        min-height: 130px;
        margin: 0 0 25px 2%;
        padding: 10px 53px 10px 153px;
        border: 2px solid #00A5B4;
        border-radius: 3px;
        box-sizing: border-box;
}

.recruit2023_environment05 ul li:nth-child(3n-2){
        margin-left: 0;
}

.recruit2023_environment05 ul li span.texts{
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.6;
}

.recruit2023_environment05 ul li:before{
        content:"";
        position: absolute;
        z-index: 1;
        left: 35px;
        top: 21px;
        top: calc( 50% - 45px );
        width: 90px;
        height: 90px;
        background-position: 50% 50%;
        background-repeat: no-repeat;
        background-size: contain;
}

.recruit2023_environment05 ul li.item01:before{
        background-image: url(../img/recruit/ico_environment01.png);
}
.recruit2023_environment05 ul li.item02:before{
        background-image: url(../img/recruit/ico_environment02.png);
}
.recruit2023_environment05 ul li.item03:before{
        background-image: url(../img/recruit/ico_environment03.png);
}
.recruit2023_environment05 ul li.item04:before{
        background-image: url(../img/recruit/ico_environment04.png);
}
.recruit2023_environment05 ul li.item05:before{
        background-image: url(../img/recruit/ico_environment05.png);
}
.recruit2023_environment05 ul li.item06:before{
        background-image: url(../img/recruit/ico_environment06.png);
}
.recruit2023_environment05 ul li.item07:before{
        background-image: url(../img/recruit/ico_environment07.png);
}
.recruit2023_environment05 ul li.item08:before{
        background-image: url(../img/recruit/ico_environment08.png);
}
.recruit2023_environment05 ul li.item09:before{
        background-image: url(../img/recruit/ico_environment09.png);
}
.recruit2023_environment05 ul li.item10:before{
        background-image: url(../img/recruit/ico_environment10.png);
}
.recruit2023_environment05 ul li.item11:before{
        background-image: url(../img/recruit/ico_environment11.png);
}
.recruit2023_environment05 ul li.item12:before{
        background-image: url(../img/recruit/ico_environment12.png);
}

.recruit2023_environment06{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 0 -60px;
}

.recruit2023_environment06 .item{
        width: 48%;
        max-width: 640px;
        margin: 0 0 60px 4%;
}

.recruit2023_environment06 .item:nth-child( 2n-1 ){
        margin-left: 0;
}

.recruit2023_environment06 .img{
        position: relative;
        margin: 0 0 20px;
}

.recruit2023_environment06 .img .label{
        position: absolute;
        z-index: 1;
        left: 0;
        bottom: 40px;
        color: #fff;
        background: #00A5B4;
        padding: 15px 30px 16px 50px;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.6;
        font-weight: bold;
}

.recruit2023_environment06 ul.sdgs{
        display: flex;
        flex-wrap: wrap;
        margin: 0 0 -10px;
        padding: 0;
        list-style-type: none;
}

.recruit2023_environment06 ul.sdgs li{
        width: 18.75%;
        margin: 0 0 10px 1.5625%;
}

.recruit2023_environment06 ul.sdgs li:nth-child(5n-4){
        margin-left: 0;
}

.recruit2023_environment06 ul.sdgs li img{
        border-radius: 0;
}

.recruit2023_environment07 img{
        border-radius: 0;
        box-shadow: 5px 5px 15px rgba(0, 72, 78, 0.1);
}


/* 採用情報 社員インタビューTOP
=======================================================*/
.recruit2023_interview_link{
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 0 -60px;
}

.recruit2023_interview_link > *{
        width: 48%;
        max-width: 640px;
        background: #EFF9FA;
        flex-wrap: wrap;
        margin: 0 0 60px 4%;
}

.recruit2023_interview_link > *:nth-child(2n-1){
        margin-left: 0;
}

.recruit2023_interview_link .img img{
        border-radius: 3px 3px 0 0 ;
}

.recruit2023_interview_link .content{
        position: relative;
        padding: 77px 50px 50px;
}

.recruit2023_interview_link .content .label{
        position: absolute;
        z-index: 1;
        left: 0;
        top: 0;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.6;
        color: #fff;
        font-weight: bold;
        padding: 10px 20px 11px;
        border-radius: 0 0 3px 0;
}

.recruit2023_interview_link .item01 .content .label{
        background: #00A5B4;
}
.recruit2023_interview_link .item02 .content .label{
        background: #0076B4;
}
.recruit2023_interview_link .item03 .content .label{
        background: #8058D2;
}
.recruit2023_interview_link .item04 .content .label{
        background: #D58F0B;
}

.recruit2023_interview_link .content .name{
        margin: 0 0 20px;
        padding: 0 0 20px;
        border-bottom: 1px solid #00A5B4;
}

.recruit2023_interview_link .content .name h2,
.recruit2023 .main .block .recruit2023_interview_link .content .name h2,
.recruit2023_interview_link .content .name h3,
.recruit2023 .main .block .recruit2023_interview_link .content .name h3{
        font-weight: bold;
        font-size: 24px;
        font-size: 2.4rem;
        line-height: 1.2;
        margin: 0 0 10px;
        padding: 0;
        border-bottom: none;
        border-left: none;
}

.recruit2023_interview_link .content .name h2 a,
.recruit2023_interview_link .content .name h3 a{
        color: #333;
        text-decoration: none;
}


/* 採用情報 社員インタビュー詳細
=======================================================*/
.recruit2023_interview_head{
        display: flex;
        flex-direction: row-reverse;
        align-items: center;
        background: #EFF9FA;
        border-radius: 3px;
        overflow: hidden;
}

.recruit2023_interview_head .img{
        width: 63%;
        max-width: 843px;
}

.recruit2023_interview_head .img img{
        border-radius: 0;
}

.recruit2023_interview_head .content{
        width: 37%;
        padding: 50px;
        box-sizing: border-box;
}

.recruit2023_interview_head .content .label{
        display: table;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.6;
        color: #fff;
        font-weight: bold;
        margin: 0 0 30px;
        padding: 10px 20px 11px;
        border-radius: 3px;
}

.recruit2023_interview_head.item01 .content .label{
        background: #00A5B4;
}
.recruit2023_interview_head.item02 .content .label{
        background: #0076B4;
}
.recruit2023_interview_head.item03 .content .label{
        background: #8058D2;
}
.recruit2023_interview_head.item04 .content .label{
        background: #D58F0B;
}

.recruit2023_interview_head .content .name{
        margin: 0 0 30px;
        padding: 0 0 30px;
        border-bottom: 1px solid #00A5B4;
}

.main .recruit2023_interview_head .content .name h1,
.recruit2023_interview_head .content .name h1{
        font-size: 32px;
        font-size: 3.2rem;
        font-weight: bold;
        line-height: 1.4375;
        margin: 0 0 16px;
        padding: 0;
        border-bottom: 0;
}

.recruit2023_interview_2col{
        display: flex;
        align-items: center;
}

.recruit2023_interview_2col.img_r{
        flex-direction: row-reverse;
}

.recruit2023_interview_2col .img{
        width: 600px;
        margin: 0 60px 0 0;
}

.recruit2023_interview_2col.img_r .img{
        margin: 0 0 0 60px;
}

.recruit2023_interview_2col .txt {
        width: 680px;
        width: calc( 100% - 660px );
}

.recruit2023_interview_time{
        display: flex;
        text-align: center;
}

.recruit2023_interview_time > *{
        width: 12.5%;
}

.recruit2023_interview_time > .col2{
        width: 25%;
}

.recruit2023 .wrapper .recruit2023_interview_time .time,
.recruit2023_interview_time .time{
        position: relative;
        color: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        height: 56px;
        font-size: 21px;
        font-size: 2.1rem;
        line-height: 1.4;
        font-weight: bold;
}

.recruit2023_interview_time .time:after{
        content:"";
        position: absolute;
        z-index: 1;
        top: 0;
        right: -7px;
        border-style: solid;
        border-width: 28px 0 28px 7px;
}

.recruit2023_interview_time .item01 .time{
        background: #0076B4;
}
.recruit2023_interview_time .item01 .time:after{
        border-color: transparent transparent transparent #0076B4;
}
.recruit2023_interview_time .item02 .time{
        background: #007DB4;
}
.recruit2023_interview_time .item02 .time:after{
        border-color: transparent transparent transparent #007DB4;
}
.recruit2023_interview_time .item03 .time{
        background: #008AB4;
}
.recruit2023_interview_time .item03 .time:after{
        border-color: transparent transparent transparent #008AB4;
}
.recruit2023_interview_time .item04 .time{
        background: #0091B4;
}
.recruit2023_interview_time .item04 .time:after{
        border-color: transparent transparent transparent #0091B4;
}
.recruit2023_interview_time .item05 .time{
        background: #0098B4;
}
.recruit2023_interview_time .item05 .time:after{
        border-color: transparent transparent transparent #0098B4;
}
.recruit2023_interview_time .item06 .time{
        background: #009FB4;
}
.recruit2023_interview_time .item06 .time:after{
        border-color: transparent transparent transparent #009FB4;
}
.recruit2023_interview_time .item07 .time{
        background: #00A6B4;
}
.recruit2023_interview_time .item07 .time:after{
        border-color: transparent transparent transparent #00A6B4;
}
.recruit2023_interview_time .item08 .time{
        background: #00BDCE;
}

.recruit2023_interview_time .item08 .time:after,
.recruit2023_interview_time .last .time:after{
        display: none;
}

.recruit2023_interview_time .txt{
        padding: 15px 2px 0;
}

.recruit2023 .wrapper .recruit2023_interview_time .txt p,
.recruit2023_interview_time .txt p{
        font-size: 20px;
        font-size: 2.0rem;
        line-height: 1.44;
        font-weight: 500;
}


/* 採用情報 募集要項・採用の流れ
=======================================================*/
.recruit2023_col3 .col{
        max-width: 430px;
        width: 32%;
        background: #00A5B4;
        border-radius: 3px;
        overflow: hidden;
        margin: 0 0 0 2%;
        box-shadow: 5px 5px 20px rgba(0, 72, 78, 0.1);
}

.recruit2023_col3 .col:first-child{
        margin-left: 0;
}

.recruit2023_col3.box_column01 .img{
        margin-bottom: 0;
}

.recruit2023_col3.box_column01 .img img{
        border-radius: 0;
}

.recruit2023_col3 .col a{
        color: #fff;
        text-decoration: none;
}

.recruit2023 .wrapper .recruit2023_col3.box_column01 .link,
.recruit2023_col3.box_column01 .link{
        position: relative;
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 1.4;
        font-weight: bold;
        background: none;
        margin: 0;
        padding: 18px 0 20px;
        text-align: center;
}

.recruit2023_col3.box_column01 .link:after{
        content:"";
        position: absolute;
        z-index: 1;
        right: 30px;
        top: calc( 50% - 6px );
        width: 12px;
        height: 12px;
        background: url(../img/recruit/arw_w.png) 50% 50% no-repeat;
        background-size: contain;
}

.recruit_flowchart{
        display: flex;
}

.recruit_flowchart .col{
        position: relative;
        width: 238px;
        border: 1px solid #00A5B4;
        background: #EFF9FA;
        margin: 0 0 0 37px;
        padding: 15px 20px 37px;
        box-sizing: border-box;
}

.recruit_flowchart .col:first-child{
        margin-left: 0;
}

.recruit_flowchart .col:before{
        content:"";
        position: absolute;
        z-index: 1;
        left: -25px;
        top: calc( 50% - 8px );
        width: 10px;
        height: 16px;
        background: url(../img/recruit/arw_flow.png) 0 0 no-repeat;
        background-size: contain;
}

.recruit_flowchart .col:first-child:before{
        display: none;
}

.recruit_flowchart .col .tit{
        display: flex;
        align-items: center;
        justify-content: center;
        height: 28px;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.5;
        font-weight: bold;
        color: #fff;
        text-align: center;
        background: #00A5B4;
        border-radius: 14px;
        margin: 0 0 15px;
}

.recruit2023 .wrapper .recruit_flowchart .col .txt p,
.recruit_flowchart .col .txt p{
        font-size: 14px;
        font-size: 1.4rem;
        line-height: 1.8;
        color: #00484E;
        text-align: center;
}


/* 採用情報 エントリーフォーム
=======================================================*/
.new_graduate_2023{
        text-align: center;
}

.new_graduate_2023 .tit{
        margin: 0 0 20px;
}

.new_graduate_2023 .tit p{
        font-weight: 500;
        font-size: 28px;
        font-size: 2.8rem;
        line-height: 1.42;
}

.new_graduate_2023 .mynavi{
        position: relative;
        display: block;
        width: 600px;
        margin: 0 auto;
        background: #00BDCE url(../img/recruit/ico_mynavi.png) 45px 23px no-repeat;
        border-radius: 45px;
        padding: 30px 40px 30px 125px;
        box-sizing: border-box;
}

.new_graduate_2023 .mynavi .blank a{
        position: relative;
        display: block;
        background: none;
        padding: 0;
        color: #fff;
        text-decoration: none;
        font-size: 20px;
        font-size: 2.0rem;
        font-weight: bold;
        line-height: 1.44;
        text-align: left;
}

.new_graduate_2023 .mynavi .blank a:after{
        content:"";
        position: absolute;
        z-index: 1;
        top: calc( 50% - 11px );
        right: 0;
        width: 18px;
        height: 18px;
        background: url(../img/recruit/ico_blank.png) 0 100% no-repeat;
        background-size: contain;
}

.contact.recruit2023 .main .block h2 {
        font-weight: bold;
        font-size: 20px;
        font-size: 2.0rem;
        line-height: 1.45;
        margin: 0 0 20px;
        padding: 0 0 0 15px;
        border-left: 1px solid #00A5B4;
        border-bottom: none;
}

body.contact.recruit2023 .tel a{
        color: #333;
}

body.contact.recruit2023 .tel span{
        color: #333;
}

.recruit2023 .stepflow {
        display: flex;
        overflow: hidden;
        list-style-type: none;
        width: 100%;
        margin: 0;
        padding: 0;
}
.recruit2023 .stepflow li {
        display: flex;
        align-items: center;
        justify-content: center;
        position: relative;
        width: 33%;
        height: 55px;
        padding: 0 0 1px 0;
        background: #00A5B4;
        color: #B3E4E8;
        font-weight: bold;
        text-align: center;
        font-size: 21px;
        font-size: 2.1rem;
        line-height: 1.43;
}
.recruit2023 .stepflow li:last-child::before,
.recruit2023 .stepflow li:last-child::after {
        display: none;
}
.recruit2023 .stepflow li::before,
.recruit2023 .stepflow li::after {
        position: absolute;
        width: 0;
        height: 0;
        margin: auto;
        content: "";
}
.recruit2023 .stepflow li::before {
        z-index: 10;
        top: -8px;
        right: -1em;
        border-width: 36px 0 36px 1em;
        border-style: solid;
        border-color: transparent transparent transparent #fff;
}
.recruit2023 .stepflow li::after {
        z-index: 10;
        top: -8px;
        right: -.9em;
        border-width: 36px 0 36px 1em;
        border-style: solid;
        border-color: transparent transparent transparent #00A5B4;
}
.recruit2023 .stepflow li.is-current {
        background: #007883;
        color: #fff;
}
.recruit2023 .stepflow li.is-current::after {
        border-color: transparent transparent transparent #007883;
}
.recruit2023 .stepflow li span {
        display: block;
        font-size: 12px;
        font-size: 1.2rem;
        line-height: 1.4;
        margin: 4px 15px 0 0;
}


.recruit2023.contact table.tbr,
.recruit2023.contact table.nbr table.tbr{
        border-left: 0;
        font-size: 16px;
        font-size: 1.6rem;
}

.recruit2023.contact table.tbr,
.recruit2023.contact table.nbr table.tbr,
.recruit2023.contact table.tbr td,
.recruit2023.contact table.nbr table.tbr td {
        border-right: 0;
}

.recruit2023.contact table.tbr th,
.recruit2023.contact table.nbr table.tbr th{
        border-right: 0;
        background: none;
}

.recruit2023.contact form table.tbr input[type="text"],
.recruit2023.contact form table.tbr input[type="tel"],
.recruit2023.contact form table.tbr input[type="email"],
.recruit2023.contact form table.tbr textarea{
        background: #F4F4F4;
        border: #EAEAEA;
        padding: 18px 16px 20px;
        outline: 1px solid #eaeaea;
        border-radius: 3px;
}

.recruit2023.contact form table.tbr input[type="text"]:focus,
.recruit2023.contact form table.tbr input[type="tel"]:focus,
.recruit2023.contact form table.tbr input[type="email"]:focus,
.recruit2023.contact form table.tbr textarea:focus{
        background: #fff;
        outline: 2px solid #00a5b3;
}

.recruit2023.contact form table.tbr .required {
        font-size: 10px;
        font-size: 1.0rem;
        background: #B5002D;
        margin: 4px 0 0;
        padding: 0 4px 1px;
}


/* チェックボックスデザイン */
.recruit2023.contact form input[type="checkbox"] {
        cursor: pointer;
        width: 16px;
        height: 16px;
        vertical-align: middle;
        position: relative;
        margin: 0;
        padding: 0;
        background: none;
        border: none;
        border-radius: 0;
        outline: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
}

.recruit2023.contact form input[type="checkbox"]::before,
.recruit2023.contact form input[type="checkbox"]::after {
        content: "";
        display: block; 
        position: absolute;
        box-sizing: border-box;
}

.recruit2023.contact form input[type="checkbox"]::before {
        width: 100%;
        height: 100%;
        border-radius: 3px;
        background: #fff;
        border: 1px solid #939092;
}

.recruit2023.contact form input[type="checkbox"]::after {
        opacity: 0;
        width: 100%;
        height: 100%;
        border-radius: 3px;
        background: #00BDCE url(../img/recruit/ico_checkbox.png) 50% 50% no-repeat;
        border-color: #00BDCE;
}

.recruit2023.contact form input[type="checkbox"]:checked::after {
        opacity: 1;
}

.recruit2023.contact form table.tbr input[type="radio"] {
        -webkit-appearance: none;
        -moz-appearance: none;
        -ms-appearance: none;
        -o-appearance: none;
        appearance: none;
        position: relative;
        right: 0;
        bottom: 0;
        left: 0;
        height: 16px;      /* 生成ボタンサイズ */
        width: 16px;       /* 生成ボタンサイズ */
        vertical-align: -0.8rem;
        color: #fff;
        cursor: pointer;
        display: inline-block;
        margin: .5rem;
        outline: none;
        border-radius: 10%;
        border: 1px solid #939092;
        border-radius: 50%;
}
.recruit2023.contact form table.tbr input[type="radio"]:checked{
        border: 1px solid #00A5B4;
}
.recruit2023.contact form table.tbr input[type="radio"]:checked:before {
        transform: scale(1);
        background: #00A5B4;
}
.recruit2023.contact form table.tbr input[type="radio"]:before {
        content: "";
        display: block;
        width: 10px;
        height: 10px;
        border-radius: 50%;
        margin: 2px;
        transform: scale(0);
        background: #00A5B4;
}

.recruit2023.contact .inquiry_consent table.tbr,
.recruit2023.contact .inquiry_consent table.tbr th,
.recruit2023.contact .inquiry_consent table.tbr td{
        border: none;
        padding: 0;
}

.recruit2023.contact form .inquiry_consent #privacy{
        border-color: #00A5B4;
        padding: 0;
}

.recruit2023.contact form .inquiry_consent #privacy pre{
        padding: 0 35px;
}

.recruit2023.contact .inquiry_consent .check{
        background: none;
}

.recruit2023.contact form input.btn{
        width: 400px;
        height: 64px;
        border-radius: 3px;
        background: #00a5b4 url(../img/recruit/arw_w.png) 93% 50% no-repeat;
        box-shadow: 5px 5px 15px rgba(0, 72, 78, 0.1);
}


/* YOUTUBE
=======================================================*/

.youtube {
                width: 750px;
                height: auto;
                text-align: center;
                margin: 0 auto 110px;
}

/*==========================================
    追加
============================================*/
.top_service {
  background: linear-gradient(-90deg, #00a5b4 0%, #00b18f 100%);
}
.top_service .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
}
.top_service h2 {
  color: #fff !important;
  text-align: center;
}
.top_service h2:before {
  content: "";
  width: 40px;
  height: 2px;
  background: #fff !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -20px;
}
.top_service ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
}
.top_service ul li {
  width: 42%;
  background: #fff;
  padding: 20px 3% 30px;
  border-radius: 3px;
}
.top_service ul li figure {
  width: 200px;
  margin: 0 auto;
}
.top_service ul li figure img {
  width: 100%;
}
.top_service ul li .txt h4 {
  text-align: center;
  color: #00a5b4;
  font-weight: bold;
  margin: 0 auto 10px;
  font-size: 20px;
}
.top_service ul li .txt p {
  margin: 0;
  text-align: justify;
}
/**/
.top_reason {
  background: #eff9fa;
}
.top_reason .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
  position: relative;
}
.top_reason h2 {
  text-align: center;
}
.top_reason h2:before {
  content: "";
  width: 40px;
  height: 2px;
  background: #00a5b4 !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -20px;
}
/**/
.top_reason02 .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
}
.top_reason02 h2 {
  text-align: center;
}
.top_reason02 h2:before {
  content: "";
  width: 40px;
  height: 2px;
  background: #00a5b4 !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -20px;
}
.top_reason p {
  text-align: center;
  font-size: 18px;
  line-height: 30px;
}
.top_reason p .green {
  color: #00a5b4;
  font-weight: bold;
}
.top_reason figure.right {
  width: 250px;
  position: absolute;
  right: 0;
  bottom: -25px;
}
.top_reason figure.left {
  width: 250px;
  position: absolute;
  left: -10px;
  bottom: -25px;
}
.top_reason figure img {
  width: 100%;
}
/**/
.top_reason02 .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
}
.top_reason02 h2 {
  text-align: center;
}
.top_reason02 h2:before {
  content: "";
  width: 40px;
  height: 2px;
  background: #00a5b4 !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -20px;
}
.top_reason02 ul {
  margin: 0 auto;
  padding: 0;
  list-style: none;
  width: 85%;
}
.top_reason02 ul li {
  font-size: 18px;
  margin: 0 auto 10px;
}
.top_reason02 ul li .no {
  display: inline-block;
  color: #fff;
  background: linear-gradient(-90deg, #00a5b4 0%, #00b18f 100%);
  text-align: center;
  width: 40px;
  min-width: 40px;
  height: 40px;
  border-radius: 40px;
  line-height: 40px;
  font-weight: bold;
  margin-right: 10px;
}
.top_reason02 ul li .green {
  color: #00a5b4;
  font-weight: bold;
}
/**/
.top_info {
  background: #eff9fa;
}
.top_info .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
}
.top_info h2 {
  text-align: center;
}
.top_info h2:before {
  content: "";
  width: 40px;
  height: 2px;
  background: #00a5b4 !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -20px;
}
.top_info figure {
  width: 85%;
  margin: 0 auto;
}
.top_info figure img {
  width: 100%;
}
/**/
.top_consul {
  background: #eff9fa;
}
.top_consul .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
}
.top_consul h2 {
  text-align: center;
}
.top_consul h2:before {
  content: "";
  width: 40px;
  height: 2px;
  background: #00a5b4 !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -20px;
}
.top_consul ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top_consul ul li {
  width: 32%;
  margin: 0 0 20px;
}
.top_consul ul li a {
  display: block;
  text-decoration: none;
  padding: 20px 0;
  color: #333;
  font-weight: bold;
  background: #fff;
  border: 2px solid #00A5B4;
  border-radius: 3px;
  text-align: center;
  position: relative;
}
.top_consul ul li a:hover {
  opacity: 0.6;
}
.top_consul ul li img {
  display: block;
  width: 50px;
  position: absolute;
  left: 3%;
  top: 0;
  bottom: 0;
  margin: auto;
}
.top_consul ul.main_consul li {
  width: 49%;
}
/**/
.top_voice {
  background: linear-gradient(-90deg, #00a5b4 0%, #00b18f 100%);
}
.top_voice .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
}
.top_voice h2 {
  color: #fff !important;
  text-align: center;
}
.top_voice h2:before {
  content: "";
  width: 40px;
  height: 2px;
  background: #fff !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -20px;
}
.top_voice ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
}
.top_voice ul li {
  width: 24%;
}
.top_voice ul li a {
  display: block;
  text-decoration: none;
  color: #fff;
}
.top_voice ul li a:hover {
  opacity: 0.6;
}
.top_voice ul li figure {
  background: #fff;
  padding: 20px 3%;
  border-radius: 3px;
  margin: 0 auto 10px;
}
.top_voice ul li figure img {
  width: 100%;
}
.top_voice ul li .txt h4 {
  text-align: center;
  font-weight: bold;
  margin: 0;
  font-size: 20px;
  color: #fff;
}
.top_voice ul li .txt p {
  text-align: center;
  margin: 0;
  color: #fff;
}
/**/
.top_partner .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
}
.top_partner h2 {
  text-align: center;
}
.top_partner h2:before {
  content: "";
  width: 40px;
  height: 2px;
  background: #00a5b4 !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -20px;
}
.top_partner ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top_partner ul li {
  width: 24%;
  margin: 0 0 20px;
}
.top_partner ul li a {
  display: block;
  text-decoration: none;
  padding: 30px 0;
  border: solid 1px #d9d9d9;
  background: #f5f5f5;
}
.top_partner ul li a:hover {
  opacity: 0.6;
}
/**/
.top_lineup {
  background: #f5f5f5;
}
.top_lineup .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
}
/**/
.top_flow {
  background: linear-gradient(-90deg, #00a5b4 0%, #00b18f 100%);
}
.top_flow .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
}
.top_flow h2 {
  color: #fff !important;
  text-align: center;
  position: relative;
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.5;
  padding: 0 0 22px;
  margin: 0 0 30px;
}
.top_flow h2:before {
  content: "";
  width: 40px;
  height: 2px;
  background: #fff !important;
  position: absolute;
  bottom: 0;
  left: 50%;
  margin: 0 0 0 -20px;
}
.top_flow ul {
  margin: 50px auto 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
}
.top_flow ul li {
  width: 17%;
  background: #fff;
  padding: 35px 1% 20px;
  border-radius: 3px;
  position: relative;
}
.top_flow ul li .step {
  display: block;
  color: #fff;
  background-color: #333;
  text-align: center;
  width: 55px;
  height: 55px;
  border-radius: 55px;
  line-height: 55px;
  position: absolute;
  top: -28px;
  left: 0;
  right: 0;
  margin: auto;
  font-size: 14px;
}
.top_flow ul li figure {
  width: 100px;
  margin: 0 auto 10px;
}
.top_flow ul li figure img {
  width: 100%;
}
.top_flow ul li .txt h4 {
  text-align: center;
  color: #00a5b4;
  font-weight: bold;
  margin: 0 auto 10px;
  font-size: 20px;
}
.top_flow ul li .txt p {
  margin: 0;
  text-align: justify;
}
/**/
.top_cta {
  background: #fff;
}
.top_cta .inner {
  width: 1100px;
  margin: 0 auto;
  padding: 50px 0;
}
.top_cta ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.top_cta ul li {
  width: 50%;
  padding: 30px 0;
}
.top_cta ul li:first-child {
  background: #00BDCE;
}
.top_cta ul li:last-child {
  background: #DE8217;
}
.top_cta ul li a {
  display: block;
  text-decoration: none;
}
.top_cta ul li a:hover {
  opacity: 0.6;
}
.top_cta ul li h4 {
  text-align: center;
  color: #333;
  font-weight: bold;
  margin: 0 auto 20px;
  font-size: 20px;
  width: 300px;
  border-radius: 50px;
  padding: 5px 0;
}
.top_cta ul li:first-child h4 {
  background: #99E5EB;
}
.top_cta ul li:last-child h4 {
  background: #F2CDA2;
}
.top_cta ul li .cta_tel {
  margin: 20px auto 0;
}
.top_cta ul li .cta_tel a {
  text-align: center;
  font-weight: bold;
  font-size: 38px;
  color: #fff;
}
.top_cta ul li .cta_tel a .icon {
  display: inline-block;
  position: relative;
  top: 10px;
  left: -15px;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  background: #fff;
}
.top_cta ul li .cta_tel a .icon img {
  width: 25px;
  position: absolute;
  top: -2px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
.top_cta ul li .time {
  display: block;
  text-align: center;
  font-weight: bold;
  font-size: 15px;
  color: #fff;
  margin-top: 5px;
}
.top_cta ul li .cta_btn a {
  background: #fff;
  width: 80%;
  margin: 0 auto;
  padding: 20px 0;
  text-align: center;
  font-weight: bold;
  font-size: 20px;
  color: #DE8217;
  border-radius: 3px;
  position: relative;
}
.top_cta ul li .cta_btn a img {
  display: block;
  width: 45px;
  position: absolute;
  left: 7%;
  top: 0;
  bottom: 0;
  margin: auto;
}
.lp_btm {
  padding: 40px 0;
  line-height: 1.5;
  font-size: 1.4rem;
  color: #666;
  background: #e5e5e5
}
.lp_btm .inner {
  width: 1080px;
  margin-left: auto;
  margin-right: auto;
}