@charset 'utf-8';

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


/* トップスライドショースタイル設定
======================================================= */
/* 共通 */
.slider_wra {
    position: relative;
    /*background: url(../img/bg_sp_slider.jpg) 0 0 no-repeat;
    padding: 32% 0 0;*/
    z-index: 1;
}

/* スライド設定 */
#bxslider {
    position: relative;
    margin: 0 auto;
    padding: 0;
}

#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;
}

#bxslider .bx-wrapper ul li.mv01 {
    background: url(../img/sp_main_img01.jpg) 50% 50% no-repeat;
    background-size: cover;
    height: 357px;
}
#bxslider .bx-wrapper ul li.mv02 {
    position: relative;
    background: url(../img/sp_main_img02.gif) 50% 50% no-repeat;
    background-size: cover;
    height: 357px;
}
#bxslider .bx-wrapper ul li.mv02 span.txt {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    display: inline-block;
    width: 90%;
    padding: 18px 0px 18px 10px;
    margin: 0 auto;
    font-size: 2.0rem;
    font-weight: 500;
    font-family: 'Noto Serif JP', 'serif';
    line-height: 1.5;
    color: #111;
    text-align: center;
    box-sizing: border-box;
}
#bxslider .bx-wrapper ul li.mv03 {
    background: url(../img/sp_main_img03.jpg) 100% 50% no-repeat;
    background-size: cover;
    height: 357px;
}

#bxslider .bx-controls-direction {
    display: none;
}

#bxslider .bx-controls .bx-pager {
    position: absolute;
    bottom: -20px;
    left: 0;
    width: 100%;
    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;    /*slick-initializedが付与されたら表示*/
}

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

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

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

/* トップblock設定
======================================================= */
/* top-a */
#top-a {
    margin: 0;
}
.main #top-a .block:last-child {
    margin: 0;
}

.top_feature {
    padding: 65px 0 115px;
    background: url(../img/sp_bg_top_feature.jpg) 85% 100% no-repeat;
    background-size: cover;
}

.top_feature .inner {
    position: relative;
    width: 90%;
    padding: 40px 4% 60px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.85);
    box-sizing: border-box;
}

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

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

.top_feature .inner .tit .stit {
    position: relative;
    font-size: 1.1rem;
    color: #0095a4;
    margin: 0 0 15px;
    text-align: center;
}

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

.top_feature .inner p {
    font-size: 1.5rem;
}

.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 {
    width: 165px;
    padding: 16px 30px 15px 25px;
    box-sizing: border-box;
    text-align: left;
}

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

#top-b .block {
    margin: 0 0 40px;
}
#top-b .block:last-child {
    margin: 0;
}

#top-b .box_colum_btn {
    text-align: left;
}

#top-b .box_colum_btn a {
    width: 165px;
    padding-left: 25px;
    box-sizing: border-box;
}

/* top-c */
#top-c {
    width: 90%;
    margin: 0;
}

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

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

.main .top_column .block {
    width: 90%;
    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 {
    display: block;
    max-width: 300px;
    text-decoration: none;
    color: #333;
    line-height: 1.8;
    text-align: left;
    margin: 0 auto 40px;
}
.top_column .top_post_list a:hover {
    opacity: 0.6;
    transition: .5s
}

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

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

/*.top_lineup {
    width: 90%;
    margin: 0 auto 60px;
}*/
.top_lineup h2 {
    text-align: center;
    position: relative;
    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 10px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
}
.top_lineup ul li {
    display: flex;
    width: 48%;
    margin: 0 4% 20px 0;
}
.top_lineup ul li:nth-child(2n) {
    margin: 0 0 20px;
}
.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 10px 10px;
}
.top_lineup ul li a .txt .com {
    display: inline-block;
    background: #333;
    color: #fff;
    padding: 3px 10px;
    margin: 0 0 5px;
}
.top_lineup ul li a .txt .tit {
    font-size: 1.5rem;
}

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.6rem;
    text-align: center;
    background: #333;
    padding: 15px 10px;
}

.catalog .txt {
    padding: 10px 10px 20px;
    text-align: center;
}

/* 下層見出し設定
======================================================= */
.main h1 {
    font-size: 2.2rem;
    line-height: 1.6;
    font-weight: 500;
    margin: 0 0 30px;
    padding: 0 0 10px;
    border-bottom: 1px solid #d9d9d9;   /* [12. 下層ページ大見出し（タイトル）設定]　枠線（下線）色 */
    color: #333;   /* [12. 下層ページ大見出し（タイトル）設定]　文字色 */
}

.main h2 {
    font-size: 2.0rem;
    line-height: 1.6;
    font-weight: 500;
    margin: 0 0 25px;
    padding: 8px 15px;
    background: #f5f5f5;   /* [13. 下層ページ中見出し設定]　中見出し背景色 */
    color: #333;   /* [13. 下層ページ中見出し設定]　中見出し文字色 */
    border-bottom: 2px solid #00a5b4;   /* [13. 下層ページ中見出し設定]　中見出し枠線（左線）色 */
}

.main h3 {
    position: relative;
    font-size: 1.8rem;
    line-height: 1.6;
    font-weight: 500;
    margin: 0 0 15px;
    padding: 0 0 0 27px;
    color: #333;   /* [14. 下層ページ小見出し設定]　小見出し文字色 */
    border-left: none;   /* [14. 下層ページ小見出し設定]　小見出し枠線（左線）色 */
}
.main .block h3::after {
    position: absolute;
    content: "";
    top: 14px;
    left: 0;
    width: 16px;
    height: 2px;
    background: #00a5b4;
}

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

.lineupbox {
    border: 1px solid #e2e2e2;
    padding: 20px;
}
.lineupbox img {
    display: block;
    margin: 0 auto 20px;
}
.lineupbox .txt .tit {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0 0 10px;
}
.lineupbox .txt .tit span {
    display: block;
    width: 100px;
    text-align: center;
    background: #333;
    color: #fff;
    font-size: 1.4rem;
    font-weight: normal;
    padding: 3px 10px;
    margin: 0 20px 0 0;    
}
.lineupbox .txt ul {
    margin: 5px 0 15px 10px;
}
.order_btn {
    text-align: center;
}
.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;
}


/* 採用情報：下層見出し設定
======================================================= */
.recruit .main h1 {
    font-weight: bold;
    font-family: 'Noto Serif JP', 'serif';
    border-bottom: 2px solid #d20000;
    color: #111;
}

.recruit .main h2 {
    position: relative;
    font-family: 'Noto Serif JP', 'serif';
    padding: 10px 5px 11px 26px;
    background: #242424;
    color: #111;
    border-bottom: none;
    color: #fff;
}
.recruit .main h2::before {
    position: absolute;
    content: "";
    top: 25px;
    left: 0;
    width: 17px;
    height: 3px;
    background: #d20000;
}

