@charset "UTF-8"; /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
汎用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.main_area {
    overflow: hidden;
}

p.cmn_page_btn {
    text-align: center;
}

.cmn_page_btn button ,p.cmn_page_btn a {
    font-size: 2rem;
    font-weight: 700;
    color: var(--theme_m_color);
    background: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34.4rem;
    letter-spacing: .1em;
    padding: 2.2rem 4.5rem;
    border-radius: 6rem;
    position: relative;
    border: 1px solid var(--theme_m_color);
    margin: 0 auto;
    transition: .2s ease-in;
    cursor: pointer;
    line-height: normal;
    font-family: "Noto Sans JP","游ゴシック体", "Yu Gothic", "yugothic", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", meiryo, "MS Pゴシック", "MS PGothic", sans-serif;
}


.return {
    margin-top: 6rem;
    /* 60px */
}

.return a {
    position: relative;
}

.return a::before {
    position: absolute;
    content: "";
    background: url(../images/common/arrow_w.svg) no-repeat 50% / contain;
    width: 1.5rem;
    /* 15px */
    height: 2rem;
    /* 20px */
    top: 50%;
    left: 3.5rem;
    /* 35px */
    transition: .2s ease-in;
    transform: translateY(-50%) rotateY(180deg);
}

ul.cmn_maru_list li {
    font-size: 2rem;
    font-weight: 500;
    position: relative;
    padding-left: 1.5em;
}

ul.cmn_maru_list li::before {
    position: absolute;
    content: "";
    width: .6em;
    height: .6em;
    background: var(--theme_m_color);
    top: 1.2rem;
    left: 0;
    border-radius: 100%;
}