.recruit .main h3 {
    font-weight: bold;
    font-family: 'Noto Serif JP', 'serif';
}
.recruit .main .block h3::after {
    background: #d20000;
}

/* 下層block設定
======================================================= */
.main .block {
    margin: 0 auto 50px;
}

.main .block:last-child {
    margin: 0 auto;
}

/* 下層：代表挨拶
======================================================= */
.blockade {
    padding: 5%;
    border: 5px solid #f1f1f1;
}

.blockade p {
    font-size: 1.6rem;
    font-family: 'Noto Serif JP', 'serif';
    line-height: 2.0;
}

.signature {
    text-align: right;
}

.signature span {
    display: block;
}


/* 下層：事業内容
======================================================= */
.warranty .img {
    margin: 0 0 10px;
}


/* 採用情報 トップページ設定
======================================================= */
/* 共通設定 */
.recruit.top .wrapper {
    padding: 0;
}

.recruit.top .wrapper .main {
    width: 100%;
    margin: 0;
    overflow: hidden;
    font-weight: 500;
    font-family: 'Noto Serif JP', 'serif';
}

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

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

.recruit .terms .inner {
    width: 90%;
    margin: 0 auto;
    padding: 20% 0;
}

.recruit .terms .apply {
    position: relative;
    width: 82.64%;
    height: 64px;
    margin: 0 auto 50px;
    border: 1px solid #fff;
    text-align: center;
}

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

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

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

.recruit .terms .txt p {
    font-size: 1.5rem;
    line-height: 2.0;
    font-weight: 700;
}

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

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

.recruit .explanatory p {
    font-size: 1.4rem;
    font-weight: 700;
    color: #000;
}

.explanatory .explanbox {
    position: relative;
    margin: 0 auto;
    padding: 11% 10% 42px;
    background: #fff;
}

.explanatory .explanbox .tit {
    position: absolute;
    top: -36px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
}

.explanatory .explanbox .box_colum_btn {
    position: absolute;
    bottom: -20px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.recruit .explanatory .explanbox .box_colum_btn a {
    font-size: 1.6rem;
    font-weight: 700;
    padding: 7px 16px 8px 15px;
    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;
}

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

/* 社長メッセージ */
.recruit .message {
    margin: 0 auto 50px;
    padding: 0 0 24px;
}

.recruit .message .photo-r img {
    max-width: unset;
    width: 150%;
    height: auto;
    margin: 0px 0 0 -40%;
}

.recruit .message .inner {
    width: 90%;
    margin: -146px auto 0;
}

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

.recruit .message .inner .tit {
    position: relative;
    display: inline-block;
    font-size: 2.4rem;
    font-weight: 700;
    background: #d20000;
    color: #fff;
    padding: 6px 24px;
    z-index: 1;
}

.recruit .message .inner .message_in .txt {
    position: relative;
    top: -26px;
    margin: 0 0 0 5%;
    padding: 40px 5% 30px;
}

.recruit .message .inner .message_in .txt p {
    font-size: 1.4rem;
    font-weight: 400;
    font-family: 'Noto Sans JP', 'sans-serif';
    line-height: 2.0;
    color: #111;
}

/* メッセージ以外のコンテンツ */
.recruit .other.col6 {
    width: 90%;
    margin: 0 auto;
    padding: 0 0 30px;
}

.recruit .other .col {
    position: relative;
    float: left;
    width: 100%;
    margin: 0 0 20px;
    border: 1px solid #000;
    box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
}
.recruit .other .img img {
    width: 100%;
    height: auto;
}

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

.recruit .other .col .tit p {
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.5;
    padding: 9px 30px 10px;
    background: #d20000;
}

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

/* マイナビ誘導 */
.new_graduate {
    width: 90%;
    margin: 0 auto 80px;
}

.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: 2.4rem;
    font-weight: bold;
    line-height: 1.5;
}

.new_graduate .mynavi {
    width: 95%;
    margin: 0 auto;
    text-align:center;
    padding: 6px 0 7px;
}

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

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


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

.connect_intro .col {
    margin: 0 0 16px;
    background: #d20000;
    border: 1px solid #000;
    box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
}
.connect_intro .col:last-child {
    margin: 0;
}

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

.connect_intro .col .txt {
    display: table-cell;
    width: 79%;
    height: 70px;
    padding: 0 10px 0 15px;
    color: #fff;
    vertical-align: middle;
    box-sizing: border-box;
}

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

/* 採用下層：社員インタビュー
======================================================= */
.interview.col4 .col {
    width: 100%;
    margin: 0 auto 17px;
    border: 1px solid #000;
    box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
    box-sizing: border-box;
    overflow: hidden;
}

.interview .col .inner {
    float: left;
    width: 50%;
    background: #fff;
}

.interview .col .inner .catch {
    display: table-cell;
    height: 154px;
    padding: 5px 15px;
    vertical-align: middle;
    background: #d20000;
    color: #fff;
}
.interview .col .inner .catch p {
    font-size: 1.4rem;
    font-weight: 500;
    font-family: 'Noto Serif JP', 'serif';
}

.interview .col .inner .career {
    padding: 11px 15px 12px;
    min-height: 69px;
}

.interview .col .inner .career p {
    font-size: 1.3rem;
    font-weight: 400;
    font-family: 'Noto Sans JP', 'sans-serif';
}

.interview .col .img {
    float: right;
    width: 50%;
}

.interview .col .img img {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    height: 100%;
    width: auto;
    max-width: unset;
    z-index: -1;
}

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

.self_intro .inner {
    padding: 8% 5%;
}

.self_intro .catch {
    margin: 0 0 10px;
}

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

.self_intro .txt p {
    font-weight: 400;
    font-family: 'Noto Sans JP', 'sans-serif';
}

.self_intro .txt .name {
    font-size: 1.8rem;
}


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

.other_intro .tit {
    font-size: 1.6rem;
    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 0 20px;
    border: 1px solid #000;
    box-shadow: 3.536px 3.536px 0px 0px rgba(8, 1, 3, 1.0);
}
.other_intro .intro.col3 .col:last-child {
    margin: 0;
}

.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;
    font-family: 'Noto Sans JP', 'sans-serif';
    line-height: 1.5;
}

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

.step .col::before {
    position: absolute;
    content: "";
    top: 60px;
    left: 25px;
    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 {
    position: relative;
    float: left;
    width: 60px;
    color: #fff;
    padding: 10px 0 11px;
    background: #242424;
    text-align: center;
    z-index: 1;
}

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

.step .col .tit .stit {
    font-size: 1.3rem;
}

.step .col .inner {
    float: left;
    width: 85%;
    margin: -40px 0 0 15%;
}

/* 採用下層：数字で⾒る保険ショップパートナー
======================================================= */
.figures.col2 .col {
    margin: 0 0 20px;
}

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

.figures.col2 .col:last-child {
    margin: 0;
}

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

.col3.under.essential .col .img {
    margin: 0;
}

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

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

/* 採用下層：採用の流れ
======================================================= */
.flowchart .col {
    position: relative;
    margin: 0 0 40px;
}
.flowchart .col:last-child {
    margin: 0;
}

.flowchart .col::after {
    position: absolute;
    content: "";
    bottom: -25px;
    right: 0;
    left: 0;
    margin: 0 auto;
    width: 16px;
    height: 8px;
    background: url(../img/sp/arw_step.png) 0 0 no-repeat;
    background-size: 16px 8px;
}
.flowchart .col:last-child::after {
    background: none;
}

.flowchart .col .tit {
    font-size: 2.0rem;
    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: 1.6rem;
    margin: 0 5px 0 0;
}

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

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

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

/* ブログ一覧設定
======================================================= */
.blog .post_list {
    margin: 0 0 50px;
}

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

.blog .post_list ul li article {
    margin: 0 0 20px;
}
.blog .post_list ul li:nth-child(odd) article {
    margin: 0 0 20px;
}

/* タグ設定 */
.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;
} */

/* リード文 */
.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: 1.5rem;
    font-weight: 400;
    margin: 0 0 5px;
    padding: 0;
    background: none;
    border: none;
    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: 90%;
    font-size: 1.4rem;
    padding: 3px 5px 6px;
    border: none;
    box-sizing: border-box;
}

.widget button {
    width: 10%;
    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;
    box-sizing: border-box;
}

.blog .widget h3 {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.6;
    padding: 9px 15px 10px;
    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: 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: 1.3rem;
}

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

/* ブログ記事設定
======================================================= */
.entry_head {
    margin: 0 0 30px;
}
.entry_head p {
    margin: 0 0 5px;
}

.entry_head .date {
    color: #b1b1b1;
}

.entry_head ul {
    padding: 0;
    margin: 0;
    list-style-type: none;
    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 {
    text-align: center;
}

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

ul.bnr {
    margin: 0;
    padding: 0;
    list-style: none;
    text-align: center;
}

ul.bnr li {
    margin: 20px 0 0;
}

ul.bnr li:first-child {
    margin: 0;
}


/* パーツテンプレート設定
======================================================= */

/* 共通 */

.box_column01 .img {
    margin: 0 0 10px;
    text-align: center;
}

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

/* 3列_テキスト下 */
.box_column01.col3 .col {
    float: left;
    max-width: 100%;
    margin: 0 auto 40px;
}

.box_column01.col3 .col:last-child {
    margin: 0 auto;
}
.box_column01.col3 .col .img {
    margin: 0 0 10px;
}

/* 3列_テキスト下 */

.col3.under .col {
    float: none;
    max-width: 100%;
    margin: 0 auto 40px;
}

.col3.under .col .img {
    margin: 0 0 10px;
}
.col3.under .col .inner {
    display: block;
}


/* 4列_テキスト下 */

.box_column01.col4 .col {
    float: left;
    max-width: 49%;
    margin: 0 2% 30px 0;
}

.box_column01.col4 .col:nth-child(even) {
    float: left;
    max-width: 49%;
    margin: 0 0 20px 0;
}


/* 1列_テキスト右 */

.box_column01.col1 {
    max-width: 480px;
    margin: 0 auto;
}

.box_column01.col1 .img {
    margin: 0 0 20px;
    text-align: center;
    font-size: 1.0rem;
}

.box_column01.col1 .img img {
    display: block;
    margin: 0 auto 5px;
}


/* ２列_テキスト下 */

.box_column01.col2_image_none .col {
    margin: 0 0 40px;
    border: 1px solid #e6e6e6;
}

.box_column01.col2_image_none .inner {
    padding: 10px;
}

/* 2列_テキスト下 */

.box_column01.col2l .col {
    margin: 0 0 40px;
}
.box_column01.col2l .col .img {
    margin: 0 0 10px;
}

/* 2列_テキスト右 */

.box_column01.col2 {
    margin: 0 0 40px;
}

.box_column01.col2 .col {
    overflow: hidden;
    clear: both;
    margin: 0 0 30px;
}

.box_column01.col2 .col .img {
    float: left;
    width: 80px;
    margin: 0 10px 0 0;
}

.box_column01.col2 .col .inner {
    overflow: hidden;
}


/* ボタン */

.box_colum_btn {
    clear: both;
    text-align: center;
}

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

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

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


/* 中央揃え */

.bnr_center ul {
    max-width: 560px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    list-style-type: none;
}

.bnr_center li {
    max-width: 230px;
    width: 48%;
    margin: 0 0 20px;
}

.bnr_center li:nth-child(odd) {
    float: left;
    clear: both;
}

.bnr_center li:nth-child(even) {
    float: right;
}


/* 165センター */

.bnr_center.bnr_165 ul {
    max-width: 350px;
}


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

.link_text_lr .link_text_l {
    margin: 0 0 20px;
}

.link_text_lr a {
    display: table;
    width: 100%;
    padding: 10px;
    border: 1px solid #e6e6e6;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

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

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

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

/* alink
=================== */

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

ul.alink li {
    margin: 0 0 10px;
}

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

ul.alink li a:link,
ul.alink li a:visited {
    color: #333;
    text-decoration: none;
}

ul.alink li a:hover {
    color: #333;
    text-decoration: underline;
}

/* 採用情報 alink
=================== */
.recruit ul.alink li a {
    border: 1px solid #333;
    background: #f0f0f0 url(../img/arw_down_r.png) no-repeat 10px 50%;
    background-size: 10px auto;
    box-shadow: 1.414px 1.414px 0px 0px rgba(0, 0, 0, 1);
}

.recruit ul.alink li a:link,
.recruit ul.alink li a:visited {
    color: #000;
    text-decoration: none;
}

.recruit ul.alink li a:hover {
    color: #000;
    text-decoration: underline;
}

/* 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 30px;
    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;
}



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

.block .tel {
    width: 90%;
    margin: 0 auto 10px;
    color: #333333;        /* [18. CVエリア設定]　電話番号文字色 */
    text-align: left;
    border: 1px solid #00a5b4;
    background: #f5f5f5;
    text-align: center;
}
.recruit .block .tel {
    border: 1px solid #d20000;
}

.block .tel a {
    background: url(../img/ico_tel.png) 0 50% no-repeat;
    background-size: 16px auto;
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 500;
    line-height: 1.3;
    padding: 0 0 0 22px;
}
.block .tel a,
.block .tel a:visited {
    color: #333333;        /* [18. CVエリア設定]　電話番号文字色 */
}

.block .tel span {
    display: block;
    font-size: 11px;
    font-size: 1.1rem;
    line-height: 1.3;
    padding: 0 0 15px;
}

.tel .tap a {
    display: block;
    font-size: 1.3rem;
    padding: 7px 0;
    color: #fff;
    background: #00a5b4;
    text-align: center;
}
.recruit .tel .tap a {
    background: #d20000;
}

.f_contact .f_contact_in {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.f_contact .f_contact_in > div {
    margin: 0 auto 40px;
    max-width: 408px;
    width: 100%;
    padding: 15px 10px;
    border: 1px solid #e6e6e6;
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

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

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

.f_contact .fcon .tel {
    margin: 0 auto 20px;
    line-height: 1;
    text-align: center;
}
.f_contact .fcon .tel br {
    display: none;
}

.f_contact .fcon .box_colum_btn a {
    display: block;
    padding: 10px 20px 10px 5px;
}

/*.f_contact .fcon .box_colum_btn a span {
    padding: 0 0 0 21px;
    background: url(../img/sp/arw_w.png) no-repeat 0 .2em;
    background-size: 6px auto;
}*/

.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;
}


/* BLOCK内スタイル設定
======================================================= */

span.texts {
    display: inline-block;
    font-size: 1.0rem;
}
span.textn {
    display: inline-block;
}
span.textl {
    display: inline-block;
    font-size: 1.8rem;
}
span.textll {
    display: inline-block;
    font-size: 2.0rem;
}
span.textxl {
    display: inline-block;
    font-size: 2.4rem;
}
span.textxxl {
    display: inline-block;
    font-size: 2.8rem;
}

table {
    width: 100%;
    padding: 0;
    border-collapse: collapse;
}

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

table.nbr th,
table.tbr table.nbr th {
    padding: 0;
    color: #333;
    border-right: none;
    border-bottom: none;
}

table.nbr td,
table.tbr table.nbr td {
    padding: 0;
    color: #333;
    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;
    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;
    border-right: 1px solid #d9d9d9;    /* [15. 表組み設定]　枠線色 */
    border-bottom: 1px solid #d9d9d9;    /* [15. 表組み設定]　枠線色 */
}

/* 採用情報 */
.recruit table.nbr th,
.recruit table.tbr table.nbr th {
    color: #111;
}

.recruit table.nbr td,
.recruit table.tbr table.nbr td {
    color: #111;
}

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

.recruit table.tbr th,
.recruit table.nbr table.tbr th {
    color: #111;
    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;
}

/*テーブルbasic02設定*/

table.tbr {
    width: 100%;
}

table.sp_tbr th,
table.sp_tbr td {
    display: block;
    width: 100%;
    box-sizing: border-box;
}

table.sp_tbr td[data-title]:before {
    color: #666;
    content: attr(data-title) " :";
    font-weight: bold;
    padding: 0 10px 0 0;
    text-transform: none;
    display: block;
    float: left;
}

table.sp_tbr td span {
    display: block;
    overflow: hidden;
}
table.sp_tbr td .hp_form-inline span {
    display: inline;
}
table.sp_tbr td .hp_form-inline .cf7-confirm-value {
    display: inline !important;
}
iframe {
    overflow: hidden;
    max-width: 99%;
    height: auto;
    border: 1px solid #ccc;
}

.photo-r,
.photo-l,
.photo-c {
    width: auto !important;
    font-size: 1.1rem;
    line-height: 1.3;
    margin: 0 auto 20px;
    text-align: center;
    color: #333;
}
.photo-r img,
.photo-l img,
.photo-c img {
    display: block;
    margin: 0 auto 10px;
}


/* リンク定義
======================================================= */

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 16px;
    background: url(../img/sp/arw.png) no-repeat 0 .45em;
    background-size: 6px auto;
}

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

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

/* 採用情報 */
.recruit .arw a {
    padding: 0 0 0 16px;
    background: url(../img/sp/arw_r.png) no-repeat 0 .45em;
    background-size: 6px auto;
}

/* 引用定義
======================================================= */

.quote {
    padding: 15px;
    border: 5px solid #f5f5f5;
}


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

/* お問い合わせ table */

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

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

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

form input,
form select,
form label {
    width: 90%;
    padding: 5px;
    font-size: 1.4rem;
    vertical-align: middle;
}

form select#month,
form select#day {
    width: 30%;
}

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