@media screen and (min-width: 769px) {
    .cmn_page_btn button:hover , p.cmn_page_btn a:hover {
        background: #fff;
        color: var(--theme_m_color);
        opacity: 1;
    }

    .return a:hover {
        opacity: 1;
        color: var(--theme_m_color);
        background-color: #fff;
    }

    .return a:hover::before {
        background-image: url("../images/common//images/common/arrow_b.svg");
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プロモ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo {
    padding: 1rem 5rem;
    padding-top: 11rem;
    background: var(--theme_m_color);
    position: relative;
    min-height: 29rem;
}

.page_promo::before {
    position: absolute;
    content: "";
    background: url(../images/common/promo_under_deco.jpg) no-repeat 50% / contain;
    width: 5.7rem;
    height: 18rem;
    bottom: 0;
    left: 0;
}

.page_promo .promo_inner {
    padding-top: 1.5rem;
}

.page_promo .base02_width {
    max-width: 119rem;
}

.page_promo .promo_inner .ttl_wrap {
    /* margin-top: 6.2rem; */
}

.page_promo .promo_inner .promo_ttl {
    font-size: 2em;
    font-weight: bold;
}

.page_promo .promo_inner h1 .slug, .page_promo .promo_inner p .slug {
    font-family: "Josefin Sans", sans-serif;
    font-size: 6.4rem;
    display: block;
    font-weight: 300;
    letter-spacing: .04em;
    margin-bottom: 0.6rem;
    color: #fff;
    line-height: 1;
    text-align: center;
}

.page_promo .promo_inner h1 .ja, .page_promo .promo_inner p .ja {
    font-size: 2.2rem;
    color: #fff;
    font-weight: 500;
    display: block;
    text-align: center;
}

.page_main_img {
    max-width: 120rem;
    margin: 0 auto;
    position: relative;
    padding: 7rem 0 4rem;
    margin-bottom: 2rem;
}

.page_main_img::before, .page_main_img::after {
    position: absolute;
    content: "";
    background: no-repeat 50% /contain;
}

.page_main_img img {
    border-radius: 2rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
固定ページ　汎用
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cmn_square {
    position: relative;
    padding-left: 2.5rem;
}

.cmn_square::before {
    position: absolute;
    content: "";
    width: 0.8em;
    height: 0.8em;
    background: var(--theme_m_color);
    top: 0.5rem;
    bottom: 0;
    margin: auto 0;
    left: 0;
}

.cmn_indent li {
    position: relative;
    padding-left: .8em;
}

.cmn_indent li::before {
    position: absolute;
    content: "";
    width: 5px;
    height: 5px;
    border-radius: 100%;
    background: #1E1E1E;
    top: 0.5rem;
    bottom: 0;
    margin: auto 0;
    left: 0;
}

.cmn_icon {
    position: relative;
    padding-left: 1.5rem;
}

.cmn_icon::before {
    position: absolute;
    content: "";
    mask: url("../images/common/ttl_icon.svg") no-repeat 50% /contain;
    background: var(--theme_m_color);
    width: 2rem;
    height: 2rem;
    top: 0.2rem;
    bottom: 0;
    margin: auto 0;
    left: 0;
}

.cmn_txt_wrp p:not(:last-child) {
    margin-bottom: 5rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
会社概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page-company .box:not(:last-child) {
    margin-bottom: 1rem;
}

.page-company h3 {
    font-size: 2rem;
    font-weight: 400;
}

.page-company ul.member_list li {
    grid-template-columns: 16rem 1fr;
    gap: 3rem;
    font-size: 2rem;
}

.page-company ul.member_list li h3.name {
    font-weight: 400;
}



.page-company .license_area {
    grid-template-columns: 1fr 7.8rem;
    gap: 3rem;
    padding-right: 12rem;
}

.page-company .license_area:not(:last-of-type) {
    margin-bottom: 3.5rem;
}

.page-company .license_area .contents h3.ttl {
    font-size: 2rem;
    font-weight: 400;
}

.page-company .license_area a {
    color: var(--theme_m_color);
    text-decoration: underline;
    display: block;
    margin-bottom: 1rem;
}

.page-company .access_wrap {
    margin-top: 12rem;
}

.page-company .access_wrap h2.main_ttl {
    font-size: 4.2rem;
    font-weight: 300;
    color: var(--theme_m_color);
    text-align: center;
    margin-bottom: 7rem;
}

.page-company .access_wrap ul.items {
    display: grid;
    gap: 10rem;
}

.page-company .access_wrap ul.items li {
    grid-template-columns: 50rem 1fr;
    gap: 6rem;
}

.page-company .access_wrap ul.items li p.img {
    text-align: center;
    width: 50rem;
}

.page-company .access_wrap ul.items li p.img img {
    width: 100%;
}

.page-company .access_wrap ul.items li .contents_area {
    padding: 2rem 0;
}

.page-company .access_wrap ul.items li .contents_area h3.ttl {
    font-size: 3.2rem;
    font-weight: 300;
    margin-bottom: 2.5rem;
}

.page-company .access_wrap ul.items li .contents_area p.addr {
    font-size: 1.8rem;
    margin-bottom: .5rem;
}

.page-company .access_wrap ul.items li .contents_area p.tel {
    font-size: 1.8rem;
    margin-bottom: 2.5rem;
}

.page-company .access_wrap ul.items li .contents_area p.map a {
    font-size: 1.8rem;
    color: var(--theme_m_color);
    text-decoration: underline;
    padding-left: 1.6em;
    position: relative;
    margin-bottom: 2rem;
    display: table;
}

.page-company .access_wrap ul.items li .contents_area p.map a::before {
    position: absolute;
    content: "";
    mask: url(../images/common/map_icon.svg) no-repeat 50% / contain;
    width: 1.4rem;
    height: 2.2rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
    left: 0.5rem;
    background: var(--theme_m_color);
}

.page-company .access_wrap ul.items li .contents_area p.access {
    font-size: 1.8rem;
    padding-left: 2em;
    position: relative;
}

.page-company .access_wrap ul.items li .contents_area p.access::before {
    position: absolute;
    content: "";
    mask: url(../images/common/access_icon.svg) no-repeat 50% / contain;
    width: 2.3rem;
    height: 1.8rem;
    top: .6rem;
    left: 0;
    background: var(--theme_m_color);
}



@media (min-width:769px){
    .page-company ul.member_list li h3.name .yohaku {
        display: inline-block;
        width: 1em;
    }
    
    .page-company .license_area .yohaku {
        display: inline-block;
        width: 4.9em;
    }    
} 

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
よくある質問 anker
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
ul.scroll_list {
    display: flex;
    /* justify-content: center; */
    gap: 5rem;
    margin-bottom: 10.5rem;
}

ul.scroll_list li a {
    position: relative;
    font-size: 2.2rem;
    padding-left: 3.5rem;
}

ul.scroll_list li a::before,
ul.scroll_list li a::after {
    position: absolute;
    content: "";
    top: .6rem;
    bottom: 0;
    margin: auto 0;
    left: 0;
    width: 2.6rem;
    height: 2.6rem;
    font-size: 500px;
}

ul.scroll_list li a::before {
    border: 1px solid var(--theme_m_color);
    border-radius: 100%;
}

ul.scroll_list li a::after {
    mask: url("../images/page/faq_arrow.svg") no-repeat 50% / .8rem auto;
    background: var(--theme_m_color);
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
よくある質問
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.faq_sec {
    margin-bottom: 11rem;
}

.faq_sec h2.main_ttl {
    font-size: 3.6rem;
    color: var(--theme_m_color);
    padding-left: 4.5rem;
    position: relative;
    font-weight: 400;
    margin-bottom: 3rem;
}

.faq_sec h2.main_ttl::before {
    position: absolute;
    content: "";
    mask: url(../images/common/ttl_icon.svg) no-repeat 50% / contain;
    width: 3.2rem;
    height: 3.2rem;
    top: 0.5rem;
    bottom: 0;
    margin: auto 0;
    left: 0;
    background: var(--theme_m_color);
}

.faq_sec .qa_wrap p.nav-open {
    cursor: pointer;
}

.faq_sec .qa_wrap p.nav-open span.faq_q {
    font-family: "Josefin Sans", sans-serif;
    font-size: 3.6rem;
    letter-spacing: .04em;
    font-weight: 300;
    display: inline-block;
    position: relative;
    bottom: -.6rem;
}

.faq_sec .qa_wrap p.nav-open span.ttl {
    font-size: 2.6rem;
    font-weight: 500;
}

.faq_sec .qa_wrap nav {
    grid-template-columns: 3.4rem 1fr;
    /* align-items: center; */
    gap: 3rem;
}

.faq_sec .qa_wrap nav span.faq_a {
    font-family: "Josefin Sans", sans-serif;
    font-size: 3.6rem;
    letter-spacing: .04em;
    font-weight: 300;
    display: inline-block;
    color: var(--theme_m_color);
    text-align: center;
}

.faq_sec .qa_wrap nav span.txt_wrap {
    padding-top: 1rem;
}

.faq_sec .qa_wrap nav span.txt_wrap .txt {
    font-size: 2rem;
    line-height: 2;
}

.faq_sec .qa_wrap nav span.txt_wrap a {
    color: var(--theme_m_color);
    text-decoration: underline;
    display: block;
    font-size: 2rem;
}

.nav-open {
    padding: 2rem 2.5rem;
    border-bottom: 1px solid #c8c8c8;
    position: relative;
    font-size: 2.2rem;
    font-weight: bold;
    display: grid;
    grid-template-columns: 3.4rem 1fr;
    align-items: center;
    gap: 3rem;
}

.nav-open::before {
    /* 閉じている時 */
    content: "＋";
    position: absolute;
    color: #1E1E1E;
    font-size: 1.3em;
    top: 50%;
    right: 4.5rem;
    font-weight: 400;
    transform: translateY(-50%);
}

.nav-open.active::before {
    /* 開いている時 */
    content: "－";
}

.nav-open + nav {
    padding: 2rem 2.5rem 6rem 2.5rem;
    line-height: 2.0885;
    display: none;
}

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
募集要項
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_guideline h2.main_ttl {
    font-weight: 300;
    font-size: 4.2rem;
    text-align: center;
    margin-bottom: 7rem;
    color: var(--theme_m_color);
}

.page_guideline dl a {
    font-size: 2rem;
    color: var(--theme_m_color);
    text-decoration: underline;
    display: table;
}

.page-guideline ul.money_list {
    display: grid;
}

.page-guideline ul.money_list li {
    grid-template-columns: 27rem 1fr;
    gap: 3rem;
    font-size: 2rem;
    /* line-height: 1.5; */
}

.page-guideline ul.money_list li h3 {
    font-weight: 400;
    font-size: 2rem;
}

/*============================
page-flow
============================*/
.page_flow > .page_width > .ttl_wrap {
    margin-bottom: 5.5rem;
}

.page-flow .ttl_wrap h2.main_ttl {
    font-size: 4.2rem;
    color: var(--theme_m_color);
    font-weight: 500;
    text-align: center;
    margin-bottom: 1rem;
}

.page-flow .ttl_wrap p.lead {
    font-size: 1.6rem;
    font-weight: 500;
    text-align: center;
}

.page-flow .flow_items {
    display: grid;
    gap: 5rem
}

.page-flow .flow_items .inner {
    border: 2px solid var(--theme_m_color);
    border-radius: 10px;
    grid-template-columns: 10rem 1fr;
    gap: 7rem;
    position: relative;
    background: #fff;
    padding: 5rem 6.5rem 6.5rem;
    align-items: center;
}

.page-flow .flow_items .inner:not(:last-child)::after {
    z-index: -1;
    position: absolute;
    content: "";
    width: 2px;
    background: var(--theme_m_color);
    height: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -50%;
}

.page-flow .flow_items .inner .contents h3.ttl {
    font-size: 3.6rem;
    font-weight: 400;
    margin-bottom: 1rem;
}

.page-flow .flow_items .inner .contents p.txt {
    font-size: 2rem;
    font-weight: 500;
    margin-bottom: 0;
    line-height: 2;
}

.page-flow .flow_items .inner .contents a.link {
    color: var(--theme_m_color);
    font-size: 2rem;
    text-decoration: underline;
    display: block;
}

.page-flow .flow_items .inner .contents p.meeting {
    display: flex;
    margin-top: 1.5rem;
    margin-bottom: 2rem;
    gap: 1rem;
}

.page-flow .flow_items .inner .contents p.meeting span {
    display: table;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 400;
    border-radius: 1.5rem;
    background: var(--theme_m_color);
    text-align: center;
    padding: 0 2.2rem 0.2rem 2.2rem;
    min-width: 9rem;
}

.page-flow .flow_items .inner .contents ul.list {
    margin-top: 0.5rem;
    display: grid;
    gap: .5rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
メッセージ
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_message {
    overflow: clip;
}

.page_message > .page_width {
    max-width: none;
    padding-left: 28rem;
    margin-left: auto;
}

.page_message .scroll_fade_wrap {
    display: grid;
    grid-template-columns: 1fr 82rem;
    gap: 9rem;
    align-items: start;
    top: 10rem;
}
@media (max-width:1700px){
    .page_message .scroll_fade_wrap {
        grid-template-columns: 1fr 68rem;
        gap:7rem;
    }
} 

.page_message .fade_img.pc {
    position: sticky;
    height: 105.1rem;
    top: 0;
    margin-top: 7rem; 
}

.page_message .fade_img.pc p.img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0.6s ease; /* ★フェードの速さ（0.6秒） */
}

/* ▼ JSで「is-active」クラスが付いた画像だけフワッと表示する */
.page_message .fade_img.pc p.img.is-active {
    opacity: 1;
    visibility: visible;
    z-index: 2;
}

.page_message .scroll_fade_wrap .contents_area {
    padding: 7rem 0;
}

.page_message .scroll_fade_wrap .contents_area h2.main_ttl {
    font-size: 6.2rem;
    letter-spacing: .075em;
    color: var(--theme_m_color);
    margin-bottom: 7rem;
    font-weight: 400;
    white-space: nowrap;
}

.page_message .scroll_fade_wrap .contents_area .box {
    padding-right: 1rem;
}

.page_message .scroll_fade_wrap .contents_area .box:not(:last-of-type) {
    margin-bottom: 21rem;
}

.page_message .scroll_fade_wrap .contents_area .box:nth-of-type(2) {
    margin-bottom: 17rem;
}

.page_message .scroll_fade_wrap .contents_area .box p {
    letter-spacing: .05em;
    line-height: 2.5;
    font-size: 2rem;
}

.page_message .main_c {
    color: var(--theme_m_color);
    font-weight: 700;
}

.page_message .scroll_fade_wrap .contents_area .box p.cmn_icon.icon {
    padding-left: 2.5rem;
    margin-bottom: 2rem;
}

.page_message .scroll_fade_wrap .contents_area .box h3.main_ttl {
    font-size: 4.2rem;
    line-height: 1.75;
    margin-bottom: 4.5rem;
    font-weight: 500;
}

.page_message .scroll_fade_wrap .contents_area .box .cmn_txt_wrap p:not(:last-of-type) {
    margin-bottom: 4rem;
}

.page_message p.message {
    width: 84.2rem;
    margin: 12rem auto 0;
    position: relative;
    padding-bottom: 4.5rem;
    position: relative;
    left: -14rem;
}

.page_message p.message::after {
    position: absolute;
    content: "";
    background: url("../images/page/message/message_ttl_deco.svg") no-repeat 50% / contain;
    width: 66.5rem;
    height: 4.5rem;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
}


section.cmn_main_ft_nav.msg_nav {
    padding-top: 9rem;
    margin-right: 28rem;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プライバシーポリシー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_privacy p.main_lead {
    margin-bottom: 13rem;
}

.page_privacy .box {
    margin-bottom: 4rem;
}

.page_privacy .box h3.ttl {
    color: var(--theme_a_color);
    font-size: 2.8rem;
    font-weight: 500;
    margin-bottom: 2rem;
}

.page_privacy .box p {
    padding-left: 2.6rem;
    margin-bottom: 1.5rem;
    line-height: 2;
}

.page_privacy ul.indent {
    padding-left: 2.6rem;
    margin-bottom: 0;
}

.page_privacy ul.indent li {
    text-indent: -1em;
    padding-left: 0em;
    margin-bottom: 0;
    line-height: 2;
}




.page-solution-child main > .page_width {
    max-width: none;
}

.page_privacy p.main_lead {
    margin-bottom: 13rem;
}

.page_privacy .box {
    margin-bottom: 4rem;
}

.page_privacy .box h3.ttl {
    color: var(--theme_a_color);
    font-size: 2.8rem;
    font-weight: 500;
    margin-bottom: 2rem;
}

.page_privacy .box p {
    padding-left: 2.6rem;
    margin-bottom: 1.5rem;
    line-height: 2;
}

.page_privacy ul.indent {
    padding-left: 2.6rem;
    margin-bottom: 0;
}

.page_privacy ul.indent li {
    text-indent: -1em;
    padding-left: 0em;
    margin-bottom: 0;
    line-height: 2;
}

.page-solution-child main > .page_width {
    max-width: none;
    padding-top: 9rem;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
事業紹介
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_solution > .page_width {
    max-width: none;
}

div.biz_index_inner {
    padding-bottom: 4.5rem;
    background: url("../images/page/biz_index/biz_ar_img04.jpg") no-repeat right 28rem bottom 14rem / 22rem 30.8rem, url("../images/page/biz_index/biz_ar_img03.jpg") no-repeat right 0rem top 1rem / 40rem 26.7rem, url("../images/page/biz_index/biz_ar_img01.jpg") no-repeat left 24rem top 3rem / 23rem 32.2rem , url("../images/page/biz_index/biz_ar_img02.jpg") no-repeat left 6rem bottom 19rem / 35rem 28rem;
}

@media (max-width: 1800px) {
    div.biz_index_inner {
        background-position: right 18rem bottom 14rem,right -7rem top 1rem,left 11rem top 12rem,left -6rem bottom 11rem;
    }
}

div.biz_index_inner h2.main_ttl {
    font-size: 4.8rem;
    text-align: center;
    color: var(--theme_m_color);
    margin-bottom: 6rem;
    font-weight: 400;
}

div.biz_index_inner p.txt {
    font-size: 2rem;
    line-height: 2;
    text-align: center;
    margin-bottom: 5rem;
}

div.biz_index_inner ul.items.f_wrap {
    width: 70rem;
    margin: 0 auto 8rem;
}

div.biz_index_inner ul.items.f_wrap li {
    width: 25rem;
    height: 25rem;
    border-radius: 100%;
    border: 3px solid var(--theme_m_color);
    font-size: 2.2rem;
    font-weight: 500;
    color: var(--theme_m_color);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
}

div.biz_index_inner ul.items.f_wrap li:nth-child(2) {
    margin: 0 -3rem;
}

div.biz_index_inner02 {
    max-width: 126rem;
    margin: 0 auto;
    padding-bottom: 9rem;
    margin-bottom: 4rem;
}

div.biz_index_inner02 h2.main_ttl {
    font-size: 4.2rem;
    text-align: center;
    margin-bottom: 7rem;
    color: var(--theme_m_color);
    font-weight: 300;
}

div.biz_index_inner02 div.box {
    background: #E5F0FA;
    border-radius: 2rem;
    padding: 6.5rem 0 7.5rem;
}

div.biz_index_inner02 div.box h3.ttl {
    font-size: 6.4rem;
    text-align: center;
    font-weight: 500;
    color: var(--theme_m_color);
    position: relative;
    z-index: 0;
    display: table;
    margin: 0 auto 5rem;
    padding: 0 1rem;
}

div.biz_index_inner02 div.box h3.ttl::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 1.8rem;
    background: #FFFF00;
    bottom: 0;
    left: 0;
    z-index: -1;
}

div.biz_index_inner02 div.box p.img {
    width: 118.6rem;
    margin: 0 auto;
}

ul.biz_index_item {
    background: #006ED2;
    width: 86rem;
    padding: 3.5rem 6rem;
    margin: 0 auto 14rem;
    position: relative;
}

ul.biz_index_item::before, ul.biz_index_item::after {
    position: absolute;
    content: "";
    background: url("../images/common/w_arrow.svg")no-repeat 50% / contain;
    width: 8.2rem;
    height: 5.2rem;
    left: 0;
    right: 0;
    margin: 0 auto;
}

ul.biz_index_item::before {
    top: -9rem;
}

ul.biz_index_item::after {
    bottom: -10rem;
}

ul.biz_index_item li {
    font-size: 3.2rem;
    color: #fff;
    font-weight: 500;
    letter-spacing: .025em;
    position: relative;
    padding-left: 1.4em;
}

ul.biz_index_item li::before {
    position: absolute;
    content: "";
    background: url("../images/common/maru_check.svg") no-repeat 50% /contain;
    width: 3rem;
    height: 2.7rem;
    top: .5rem;
    bottom: 0;
    margin: auto 0;
    left: 0;
}

div.biz_index_inner03 {
    width: 142rem;
    margin: 0 auto 10rem;
    background: #E5F0FA;
    border-radius: 2rem;
    padding: 8rem 9.5rem 9.5rem;
}

div.biz_index_inner03 p.message {
    width: 75.5rem;
    margin: 0 auto 10rem;
}

div.biz_index_inner03 h3.ttl {
    font-size: 1.6rem;
    position: relative;
    padding-left: 1.5rem;
    display: table;
    margin: 0 auto;
}

div.biz_index_inner03 h3.ttl span {
    display: table;
    margin: 0 auto;
    position: relative;
}

div.biz_index_inner03 h3.ttl span.ja {
    padding-left: 3rem;
    font-weight: 400;
    font-size: 2rem;
}

div.biz_index_inner03 h3.ttl .ja::before {
    position: absolute;
    content: "";
    background: url("../images/common/ttl_icon.svg") no-repeat 50% /contain;
    width: 1.8rem;
    height: 1.8rem;
    top: 0.2rem;
    bottom: 0;
    margin: auto 0;
    left: 0;
}

div.biz_index_inner03 h3.ttl span.en {
    font-family: "Josefin Sans", sans-serif;
    font-size: 7rem;
    color: var(--theme_m_color);
    font-weight: 300;
    letter-spacing: .04em;
    margin-top: 1rem;
}

div.biz_index_inner03 p.txt {
    font-size: 2rem;
    line-height: 2;
    text-align: center;
    margin-bottom: 5rem;
}

div.biz_index_inner03 ul.items {
    display: grid;
    grid-template-columns: repeat(3 , 1fr);
    gap: 4.5rem;
}

div.biz_index_inner03 ul.items li {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
}

div.biz_index_inner03 ul.items li::before , div.biz_index_inner03 ul.items li::after {
    position: absolute;
    content: "";
    width: 6rem;
    height: 6rem;
    bottom: 4.5rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 1;
}

div.biz_index_inner03 ul.items li::before {
    border: 1px solid #fff;
    border-radius: 100%;
}

div.biz_index_inner03 ul.items li::after {
    mask: url("../images/common/arrow_w.svg") no-repeat 50% / 1.2rem auto;
    background: #fff;
}

div.biz_index_inner03 ul.items li .bg {
    
    min-height: 48rem;
    background: no-repeat 50% / contain;
    display: grid;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 13.5rem;
    
    z-index: 0;
}

div.biz_index_inner03 ul.items li .bg::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: no-repeat 50% / cover;
    transition: transform 0.3s ease;
}

div.biz_index_inner03 ul.items li.helth .bg::after {
    background-image: url("../images/page/biz_index/biz_ar_img06.jpg");
}

div.biz_index_inner03 ul.items li.biz .bg::after {
    background-image: url("../images/page/biz_index/biz_ar_img07.jpg");
}

div.biz_index_inner03 ul.items li.network .bg::after {
    background-image: url("../images/page/biz_index/biz_ar_img08.jpg");
}

div.biz_index_inner03 ul.items li:hover .bg::after {
    transform: scale(1.1);
}

div.biz_index_inner03 ul.items li h4.ttl {
    position: relative;
    color: #fff;
    min-width: 30rem;
    display: grid;
    padding: 1rem 2rem;
    z-index: 1;
}

div.biz_index_inner03 ul.items li h4.ttl a {
    display: grid;
    padding: 1rem 2rem;
}

div.biz_index_inner03 ul.items li.helth h4.ttl {
    background: #FF8C00;
}

div.biz_index_inner03 ul.items li.biz h4.ttl {
    background: #49ACF2;
}

div.biz_index_inner03 ul.items li.network h4.ttl {
    background: #3AC252;
}

div.biz_index_inner03 ul.items li h4.ttl span {
    display: table;
    color: #fff;
    text-align: center
}

div.biz_index_inner03 ul.items li h4.ttl span.big {
    font-size: 3.6rem;
}

div.biz_index_inner03 ul.items li h4.ttl span.small {
    font-size: 2rem;
}

div.biz_index_inner04.f_wrap {
    align-items: center;
    max-width: 126rem;
    margin: 0 auto;
    justify-content: space-between;
    gap: 1rem;
    padding-right: 2rem;
    flex-wrap: nowrap;
}

div.biz_index_inner04.f_wrap p.img {
    width: 53.1rem;
    
}

div.biz_index_inner04.f_wrap p.txt {
    width: 64rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
page_biz_mv
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_biz_mv {
    position: relative;
}

.page_biz_mv .wide_width {
    max-width: 126rem;
}

.page_biz_mv h2.main_ttl {
    font-size: 5.6rem;
    color: var(--theme_m_color);
    text-align: center;
    display: table;
    margin: 0 auto 7rem;
    padding-bottom: 3.5rem;
    position: relative;
    font-weight: 500;
}

.page_biz_mv h2.main_ttl::after {
    position: absolute;
    content: "";
    width: 9rem;
    height: 3px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: linear-gradient(to right, #0050B4, #00B4D2);
}

.page_biz_mv .inner {
    min-height: 52rem;
    margin-bottom: 11rem;
    width: 55rem;
}

.page_biz_mv .inner h3.ttl {
    font-size: 4rem;
    color: var(--theme_m_color);
    margin-bottom: 3rem;
    font-weight: 400;
}

.page_biz_mv .inner p.img {
    position: absolute;
    top: 0;
    right: calc(50% - 115rem);
    /*margin-top: 1rem;*/
    width: 80rem;
}

@media (max-width:1600px) { 
    .page_biz_mv .inner {
        position: relative;
    }
}

@media (min-width:1601px) {
    .page_biz_mv .inner p.img {
        right: 0;
        top: 20rem;
    }
}


.page_biz_mv .inner p.txt {
    line-height: 2;
    font-size: 2rem;
}

.page_biz_series {
    margin-bottom: 13.5rem;
}

.page_biz_series .inner h2.main_ttl {
    width: 43.8rem;
    margin: 0 auto;
}

.page_biz_series .inner h2.main_ttl img {
    width: 100%;
}

.page_biz_series .inner p.lead {
    font-size: 2.4rem;
    text-align: center;
    font-weight: 600;
    margin-bottom: 4rem;
    background: var(--theme_m_color);
    color: #fff;
    display: table;
    margin: .5rem auto 5.5rem;
    padding: 0 4.5rem 0.2rem;
}

.page_biz_series .inner p.main_txt {
    line-height: 2;
    text-align: center;
    margin-bottom: 6.5rem;
    font-size: 2rem;
}

.page_biz_series .box {
    border: 3px solid var(--theme_m_color);
    max-width: 126rem;
    margin: 0 auto;
    position: relative;
}

.page_biz_series .box ul.grid {
    padding: 6.5rem 4rem 6.5rem 4rem;
    gap: 1rem;
}

.page-healthcare .page_biz_series .box ul.grid {
    padding: 6.5rem 4rem 13.5rem 4rem;
}

.page_biz_series .box ul.grid li {
    align-items: center;
    display: flex;
    justify-content: center;
    gap: 3rem;
}

.page_biz_series .box ul.grid li p.no01 {
    width: 6.5rem;
}

.page_biz_series .box ul.grid li p.img {
    width: 68.2rem;
}

.page_biz_series .box ul.grid.network_grid li p.img {
    width: 47rem;
}

.page_biz_series .box ul.grid li p.img img {
    width: 100%;
}

.page_biz_series .box p.no1_txt {
    position: absolute;
    bottom: 5rem;
    left: 30rem;
}

.page_biz_works.healthcare_works {
    
    padding-bottom: 22rem;
}

.page_biz_works {
    background: url("../images/page/biz/healthcare/biz_img01.png") no-repeat left -6rem bottom 8rem/ 50rem, url("../images/page/biz/healthcare/biz_img02.png") no-repeat right -1rem bottom 32rem / 26rem, url("../images/page/biz/healthcare/biz_img03.png") no-repeat right 12rem bottom 0 / 32rem;
}

.page_biz_works.network_works {
    background: url("../images/page/biz/network/biz_img01.png") no-repeat left -6rem bottom 8rem/ 50rem, url("../images/page/biz/network/biz_img02.png") no-repeat right -1rem bottom 32rem / 26rem, url("../images/page/biz/network/biz_img03.png") no-repeat right 12rem bottom 0 / 32rem;
}

.page_biz_works.business_works {
    background: url("../images/page/biz/business/biz_img01.png") no-repeat left -6rem bottom 8rem/ 50rem, url("../images/page/biz/business/biz_img02.png") no-repeat right -1rem bottom 32rem / 26rem, url("../images/page/biz/business/biz_img03.png") no-repeat right 12rem bottom 0 / 32rem;
}


.page_biz_works .base_width h2.main_ttl {
    font-size: 4.2rem;
    text-align: center;
    color: var(--theme_m_color);
    margin-bottom: 7rem;
    font-weight: 300;
}

.page_biz_works .base_width ul.items {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: 3rem;
    justify-content: center;
    padding-bottom: 12rem;
    margin-bottom: 5.5rem;
    position: relative;
}

.page_biz_works.network_works .base_width ul.items {
    grid-template-columns:1fr;
    gap:0;
    width: 84rem;
    margin: 0 auto 5.5rem;
}

.page_biz_works .base_width ul.items::after {
    position: absolute;
    content: "";
    mask: url("../images/common/w_arrow.svg") no-repeat 50% / contain;
    width: 8rem;
    height: 5rem;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: var(--theme_m_color);
}

.page_biz_works .base_width ul.items li {
    background: #E5F0FA;
    border-radius: 2rem;
    padding: 4.5rem 0 6.5rem;
}

.page_biz_works .base_width ul.items li h3.ttl {
    font-size: 3.6rem;
    font-weight: 600;
    color: var(--theme_m_color);
    text-align: center;
    line-height: 1.5;
    margin-bottom: 2rem;
}

.page_biz_works .base_width ul.items li p.txt {
    text-align: center;
    font-size: 2rem;
}

.page_biz_works .base_width p.message {
    width: 74.2rem;
    margin: 0 auto;
}

.page_biz_works .base_width p.message img {
    width: 100%;
}

.page-healthcare .cmn_main_ft_nav {
    margin-top: -22rem;
}

.page_biz_series .box ul.grid.business_grid {
    grid-template-columns: 49.5rem 40.4rem;
    justify-content: center;
    gap: 7rem;
}

.page_biz_works.business_works .base_width ul.items li{
    padding-left: 3rem;
    padding-right: 3rem;
}

.page_biz_works.business_works .base_width ul.items li:nth-child(3) {
    grid-column: 1 / -1; 
    justify-self: center;
    
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
インタビュー一覧
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_interview > .page_width {
    max-width: none;
    padding-top: 0;
}

.page_interview p.main_lead {
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 5rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
インタビュー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
div.interview_main h2.main_ttl02 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

div.interview_main h2.main_ttl02 span.ja {
    font-size: 2.4rem;
    letter-spacing: .06em;
    font-weight: 400;
    position: relative;
    padding-left: 3rem;
}

div.interview_main h2.main_ttl02 span.ja::before {
    position: absolute;
    content: "";
    mask: url(../images/common/ttl_icon.svg) no-repeat 50% / contain;
    width: 2.4rem;
    height: 2.4rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
    left: 0;
    background: var(--theme_m_color);
}

div.interview_main h2.main_ttl02 span.en {
    font-size: 7rem;
    font-family: "Josefin Sans", sans-serif;
    letter-spacing: .04em;
    font-weight: 300;
    color: var(--theme_m_color);
}

.page-interview-child main {
    position: relative;
    z-index: 0;
}

.page-interview-child main::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 252.5rem;
    top: 0;
    left: 0;
    background: -webkit-linear-gradient(#e5f0fa 0%, #ffffff 100%);
    background: -o-linear-gradient(#e5f0fa 0%, #ffffff 100%);
    background: linear-gradient(#e5f0fa 0%, #ffffff 100%);
    z-index: -1;
}

.page-interview-child main > .page_width {
    max-width: none;
}

div.interview_main {
    position: relative;
}

div.interview_main div.intro {
    max-width: 126rem;
    margin: 0 auto 11rem;
    padding-top: 4.5rem;
    padding-left: 2rem;
    min-height: 62rem;
}

div.interview_main div.intro p.main_img {
    width: 106.1rem;
    position: absolute;
    top: 0;
    right: 0;
}

div.interview_main div.intro div.contents {
    position: relative;
}

div.interview_main div.intro div.contents h2.main_ttl {
    font-size: 5.6rem;
    font-weight: 500;
    letter-spacing: .08em;
    line-height: 1.75;
    position: relative;
    color: var(--theme_m_color);
    margin-bottom: 7.5rem;
}

div.interview_main div.intro div.contents h2.main_ttl span {
    position: relative;
    display: table;
}

div.interview_main div.intro div.contents h2.main_ttl span::after {
    position: absolute;
    content: "";
    width: 100%;
    height: 2px;
    background: var(--theme_m_color);
    bottom: .5rem;
    left: 0;
}

div.interview_main div.intro div.contents p.shokushu {
    font-size: 3rem;
    color: #fff;
    line-height: 2.1;
    background: linear-gradient(to right, #0050B4, #00B4D2);
    display: table;
    padding: 0.3rem 2.5rem;
    margin-bottom: 1.5rem;
    font-weight: bold;
}

div.interview_main div.intro div.contents p.year {
    font-size: 2.2rem;
    padding-left: 2rem;
    font-weight: 600;
}

div.interview_main ul.interview_area {
    max-width: 94rem;
    margin: 0 auto;
    display: grid;
    gap: 12rem;
}

div.interview_main ul.interview_area li h3.ttl {
    font-size: 3.6rem;
    color: var(--theme_m_color);
    padding-left: 4.5rem;
    position: relative;
    font-weight: 400;
    margin-bottom: 4.5rem;
}

div.interview_main ul.interview_area li h3.ttl::before {
    position: absolute;
    content: "";
    mask: url(../images/common/ttl_icon.svg) no-repeat 50% / contain;
    width: 3.2rem;
    height: 3.2rem;
    top: .5rem;
    bottom: 0;
    margin: auto 0;
    left: 0;
    background: var(--theme_m_color);
}

div.interview_main ul.interview_area li p.lead {
    font-size: 2.6rem;
    color: var(--theme_m_color);
    font-weight: 400;
    margin-bottom: 2.5rem;
}

div.interview_main ul.interview_area li div.txt_wrap p {
    line-height: 2;
    font-size: 2rem;
}

div.interview_main ul.interview_area li div.txt_wrap p:not(:last-child) {
    margin-bottom: 3.5rem;
}

div.interview_main ul.interview_area li p.img {
    width: 78rem;
    margin: 7rem auto 0;
}

div.interview_main ul.interview_area li p.img img {
}

div.interview_main div.story {
    margin-top: 13.5rem;
    padding-bottom: 11rem;
}

div.interview_main div.story h2.main_ttl02 {
    margin-bottom: 6.5rem;
}

div.interview_main div.story ul.items {
    max-width: 94rem;
    margin: 0 auto;
    display: grid;
}

div.interview_main div.story ul.items li {
    border: 2px solid var(--theme_m_color);
    border-radius: 10px;
    background: #fff;
    padding: 0 8rem 5rem;
    margin-bottom: 7.5rem;
    position: relative;
}

div.interview_main div.story ul.items li ::after {
    position: absolute;
    content: "";
    width: 2px;
    height: 100%;
    background: var(--theme_m_color);
    bottom: -30%;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -1;
}

div.interview_main div.story ul.items li h3.ttl {
    font-size: 2.4rem;
    font-weight: 600;
    background: linear-gradient(to right, #0050B4, #00B4D2);
    display: table;
    margin: 0 auto 3rem;
    color: #fff;
    margin-top: -2.5rem;
    padding: .8rem 4.5rem .8rem 4.5rem;
}

div.interview_main div.story ul.items li p.txt {
    font-size: 2rem;
}

div.interview_main div.story p.story_message {
    font-size: 4rem;
    letter-spacing: .02em;
    font-family: "Josefin Sans", sans-serif;
    font-weight: 400;
    text-align: center;
    color: var(--theme_m_color);
}

div.interview_main div.message h2.main_ttl02 {
    margin-bottom: 4.5rem;
}

div.interview_main div.message div.bg.inner {
    position: relative;
    min-height: 64rem;
    padding: 8rem 0 8rem;
}

div.interview_main div.message div.bg.inner::before {
    position: absolute;
    content: "";
    background: linear-gradient( to right, #F7E928 0%, #66B7F8 50%, #FF83C2 100% );
    width: 89.5%;
    height: 100%;
    top: 0;
    left: -2rem;
    border-radius: 2rem;
    z-index: -1;
}

div.interview_main div.message div.bg.inner::after {
    position: absolute;
    content: "";
    background: no-repeat 50% /contain;
    width: 45.4rem;
    height: 68.1rem;
    bottom: 0;
    left: 12rem;
}

div.interview_main div.message div.bg.inner.staff01::after {
    background-image: url("../images/page/interview/staff01.png");
}

div.interview_main div.message div.bg.inner.staff02::after {
    background-image: url("../images/page/interview/staff02.png");
}

div.interview_main div.message div.bg.inner.staff03::after {
    background-image: url("../images/page/interview/staff03.png");
}

div.interview_main div.message div.bg.inner.staff04::after {
    background-image: url("../images/page/interview/staff04.png");
}

div.interview_main div.message div.bg.inner.staff05::after {
    background-image: url("../images/page/interview/staff05.png");
}

div.interview_main div.message div.bg.inner.staff06::after {
    background-image: url("../images/page/interview/staff06.png");
}

div.interview_main div.message div.bg.inner.staff07::after {
    background-image: url("../images/page/interview/staff07.png");
}

div.interview_main div.message div.bg.inner.staff08::after {
    background-image: url("../images/page/interview/staff08.png");
}

div.interview_main div.message div.bg.inner.staff09::after {
    background-image: url("../images/page/interview/staff09.png");
}

div.interview_main div.message div.bg.inner div.base_width {
    padding-right: 2rem;
    padding-left: 35rem;
}

div.interview_main div.message div.bg.inner div.base_width h2.main_ttl {
    color: #fff;
    font-size: 4.8rem;
    display: table;
    /* margin-left: auto; */
    font-weight: 400;
    margin-bottom: 4.5rem;
}

div.interview_main div.message div.bg.inner div.base_width p.main_txt {
    line-height: 2;
    font-weight: 400;
    color: #fff;
    font-size: 2rem;
    width: 70rem;
    /* margin-left: auto; */
}

div.interview_main div.message div.bg.inner div.base_width p.main_txt span:not(:last-child) {
    margin-bottom: 3.5rem;
    display: block;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
プライバシーポリシー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_privacy p.main_lead {
    line-height: 2;
    margin-bottom: 9vw;
}

.page_privacy .box {
    margin-bottom: 4.5rem;
}

.page_privacy .box h3.ttl {
    font-size: 4.2rem;
    text-indent: -1em;
    padding-left: 1em;
}

.page_privacy .box p {
    margin-bottom: 2vw;
    padding-left: 0;
    font-size: 2rem;
}


.page_privacy ul.indent {
    padding-left: 19px;
}

.page_privacy ul.indent li {
    font-size: 2rem;
}


.page-privacy .inner:not(:last-child) {
    margin-bottom: 12.5rem;
}

.page-privacy .inner h2.main_ttl {
    font-size: 4.2rem;
    text-align: center;
    color: var(--theme_m_color);
    margin-bottom: 6rem;
    font-weight: 300;
}

.page-privacy .inner p.main_lead {
    font-size: 2rem;
    margin-bottom: 6.5rem;
}

.page-privacy .inner .box h3.ttl {
    font-size: 3rem;
    color: inherit;
    font-weight: 300;
}

.page-privacy .inner .policy_sign {
    margin-top: 5rem;
}

.page-privacy .inner .policy_sign p {
    font-size: 2rem;
    text-align: right;
}

.page-privacy .inner .box ul.list {
    display: grid;
    gap: 1rem;
}

.page-privacy .inner .box ul.list li {
    padding-left: 1em;
}

.page-privacy .inner .box ul.list li::before {
    top: 1.4rem;
    width: .6em;
    height: .6em;
}

.page-privacy .inner .box01.f_wrap {
    border: 2px solid var(--theme_m_color);
    margin-top: 9rem;
    padding: 5rem 9.5rem;
    align-items: center;
    gap: 3rem;
    justify-content: space-between;
    margin-bottom: 8.5rem;
}

.page-privacy .inner .box01.f_wrap h3.ttl {
    font-size: 2.6rem;
    color: var(--theme_m_color);
    font-weight: 300;
}

.page-privacy .inner .box01.f_wrap p.txt {
    font-size: 2rem;
}

.page-privacy .inner dl.cmn_data_list .data_item {
    grid-template-columns: 28rem 1fr;
}

.page-privacy .inner dl.cmn_data_list .data_item dt {
    line-height: 1.5;
    padding-right: 4rem;
}

.page-privacy .inner dl.cmn_data_list .data_item dd {
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
404
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo.letter404 {
     padding-top: 15rem; 
}


.page_promo.letter404::after {
    width: 35vw;
    top: 85%;
}

@media (min-width: 769px) and (max-width: 1800px) {
    .page_promo.letter404::after {
        right: calc(50% - 888px);
        z-index: -1;
    }
}

.page_promo.letter404 .promo_inner h1 .slug {
    font-size: 7rem;
    margin-left: -4rem;
}

.page_404 h2 {
    font-size: 3.6rem;
    text-align: center;
    margin-bottom: 3.2rem;
    font-weight: 400;
    color: var(--theme_m_color);
}

.page_404 p.txt {
    font-size: 2rem;
    text-align: center;
    line-height: 2;
    margin-bottom: 6.5rem;
}

.page_404 p.cmn_page_btn a {
    font-weight: 500;
}

.page_404 p.btn a:hover {
    background: #00a99d;
    color: #fff;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
職種紹介　>　一覧
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
section.job_index div.base_width p.main_lead {
    text-align: center;
    font-size: 1.8rem;
    margin-bottom: 4.5rem;
}

section.job_index div.base_width ul.items.grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 4rem;
}

section.job_index div.base_width ul.items.grid li.biggerlink.zoom_container {
    position: relative;
}

section.job_index div.base_width ul.items.grid li.biggerlink.zoom_container::before, section.job_index div.base_width ul.items.grid li.biggerlink.zoom_container::after {
    position: absolute;
    content: "";
    bottom: 3rem;
    right: 3rem;
    width: 6rem;
    height: 6rem;
    z-index: 1;
}

section.job_index div.base_width ul.items.grid li.biggerlink.zoom_container::before {
    border: 1px solid #fff;
    border-radius: 100%;
}

section.job_index div.base_width ul.items.grid li.biggerlink.zoom_container::after {
    mask: url(../images/common/arrow_w.svg) no-repeat 50% / 1rem auto;
    background: #fff;
}

section.job_index div.base_width ul.items.grid li.biggerlink.zoom_container p.img.img_container {
    border-radius: 10px;
    padding-top: 79%;
}

section.job_index div.base_width ul.items.grid li.biggerlink.zoom_container div.contents {
    position: absolute;
    bottom: 3.5rem;
    left: 4rem;
}

section.job_index div.base_width ul.items.grid li.biggerlink.zoom_container div.contents h3.ttl a {
    background: linear-gradient(135deg, #0050b4 0%, #00b4d2 100%);
    display: block;
    line-height: 1.3125;
    font-size: 3.2rem;
    color: #fff;
    display: table;
    padding: 0.8rem 3.5rem 0.8rem 2rem;
    margin-bottom: 1rem;
}

section.job_index div.base_width ul.items.grid li.biggerlink.zoom_container div.contents p.txt {
    color: #fff;
    font-size: 1.6rem;
    width: 71%;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
職種紹介　>　共通
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page-job-child main > .page_width {
    max-width: none;
}

.job_promo .promo_wrap {
    background: no-repeat 50% / cover;
    min-height: 55rem;
    width: 110rem;
    margin: 0 auto;
    position: relative;
}

.job_promo .promo_wrap h3.ttl {
    color: #fff;
    background: linear-gradient(to right, #0050B4, #00B4D2);
    font-size: 4.2rem;
    font-weight: 600;
    display: table;
    position: absolute;
    bottom: 4rem;
    left: 4rem;
    padding: 2.2rem 3rem;
}

.job_promo .bg {
    position: relative;
}

.job_promo .bg::after {
    position: absolute;
    content: "";
    background: #E5F0FA;
    width: 94%;
    height: 76rem;
    max-width: 150rem;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.job_promo .bg .contents_area {
    min-height: 76rem;
    width: 94rem;
    margin: -12rem auto 0;
    padding: 18rem 0 0;
}

.job_promo .bg .contents_area h4.ttl {
    font-size: 4rem;
    color: var(--theme_m_color);
    font-weight: 500;
    /* text-align: center; */
    margin-bottom: 2.5rem;
}

.job_promo .bg .contents_area p.txt {
    width: 80rem;
    font-size: 2rem;
    margin-bottom: 4.5rem;
    color: #1E1E1E;
}

.job_promo .bg .contents_area p.txt span.color_blue {
    color: var(--theme_m_color);
    font-weight: bold;
}

.job_promo .bg .contents_area ul.items {
    gap: 3rem;
    display: flex;
    width: 80rem;
}

.job_promo .bg .contents_area ul.items li {
    background: #fff;
    border-radius: 10px;
    font-size: 2.4rem;
    letter-spacing: .02em;
    color: var(--theme_m_color);
    text-align: center;
    flex: 1;
    padding: 1.8rem 0rem 2.6rem;
    line-height: 1.75;
    font-weight: 600;
}

.job_promo .bg .contents_area ul.items li span {
    position: relative;
    z-index: 0;
}

.job_promo .bg .contents_area ul.items li span::after {
    position: absolute;
    content: "";
    background: #FFFF00;
    width: 100%;
    height: 1rem;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.job_promo .bg p.img {
    position: absolute;
    bottom: 8rem;
    right: calc(50% - 80rem);
    width: 36rem;
}

.page-job-child .vision {padding: 13.5rem 0;}

.page-job-child .vision h2.cmn_ttl {margin-bottom: 4.5rem;}

.page-job-child h2.cmn_ttl span.icon {
    font-size: 2.4rem;
    font-weight: 400;
    padding-left: 3rem;
    margin-bottom: 0rem;
}

.page-job-child h2.cmn_ttl span.icon::before {
    font-size: 7rem;
    letter-spacing: .04em;
}

.page-job-child  h2.cmn_ttl span.en {font-size: 7rem;}

.page-job-child .vision ul.items {
    width: 94rem;
    margin: 0 auto;
    display: grid;
    gap: 2rem;
}

.page-job-child .vision ul.items li.grid {
    grid-template-columns: 9.9rem 1fr;
    gap: 3rem;
    border-radius: 1rem;
    background: var(--theme_m_color);
    padding: 2.4rem 3.5rem;
    align-items: center;
}

.page-job-child .vision ul.items li.grid p.num {
    font-size: 2.4rem;
    letter-spacing: .02em;
    color: #fff;
    position: relative;
    height: 83%;
    display: grid;
    align-items: center;
}

.page-job-child .vision ul.items li.grid p.num::after {
    position: absolute;
    content: "";
    background: #fff;
    width: 1px;
    height: 100%;
    top: 0;
    right: 0;
}

.page-job-child .vision ul.items li.grid p.txt {
    font-size: 2.4rem;
    letter-spacing: .02em;
    color: #fff;
    line-height: 1.5;
}

.page-job-child .flow {padding: 0 0 13rem;}

.page-job-child .flow h2.cmn_ttl {margin-bottom: 2.5rem;}

.page-job-child .flow h2.cmn_ttl span.icon {
    font-size: 2.4rem;
}

.page-job-child .flow p.lead {
    font-size: 2.4rem;
    color: var(--theme_m_color);
    text-align: center;
    margin-bottom: 2.5rem;
    font-weight: 700;
}

.page-job-child .flow ul.items {
    width: 94rem;
    margin: 0 auto;
    display: grid;
    gap: 1rem;
}

.page-job-child .flow ul.items li.grid {
    background: #E5F0FA;
    /* border-radius: 1rem; */
    grid-template-columns: 18rem 1fr 24rem;
    gap: 5rem;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 2rem 4rem;
}

.page-td.page-job-child .flow ul.items li.grid {
    grid-template-columns: 22rem 1fr 24rem;
}

.page-job-child .flow ul.items li.grid:not(:last-child)::after {
    position: absolute;
    content: "";
    background: url("../images/common/w_arrow.svg") no-repeat 50% / contain;
    width: 6.1rem;
    height: 4rem;
    bottom: -3rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 1;
}

.page-job-child .flow ul.items li.grid h3.ttl {
    font-size: 2.8rem;
    color: #fff;
    background: var(--theme_m_color);
    text-align: center;
    line-height: 1.5;
    border-radius: 1rem;
    padding: 2rem 0 3rem 0;
    height: 18rem;
    display: grid;
    align-content: center;
    font-weight: 600;
}

.page-job-child .flow ul.items li.grid h3.ttl.custom_center{
    padding-left: 1rem;
}

.page-job-child .flow ul.items li.grid h3.ttl.small {
    font-size: 2.4rem;
}

.page-job-child .flow ul.items li.grid h3.ttl span {
    position: relative;
    right: -0.2em;
    display: block;
}


.page-job-child .flow ul.items li.grid p.txt {
    font-size: 1.8rem;
}

.page-job-child .flow ul.items li.grid p.icon {position: relative;bottom: -2rem;right: -1rem;}

.page-job-child .one_day {
    position: relative;
    overflow: hidden;
    padding: 0 0 5rem;
}

.page-job-child .one_day h2.cmn_ttl {margin-bottom: 4rem;}


.page-job-child .one_day h2.cmn_ttl span.icon {
    font-size: 2.4rem;
}

.page-job-child .one_day .img_wrap {
    position: absolute;
    top: 25rem;
    left: 0;
    z-index: 1;
}

.page-job-child .one_day .img_wrap p.img.main {
    width: 52rem;
    margin-bottom: 3.5rem;
    margin-left: 8rem;
}

.page-job-child .one_day .img_wrap p.img.small {
    width: 38rem;
}

.page-job-child .one_day .inner {
    border: 6px solid transparent;
    border-radius: 20px;
    background: 
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(to right, #0050B4, #00B4D2) border-box;
    width: 114rem;
    margin-left: auto;
    padding: 7rem 16rem 7rem 16rem;
    position: relative;
    right: -3rem;
}

@media (min-width:1601px){
    .page-job-child .one_day .inner {
        width: 76%;

    }   
} 

.page-job-child .one_day .inner dl.list {display: grid;gap: 2rem;}


.page-job-child .one_day .inner dl.list .days {
    display: grid;
    grid-template-columns: 7rem 1fr;
    gap: 8rem;
}

.page-job-child .one_day .inner dl.list .days dt {
    font-size: 2.4rem;
    color: var(--theme_m_color);
    font-weight: 600;
    position: relative;
    top: -0.4rem;
    text-align: right;
    white-space: nowrap;
}

.page-job-child .one_day .inner dl.list .days dt::before,
.page-job-child .one_day .inner dl.list .days dt::after {
    position: absolute;
    content: "";
    background: var(--theme_m_color);
}

.page-job-child .one_day .inner dl.list .days:not(:last-child) dt::before {
    width: 1px;
    height: calc(100% + 2rem);
    bottom: -5rem;
    right: -4.24rem;
}

.page-job-child .one_day .inner dl.list .days dt::after {
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 100%;
    top: 1.5rem;
    right: -5rem;
}

.page-job-child .one_day .inner dl.list .days dd h3.ttl {
    font-size: 2.4rem;
    font-weight: 600;
    color: var(--theme_m_color);
    margin-bottom: 1.5rem;
}

.page-job-child .one_day .inner dl.list .days dd p.txt {
    font-size: 1.8rem;
    font-weight: 400;
}


@media (min-width:1601px){
    .job_promo .bg::after {
        width: 86%;
        max-width: none;
    }
} 
 
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
職種紹介　>　ヘルスケア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.page-se-healthcare .job_promo .promo_wrap {
    background-image: url("../images/page/job/helthcare/job_promo.png");
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
職種紹介　>　システムエンジニア/ビジネス
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page-se-business .job_promo .promo_wrap {
    background-image: url("../images/page/job/se-biz/jpb02_promo.png");
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
職種紹介　>　ネットワークエンジニア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page-ne .job_promo .promo_wrap {
    background-image: url("../images/page/job/ne/jpb04_promo.png");
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
職種紹介　>　技術開発
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page-td .job_promo .promo_wrap {
    background-image: url("../images/page/job/td/jpb03_promo.png");
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
職種紹介　>　ソリューション営業/ヘルスケア
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page-sales-healthcare .job_promo .promo_wrap {
    background-image: url("../images/page/job/sales-healthcare/jpb05_promo.png");
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
数字で知るTAK
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.page_numbers > .page_width {
    max-width: none;
    padding-bottom: 10rem;
}

.page_numbers h3.ttl {
    font-size: 3.2rem;
    text-align: center;
    margin-bottom: 2rem;
    font-weight: 500;
}

.page_numbers p.year {
    font-size: 2rem;
    text-align: center;
    margin-bottom: 5rem;
}

.page_numbers p.number {
    font-size: 10rem;
    line-height: 1;
    text-align: center;
    color: var(--theme_m_color);
    margin-bottom: 4rem;
}

.page_numbers p.number span.txt {
    font-family: "Lato", sans-serif;
    color: var(--theme_m_color);
    line-height: 1;
    font-weight: 300;
}

.page_numbers p.number span.small {
    font-size: 40%;
    
}

.page_numbers p.number span.small:not(.not_ml){
    margin-left: .2em;
}

.page_numbers h2.cmn_ttl {
    margin-bottom: 1.5rem;
}

.page_numbers h2.cmn_ttl span.cmn_icon.icon {
    font-size: 2rem;
    padding: 0 2.5rem;
    font-weight: 400;
}



.page_numbers h2.cmn_ttl span.en {
    font-size: 7rem;
    line-height: 1.5;
}

.num_inner h2.main_ttl {
    font-size: 4.8rem;
    text-align: center;
    margin-bottom: 3rem;
    font-weight: 400;
    color: var(--theme_m_color);
}

.num_inner p.main_txt {
    font-size: 2rem;
    line-height: 2;
    text-align: center;
    margin-bottom: 9rem;
}

.num_about {
    background: #E5F0FA;
    padding: 10rem 3rem;
    margin-bottom: 10rem;
}

.num_about ul.num_items.grid.items {
    grid-template-columns: repeat(3, 1fr);
    gap: 3.5rem;
    width: 126rem;
    margin: 0 auto 3.5rem;
}

.num_about ul.num_items.grid.items li {
    border-radius: 2rem;
    background: #fff;
    padding: 4.5rem 0 5rem;
}

.num_about ul.num_items.grid.items li p.icon {
    width: 20rem;
    margin: 0 auto;
}

.num_about .graph {
    background: #fff;
    border-radius: 2rem;
    width: 126rem;
    margin: 0 auto 3.5rem;
    padding: 4.5rem 11rem 7rem 11rem;
}

.num_about .graph h3.ttl {
    margin-bottom: 0.5rem;
}

.num_about .graph p.deco {
    width: 42.8rem;
}

.num_about .graph p.img {
    width: 106.4rem;
    margin-top: -18.5rem;
    position: relative;
    right: -5rem;
}

.num_about .line_up {
    background: #fff;
    border-radius: 2rem;
    max-width: 126rem;
    margin: 0 auto;
    padding: 4.5rem 9rem 7rem 9rem;
}

.num_about .line_up p.takumi {
    width: 39.5rem;
    margin: 0 auto 4.5rem;
}

.num_about .line_up .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: max-content max-content 1fr;
    gap: 3.5rem 4rem;
    align-items: flex-start;
}

.num_about .line_up .grid .line_up_items:nth-child(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 4;
}

.num_about .line_up .grid .line_up_items:nth-child(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.num_about .line_up .grid .line_up_items:nth-child(3) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

.num_about .line_up .grid .line_up_items h3.sub_ttl {
    background: #E5F0FA;
    text-align: center;
    padding: 1.2rem 2rem 1rem;
    margin-bottom: 2rem;
    display: grid;
    justify-content: center;
    align-items: center;
}


.num_about .line_up .grid .line_up_items h3.sub_ttl.hlt img {
    width: 23.2rem;
}

.num_about .line_up .grid .line_up_items h3.sub_ttl.biz img {
    width: 20.4rem;
}

.num_about .line_up .grid .line_up_items h3.sub_ttl.network img {
    width: 24.2rem;
}

.num_about .line_up .grid .line_up_items ul.items {
    padding: 0 1rem;
    display: grid;
    gap: 1.8rem;
}

.num_about .line_up .grid .line_up_items ul.items > li {
    display: grid;
    grid-template-columns: 5.7rem 1fr;
    gap: 1rem;
}

.num_about .line_up .grid .line_up_items ul.items li p.no01 {
    margin-right: 0rem;
}

.num_peple {
    background: #E5F0FA;
    padding: 9.5rem 3rem 10rem;
    margin-bottom: 11rem;
}

.num_peple .employee {
    background: #fff;
    border-radius: 2rem;
    padding: 4rem 0 7rem;
    width: 126rem;
    margin: 0 auto 4rem;
}

.num_peple .employee h3.ttl {
    margin-bottom: 2.5rem;
}

.num_peple .employee p.img {
    text-align: center;
    margin-left: 10rem;
}

.num_peple .employee p.img img {
    width: 83.3rem;
    margin: 0 auto;
}

.num_peple .age {
    background: #fff;
    border-radius: 2rem;
    max-width: 126rem;
    margin: 0 auto 3.5rem;
    padding: 5rem 6rem 7rem;
}

.num_peple .age h3.ttl {
    width: 15.8rem;
    margin: 0 auto 3.5rem;
}

.num_peple .age p.list {
    width: 94rem;
    margin: 0 auto 1rem;
}

.num_peple .age .contents.f_wrap {
    justify-content: flex-end;
    gap: 9rem;
}

.num_peple .age .contents.f_wrap p.img {
    width: 33.4rem;
}

.num_peple .age .contents.f_wrap .content_area {
    width: 46%;
    margin-top: 2rem;
}

.num_peple .age .contents.f_wrap .content_area h2.main_ttl {
    font-size: 3.2rem;
    letter-spacing: .025em;
    line-height: 1.5;
    color: var(--theme_m_color);
    margin-bottom: 1.5rem;
    font-weight: 400;
}

.num_peple .age .contents.f_wrap .content_area p.main_txt {
    font-size: 2rem;
}

.num_peple ul.graph02 {
    display: grid;
    gap: 3rem;
    grid-template-columns: repeat(2 , 1fr);
    max-width: 126rem;
    margin: 0 auto;
}

.num_peple ul.graph02 li {
    background: #fff;
    border-radius: 2rem;
    padding: 4rem 0 6rem;
}

.num_peple ul.graph02 li h3.ttl {
    margin-bottom: 4.5rem;
}

.num_works ul.items_3col li.size_custom h3.ttl {
    min-height: 8.2rem;
    display: grid;
    align-items: center;
}


.num_peple ul.graph02 li p.img {
    width: 38.6rem;
    margin: 0 auto
}

.num_peple ul.graph02 li p.new {
    font-size: 1.6rem;
    text-align: center;
    margin-top: 2rem;
}

.num_works {
    background: #E5F0FA;
    padding: 9.5rem 3rem 10rem;
}

.num_works ul.items_3col {
    display: grid;
    grid-template-columns: repeat(3 , 1fr);
    gap: 3rem;
    max-width: 126rem;
    margin: 0 auto;
}

.num_works ul.items_3col li {
    background: #fff;
    border-radius: 2rem;
    padding: 4.5rem 4rem 2rem;
}

.num_works ul.items_3col li p.number {
    margin-bottom: 4.5rem;
}

.num_works ul.items_3col li p.deco {
    width: 20rem;
    margin: 0 auto 2.5rem;
}

.num_works ul.items_3col li p.deco img {
    width: 100%;
}

.num_works ul.items_3col li .note p {
    line-height: 1.5;
    font-size: 1.6rem;
}

.num_works ul.items_3col li p.deco.size01 {
    width: 27.9rem;
    position: relative;
    top: -3rem;
}

.num_works ul.items_3col li.maternity_return {
    padding-bottom: 4rem;
}


.num_works ul.items_3col li.maternity_return p.deco {
    width: 30.5rem;
}



.num_works ul.items_3col li p.deco.size02 {
    width: 22.6rem;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
研修制度
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_training > .page_width {
    max-width: none;
}

.page_bene_mv {
    position: relative;
}

.page_bene_mv .wide_width {
    max-width: 126rem;
}

.page_bene_mv h2.main_ttl {
    font-size: 5.6rem;
    color: var(--theme_m_color);
    text-align: center;
    display: table;
    margin: 0 auto 7rem;
    padding-bottom: 3.5rem;
    position: relative;
    font-weight: 500;
}

.page_bene_mv h2.main_ttl::after {
    position: absolute;
    content: "";
    width: 9rem;
    height: 3px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: linear-gradient(to right, #0050B4, #00B4D2);
}

.page_bene_mv .inner {
    min-height: 52rem;
    margin-bottom: 11rem;
    width: 55rem;
}

.page_bene_mv .inner h3.ttl {
    font-size: 4rem;
    color: var(--theme_m_color);
    margin-bottom: 2.5rem;
    font-weight: 400;
}

.page_bene_mv .inner p.img {
    position: absolute;
    top: 0;
    right: calc(50% - 115rem);
    margin-top: 1rem;
    width: 80rem;
    border-radius: 1rem 0 0 1rem;
    overflow: hidden;
}

@media (max-width: 1600px) {
    .page_bene_mv .inner {
        position: relative;
    }
}

@media (min-width: 1601px) {
    .page_bene_mv .inner p.img {
        right: 0;
        top: 18rem;
    }
}

.page_bene_mv .inner p.txt {
    line-height: 2;
    font-size: 2rem;
}

.page-training .Joining div.tra_wrap:not(:last-child) {
    margin-bottom: 10rem;
}

.page-training .Joining div.tra_wrap div.base_width div.year h3.ttl {
    background: var(--theme_m_color);
    border-radius: 10px;
    padding: 2rem 0 2.5rem;
    margin-bottom: 4rem;
    position: relative;
}

.page-training .Joining div.tra_wrap div.base_width div.year h3.ttl::after {
    border-style: solid;
    border-right: 9px solid transparent;
    border-left: 9px solid transparent;
    border-top: 18px solid var(--theme_m_color);
    border-bottom: 0;
    position: absolute;
    content: "";
    bottom: -16px;
    left: 50%;
    transform: translateX(-50%);
}

.page-training .Joining div.tra_wrap div.base_width div.year h3.ttl span {
    display: table;
    margin: 0 auto;
}

.page-training .Joining div.tra_wrap div.base_width div.year h3.ttl span.big {
    font-size: 3.2rem;
    color: #fff;
    letter-spacing: .06em;
    font-weight: 600;
    margin-bottom: 1rem;
}

.page-training .Joining div.tra_wrap div.base_width div.year h3.ttl span.small {
    font-size: 1.6rem;
    color: #fff;
    font-weight: 400;
}

.page-training .Joining div.tra_wrap div.base_width div.year h2.main_ttl {
    font-size: 4.2rem;
    color: var(--theme_m_color);
    text-align: center;
    font-weight: 300;
    margin-bottom: 6rem;
}

.page-training .Joining div.tra_wrap div.base_width div.year ul.items {
    display: grid;
    gap: 1rem;
}

.page-training .Joining div.tra_wrap div.base_width div.year ul.items li.grid {
    grid-template-columns: 52rem 1fr;
    gap: 5.5rem;
}

.page-training .Joining div.tra_wrap div.base_width div.year ul.items li.grid.mt-minus01 div.contents {
    margin-top: -15.5rem;
}

.page-training .Joining div.tra_wrap div.base_width div.year ul.items li.grid.mt-minus02 div.contents {
    margin-top: -13rem;
}

.page-training .Joining div.tra_wrap div.base_width div.year ul.items li.grid div.contents {
    padding: 3rem 0 0;
}

.page-training .Joining div.tra_wrap div.base_width div.year ul.items li.grid div.contents h4.ttl {
    font-size: 3.2rem;
    font-weight: 600;
    color: var(--theme_m_color);
    margin-bottom: 2rem;
}

.page-training .Joining div.tra_wrap div.base_width div.year ul.items li.grid div.contents p.txt {
    font-size: 2rem;
    line-height: 2;
    padding-left: 0.5rem;
}

.page-training .Joining div.tra_wrap div.base_width div.year ul.items li.grid div.contents div.txt_wrap {
    display: grid;
    gap: 2rem;
}

.page-training .Joining div.tra_wrap.year03 h3.ttl {
    margin-bottom: 9rem !important;
}

section.career_step {
    margin-top: 9.5rem;
}

section.career_step div.base_width {
    max-width: 122rem;
    background: var(--theme_m_color);
    padding: 4rem 0 6rem;
    border-radius: 10px;
}

section.career_step div.base_width h2.main_ttl {
    font-size: 4.2rem;
    color: #fff;
    text-align: center;
    margin-bottom: 3rem;
    font-weight: 400;
}

section.career_step div.base_width p.graph {
    width: 110rem;
    margin: 0 auto;
}


div.tra_wrap div.base_width div.year div.grid.benefit_wrap {
    grid-template-columns: 52rem 1fr;
    gap: 5.5rem;
}

div.tra_wrap div.base_width div.year div.grid.benefit_wrap div.img_wrap {
    display: grid;
    gap: 1rem;
}

div.tra_wrap div.base_width div.year div.grid.benefit_wrap div.contents {
    padding: 3rem 0 0;
    display: grid;
    gap: 6rem;
    align-content: flex-start;
}

div.tra_wrap div.base_width div.year div.grid.benefit_wrap div.contents div.contents_area h4.ttl {
    font-size: 3.2rem;
    color: var(--theme_m_color);
    margin-bottom: 2rem;
}

div.tra_wrap div.base_width div.year div.grid.benefit_wrap div.contents div.contents_area p.main_txt {
    font-size: 2rem;
    line-height: 2;
}


/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
働く環境
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_workplace > .page_width {
    max-width: none;
}

.page_workplace_mv {
    position: relative;
}

.page_workplace_mv .wide_width {
    max-width: 126rem;
}

.page_workplace_mv h2.main_ttl {
    font-size: 5.6rem;
    color: var(--theme_m_color);
    text-align: center;
    display: table;
    margin: 0 auto 7rem;
    padding-bottom: 3.5rem;
    position: relative;
    font-weight: 500;
}

.page_workplace_mv h2.main_ttl::after {
    position: absolute;
    content: "";
    width: 9rem;
    height: 3px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: linear-gradient(to right, #0050B4, #00B4D2);
}

.page_workplace_mv .inner {
    min-height: 52rem;
    margin-bottom: 9rem;
    width: 55rem;
}

.page_workplace_mv .inner h3.ttl {
    font-size: 4rem;
    color: var(--theme_m_color);
    margin-bottom: 2.5rem;
    font-weight: 400;
}

.page_workplace_mv .inner p.img {
    position: absolute;
    top: 0;
    right: calc(50% - 115rem);
    margin-top: 1rem;
    width: 80rem;
}

@media (max-width: 1600px) {
    .page_workplace_mv .inner {
        position: relative;
    }
}

@media (min-width: 1601px) {
    .page_workplace_mv .inner p.img {
        right: 0;
        top: 18rem;
    }
}

.page_workplace_mv .inner p.txt {
    line-height: 2;
    font-size: 2rem;
}

.page_workplace h2.main_ttl {
    font-size: 4.2rem;
    color: var(--theme_m_color);
    text-align: center;
    line-height: 1.5;
}

@keyframes loop_slide {
    0% {
        background-position: 0 50%;
    }

    100% {
        background-position: -200rem 50%;
    }
}

.page_workplace .loop {
    background: url("../images/page/workplace/workplace_loop01.jpg") repeat-x 0 50%;
    background-size: 200rem 40rem;
    height: 40rem;
    animation: loop_slide 60s linear infinite;
}

.page_workplace h2.main_ttl {
    font-size: 5.6rem;
}

.space_about h2.main_ttl {
    font-size: 4.2rem;
    margin-bottom: 7rem;
    font-weight: 300;
}

.page_workplace .inner.grid {
    grid-template-columns: 1fr 36rem;
    gap: 8rem;
    max-width: 110rem;
    margin: 7.5rem auto 11.5rem;
}

.page_workplace .inner.grid p.main_txt {
    line-height: 2;
    font-size: 2rem;
}

.page_workplace .inner.grid ul.items {
    display: grid;
    gap: 1rem;
}

.page_workplace .inner.grid ul.items li {
    font-size: 2rem;
    line-height: 2;
    font-weight: 600;
    color: var(--theme_m_color);
    position: relative;
    border: 1px solid var(--theme_m_color);
    padding: 1.5rem 0 1.5rem 9.5rem;
    align-items: center;
    display: grid;
}

.page_workplace .inner.grid ul.items li::before {
    position: absolute;
    content: "";
    background: no-repeat 50% / contain;
    top: 0;
    bottom: 0;
    left: 5rem;
    margin: auto 0;
}

.page_workplace .inner.grid ul.items li.train::before {
    background-image: url("../images/page/workplace/train.svg");
    width: 2.5rem;
    height: 3.7rem;
}

.page_workplace .inner.grid ul.items li.water::before {
    background-image: url("../images/page/workplace/water.svg");
    width: 2.3rem;
    height: 3.3rem;
}

.page_workplace .inner.grid ul.items li.machi::before {
    background-image: url("../images/page/workplace/machi.svg");
    width: 3.5rem;
    height: 2.8rem;
}

.page-workplace .charm {
    max-width: 110rem;
    margin: 0 auto;
}

.page-workplace .charm h2.main_ttl {
    font-size: 4.2rem;
    margin-bottom: 7rem;
    font-weight: 300;
}

.page-workplace .charm ul.items.grid {
    grid-template-columns: repeat(2,1fr);
    gap: 5.5rem;
    margin-bottom: 9rem;
}

.page-workplace .charm ul.items.grid li {
    position: relative;
}

.page-workplace .charm ul.items.grid li[class*="mado"]::before {
    position: absolute;
    content: "";
    top: -3rem;
    right: -3rem;
    width: 16rem;
    height: 16rem;
    background: no-repeat 50% / contain;
    border: 2px solid #fff;
    border-radius: 100%;
}

.page-workplace .charm ul.items.grid li.mado01:before {
    background-image: url("../images/page/workplace/workplace_img04-sm.png");
}

.page-workplace .charm ul.items.grid li.mado02:before {
    background-image: url("../images/page/workplace/workplace_img05-sm.png");
}

.page-workplace .charm ul.items.grid li p.img {
    margin-bottom: 3rem;
}

.page-workplace .charm ul.items.grid li .contents {
    padding: 0 1.5rem;
}

.page-workplace .charm ul.items.grid li .contents h3.ttl {
    font-size: 3rem;
    color: var(--theme_m_color);
    margin-bottom: 2rem;
}

.page-workplace .charm ul.items.grid li .contents p.txt {
    font-size: 1.6rem;
}

.page-workplace .charm .bg {
    background: url("../images/page/workplace/workplace_gal.jpg") repeat-x 50% / cover;
    min-height: 40rem;
    background-size: 200rem 40rem;
    height: 40rem;
    animation: loop_slide 60s linear infinite;
    width: 100vw;
    transform: translateX(-50%);
    left: 50%;
    position: relative;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
福利厚生や制度
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

.bene_nav .main_ft_nav .inner.grid {
    margin-bottom: 0;
}

.page_welfare > .page_width {
    max-width: none;
}

.page_employee_mv {
    position: relative;
}

.page_employee_mv .wide_width {
    max-width: 126rem;
}

.page_employee_mv h2.main_ttl {
    font-size: 5.6rem;
    color: var(--theme_m_color);
    text-align: center;
    display: table;
    margin: 0 auto 7rem;
    padding-bottom: 3.5rem;
    position: relative;
    font-weight: 500;
}

.page_employee_mv h2.main_ttl::after {
    position: absolute;
    content: "";
    width: 9rem;
    height: 3px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    background: linear-gradient(to right, #0050B4, #00B4D2);
}

.page_employee_mv .inner {
    min-height: 52rem;
    margin-bottom: 9rem;
    width: 55rem;
}

.page_employee_mv .inner h3.ttl {
    font-size: 4rem;
    color: var(--theme_m_color);
    margin-bottom: 2.5rem;
    font-weight: 400;
}

.page_employee_mv .inner p.img {
    position: absolute;
    top: 0;
    right: calc(50% - 115rem);
    margin-top: 1rem;
    width: 80rem;
}

.page_employee_mv .inner p.txt {
    font-size: 2rem;
    line-height: 2;
}

@media (max-width: 1600px) {
    .page_employee_mv .inner {
        position: relative;
    }
}

@media (min-width: 1601px) {
    .page_employee_mv .inner p.img {
        right: 0;
        top: 18rem;
    }
}

.em_inner {
    margin-bottom: 13rem;
}

.em_inner h2.main_ttl {
    font-size: 4.2rem;
    color: var(--theme_m_color);
    text-align: center;
    margin-bottom: 8rem;
    font-weight: 300;
}

.em_inner ul.em_items.grid {
    grid-template-columns: repeat(3,1fr);
    gap: 4rem;
    max-width: 126rem;
    margin: 0 auto;
}

.em_inner ul.em_items.grid li {
    border: 1px solid var(--theme_m_color);
    border-radius: 2rem;
    padding: 4rem 3.5rem 5rem;
}

.em_inner ul.em_items.grid li h3.ttl {
    font-size: 3rem;
    color: var(--theme_m_color);
    text-align: center;
    margin-bottom: 2rem;
    font-weight: 600;
}

.em_inner ul.em_items.grid li p.txt {
    font-size: 1.6rem;
}

.em_inner02 h2.main_ttl {
    font-size: 4.2rem;
    color: var(--theme_m_color);
    text-align: center;
    margin-bottom: 7.5rem;
    font-weight: 300;
}

.em_inner02 ul.em_items.grid {
    grid-template-columns: repeat(3,1fr);
    gap: 3.5rem;
    max-width: 126rem;
    margin: 0 auto;
}

.em_inner02 ul.em_items.grid li {
    border: 1px solid var(--theme_m_color);
    border-radius: 2rem;
    padding: 4rem 0 4.5rem;
}

.em_inner02 ul.em_items.grid li p.icon {
    width: 10rem;
    margin: 0 auto 2rem;
}

.em_inner02 ul.em_items.grid li h3.ttl {
    font-size: 3rem;
    color: var(--theme_m_color);
    text-align: center;
    font-weight: 600;
    margin-bottom: 2rem;
}


@media (min-width:769px){
.em_inner02 ul.em_items.grid li h3.ttl.ttl_height02 {
    min-height: 8.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
}
} 

.em_inner02 ul.em_items.grid li p.txt {
    font-size: 1.6rem;
    text-align: center;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
働く魅力
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_benefit .page_width {
    max-width: none;
}

.page_benefit .inner h2.main_ttl {
    font-size: 4.2rem;
    text-align: center;
    margin-bottom: 6.5rem;
    color: var(--theme_m_color);
    line-height: 1.75;
    font-weight: 400;
}

.page_benefit .inner .bg {
    background: url("../images/page/benefit/index/benefit_bg.jpg") no-repeat 50% / cover;
    width: 100%;
    height: 45rem;
    margin-bottom: 8rem;
}

.page_benefit .inner ul.items.grid {
    grid-template-columns: repeat( 2 , 1fr );
    position: relative;
    width: 96rem;
    margin: 0 auto 12rem;
}

.page_benefit .inner ul.items.grid::after {
    position: absolute;
    content: "";
    width: 3rem;
    height: 3rem;
    background: #fff;
    top: -3rem;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
}

.page_benefit .inner ul.items.grid li {
    padding-right: 3rem;
}



@media (min-width:769px){
.page_benefit .inner ul.items.grid li:nth-child(1), .page_benefit .inner ul.items.grid li:nth-child(3) {
    border-right: 1px solid var(--theme_m_color);
    padding-left: 4rem;
}

.page_benefit .inner ul.items.grid li:nth-child(1), .page_benefit .inner ul.items.grid li:nth-child(2) {
    border-bottom: 1px solid var(--theme_m_color);
    padding-bottom: 3.5rem;
}

.page_benefit .inner ul.items.grid li:nth-child(3), .page_benefit .inner ul.items.grid li:nth-child(4) {
    padding-top: 3rem;
    padding-bottom: 3.5rem;
}

.page_benefit .inner ul.items.grid li:nth-child(2) {
    padding-left: 4rem;
}

.page_benefit .inner ul.items.grid li:nth-child(4) {
    padding-left: 4rem;
}
   
} 

.page_benefit .inner ul.items.grid li h3.ttl {
    font-size: 3rem;
    color: var(--theme_m_color);
    line-height: 1.5;
    margin-bottom: 1.2rem;
    font-weight: 500;
}

.page_benefit .inner ul.items.grid li p.txt {
    font-size: 1.6rem;
}

.page_benefit .inner h2.big_ttl {
    font-size: 4.2rem;
    color: var(--theme_m_color);
    text-align: center;
    margin-bottom: 6.5rem;
    line-height: 1.75;
    font-weight: 400;
}

.page_benefit .inner ul.items02.grid {
    grid-template-columns: repeat(3 , 1fr);
    gap: 3rem;
    width: 122rem;
    margin: 0 auto;
}

.page_benefit .inner ul.items02.grid li {
    min-height: 48rem;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    background: no-repeat 50% /cover;
    display: grid;
    align-content: flex-end;
    justify-content: center;
    padding-bottom: 12.5rem;
    transition: .2s ease-in;
}

.page_benefit .inner ul.items02.grid li::after {
    position: absolute;
    content: "";
    background: url("../images/page/benefit/index/benefit_after.png") no-repeat 50% / cover;
    width: 100%;
    height: 100%;
    pointer-events: none;
    top: 0;
    left: 0;
    mix-blend-mode: multiply;
    opacity: .8;
}

    .page_benefit .inner ul.items02.grid li::before {
        position: absolute;
        content: "";
        background: no-repeat 50% / cover;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        transition: .3s ease-in;
    }

.page_benefit .inner ul.items02.grid li:nth-child(1)::before {
    background-image: url("../images/page/benefit/index/benefit_img01.jpg");
}

.page_benefit .inner ul.items02.grid li:nth-child(2)::before {
    background-image: url("../images/page/benefit/index/benefit_img02.jpg");
}

.page_benefit .inner ul.items02.grid li:nth-child(3)::before {
    background-image: url("../images/page/benefit/index/benefit_img03.jpg");
}

.page_benefit .inner ul.items02.grid li:hover::before {
    transform: scale(1.1);
}

.page_benefit .inner ul.items02.grid li h3.ttl {
    position: relative;
    z-index: 2;
}

.page_benefit .inner ul.items02.grid li h3.ttl a {
    color: #fff;
    display: table;
    margin: 0 auto;
}

.page_benefit .inner ul.items02.grid li a::before, .page_benefit .inner ul.items02.grid li a::after {
    position: absolute;
    content: "";
    bottom: -13rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: 6rem;
    height: 6rem;
}

.page_benefit .inner ul.items02.grid li a::before {
    border: 1px solid #fff;
    border-radius: 100%;
    z-index: 5;
}

.page_benefit .inner ul.items02.grid li a::after {
    mask: url("../images/common/arrow_w.svg") no-repeat 50% / 1.2rem auto;
    background: #fff;
    z-index: 5;
}

.page_benefit .inner ul.items02.grid li h3.ttl a span {
    display: table;
    margin: 0 auto;
}

.page_benefit .inner ul.items02.grid li h3.ttl a span.ja {
    font-size: 3.8rem;
    letter-spacing: .02em;
    font-weight: 400;
    font-weight: 400;
}

.page_benefit .inner ul.items02.grid li h3.ttl a span.en {
    font-size: 1.6rem;
    letter-spacing: .06em;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    margin-top: 1rem;
}

.page_benefit .inner ul.items02.grid li p.txt {
    font-size: 1.6rem;
    color: #fff;
    margin-top: 1.5rem;
    position: relative;
    z-index: 2;
}