form input[type="tel"] {
    width: 20%;
}

form input[type="radio"],
form input[type="checkbox"] {
    width: 20px;
    height: 20px;
    -moz-transform-origin: left center;
    -moz-transform: scale( 1 , 1 );
    -webkit-transform-origin: left center;
    -webkit-transform: scale( 1 , 1 );
}

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

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

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

dl.subform dt {
    font-weight: bold;
}

form .agree_box {
    padding: 15px 10px;
    text-align: center;
    border: 1px solid #e6e6e6;
}

form .agree_box input[type="checkbox"] {
    margin: 0 5px 0 0;
    -moz-transform-origin: left center;
    -moz-transform: scale( 1 , 1 );
    -webkit-transform-origin: left center;
    -webkit-transform: scale( 1 , 1 );
}

form input.btn {
    display: block;
    margin: 0 auto;
    padding: 20px 60px 20px 81px;
    color: #fff;
    background: #00a5b4;
    border: none;
}

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

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

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;
}

/* 採用 お問い合わせ送信ボタン */
.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;
    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 */

#form_flow {
    font-size: 77%;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

#form_flow li {
    float: left;
    width: 28%;
    list-style-type: none;
}

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

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

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;
}

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

.contactform input {
    vertical-align: middle;
}

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

.err_block p {
    font-size: 100%;
    line-height: 1.6;
    color: #f00;
}

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

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

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

form .inquiry_consent #privacy {
    width: 100%;
    height: 130px;
    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.5rem;
    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;
}

/* トップページ　ブログ
======================================================= */

#feed_tour .post_list{
margin: 0 auto 40px;
    max-width: 280px;
}

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

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

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

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



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

.top_back {
    clear: both;
    padding: 0 0 30px;
    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; }

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

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

.arrow_question {
  position: relative;
  background: #fff;
  border: 1.5px solid #c8c8c8;
  border-radius: 10px;
  width: 72%;
  font-size: 14px;
  padding: 25px;
}
.arrow_answer {
  position: relative;
  background: #fff;
  border: 1.5px solid #2a7ec2;
  border-radius: 10px;
  width: 72%;
  font-size: 14px;
  padding: 25px;
}

.arrow_question {
  float: right;
}

.arrow_answer:after,
.arrow_answer:before,
.arrow_question:after,
.arrow_question:before {
  top: 30%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.arrow_question:after,
.arrow_question:before {
  right: 100%;
}

.arrow_answer:after,
.arrow_answer:before {
  left: 100%;
}

.arrow_answer:after,
.arrow_question:after {
  border-color: rgba(255, 255, 255, 0);
  border-width: 8px;
  margin-top: -8px;
}

.arrow_answer:after {
  border-left-color: #fff;
}

.arrow_question:after {
  border-right-color: #fff;
}

.arrow_answer:before,
.arrow_question:before {
  border-color: rgba(200, 200, 200, 0);
  border-width: 9px;
  margin-top: -9px;
}

.arrow_answer:before {
  border-left-color: #2a7ec2;
}

.arrow_question:before {
  border-right-color: #c8c8c8;
}

.question_image {
  float: left;
}

.answer_image {
  float: right;
}

.answer_image img,
.question_image img {
  border-radius: 50%;
  display: block;
  margin: 0 auto;
  width: 120px;
}

.question_Box .name {
  text-align: center;
  font-size: 12px;
}
.question_Box {
  padding: 20px 0;
  overflow: hidden;
  max-width: 700px;
  margin: auto;
}
.q1 {
  padding-top: 50px;
}
.question_Box:nth-child(even) {
  margin-bottom: 25px;
}

@media only screen and (max-width: 768px) {
  .answer_image,
  .question_image {
    max-width: 16%;
  }
  .arrow_answer:after,
  .arrow_answer:before,
  .arrow_question:after,
  .arrow_question:before {
    top: 14%;
  }

  .question_Box {
    padding: 20px 0px;
  }
  .arrow_question,
  .arrow_answer {
    width: 68%;
    padding: 15px;
  }
}
@media only screen and (min-width: 769px) and (max-width: 834px) {
  .arrow_question,
  .arrow_answer {
    width: 70%;
  }
}
@media only screen and (min-width: 835px) and (max-width: 911px) {
  .arrow_question,
  .arrow_answer {
    width: 74%;
  }
}
@media only screen and (min-width: 912px) and (max-width: 1300px) {
  .arrow_question,
  .arrow_answer {
    width: 77%;
  }
}

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

.catalog_cnt {
    margin: 0 0 30px;
}

.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: 60px;
    padding: 5px;
    border-top: 1px solid #EBEBEB;
    border-left: 1px solid #EBEBEB;
    border-right: 1px solid #EBEBEB;
    box-sizing: border-box;
    font-size: 1.5rem;
    font-weight: 500;
    text-align: center;
    cursor: pointer;
    line-height: 1.5;
}

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

.catalog_cnt .panel {
    display: none;
    padding: 15px;
    font-size: 1.4rem;
    background: #F5F5F5;
}

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

.catalog_cnt .panel .list {
    margin: 15px 0 0;
    padding: 0;
    list-style: none;
}

.catalog_cnt .panel .list li {
    margin: 0 0 10px;
}

.catalog_cnt .panel .list li:last-child {
    margin: 0;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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: 1.6rem;
}

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

.recruit2023 .main h1,
.recruit2023 .main .block h2 {
    font-weight: bold;
    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: 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: block;
    font-weight: bold;
    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{
    padding: 10px 0 0;
    height: 125px;
    background: url(../img/recruit/bg_cate_def.jpg) 0 0 no-repeat;
    background-size: cover;
}

.recruit2023 .catetit h1,
.recruit2023 .catetit p {
    display: inline-flex;
    font-size: 2.0rem;
    line-height: 1.45;
    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);
}


/* un_nav */
.recruit2023 .un_nav {
    position: relative;
}
.recruit2023 .un_nav.fixed {
    position: fixed;
    top: 61px;
    left: 0;
    width: 100%;
    z-index: 11;
    box-sizing: border-box;
}

.recruit2023 .un_nav .trigger {
    display: block;
    padding: 15px 5%;
    background: #00A5B4 url(../img/sp/submenu_open.png) right 5% top 50% no-repeat;
    background-size: 18px auto;
    font-family: 'Noto Sans JP', 'serif';
    line-height: 1.4;
}
.recruit2023 .un_nav .trigger.active {
    background: #00A5B4 url(../img/sp/submenu_close.png) right 5% top 50% no-repeat;
    background-size: 14px auto;
}

.recruit2023 .un_nav .submenu {
    position: absolute;
    display: none;
    width: 100%;
    margin: 0 auto;
    top: 52px;
    z-index: 20;
    background: #fff;
    font-family: 'Noto Sans JP', 'serif';
}

.recruit2023 .un_nav ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    font-size: 1.3rem;
}

/* subnav */
.recruit2023 .submenu ul.subnav {
    border-top: 1px solid #C7DBDD;
    background: #fff;
}

.recruit2023 .submenu ul.subnav > li {
    border-bottom: 1px solid #C7DBDD;
}

.recruit2023 .submenu ul.subnav li li {
    border-top: 1px solid #C7DBDD;
    background: #ededed;
}

.recruit2023 .submenu ul.subnav li a {
    display: block;
    margin: 0;
    padding: 14px 10px 13px 20px;
    background: url(../img/recruit/arw_sub.png) no-repeat 95% 20px;
    -webkit-background-size: 5px auto;
       -moz-background-size: 5px auto;
         -o-background-size: 5px auto;
            background-size: 5px auto;
        -ms-background-size: 5px auto;
}

.recruit2023 .submenu ul.subnav li li a {
    display: block;
    margin: 0;
    padding: 14px 10px 13px 33px;
    background: url(../img/recruit/arw_sub.png) no-repeat 95% 20px;
    -webkit-background-size: 5px auto;
       -moz-background-size: 5px auto;
         -o-background-size: 5px auto;
            background-size: 5px auto;
        -ms-background-size: 5px auto;
}

.recruit2023 .submenu ul.subnav li a:link,
.recruit2023 .submenu ul.subnav li a:visited {
    color: #111;
    text-decoration: none;
}

.recruit2023 .submenu ul.subnav li li a:link,
.recruit2023 .submenu ul.subnav li li a:visited {
    color: #111;
    text-decoration: none;
}

.recruit2023 .submenu ul.subnav li.subselected > a {
    background: #EFF9FA url(../img/recruit/arw_sub.png) no-repeat 95% 20px;
    -webkit-background-size: 5px auto;
       -moz-background-size: 5px auto;
         -o-background-size: 5px auto;
            background-size: 5px auto;
        -ms-background-size: 5px auto;
    font-weight: normal;
    color: #111;
    text-decoration: none;
}

.recruit2023 .submenu ul.subnav li li.localselected a {
    background: #00A5B4;
    -webkit-background-size: 6px auto;
       -moz-background-size: 6px auto;
         -o-background-size: 6px auto;
            background-size: 6px auto;
        -ms-background-size: 6px auto;
    font-weight: normal;
    color: #fff;
    text-decoration: none;
}


/* CVエリア */
.recruit2023 .recruit_cv{
    position: relative;
    display: block;
    overflow: hidden;
    padding: 70px 0 50px;
    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: 454px;
    height: 106px;
    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: 90%;
    margin: 0 auto;
    padding: 0 6% 40px;
    background: #fff url(../img/recruit/bg_recruit_cv_in.jpg) 50% 50% no-repeat;
    background-size: cover;
    border-radius: 3px;
    box-sizing: border-box;
}

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

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

.recruit2023 .recruit_cv .tit_head .en img{
    width: auto;
    height: 39px;
}

.recruit2023 .recruit_cv .tit_head .tit{
    display: inline-block;
    font-weight: bold;
    font-size: 2.0rem;
    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: 1.6rem;
    line-height: 1.4;
    text-align: center;
    color: #00484e;
    margin: 0 0 40px;
}

.recruit2023 .recruit_btn {
    position: relative;
    left: auto;
    float: none;
}

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

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

.recruit2023 .recruit_btn li a {
    display: block;
    text-decoration: none;
    font-size: 1.8rem;
    line-height: 1.45;
    color: #fff;
    font-weight: bold;
    padding: 19px 0 21px;
    border-radius: 34px;
    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;
}

/* パンくずリスト */
.recruit2023 ol.breadcrumb{
    margin-bottom: 0;
    padding: 11px 5%;
    box-sizing: border-box;
}


/* 採用情報TOP 2023
=======================================================*/
.recruit2023.top .wrapper{
    padding-bottom: 0;
}

.recruit2023.top .wrapper .main {
    width: 100%;
    padding-top: 10px;
}

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

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

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

/* トップメッセージ */
.recruit_top_message {
    margin: 0 0 50px;
    overflow: hidden;
}

.recruit_top_message .inner{
    position: relative;
}

.recruit_top_message .inner:after{
    content:"";
    position: absolute;
    z-index: 0;
    left: -3%;
    bottom: 35px;
    width: 852px;
    height: 94px;
    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 20px;
}

.recruit_top_message .tit_head .en img{
    width: auto;
    height: 29px;
}

.recruit_top_message .tit_head h2,
.recruit2023 .recruit_top_message .tit_head h2{
    display: inline-block;
    font-weight: bold;
    font-size: 2.0rem;
    line-height: 1.46;
    color: #00a5b4;
    margin: 0 0 30px;
    padding: 3px 10px 4px;
    border-radius: 3px;
    border: 2px solid #00a5b4;
}

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

.recruit_top_message .img{
    text-align: center;
    margin: 0 0 30px;
}

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

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

.recruit_top_interview:before{
    content:"";
    position: absolute;
    z-index: 0;
    top: 15px;
    right: 0;
    width: 80%;
    height: 100%;
    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 20px;
}

.recruit_top_interview .tit_head .en img{
    width: auto;
    height: 29px;
}

.recruit_top_interview .tit_head h2,
.home .recruit_top_interview .tit_head h2{
    display: inline-block;
    font-weight: bold;
    font-size: 2.0rem;
    line-height: 1.46;
    color: #00a5b4;
    margin: 0 0 30px;
    padding: 3px 10px 4px;
    border-radius: 3px;
    border: 2px solid #00a5b4;
}

.recruit_top_interview .content{
    position: relative;
    border-radius: 3px;
    overflow: hidden;
    background: linear-gradient(-90deg, #00a5b4 0%, #00b18f 100%);
}

.recruit_top_interview .content:after{
    content:"";
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 211px;
    height: 35px;
    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;
    padding: 30px 6%;
}

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

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

.recruit2023.top .recruit_top_interview .box_colum_btn a{
    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_interview .content .img_area img{
    width: 100%;
    height: auto;
}


/* 働く環境 */
.recruit_top_environment{
    position: relative;
    margin: 0 0 50px;
    padding: 80px 0 0;
    overflow: hidden;
}

.recruit_top_environment:before{
    content:"";
    position: absolute;
    z-index: 0;
    left: 0;
    top: 50px;
    width: 100%;
    height: 230px;
    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: -80px;
    width: 938px;
    height: 94px;
    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 20px;
}

.recruit_top_environment .tit_head .en img{
    width: auto;
    height: 29px;
}

.recruit_top_environment .tit_head h2,
.home .recruit_top_environment .tit_head h2{
    display: inline-block;
    font-weight: bold;
    font-size: 2.0rem;
    line-height: 1.46;
    color: #fff;
    margin: 0 0 30px;
    padding: 3px 10px 4px;
    border-radius: 3px;
    border: 2px solid #fff;
}

.recruit_top_environment .content{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 10px;
}

.recruit_top_environment .content .item{
    width: 48%;
    margin: 0 0 30px 4%;
}

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

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

.recruit_top_environment .content .item .img img{
    width: 100%;
    height: auto;
    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: 1.8rem;
    line-height: 1.45;
    text-align: left;
    color: #333;
    text-decoration: none;
    box-sizing: border-box;
    padding: 0 37px 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_scene{
    position: relative;
    margin: 0 0 50px;
    overflow: hidden;
    background: url(../img/recruit/bg_top_scene.jpg) 50% 44px no-repeat;
    background-size: auto 80%;
}

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

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

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

.recruit_top_scene .en{
    margin: 0 0 20px;
}

.recruit_top_scene .en img{
    width: auto;
    height: 45px;
}

.recruit_top_scene .top_scene_office .en{
    margin-bottom: 0;
}

.recruit2023 .wrapper .recruit_top_scene .tit,
.recruit_top_scene .tit{
    display: inline-block;
    font-weight: bold;
    font-size: 2.0rem;
    line-height: 1.46;
    color: #fff;
    margin: 0 0 30px;
    padding: 3px 10px 4px;
    border-radius: 3px;
    border: 2px solid #fff;
}

.recruit2023 .wrapper .recruit_top_scene .top_scene_office .tit,
.recruit_top_scene .top_scene_office .tit{
    margin-bottom: 20px;
}

.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{
    text-align: center;
}

/* Instagram */
.recruit_instagram{
    position: relative;
    box-sizing: border-box;
}

.recruit_instagram .txt_area{
    background: url(../img/recruit/bg_recruit_instagram.jpg) 50% 100% no-repeat;
    background-size: 100% 100%;
    text-align: center;
    padding: 30px 0;
}

.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 15px;
    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: 1.6rem;
    line-height: 1.6875;
    margin: 0 0 30px;
}

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

.recruit_instagram .txt_area .lead br{
    display: none;
}

.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{
    display: flex;
}

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

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

.recruit2023 .main img{
    border-radius: 3px;
}

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

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

.recruit2023 ul.alink li a {
    font-size: 1.6rem;
    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 30px;
    padding: 0;
    border-bottom: 0;
}


/* 採用情報 社長メッセージ
=======================================================*/

.recruit2023_message .img_area{
    position: relative;
    width: 100%;
    max-width: 600px;
    margin: 0 auto 20px;
}

.recruit2023_message .img_area .label{
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 20px;
    color: #fff;
    background: #00A5B4;
    padding: 10px 6%;
    padding: 3.003vw 4.505vw;
}

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

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

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

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

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

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

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


/* 採用情報 働く環境
=======================================================*/
.recruit2023_environment01 .img_area{
    margin: 0 0 30px;
}

.recruit2023_environment02 > *{
    margin: 0 0 30px;
}

.recruit2023_environment02 .date{
    position: relative;
    color: #fff;
    padding: 15px 0;
    text-align: center;
}

.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{
    border-color: transparent transparent transparent #00A5B4;
}

.recruit2023_environment02 .content{
    margin: 0 7px 0 0;
    padding: 15px 3% 0;
}

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

.recruit2023_environment03 > *{
    margin: 0 0 20px;
    text-align: center;
}

.recruit2023_environment04{
    padding: 40px 6% 20px;
    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:  2.4rem;
    line-height: 1.42;
    text-align: center;
    color: #00a5b4;
    margin: 0 0 30px; 
    padding: 0;
    border-left: none;
}


.recruit2023_environment04 .content{
}

.wrapper .recruit2023_environment04 .content > *,
.recruit2023_environment04 .content > *{
    height: 70px;
    border-radius: 35px;
    margin: 0 0 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 2.0rem;
    line-height: 1.35;
    color: #fff;
    font-weight: bold;
}

.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 -15px;
    padding: 0;
    list-style-type: none;
    font-size: 1.6rem;
    line-height: 1.6;
    font-weight: bold;
}

.recruit2023_environment05 ul li{
    position: relative;
    width: 49%;
    margin: 0 0 15px;
    padding: 10px 3% 20px;
    border: 2px solid #00A5B4;
    border-radius: 3px;
    box-sizing: border-box;
    text-align: center;
}

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

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

.recruit2023_environment05 ul li:before{
    content:"";
    display: block;
    width: 45px;
    height: 45px;
    margin: 0 auto 10px;
    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_environment05 ul li br{
    display: none;
}

.recruit2023_environment06{
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 -60px -60px;
}

.recruit2023_environment06 .item{
    width: 640px;
    margin: 0 0 60px 60px;
}

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

.recruit2023_environment06 .img .label{
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 20px;
    bottom: 6.006vw;
    color: #fff;
    background: #00A5B4;
    padding: 15px 30px 16px 50px;
    padding: 2.252vw 4.505vw 2.402vw 7.508vw;
    font-size: 1.8rem;
    font-size: 2.703vw;
    line-height: 1.6;
    font-weight: bold;
}

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

.recruit2023_environment06 ul.sdgs li{
    width: 19.2%;
    margin: 0 0 1% 1%;
}

.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);
}


/* 採用情報 働く環境
=======================================================*/
.recruit2023_interview_link > *{
    width: 100%;
    max-width: 640px;
    background: #EFF9FA;
    flex-wrap: wrap;
    margin: 0 auto 40px;
}

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

.recruit2023_interview_link .content{
    position: relative;
    padding: 67px 6% 50px;
}

.recruit2023_interview_link .content .label{
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    font-size: 1.8rem;
    line-height: 1.6;
    color: #fff;
    font-weight: bold;
    padding: 5px 20px 6px;
    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: 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{
    background: #EFF9FA;
    border-radius: 3px;
    overflow: hidden;
}

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

.recruit2023_interview_head .content{
    padding: 40px 6%;
}

.recruit2023_interview_head .content .label{
    display: table;
    font-size: 1.8rem;
    line-height: 1.6;
    color: #fff;
    font-weight: bold;
    margin: 0 0 20px;
    padding: 5px 20px 6px;
    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 20px;
    padding: 0 0 20px;
    border-bottom: 1px solid #00A5B4;
}

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

.recruit2023_interview_2col .img{
    width: 100%;
    max-width: 600px;
    margin: 0 auto 20px;
}

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

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

.recruit2023_interview_time .time:after{
    content:"";
    position: absolute;
    z-index: 1;
    bottom: -7px;
    left: 0;;
    border-style: solid;
    border-width: 7px 87px 0 87px;
}

.recruit2023_interview_time .item01 .time{
    background: #0076B4;
}
.recruit2023_interview_time .item01 .time:after{
    border-color: #0076B4 transparent transparent transparent;
}
.recruit2023_interview_time .item02 .time{
    background: #007DB4;
}
.recruit2023_interview_time .item02 .time:after{
    border-color: #007DB4 transparent transparent transparent;
}
.recruit2023_interview_time .item03 .time{
    background: #008AB4;
}
.recruit2023_interview_time .item03 .time:after{
    border-color: #008AB4 transparent transparent transparent;
}
.recruit2023_interview_time .item04 .time{
    background: #0091B4;
}
.recruit2023_interview_time .item04 .time:after{
    border-color: #0091B4 transparent transparent transparent;
}
.recruit2023_interview_time .item05 .time{
    background: #0098B4;
}
.recruit2023_interview_time .item05 .time:after{
    border-color: #0098B4 transparent transparent transparent;
}
.recruit2023_interview_time .item06 .time{
    background: #009FB4;
}
.recruit2023_interview_time .item06 .time:after{
    border-color: #009FB4 transparent transparent transparent;
}
.recruit2023_interview_time .item07 .time{
    background: #00A6B4;
}
.recruit2023_interview_time .item07 .time:after{
    border-color: #00A6B4 transparent transparent transparent;
}
.recruit2023 .wrapper .recruit2023_interview_time .item08 .time,
.recruit2023_interview_time .item08 .time,
.recruit2023 .wrapper .recruit2023_interview_time .last .time,
.recruit2023_interview_time .last .time{
    background: #00BDCE;
    padding-bottom: 7px;
}
.recruit2023_interview_time .item08 .time:after,
.recruit2023_interview_time .last .time:after{
    display: none;
}

.recruit2023_interview_time .txt{
    width: calc( 100% - 174px );
    text-align: left;
    box-sizing: border-box;
    padding: 10px;
}

.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{
    width: 100%;
    max-width: 430px;
    background: #00A5B4;
    border-radius: 3px;
    overflow: hidden;
    margin: 15px auto 0;
    box-shadow: 5px 5px 20px rgba(0, 72, 78, 0.1);
}

.recruit2023_col3 .col:first-child{
    margin-top: 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: 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{
}

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

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

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

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

.recruit_flowchart .col .tit{
    display: flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    font-size: 1.4rem;
    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: 1.6rem;
    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: 2.8rem;
    line-height: 1.42;
}

.new_graduate_2023 .mynavi{
    position: relative;
    display: block;
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    background: #00BDCE url(../img/recruit/ico_mynavi.png) 20px 50% no-repeat;
    border-radius: 45px;
    padding: 30px 20px 30px 80px;
    box-sizing: border-box;
}

.new_graduate_2023 .mynavi .blank a{
    position: relative;
    display: block;
    background: none;
    padding: 0 20px 0 0;
    color: #fff;
    text-decoration: none;
    font-size: 1.6rem;
    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: 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 8px;
    background: #00A5B4;
    color: #B3E4E8;
    font-weight: bold;
    text-align: center;
    font-size: 21px;
    font-size: 2.1rem;
    line-height: 1.43;
    flex-direction: column;
}
.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: 1.2rem;
    line-height: 1.4;
    margin: 4px 0 0 0;
}


.recruit2023.contact table.tbr,
.recruit2023.contact table.nbr table.tbr{
    border-left: 0;
    font-size: 1.6rem;
}
.recruit2023.contact table.tbr th label {
    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: 13px 16px 15px;
    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 {
    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{
    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);
}

.recruit2023.contact .nocopy{
-webkit-touch-callout:none; /* リンク長押しのポップアップを無効化 */
-webkit-user-select:none; /* テキスト長押しの選択ボックスを無効化 */
}

body.contact.recruit2023 .block .tel .tap a{
    color: #fff;
}

.youtube {
        width: 90%;
        margin: 0 auto 40px;
        aspect-ratio: 16 / 9;
}

.youtube iframe {
        width: 100%;
        height: 100%;
}

.sp_tbr_2 td select {
    margin-bottom: 10px;
}

/*==========================================
    追加
============================================*/
  .top_service {
    background: linear-gradient(-90deg, #00a5b4 0%, #00b18f 100%);
  }
  .top_service .inner {
    width: 90%;
    margin: 0 auto;
    padding: 40px 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: block;
  }
  .top_service ul li {
    width: auto;
    background: #fff;
    padding: 20px 5% 30px;
    border-radius: 3px;
    margin: 0 auto 10px;
  }
  .top_service ul li figure {
    width: 150px;
    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: 90%;
    margin: 0 auto;
    padding: 40px 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_reason p {
    text-align: justify;
  }
  .top_reason figure.right {
    width: 120px;
    position: absolute;
    top: -70px;
    right: 0;
    bottom: auto;
    margin: auto;
  }
  .top_reason figure.left {
    width: 120px;
    position: absolute;
    left: -10px;
    bottom: -70px;
    margin: auto;
  }
  .top_reason figure img {
    width: 100%;
  }
  /**/
  .top_reason02 .inner {
    width: 90%;
    margin: 0 auto;
    padding: 40px 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: auto;
  }
  .top_reason02 ul li {
    margin: 0 auto 20px;
    text-align: justify;
  }
  .top_reason02 ul li:last-child {
    margin: 0 auto 0;
  }
  .top_reason02 ul li .no {
    display: 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: 0 auto 10px;
  }
  .top_reason02 ul li .green {
    color: #00a5b4;
    font-weight: bold;
  }
  /**/
  .top_info {
    background: #eff9fa;
  }
  .top_info .inner {
    width: 90%;
    margin: 0 auto;
    padding: 40px 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: auto;
    margin: 0 auto;
  }
  .top_info figure img {
    width: 100%;
  }
  /**/
  .top_consul {
    background: #eff9fa;
  }
  .top_consul .inner {
    width: 90%;
    margin: 0 auto;
    padding: 40px 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: block;
  }
  .top_consul ul li {
    width: auto;
    margin: 0 0 10px;
  }
  .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: auto;
  }
  /**/
  .top_voice {
    background: linear-gradient(-90deg, #00a5b4 0%, #00b18f 100%);
  }
  .top_voice .inner {
    width: 90%;
    margin: 0 auto;
    padding: 40px 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;
    flex-wrap: wrap;
  }
  .top_voice ul li {
    width: 48%;
    margin: 0 auto 20px;
  }
  .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 1%;
    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: 15px;
    color: #fff;
  }
  .top_voice ul li .txt p {
    text-align: center;
    margin: 0;
    color: #fff;
  }
  /**/
  .top_partner .inner {
    width: 90%;
    margin: 0 auto;
    padding: 40px 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: 49%;
    margin: 0 0 10px;
  }
  .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: 90%;
  margin: 0 auto;
  padding: 40px 0;
}
  /**/
  .top_flow {
    background: linear-gradient(-90deg, #00a5b4 0%, #00b18f 100%);
  }
  .top_flow .inner {
    width: 90%;
    margin: 0 auto;
    padding: 40px 0;
  }
  .top_flow h2 {
    color: #fff !important;
    text-align: center;
    position: relative;
  }
  .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: block;
  }
  .top_flow ul li {
    width: auto;
    background: #fff;
    padding: 35px 5% 20px;
    border-radius: 3px;
    position: relative;
    margin: 0 auto 40px;
  }
  .top_flow ul li:last-child {
    margin: 0 auto 0;
  }
  .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: 90%;
    margin: 0 auto;
    padding: 40px 0;
  }
  .top_cta ul {
    margin: 0;
    padding: 0;
    list-style: none;
    display: block;
  }
  .top_cta ul li {
    width: auto;
    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: 18px;
    width: 80%;
    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: -10px auto 0;
  }
  .top_cta ul li .cta_tel a {
    text-align: center;
    font-weight: bold;
    font-size: 34px;
    color: #fff;
  }
  .top_cta ul li .cta_tel a .icon {
    display: inline-block;
    position: relative;
    top: 7px;
    left: -10px;
    width: 40px;
    height: 40px;
    border-radius: 40px;
    background: #fff;
  }
  .top_cta ul li .cta_tel a .icon img {
    width: 20px;
    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;
  }
  .top_cta ul li .cta_btn a {
    background: #fff;
    width: 90%;
    margin: 0 auto;
    padding: 20px 0;
    text-align: center;
    font-weight: bold;
    font-size: 18px;
    color: #DE8217;
    border-radius: 3px;
    position: relative;
  }
  .top_cta ul li .cta_btn a img {
    display: block;
    width: 35px;
    position: absolute;
    left: 5%;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .lp_btm {
    padding: 20px 0;
    line-height: 1.5;
    font-size: 1.4rem;
    color: #666;
    background: #e5e5e5
  }
  .lp_btm .inner {
    width: 94%;
    margin-left: auto;
    margin-right: auto;
  }
  /**/
  .wrappertop .main .block{
    margin: 0 auto;
  }
