@charset "UTF-8";
/* -----------------------------------------------------------
cookie表記
----------------------------------------------------------- */
#cookie-notice,
#cookie-notice.cn-effect-fade,
#cookie-notice.cookie-notice-visible.cn-effect-fade,
#cookie-notice.cookie-revoke-visible.cn-effect-fade{
    background: rgba(0, 104, 55, 0.9) !important;
}

/* ============================================== */
/*                    共通設定                    */
/* ============================================== */
:root{
    --mainColor: var(--c_nichiden);
    --accentColor: #d2bb2c;
    --sustainColor: #89be40;
    /* nackground */
    --bgFooter: #247d53;
    --bgSpHam: #f5faef;
    --bgEdit: #F2F7F5;
    --bgNews: #F2F7F5;
    /* border */
    --borderMain: #a8d1ac;
    --borderPcMenu: #e0f3d8;
    --borderSpMenu: #9bde8e;
}

html:has(main.page_product),body:has(main.page_product){overflow-x: initial;}
/* -----------------------------------------------------------
template
----------------------------------------------------------- */

/* ============================================== */
/*                    ヘッダー                    */
/* ============================================== */
header > .logo a{padding: 0 5%;}
header > .logo a img{max-width: 135px;}

header .sub_menu .m_yb{max-width: 52px;}
header .sub_menu .m_ig{max-width: 52px;}

/* ============================================== */
/*              mage menu              */
/* ============================================== */

/* ============================================== */
/*                    フッター                    */
/* ============================================== */
footer .logo a img{
    max-width: 220px;
    margin: 0 auto 25px;
}

/* -----------------------------------------------------------
common_parts
----------------------------------------------------------- */
/* contents_wrapper */

/* kv_sub - bg_slider */
.kv_sub.bg_slider{overflow: hidden;}

.kv_sub.bg_slider > picture{
    display: flex;
    width: max-content;
    animation: kvSlide 30s linear infinite;
}

.kv_sub.bg_slider > picture img{
    flex: none;
    width: auto;
    max-width: none;
}

@keyframes kvSlide{
    from{
        transform:translateX(0);
    }
    to{
        transform:translateX(-50%);
    }
}



/* -----------------------------------------------------------
home
----------------------------------------------------------- */

/* fixed_bg lead ============ */
.home + .fixed_bg{inset: -100%;}
.home + .fixed_bg video{
    inset: -100%;
    object-position: 63% 0;
    transform: translateZ(0);
}

/* section lead ============ */
.home .sec_lead .flex{
    /* --w: min(43%, 430px); */
    --w: min(45%, 452px);
}

/* section common ============ */
/* .home .sec_company .btn,
.home .sec_company .btn a{color: var(--txtColor);} */
.home .sec_company .flex > div .btn:has(a:hover){border-color: #FFFFFF;}

/* sec_blur ============ */
.home .sec_blur > figure img.tab_cont{display: none !important;}
@media screen and (max-width:1400px) and (min-width:768px) {
    .home .sec_blur > figure img.pc_cont{display: none !important;}
    .home .sec_blur > figure img.tab_cont{display: block !important;}
}
@media screen and (max-width:767px) {
    .home + .fixed_bg video{object-position: center;}
    .home .sec_blur > figure img.tab_cont{display: none !important;}
    .home .sec_blur > figure img.sp_cont{display: block !important;}
}

/* sec_recruit  ============ */
.home .bg_white > .sec_recruit{padding: 190px 0;}

/* sec_sns ============ */
.home .sec_sns .flex{
    align-items: flex-start;
    margin: 50px auto;
}
.home .sec_sns section{flex: 1;}
.home .sec_sns section .ttl{
    position: relative;
    z-index: 0;
    font-weight: 700;
    font-size: 28px;
    letter-spacing: 0.05em;
    line-height: 1.4;
    padding: 0 0 0 1.6em;
    margin: 0 0 .7em;
}
.home .sec_sns section .ttl::before{
    position: absolute;
    z-index: 0;
    inset: .1em auto auto 0;
    content: '';
    width: 1.2em;
    height: 1.2em;
    background: var(--mainColor);
}
.home .sec_sns section.sns_fb .ttl::before{
    -webkit-mask: url(../img/common/ico/sns_fb.svg) no-repeat center / contain;
            mask: url(../img/common/ico/sns_fb.svg) no-repeat center / contain;
}
.home .sec_sns section.sns_ig .ttl::before{
    -webkit-mask: url(../img/common/ico/sns_ig.svg) no-repeat center / contain;
            mask: url(../img/common/ico/sns_ig.svg) no-repeat center / contain;
}
.home .sec_sns section h3 + p{
    font-size: 1.125em;
    margin: 0 0 30px;
    font-weight: 500;
}

/* facebook feed */
#cff .cff-linebreak{opacity: 0 !important;}

.home .sec_sns .fb_cont,
.home .sec_sns .fb_cont iframe{
    aspect-ratio: 520 / 550;
    overflow: hidden;
}
.home .sec_sns .fb_cont .fb-page,
.home .sec_sns .fb_cont .fb_iframe_widget span,
.home .sec_sns .fb_cont .fb_iframe_widget span iframe{width: 100% !important;}
/* .home .sec_sns .fb_cont fb-page{height: auto;} */



/* sec_product ============ */
.home .sec_product .product_slider li a::before{
    background: linear-gradient(to top, #4d7262, transparent);
    opacity: 0.7;
}

/* sec_image_bg ============ */
.home .sec_image_bg{
    position: relative;
    z-index: 0;
    color: #ffffff;
}
.home .sec_image_bg picture{
    position: absolute;
    z-index: -1;
    inset: 0;
    margin: auto;
    width: 100%;
    height: 100%;
}
.home .sec_image_bg picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}
.home .sec_image_bg .flex{--w: 100%;}
.home .sec_image_bg .ttl_cont{color: #ffffff;}
.home .sec_image_bg .ttl_cont p{font-size: 100px;}

.home .sec_image_bg .btn{
    --themeColor: var(--c_nichiden);
    border-color: #fff;
}
.home .sec_image_bg .btn:has(a:hover){
    background: var(--c_nichiden);
    color: #ffffff;
    border-color: var(--c_nichiden);
}
.home .sec_image_bg .btn a{color: #ffffff;}


/* sec_image_bg ============ */

/* -----------------------------------------------------------
portal
----------------------------------------------------------- */


/* -----------------------------------------------------------
subpage
----------------------------------------------------------- */
/* editor_contents ============ */
.editor_contents .lead_l{
    font-size: 1.22em;
    line-height: 2;
}

/* about ============ */
/* section */
.page_about .about_cont > section{align-items: center;}
.page_about .about_cont > section > div{width: 47.5%;}
.page_about .about_cont > section > .left h3 + p{margin-bottom: 3.75em;}

/* 製品画像 */
.page_about .about_cont > section > .left figure{
    max-width: 350px;
    margin: 0 auto;
}
.page_about .about_cont > section.sec_setsubi > .left figure{max-width: 400px;}

/* イメージ画像 */
.page_about .about_cont > section > .right figure{margin: 0 auto 1em;}

/* flex (修正指示により無効化) */
/* .page_about .about_cont > section > div .flex{
    --w: 66.5%;
    --gap:3%;
    margin: 0 auto 1.2em;
    column-gap: var(--gap);
}
.page_about .about_cont > section > div .flex p{
    width: var(--w);
    margin-top: 0.6em;
    word-break: auto-phrase;
}
.page_about .about_cont > section > div .flex figure{width: calc(100% - var(--w) - var(--gap));} */


/* history ============ */
.page_history .history_list > div > dt{padding: 5px 3px 3px 3px;}

.page_history .history_list > div.other{height: 240px;}
.page_history .history_list > div.other dd dd figure{
    max-width: 290px;
    width: 100%;
    aspect-ratio: 290 / 195;
}
.page_history .history_list > div.other dd dd figure img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.page_history .history_list > div:nth-of-type(odd) dd dd figure img{object-position: left center;}
.page_history .history_list > div:nth-of-type(even) dd dd figure img{object-position: right center;}

@media screen and (max-width:768px) {
    .page_history .history_list > div.other{height: auto;}
    .page_history .history_list > div:nth-of-type(odd) dd dd figure img{object-position: right center;}
}

/* clients ============ */
.page_clients .editor_contents .bg_main{padding-inline: 7%;}
.page_clients .editor_contents .bg_main .wp-block-columns{row-gap: 0;}

/* distributors ============ */
.page_distributors .editor_contents .wp-block-table.table_outline,
.page_distributors .editor_contents .wp-block-table.table_outline table{overflow: hidden;}
.page_distributors .editor_contents .wp-block-table.table_outline td:nth-of-type(2){padding-inline: 8.5% 0.5em;}
.page_distributors .editor_contents .wp-block-table.table_outline td:nth-of-type(2) a{
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* 3minute ============ */
/* KV ===== */
.page_3minutes .kv_sub .bg_area::before{
    position: absolute;
    z-index: -1;
    inset: auto -100% 0;
    margin: auto;
    content: '';
    width: 100vw;
    height: 45px;
    background: #fff;
    opacity: .8;
}
.page_3minutes .kv_sub .slide_cont{z-index: -2;}
.page_3minutes .kv_sub .slide_cont::before,
.page_3minutes .kv_sub .slide_cont::after{
    position: absolute;
    z-index: 1;
    content: '';
}
.page_3minutes .kv_sub .slide_cont::before{
    inset: 0 auto auto 0;
    width: 33.4%;
    aspect-ratio: 535 / 353;
    background: url(../img/page/business/3minutes/kv_image01.svg) no-repeat center / contain;
}
.page_3minutes .kv_sub .slide_cont::after{
    inset: auto 0 0 auto;
    width: 37.5%;
    aspect-ratio: 600 / 355;
    background: url(../img/page/business/3minutes/kv_image02.svg) no-repeat center / contain;
}

.page_3minutes .kv_sub .ttl_cont{
    width: 42%;
    max-width: 510px;
}

/* セクション共通 ===== */
/* h2_cont */
.page_3minutes .h2_cont{
    text-align: center;
    letter-spacing: 0.05em;
    line-height: 1.4;
    color: var(--themeColor);
    margin: 0 auto 90px;
    width: fit-content;
}
.page_3minutes .h2_cont p{
    font-family: var(--ff_plusJakartaSans);
    font-weight: 800;
    font-size: 35px;
    margin: 0 auto 0.1em;
}
.page_3minutes .h2_cont h2{
    font-weight: 900;
    font-size: 48px;
    color: var(--themeColor);
    margin: 0 auto;
}

/* h2_cont 下線あり */
.page_3minutes .h2_cont.has_underline{
    padding: 0 8% 20px;
    border-bottom: 2px solid var(--themeColor);
}

/* h3.round */
.page_3minutes .round{
    font-weight: 900;
    font-size: 24px;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    letter-spacing: 0.05em;
    background: var(--themeColor);
    border-radius: 100px;
    min-width: min(360px, 100%);
    width: fit-content;
    padding: 1em 2.5em;
    margin: 0 auto 36px;
}
.page_3minutes .round + p{
    text-align: center;
    font-size: 1.125em;
    font-weight: 700;
    line-height: 2.3;
}
.page_3minutes .round + p span{color: var(--themeColor);}

/* sec_about ===== */
.page_3minutes .sec_about{
    position: relative;
    z-index: 0;
    padding: 130px 0 300px;
    background: #f2f7ef;
}
.page_3minutes .sec_about::before{
    position: absolute;
    z-index: 0;
    inset: auto 0 0;
    margin: auto;
    content: '';
    width: 100%;
    height: 130px;
    background: url(../img/page/business/3minutes/sec_about_wave.svg) no-repeat center bottom / cover;
}

/* about_work  */
.page_3minutes .sec_about .about_work{
    --themeColor: var(--accentColor);
    max-width: 1370px;
    margin: 0 auto 160px;
}
.page_3minutes .sec_about .flex{
    --w: 36%;
    --gap: 5%;
    align-items: flex-start;
    column-gap: var(--gap);
}
.page_3minutes .sec_about .flex > div{
    width: var(--w);
    margin: 0 0 0 5%;
}
.page_3minutes .sec_about .flex > figure{
    width: calc(100% - var(--w) - var(--gap));
}

/* about_how */
/* about_how - top */
.page_3minutes .sec_about .about_how .top .round + p{margin: 0 auto 50px;}

/* about_how - middle */
.page_3minutes .sec_about .about_how .middle{margin: 0 auto 70px;}

/* map cont */
.page_3minutes .sec_about .about_how .middle .desc{
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 0.4em;
    max-width: 510px;
    margin: 0 auto 65px;
    background: #e3eedd;
    font-weight: 500;
    font-size: 15px;
    padding: .8em 2em;
    border-radius: 9px;
}
.page_3minutes .sec_about .about_how .middle .desc::before{
    display: block;
    content: '';
    width: 27px;
    height: 40px;
    background: url(../img/page/business/3minutes/sec_about_pin.png) no-repeat center / contain;
}
.page_3minutes .map_cont{
    position: relative;
    z-index: 0;
}
.page_3minutes .map_cont figure{
    width: 100%;
    height: 100%;
}
.page_3minutes .map_cont ul li{
    --delayBase: 1.1s;
    --delayElement: .2s;
    position: absolute;
    z-index: 0;
    inset: 0 0 auto auto;
    margin: auto;
    width: 6%;
    opacity: 0;
    transform: translateY(-50px);
    transition: transform .6s, opacity 0.5s;
}
.page_3minutes .map_cont ul li:nth-of-type(1){
    inset: 6.6% 41.8% auto auto;
    transition-delay: calc(var(--delayBase) + var(--delayElement) * 0);
}
.page_3minutes .map_cont ul li:nth-of-type(2){
    inset: 31.9% 29% auto auto;
    transition-delay: calc(var(--delayBase) + var(--delayElement) * 5);
}
.page_3minutes .map_cont ul li:nth-of-type(3){
    inset: 42.5% 19.2% auto auto;
    transition-delay: calc(var(--delayBase) + var(--delayElement) * 2);
}
.page_3minutes .map_cont ul li:nth-of-type(4){
    inset: 50.6% 26% auto auto;
    transition-delay: calc(var(--delayBase) + var(--delayElement) * 4);
}
.page_3minutes .map_cont ul li:nth-of-type(5){
    inset: 37.9% 76.3% auto auto;
    transition-delay: calc(var(--delayBase) + var(--delayElement) * 1);
}
.page_3minutes .map_cont ul li:nth-of-type(6){
    inset: 53.7% 54.1% auto auto;
    transition-delay: calc(var(--delayBase) + var(--delayElement) * 3);
}
.page_3minutes .map_cont ul li:nth-of-type(7){
    inset: 63.2% 41.7% auto auto;
    transition-delay: calc(var(--delayBase) + var(--delayElement) * 6);
}
.page_3minutes .map_cont ul li > img{
    cursor: pointer;
    transition: 0.3s;
    transform-origin: center bottom;
}
.page_3minutes .map_cont ul li > img:hover,
.page_3minutes .map_cont ul li.modal_active > img{transform: scale(1.1);}

/* map_cont - animation */
.page_3minutes .middle.active .map_cont ul li{
    opacity: 1;
    transform: translateY(0);
}

/* modal */
.page_3minutes .map_cont ul li .modal{
    position: absolute;
    z-index: 1;
    inset: auto -100% 80% -162%;
    margin: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    padding: 1em 2em 1em 3.6em;
    border-radius: 17px;
    width: fit-content;
    min-width: 250px;
    min-height: 105px;
    filter: drop-shadow(0 0 6px rgba(0, 104, 55, 0.5));
    transform: translateZ(0);
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}
.page_3minutes .map_cont ul li .modal.wide{
    inset: auto -100% 80% -183%;
    min-width: 270px;
}
.page_3minutes .map_cont ul li .modal.wide figure{inset: -100% auto -100% -30%;}
.page_3minutes .map_cont ul li.modal_active .modal{
    opacity: 1;
    visibility: visible;
}
.page_3minutes .map_cont ul li .modal::before{
    position: absolute;
    z-index: -1;
    inset: calc(100% - 1px) 40% auto auto;
    content: '';
    width: 15px;
    height: 18px;
    background: #fff;
    clip-path: polygon(0 0, 3% 100%, 100% 0);
}
.page_3minutes .map_cont ul li .modal figure{
    position: absolute;
    z-index: 1;
    inset: -100% auto -100% -34%;
    margin: auto;
    width: 124px;
    height: 124px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--themeColor);
}
.page_3minutes .map_cont ul li .modal p{
    font-weight: 700;
    line-height: 1.6;
    color: var(--themeColor);
    text-align: center;
}
.page_3minutes .map_cont ul li .modal button{
    position: absolute;
    z-index: 1;
    inset: 12px 16px auto auto;
    width: 14px;
    height: 14px;
    font-size: 0;
}
.page_3minutes .map_cont ul li .modal button::before,
.page_3minutes .map_cont ul li .modal button::after{
    position: absolute;
    z-index: 0;
    inset: -100%;
    margin: auto;
    content: '';
    width: 20px;
    height: 1px;
    background: #000;
}
.page_3minutes .map_cont ul li .modal button::before{transform: rotate(45deg);}
.page_3minutes .map_cont ul li .modal button::after{transform: rotate(-45deg);}


/* about_how - bottom */
.page_3minutes .bg_white{
    padding: 45px 4%;
    border-radius: 18px;
}
.page_3minutes .bg_white h4{
    font-weight: 900;
    font-size: 24px;
    line-height: 1.4;
    color: var(--mainColor);
    letter-spacing: 0.05em;
    text-align: center;
    margin: 0 auto 30px;
}
.page_3minutes .more_wrapper{
    display: flex;
    align-items: flex-start;
    column-gap: 2%;
}
.page_3minutes .bg_white ul{flex: 1;}
.page_3minutes .bg_white ul:nth-of-type(2){
    display: flex;
    flex-wrap: wrap;
    column-gap: 2.5em;
}
.page_3minutes .bg_white ul li{
    font-size: 15px;
    font-weight: 500;
    line-height: 1.5;
    width: 100%;
}
.page_3minutes .bg_white ul li:not(:last-of-type){margin: 0 0 1.5em;}

.page_3minutes .bg_white ul li dl dt{
    font-weight: 700;
    margin: 0 0 0.2em;
    color: var(--mainColor);
}
.page_3minutes .bg_white ul li dl dd{
    position: relative;
    z-index: 0;
    padding: 0 0 0 .9em;
}
.page_3minutes .bg_white ul li dl dd:not(:last-of-type){margin: 0 0 0.3em;}

.page_3minutes .bg_white ul li dl dd::before{
    position: absolute;
    z-index: 0;
    inset: .5em auto auto 0;
    content: '';
    width: 7px;
    height: 7px;
    background: var(--mainColor);
    border-radius: 50%;
}

/* sec_strength ===== */
.page_3minutes .sec_strength{
    position: relative;
    z-index: 0;
    background: var(--mainColor);
    padding: 100px 0 180px;
}

.page_3minutes .sec_strength .h2_cont{
    position: relative;
    z-index: 0;
    --themeColor: #fff;
}
.page_3minutes .sec_strength .h2_cont::before{
    position: absolute;
    z-index: 0;
    inset: auto 0 calc(100% + 10px);
    margin: auto;
    content: '';
    width: 208px;
    height: 285px;
    background: url(../img/page/business/3minutes/sec_about_icon.svg) no-repeat center / contain;
}

/* section - 共通 */
.page_3minutes .sec_strength .inner{max-width: 1600px;}
.page_3minutes .sec_strength .inner > section{
    background: #fff;
    border-radius: 32px;
    padding: 80px 12%;
    overflow: hidden;
}
.page_3minutes .sec_strength .inner > section:not(:last-of-type){margin: 0 0 65px;}

.page_3minutes .h3_num{
    color: var(--mainColor);
    text-align: center;
    margin-bottom: 30px;
}
.page_3minutes .h3_num p{
    font-family: var(--ff_plusJakartaSans);
    font-weight: 900;
    font-size: 30px;
    line-height: 1.1;
    margin: 0 auto 20px;
}
.page_3minutes .h3_num p span{
    font-size: 106px;
    line-height: 1;
    display: block;
    width: fit-content;
    margin: 0 auto;
}
.page_3minutes .h3_num h3{
    font-weight: 900;
    font-size: 36px;
    line-height: 1.8;
    letter-spacing: 0.05em;
}

.page_3minutes .h3_num + p{
    font-weight: 700;
    line-height: 2.375;
}

/* section - 01 */
.page_3minutes .sec_strength .inner > section:nth-of-type(1){
    --w: 45%;
    --gap: 9%;
    position: relative;
    z-index: 0;
    column-gap: var(--gap);
    padding-block: 85px;
    overflow: visible;
}
.page_3minutes .sec_strength .inner > section:nth-of-type(1) > div{
    width: var(--w);
}
.page_3minutes .sec_strength .inner > section:nth-of-type(1)::after{
    position: absolute;
    z-index: -1;
    inset: -100% 6% -100% auto;
    margin: auto;
    content: '';
    width: calc(100% - var(--w) - var(--gap));
    aspect-ratio: 594 / 735;
    max-width: 594px;
    background: url(../img/page/business/3minutes/sec_strength_01.svg) no-repeat center / contain;
    transform-origin: left center;
    pointer-events: none;
}

/* section - 02 */
.page_3minutes .sec_strength .inner > section:nth-of-type(2) .h3_num + p{
    text-align: center;
    font-size: 1.125em;
    margin: 0 auto 70px;
}
.page_3minutes .sec_strength .inner > section:nth-of-type(2) {}

/* edit */
.page_3minutes .sec_strength .inner > section .edit > section:first-of-type > *:first-child{margin-top: 0 !important;}
.page_3minutes .sec_strength .inner > section .edit > section:last-of-type > *:last-child{margin-bottom: 0 !important;}
.page_3minutes .sec_strength .inner > section .edit h4{
    font-weight: 700;
    font-size: 30px;
    line-height: 1.3;
    color: var(--mainColor);
    padding: 0.475em 0.8em;
    background: #e7da8d;
    margin: 50px 0 20px;
}

/* setsubi */
.page_3minutes .sec_strength .inner > section .edit .flex{
    --gap: 2.4%;
    gap: 40px var(--gap);
    flex-wrap: wrap;
}
.page_3minutes .sec_strength .inner > section .edit .flex > *{
    width: calc((100% - var(--gap)) / 2);
}
.page_3minutes .sec_strength .inner > section .edit .flex_setsubi > div figure{
    width: 100%;
    aspect-ratio: 550 / 360;
    margin: 0 auto 18px;
}
.page_3minutes .sec_strength .inner > section .edit .flex_setsubi > div figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.page_3minutes .sec_strength .inner > section .edit .flex_setsubi > div dl{

}
.page_3minutes .sec_strength .inner > section .edit .flex_setsubi > div dl dt{
    font-size: 24px;
    font-weight: 700;
    line-height: 1.4;
    padding: .5em 0 .5em .8em;
    border-left: 5px solid var(--mainColor);
    margin: 0 0 15px;
}
.page_3minutes .sec_strength .inner > section .edit .flex_setsubi > div dl dd{line-height: 2;}

/* dl_facility */
.page_3minutes .sec_strength .inner > section .edit .dl_facility{
    --padding_inline: 14px;
    --border_color: #c1c3c5;
    line-height: 1.4;
}
/* .page_3minutes .sec_strength .inner > section .edit .dl_facility dt{
    font-weight: 700;
    font-size: 18px;
    color: var(--mainColor);
    background: #f2f7ef;
    padding: .5em var(--padding_inline);
    border-bottom: 1px solid var(--border_color);
    min-height: 45px;
} */
.page_3minutes .sec_strength .inner > section .edit .dl_facility li{
    font-weight: 500;
    padding: .675em var(--padding_inline);
    border-bottom: 1px solid var(--border_color);
    min-height: 45px;
}

/* section - 03 */
.page_3minutes .sec_strength .inner > section:nth-of-type(3){padding: 0;}
.page_3minutes .sec_strength .inner > section:nth-of-type(3) > *{width: 50%;}
.page_3minutes .sec_strength .inner > section:nth-of-type(3) > div{padding: 80px 9%;}
.page_3minutes .sec_strength .inner > section:nth-of-type(3) > figure img{
    height: 100%;
    object-fit: cover;
}

/* sec_number ===== */
.page_3minutes .sec_number{
    position: relative;
    z-index: 0;
    padding: 250px 0 135px;
} 
.page_3minutes .sec_number::before{
    position: absolute;
    z-index: 0;
    inset: 0 0 auto;
    margin: auto;
    content: '';
    width: 100%;
    height: 130px;
    background: url(../img/page/business/3minutes/sec_about_wave.svg) no-repeat center bottom / cover;
    transform: rotate(180deg);
}
.page_3minutes .sec_number .inner{max-width: 1210px;}

.page_3minutes .sec_number h2{padding: 0;}
.page_3minutes .sec_number h2::before{
    position: absolute;
    z-index: 0;
    inset: auto 0 calc(100% + 43px);
    margin: auto;
    content: '';
    width: 314px;
    height: 216px;
    background: url(../img/page/business/3minutes/sec_number_icon.svg) no-repeat center / contain;
}

/* num_list */
.page_3minutes .sec_number .num_list{
    --gap: 3.3%;
    margin: 0 auto 90px;
}
.page_3minutes .sec_number .num_list li{
    width: calc((100% - var(--gap) * 2) / 3);
    border-radius: 16px;
    background: #f2f7ef;
}

.page_3minutes .sec_number .num_list li .ttl::before{inset: auto 0 calc(100% + 17px);}
.page_3minutes .sec_number .num_list li:nth-of-type(5) .ttl::before{background-image: url(../img/page/business/3minutes/sec04_ico05.svg);}
.page_3minutes .sec_number .num_list li:nth-of-type(6) .ttl::before{background-image: url(../img/page/business/3minutes/sec04_ico06.svg);}

.page_3minutes .sec_number .num_list li .ttl{margin-bottom: 18px;}
.page_3minutes .sec_number .num_list li .nums > span{font-size: 28px;}
.page_3minutes .sec_number .num_list li .nums > span.fz_s{
    font-size: 24px;
    margin-top: 0.3em;
}
.page_3minutes .sec_number .num_list li .nums .num,
.page_3minutes .sec_number .num_list li .nums .num span{font-size: 82px;}

.page_3minutes .sec_number .num_list li .nums.fz_s .num,
.page_3minutes .sec_number .num_list li .nums.fz_s .num span{font-size: 63px;}

.page_3minutes .sec_number .num_list li .flex:has(>.nums){
    justify-content: center;
    column-gap: 8%;
}

/* num_list */
.page_3minutes .banner p{
    transform-origin: right center;
    transform: scale(1.02);
}

/* sec_more ===== */
.page_3minutes .sec_more{background: #f2f7ef;}
.page_3minutes .sec_more h2{font-size: 40px;}

/* product ============ */
.page_product .kv_sub > picture img{object-position: right center;}

.page_product .btn_dl{
    font-size: 14px;
    margin-top: 5em;
    display: inline-block;
}
.page_product .btn_dl + .btn_dl{margin-left: 1em;}
.page_product .btn_dl a{
    min-height: 75px;
    min-width: 290px;
    column-gap: 1.2em;
}
.page_product .btn_dl a::before{
    display: block;
    content: '';
    width: 1.5em;
    height: 1.5em;
    background: currentColor;
    -webkit-mask: url(../img/common/ico/download.svg) no-repeat center / contain;
            mask: url(../img/common/ico/download.svg) no-repeat center / contain;
}
.page_product .btn_dl a::after{display: none !important;}

/* other_cont */
.page_product .cont .other_cont > section{
    --w: 70%;
    --gap: 7%;
}

/* other */
.page_product .sec_other{background: #f5fcf9;}
.page_product .sec_other ul li a::before{
    background: linear-gradient(to right, #f1f1ef 0%, #f3f3f2 55%, transparent 100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

/* .page_product .cont .prod_list li figure,
.page_product + .prod_modal figure{border: 1px solid #ccc;}
.page_product .cont .prod_list li figure img,
.page_product + .prod_modal figure img{transform: scale(1.025);} */


/* floating banner */
.prod_float{
    --offset: -160px;
    --w1: 160px;
    --w2: 160px;
    position: fixed;
    z-index: 6;
    inset: calc(var(--headerHeight) + 35vh) calc(var(--offset) * 2 - 10px) auto auto;
    transition: right 1.2s 1s ease;
}
.is_loaded .prod_float{
    right: var(--offset);
}

.prod_float li{
    display: flex;
    min-height: 85px;
    transform: translateX(20px);
    transition: transform 0.4s;
    filter: drop-shadow(4px 3px 3px rgba(0, 0, 0, .1));
}
.prod_float li:not(:last-of-type){margin: 0 0 15px;}

.prod_float li a{
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: stretch;
    padding: 0 20px 0 0;
}
.prod_float li a::before{
    position: absolute;
    z-index: -1;
    inset: 0;
    content: '';
    width: 100%;
    height: 100%;
    transform: skewX(calc(var(--skewDeg) * -1));
}
.prod_float li a p{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    transform: translateZ(0);
}
.prod_float li a p:nth-of-type(1){
    width: var(--w1);
    padding: 0.5em 1em;
    word-break: auto-phrase;
}
.prod_float li a p:nth-of-type(2){width: var(--w2);}
.prod_float li a p:nth-of-type(2)::after{
    display: block;
    content: '';
}

/* イプロスバナー */
.prod_float li.bnr_ipros a::before{
    background: #fff;
    border: 1px solid #dad1cc;
}
.prod_float li.bnr_ipros p img{max-width: 96px;}
.prod_float li.bnr_ipros p:nth-of-type(2){column-gap: 1em;}
.prod_float li.bnr_ipros p:nth-of-type(2)::after{
    width: 13px;
    height: 15px;
    background: #e50116;
    clip-path: polygon(0 0, 100% 50%, 0 100%);
}

/* 製品カタログ */
.prod_float li.bnr_catalog{color: #fff;}
.prod_float li.bnr_catalog a::before{background: var(--c_nichiden);}
.prod_float li.bnr_catalog p:nth-of-type(2){column-gap: .5em;}
.prod_float li.bnr_catalog p:nth-of-type(2)::after{
    width: 17px;
    height: 17px;
    background: currentColor;
    -webkit-mask: url(../img/common/ico/download.svg) no-repeat center / contain;
            mask: url(../img/common/ico/download.svg) no-repeat center / contain;
}
.prod_float li:has(a:hover){transform: translateZ(0) translateX(calc(var(--offset) + 15px));}
.prod_float li a:hover{opacity: 1;}

/* 他の製品を見る */
.page_product .sec_other ul li.prod06 a{background: url(../img/page/product/sub/prod_other06.jpg) no-repeat right center / cover;}
.page_product .sec_other ul li.prod07 a{background: url(../img/page/product/sub/prod_other07.jpg) no-repeat right center / cover;}
.page_product .sec_other ul li.prod08 a{background: url(../img/page/product/sub/prod_other08.jpg) no-repeat right center / cover;}

/* contact ============ */
.page_contact .editor_contents h2 .tel_time{
    display: inline-block;
    font-size: .8125em;
}
.page_contact .editor_contents .form_tel{
    font-size: 1.625em;
    font-weight: 700;
}
.page_contact .editor_contents .form_tel a{
    color: inherit;
    text-decoration: none;
}
form .wp-block-snow-monkey-forms-item:has(.smf-checkboxes-control):has([data-validations~="required"]) .smf-item__label__text{flex-direction: column;}


/* -----------------------------------------------------------
recruit
----------------------------------------------------------- */
/* 下層共通 ============ */
.page_recruit .contents_wrapper{background: #fff;}
.page_recruit .editor_contents h2{font-size: 32px;}
.editor_contents h2 span{font-size: 0.625em;}

/* kv */
body:has(.page_recruit.page_sub) .kv_sub{
    position: relative;
    z-index: 0;
    background: initial;
    border: none;
}
body:has(.page_recruit.page_sub) .kv_sub::before{
    position: absolute;
    z-index: 0;
    inset: auto 0 0;
    margin: auto;
    content: '';
    width: 100%;
    height: 130px;
    background: url(../img/page/recruit/common/kv/breadcrumb_bg.svg) no-repeat center top / cover;
}
body:has(.page_recruit.page_sub) .kv_sub > picture{
    position: absolute;
    z-index: -2;
    inset: 0;
    margin: auto;
    height: 390px;
}
body:has(.page_recruit.page_sub) .kv_sub > picture::before{
    display: block !important;
    background: #ecf6e8;
    opacity: 0.85;
    mix-blend-mode: screen;
}
body:has(.page_recruit.page_sub) .kv_sub > .bg_area{min-height: 390px;}

/* CTA */
.sec_entry{
    padding: 75px 0 100px;
    background: url(../img/page/recruit/common/entry/bg.jpg) no-repeat center top / cover;
    color: #ffffff;
}
.sec_entry .ttl_cont{
    text-align: center;
    line-height: 1.6;
    margin: 0 auto 3em;
}
.sec_entry .ttl_cont h2{
    font-weight: 700;
    font-size: 38px;
}
.sec_entry .ttl_cont p{
    font-family: var(--ff_plusJakartaSans);
    font-weight: 700;
    font-size: 26px;
    letter-spacing: 0.05em;
}

.sec_entry ul{
    display: flex;
    justify-content: center;
    column-gap: 2.25%;
    margin: 0 auto 3.5em;
}
.sec_entry ul li{
    flex: 1;
    max-width: 360px;
}
.sec_entry ul li > p{
    font-weight: 700;
    font-size: 24px;
    line-height: 1.25;
    letter-spacing: 0.075em;
    text-align: center;
    margin: 0 auto .5em;
}
.sec_entry ul li a{
    display: block;
    background: #fff;
    color: var(--txtColor);
    padding: 28px 3%;
}
.sec_entry ul li a figure{
    max-width: 200px;
    margin: 0 auto .7em;
}
.sec_entry ul li a p{
    display: flex;
    column-gap: 0.5em;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-weight: 500;
    letter-spacing: 0.05em;
}
.sec_entry ul li a p::after{
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    border-top: 2px solid var(--c_ryokaSangyo);
    border-right: 2px solid var(--c_ryokaSangyo);
    transform: translateY(2px) rotate(45deg);
}

.sec_entry .other{
    width: 100%;
    max-width: 820px;
    margin: 0 auto;
}
.sec_entry .other a{
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    column-gap: .5em;
    width: 100%;
    height: 100%;
    min-height: 110px;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.075em;
    border: 1px solid #fff;
}
.sec_entry .other a::after{
    display: block;
    content: '';
    width: 7px;
    height: 7px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(2px) rotate(45deg);
}

.sec_entry .other a:hover{
    opacity: 1;
    color: var(--c_ryokaSangyo);
    background: #fff;
}

/* 働く魅力 ============ */
/* 共通 */
.page_why_us .contents_wrapper{counter-reset: sec_num 0;}
.page_why_us .contents_wrapper > section{counter-increment: sec_num 1;}
.page_why_us .ttl_sec{margin-bottom: 2.8em;}
.page_why_us .ttl_sec p{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
    background: var(--themeColor);
    border-radius: 50%;
    width: fit-content;
    min-width: 212px;
    aspect-ratio: 1;
    margin: 0 auto 40px;
}
.page_why_us .ttl_sec p::before{
    display: block;
    content: counter(sec_num, decimal-leading-zero);
    font-family: var(--ff_plusJakartaSans);
    font-size: 72px;
    line-height: 1.2;
    margin: -0.165em 0 0.075em;
}
.page_why_us .ttl_sec h2{
    font-weight: 700;
    font-size: 42px;
    text-align: center;
    line-height: 1.4;
    color: var(--themeColor);
}

.page_why_us section section h3{
    font-size: 32px;
    font-weight: 700;
    color: var(--themeColor);
    margin: 0 0 .6em;
    line-height: 1.4;
}
.page_why_us section section h3 + p{margin: 0 0 1em;}

/* anc list */
.page_why_us{
    --c_01: #006837;
    --c_02: #009d02;
    --c_03: #8dce09;
    --c_04: #d2bb2c;
}
.page_why_us .anc_list{
    display: flex;
    justify-content: space-between;
    align-items: center;
    column-gap: 1.8%;
    counter-reset: anc_num 0;
    margin: 0 auto 200px;
}
.page_why_us .anc_list li{
    flex: 1;
    counter-increment: anc_num 1;
}
.page_why_us .anc_list li a{
    display: block;
    color: #fff;
    background: #dedede;
    text-align: center;
    font-weight: 700;
    font-size: 18px;
    padding: 20px 2%;
}
.page_why_us .anc_list li:nth-of-type(1) a{background: var(--c_01);}
.page_why_us .anc_list li:nth-of-type(2) a{background: var(--c_02);}
.page_why_us .anc_list li:nth-of-type(3) a{background: var(--c_03);}
.page_why_us .anc_list li:nth-of-type(4) a{background: var(--c_04);}

.page_why_us .anc_list li a::before{
    display: block;
    content: counter(anc_num, decimal-leading-zero);
    font-family: var(--ff_plusJakartaSans);
    font-weight: 700;
    font-size: 29px;
    line-height: 1;
    margin: 0 auto .4em;
}
.page_why_us .anc_list li a::after{
    display: block;
    content: '';
    width: 8px;
    height: 8px;
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(2px) rotate(45deg);
    margin: .4em auto 0;
}

/* sec_strength */
.page_why_us .sec_strength{
    position: relative;
    z-index: 0;
    --themeColor: var(--c_01);
}
.page_why_us .flex{
    --w: 44%;
    --gap: 12.5%;
    column-gap: var(--gap);
    padding-bottom: 380px;
    align-items: center;
}
.page_why_us .flex > div{
    width: var(--w);
}
.page_why_us .flex > figure{
    width: calc(100% - var(--w) - var(--gap));
    transform-origin: left top;
    transform: scale(1.25);
    margin: 0 0 7%;
}

.page_why_us .slide_cont{
    position: absolute;
    z-index: -1;
    inset: auto 0 -105px;
    margin: auto;
    overflow: hidden;
}

.page_why_us .slide_track {
    display: flex;
    gap: 5px;
    width: max-content;
    animation: slideLoop 24s linear infinite;
}
@keyframes slideLoop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* 横並び + 間隔 */
.page_why_us .slide_track ul {
    display: flex;
    flex-shrink: 0;
    gap: 5px;
}

/* 画像 */
.page_why_us .slide_track img {
    width: 446px;
    height: 302px;
    object-fit: cover;
}

/* sec_culture ============ */
.page_why_us .sec_culture{
    position: relative;
    z-index: 1;
    --themeColor: var(--c_02);
    padding: 0 0 70px;
}
.page_why_us .sec_culture .ttl_sec{margin-bottom: 50px;}

.page_why_us .sec_culture .culture_cont{
    display: flex;
    justify-content: center;
    gap: 3.6%;
}

.page_why_us .sec_culture .culture_cont section{
    flex: 1;
    background: #fff;
    box-shadow: 2px 2px 6px rgba(0, 0, 0, .1);
    transform: translateZ(0);
    padding: 30px 4.5% 50px;
    border-radius: 14px;
}
.page_why_us .sec_culture .culture_cont section picture{
    max-width: 380px;
    margin: 0 auto 20px;
    display: block;
}
.page_why_us .sec_culture .culture_cont section h3{
    font-weight: 700;
    font-size: 29px;
    color: var(--themeColor);
    line-height: 1.4;
    text-align: center;
    margin: 0 auto .6em;
}

/* sec_benefits ============ */
.page_why_us .sec_benefits{
    --themeColor: var(--c_03);
    position: relative;
    z-index: 0;
    background: #f1f8f2;
    padding: 0 0 240px;
}
.page_why_us .sec_benefits::before,
.page_why_us .sec_benefits::after{
    position: absolute;
    z-index: -1;
    inset: auto 0;
    margin: auto;
    content: '';
    width: 100%;
    height: 170px;
    background: url(../img/page/recruit/why_us/sec_benefits_wave.svg) no-repeat center / cover;
}
.page_why_us .sec_benefits::before{top: 0;}
.page_why_us .sec_benefits::after{
    bottom: 0;
    transform: rotate(180deg);
}

.page_why_us .sec_benefits .ttl_sec + p{
    font-size: 18px;
    text-align: center;
    margin: 0 auto 60px;
}

.page_why_us .sec_benefits .benefits_point{
    --gap: 1%;
    display: flex;
    flex-wrap: wrap;
    gap: 12px var(--gap);
    margin: 0 auto 65px;
}
.page_why_us .sec_benefits .benefits_point li{
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: calc((100% - var(--gap) * 2) / 3);
    background: #fff;
    box-shadow: 7px 7px 5px rgba(0, 82, 55, .1);
    transform: translateZ(0);
    border-radius: 16px;
    overflow: hidden;
    padding: 36px 2% 25px;
}
.page_why_us .sec_benefits .benefits_point li .lead{
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 700;
    font-size: 22px;
    line-height: 1.4;
    min-height: calc(2em * 0.9);
}
.page_why_us .sec_benefits .benefits_point li .point{
    color: var(--themeColor);
    font-weight: 700;
    font-size: 36px;
    line-height: 1.2;
    max-height: 100px;
}
.page_why_us .sec_benefits .benefits_point li .point span{
    display: inline-block;
    font-size: 75px;
    margin: 0 0.1em;
}
.page_why_us .sec_benefits .benefits_point li .point img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.page_why_us .sec_benefits section:not(:last-of-type){margin: 0 auto 60px;}

.page_why_us .sec_benefits .benefits_list{
    background: #fff;
    box-shadow: 6px 6px 4px rgba(0, 82, 55, .1);
    transform: translateZ(0);
    border-radius: 15px;
    overflow: hidden;
    padding: 25px 3%;
}

.page_why_us .sec_benefits .benefits_list ul{
    gap: .1em 2%;
    column-count: 2;
}
.page_why_us .sec_benefits .benefits_list ul li,
.page_why_us ul.dots li{
    position: relative;
    z-index: 0;
    padding: 0 0 0 1.1em;
}
.page_why_us .sec_benefits .benefits_list ul li{
    max-width: 100%;
    break-inside: avoid;
}
.page_why_us .sec_benefits .benefits_list ul li::before,
.page_why_us ul.dots li::before{
    position: absolute;
    z-index: 0;
    inset: .6em auto auto 0;
    content: '';
    width: .8em;
    height: .8em;
    background: var(--themeColor);
    border-radius: 50%;
}

.page_why_us .sec_benefits .img_slider{
    --gap: 1.6%;
    display: flex;
    flex-wrap: wrap;
    gap: 45px var(--gap);
}
.page_why_us .sec_benefits .img_slider li{
    width: calc((100% - var(--gap) * 2) / 3);
}
.page_why_us .sec_benefits .img_slider li figure img{
    width: 100%;
    aspect-ratio: 365 / 245;
    object-fit: cover;
}
.page_why_us .sec_benefits .img_slider li figure figcaption{
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    line-height: 1.4;
    margin: 0.4em auto 0;
}

/* sec_growth ============ */
.page_why_us .sec_growth{
    --themeColor: var(--c_04);
}
.page_why_us .sec_growth .ttl_sec{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    column-gap: 2.5em;
    margin: 0 0 4.125em;
}
.page_why_us .sec_growth .ttl_sec p{margin: 0;}

.page_why_us .sec_growth .growth_cont section{
    --w: 45%;
    --gap: 4.5%;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 60px 0;
    border-bottom: 1px solid #d2d2e0;
    gap: var(--gap);
}
.page_why_us .sec_growth .growth_cont section:first-of-type{padding-top: 0;}
.page_why_us .sec_growth .growth_cont section:nth-of-type(even){flex-direction: row-reverse;}
.page_why_us .sec_growth .growth_cont section:last-of-type{padding-bottom: 0;border-bottom: none;}

.page_why_us .sec_growth .growth_cont section > picture{
    width: var(--w);
}
.page_why_us .sec_growth .growth_cont section > div{
    width: calc(100% - var(--w) - var(--gap));
}
.page_why_us .sec_growth .growth_cont section > div p{line-height: 2;}
.page_why_us .sec_growth .growth_cont section > div p:not(:last-child){margin-bottom: 1.5em;}

/* 募集要項ナビ */
.page_recruit.page_product .contents_wrapper{padding-bottom: 160px;}
.page_recruit.page_product .flex{
    --w: 200px;
    --gap: 7.6%; 
}
.page_recruit.page_product .flex .cont > h2:first-of-type{margin-top: 0 !important;}

.page_recruit.page_product nav ul li a{
    font-size: 18px;
    flex-wrap: wrap;
}
.page_recruit.page_product nav ul li a span{font-size: 15px;}

.page_product.page_sub .kv_sub .ttl_cont .ja{line-height: 1.25;}
.page_product.page_sub .kv_sub::before{background: linear-gradient(to right, #f1f1ef 0%, #f3f3f2 55%, transparent 100%);}
/* yahooショッピングバナー */
.page_product nav .yahoo_banner{margin: 35px auto 0;}
.page_product nav .yahoo_banner h2{
    color: var(--txtColor);
    font-weight: 500;
    font-size: 13px;
    padding: 0;
    line-height: 1.6;
    text-align: center;
    margin: 0 auto .5em;
}
.page_product nav .yahoo_banner h2::before,
.page_product nav .yahoo_banner h2::after{display: none;}
.page_product nav .yahoo_banner p{margin: 0 auto;}
.page_product nav .yahoo_banner p a{display: block;}
.page_product nav .yahoo_banner p a::before,
.page_product nav .yahoo_banner p a::after{display: none !important;}

/* table_description */
.page_description .editor_contents h2:has(+ .table_description){margin: 120px 0 20px;}
.editor_contents .table_description{
    --w: 160px;
    --border_color: #d6d7d8;
    margin: 0;
}
.editor_contents .wp-block-table.table_description table{table-layout: auto !important;}
.editor_contents .table_description tr{border-top: 1px solid var(--border_color);}
.editor_contents .table_description tr:last-of-type{border-bottom: 1px solid var(--border_color);}
.editor_contents .table_description tr td{border: none;}
.editor_contents .wp-block-table.table_description tr:nth-of-type(1) td:nth-of-type(1),
.editor_contents .table_description tr td:nth-of-type(1){
    width: var(--w) !important;
    background: #f0f6f3 !important;
    color: var(--txtColor) !important;
    border-right: 1px solid var(--border_color);
}
.editor_contents .wp-block-table.table_description tr:nth-of-type(1) td:nth-of-type(2),
.editor_contents .table_description tr td:nth-of-type(2){
    width: calc(100% - var(--w)) !important;
    color: var(--txtColor) !important;
    background: #fff !important;
}

/* 職種紹介 ============ */
.page_jobs .editor_contents h2{
    font-size: 26px;
    line-height: 2.2;
}
.page_jobs .editor_contents > *:first-child{margin: 0 auto 25px !important;}

.page_jobs .editor_contents .bg_main{
    width: fit-content;
    margin: 0 auto 40px;
    font-size: 18px;
    font-weight: 500;
    padding-inline: 2.675em;
    border-radius: 14px;
}
.page_jobs .editor_contents .bg_main a{color: var(--mainColor);}

.page_jobs .anc_list{
    --gap: 2%;
    max-width: 950px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 6px var(--gap);
}
.page_jobs .anc_list li{
    width: calc((100% - var(--gap) * 3) / 4);
    border-bottom: 1px solid #d6d7d8;
}
.page_jobs .anc_list li a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--mainColor);
    font-weight: 500;
    font-size: 17px;
    padding: 8px 6px;
}
.page_jobs .anc_list li a::after{
    display: block;
    content: '';
    width: 12px;
    height: 12px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(0) rotate(45deg);
    transition: .25s;
}
.page_jobs .anc_list li a:hover{
    opacity: 1;
    background: var(--bgEdit);
}
.page_jobs .anc_list li a:hover::after{transform: translateY(5px) rotate(45deg);}

.page_jobs .job_cont{counter-reset: sec_num 0;}
.page_jobs .job_cont > section{
    position: relative;
    z-index: 0;
    margin: 40px auto 0;
    padding: 80px 0 0;
    counter-increment: sec_num 1;
}
.page_jobs .job_cont > section > picture{
    position: absolute;
    z-index: -1;
    inset: 95px -100% auto;
    margin: auto;
    width: 100%;
    min-width: 1760px;
    height: auto;
    aspect-ratio: 1760 / 265;
}
.page_jobs .job_cont > section > picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_jobs .job_cont > section h2{
    font-weight: 700;
    font-size: 40px;
    line-height: 1.4;
    color: #fff;
    margin: 0 0 2.7em;
}
@media screen and (min-width:1760px) {
    .page_jobs .job_cont > section h2{margin-bottom: 7vw;}    
}
.page_jobs .job_cont > section h2::before{
    display: block;
    content: counter(sec_num, decimal-leading-zero);
    font-family: var(--ff_plusJakartaSans);
    font-size: 83px;
    font-weight: 900;
    line-height: 1;
    color: var(--accentColor);
    margin: 0 0 .5em;
}

.page_jobs .job_cont > section .flex{
    --w: 50%;
    --gap: 5.5%;
    column-gap: var(--gap);
}
.page_jobs .job_cont > section .flex > div{
    width: var(--w);
    line-height: 2;
    font-weight: 500;
}
.page_jobs .job_cont > section .flex > picture{
    width: calc(100% - var(--gap) - var(--w));
    transform: translateY(-140px);
}

.page_jobs .job_cont > section .work_ex{
    --side: 5%;
    position: relative;
    z-index: 0;
    border: 1px solid var(--mainColor);
    padding: 30px var(--side) 16px;
    margin: 50px 0 0;
}.page_jobs .job_cont > section .work_ex:has(dd>dl){padding-bottom: 30px;}

.page_jobs .job_cont > section .work_ex > dt{
    position: absolute;
    z-index: 1;
    inset: 0 auto auto var(--side);
    margin: auto;
    color: #fff;
    background: var(--mainColor);
    padding: .35em .75em;
    line-height: 1.4;
    width: fit-content;
    text-align: center;
    transform: translateY(-50%);
}
/* ul */
.page_jobs .job_cont > section .work_ex > dd > ul{
    display: flex;
    flex-wrap: wrap;
    gap: .5em 5%;
}
.page_jobs .job_cont > section .work_ex > dd > ul li{
    position: relative;
    z-index: 0;
    padding: 0 0 0 .8em;
    line-height: 1.4;
    font-size: 15px;
}
.page_jobs .job_cont > section .work_ex dd ul li::before{
    position: absolute;
    z-index: 0;
    inset: .5em auto auto 0;
    content: '';
    width: 8px;
    height: 8px;
    background: var(--mainColor);
    border-radius: 50%;
}

/* dl */
.page_jobs .job_cont > section .work_ex > dd > dl{
    line-height: 1.4;
    padding: 15px 0;
    border-bottom: 1px solid #d6d7d8;
}
.page_jobs .job_cont > section .work_ex > dd > dl:first-of-type{padding-top: 0;}

.page_jobs .job_cont > section .work_ex > dd > dl dt{
    font-weight: 700;
    color: var(--mainColor);
}
.page_jobs .job_cont > section .work_ex > dd > dl dd{font-size: 15px;}

/* 採用 扉ページ ================ */
/* kv */
body:has(.portal_recruit.page_recruit.page_sub) .kv_sub{text-align: center;}
body:has(.portal_recruit.page_recruit.page_sub) .kv_sub > .bg_area{
    min-height: 500px;
    justify-content: center;
    padding-bottom: 120px;
}
body:has(.portal_recruit.page_recruit.page_sub) .kv_sub > picture{height: 500px;}
body:has(.portal_recruit.page_recruit.page_sub) .kv_sub > picture::before{opacity: 0.59;}

body:has(.portal_recruit.page_recruit.page_sub) .kv_sub .ttl_cont .en{
    font-size: 95px;
    padding: 0;
    margin: 0 auto 2px;
}
body:has(.portal_recruit.page_recruit.page_sub) .kv_sub .ttl_cont .en::before{display: none;}
body:has(.portal_recruit.page_recruit.page_sub) .kv_sub .ttl_cont .ja{
    font-size: 40px;
    color: var(--mainColor);
}

/* editor_contents */
.portal_recruit .contents_wrapper{padding-bottom: 0;}
.portal_recruit .editor_contents{margin: 0 auto 160px;}
.portal_recruit .editor_contents h2{
    font-size: 30px;
    line-height: 1.9;
    margin-bottom: 40px;
}
.portal_recruit .editor_contents p{
    font-size: 18px;
    line-height: 2;
}

/* section - common */
.portal_recruit section .recruit_balloon{
    min-width: 270px;
    font-size: 27px;
    padding-block: 1em;
}

.portal_recruit section .ttl_cont{
    text-align: center;
    margin-bottom: 35px;
}
.portal_recruit section .ttl_cont h2{
    font-weight: 700;
    font-size: 38px;
    line-height: 1.3;
    margin: 0 auto;
}
.portal_recruit section .ttl_cont h2:has(+.en){margin-bottom: 20px;}
.portal_recruit section .ttl_cont .en{
    font-family: var(--ff_plusJakartaSans);
    font-weight: 700;
    font-size: 27px;
    line-height: 1.3;
    letter-spacing: 0.05em;
    color: var(--mainColor);
    transition: .25s;
}
.portal_recruit section .btn{margin: 60px auto 0;}
.portal_recruit section .btn a{
    position: relative;
    z-index: 0;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: .6em 1.8em .65em;
}
.portal_recruit section .btn a::before{
    position: absolute;
    z-index: 0;
    inset: 2px 0.9em 0 auto;
    margin: auto;
    content: '';
    width: 9px;
    height: 9px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

/* section - sec_why_us */
.portal_recruit .sec_why_us{
    padding-bottom: 140px;
}
.portal_recruit .sec_why_us .flex{
    --w: 34%;
    --gap: 15%;
    column-gap: var(--gap);
}
.portal_recruit .sec_why_us .flex > div{
    width: var(--w);
}
.portal_recruit .sec_why_us .flex > figure{
    width: calc(100% - var(--w) - var(--gap));

}
.portal_recruit .sec_why_us .flex > figure img{
    transform: scale(1.2);
    transform-origin: left center;
    aspect-ratio: 1625 / 1130;
    object-fit: cover;
}

/* section - sec_jobs */
.portal_recruit .sec_jobs{
    position: relative;
    z-index: 0;
    background: #f1f8f2;
    padding: 0 0 180px;
}
.portal_recruit .sec_jobs::before,
.portal_recruit .sec_jobs::after{
    position: absolute;
    z-index: 0;
    inset: auto 0;
    margin: auto;
    content: '';
    width: 100%;
    height: 80px;
    background: url(../img/page/recruit/common/kv/breadcrumb_bg.svg) no-repeat center top / cover;
}
.portal_recruit .sec_jobs::before{
    top: 0;
    transform: rotate(180deg);
}
.portal_recruit .sec_jobs::after{bottom: 0;}

.portal_recruit .sec_jobs .ttl_cont + p{
    font-size: 18px;
    text-align: center;
    margin: 0 auto 2em;
}
.portal_recruit .sec_jobs .job_list{
    --gap: 1.8%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px var(--gap);
}
.portal_recruit .sec_jobs .job_list li{
    width: calc((100% - var(--gap) * 3) / 4);
    overflow: hidden;
}
.portal_recruit .sec_jobs .job_list li a{display: block;}
.portal_recruit .sec_jobs .job_list li figure{
    aspect-ratio: 260 / 190;
    overflow: hidden;
}
.portal_recruit .sec_jobs .job_list li figure img{
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
}
.portal_recruit .sec_jobs .job_list li p{
    font-weight: 700;
    color: #fff;
    padding: 1em;
    background: linear-gradient(90deg, #0a703c 0, #459e5a 100%);
}
.portal_recruit .sec_jobs .job_list li a:hover{opacity: 1;}
.portal_recruit .sec_jobs .job_list li a:hover figure img{transform: scale(1.1);}

.portal_recruit .sec_jobs .btn{background: #f1f8f2;}
.portal_recruit .sec_jobs .btn:has(a:hover){background: var(--themeColor);}

/* section - sec_interview */
.portal_recruit .sec_interview{
    padding: 90px 0 160px;
}
.portal_recruit .sec_interview .int_list{
    --gap: 3.6%;
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: center;
    column-gap: var(--gap);
}
.portal_recruit .sec_interview .int_list.slick-initialized{display: block;}
.portal_recruit .sec_interview .int_list::before{
    position: absolute;
    z-index: -1;
    inset: 0 -100% 12%;
    margin: auto;
    content: '';
    width: 100vw;
    height: auto;
    aspect-ratio: 1600 / 320;
    background: url(../img/page/recruit/interview/message_bg.png) no-repeat center / 100% 100%;
}
@media screen and (min-width:769px) {
    .portal_recruit .sec_interview .int_list li{
        width: calc((100% - var(--gap) * 2) / 3);
        max-width: 350px;
        flex: 1;
    }    
    /* =========== /max-width:469px =========== */
}
.portal_recruit .sec_interview .int_list li a{display: block;}
.portal_recruit .sec_interview .int_list li .img_base{
    position: relative;
    z-index: 0;
    margin: 0 0 40px;
}
.portal_recruit .sec_interview .int_list li .img_base figure{
    aspect-ratio: 345 / 480;
    overflow: hidden;
}
.portal_recruit .sec_interview .int_list li .img_base figure img{
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
    transform: translateZ(0);
}
.portal_recruit .sec_interview .int_list li .img_base p{
    /* 位置 */
    position: absolute;
    z-index: 1;
    inset: auto 0 0;
    margin: auto;
    transform: translateY(50%);
    /* 色 */
    background: var(--mainColor);
    color: #fff;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    padding: .8em 1.5em;
    text-align: center;
    width: fit-content;
}

.portal_recruit .sec_interview .int_list li .img_base + p{
    color: var(--mainColor);
    font-size: 22px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.4;
    text-align: center;
}
.portal_recruit .sec_interview .int_list li .img_base + p span{display: inline-block;}
.portal_recruit .sec_interview .int_list li a:hover{opacity: 1;}
.portal_recruit .sec_interview .int_list li a:hover .img_base figure img {transform: translateZ(0) scale(1.1);}

/* section - sec_description */
.portal_recruit .sec_description a{
    position: relative;
    z-index: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 120px 0;
}
.portal_recruit .sec_description a > figure{
    position: absolute;
    z-index: -1;
    inset: 0;
    margin: auto;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.portal_recruit .sec_description a > figure img{
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
    transform: translateZ(0) scale(1.005);
}
.portal_recruit .sec_description a .inner .cont{
    padding-block: 35px;
    background: #fff;
    text-align: center;
    transition: 0.3s;
}
.portal_recruit .sec_description a .inner .cont .ttl_cont{margin-bottom: 25px;}
.portal_recruit .sec_description a .inner .cont .ttl_cont + p{
    position: relative;
    z-index: 0;
    font-weight: 500;
    color: var(--mainColor);
    width: fit-content;
    margin: 0 auto;
}
.portal_recruit .sec_description a .inner .cont .ttl_cont + p::before{
    position: absolute;
    z-index: 0;
    inset: 2px auto 0 calc(100% + 0.3em);
    margin: auto;
    content: '';
    width: 9px;
    height: 9px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}
.portal_recruit .sec_description a:hover{opacity: 1;}
/* .portal_recruit .sec_description a:hover .inner{background: #f1f8f2;} */
.portal_recruit .sec_description a:hover > figure img{transform: translateZ(0) scale(1.05);}

/* -----------------------------------------------------------
interview - single
----------------------------------------------------------- */
/* kv */
body:has(.single_interview.page_recruit.page_sub) .kv_sub > .bg_area{
    min-height: 480px;
    padding-bottom: 6em;
}
body:has(.single_interview.page_recruit.page_sub) .kv_sub > picture{height: 480px;}
body:has(.single_interview.page_recruit.page_sub) .kv_sub > picture::before{display: none !important;}
.single_interview .kv_sub .ttl_cont .flex{
    align-items: center;
    column-gap: 1em;
    margin: 0 0 1em;
}
.single_interview .kv_sub .ttl_cont .flex h1{
    font-weight: 700;
    font-size: 40px;
    line-height: 1.3;
    color: var(--mainColor);
}
.single_interview .kv_sub .ttl_cont .flex h1 span{font-size: 24px;}
.single_interview .kv_sub .ttl_cont .flex p{
    font-weight: 500;
    line-height: 1.5;
    color: #fff;
    background: var(--mainColor);
    padding: .2em .9em .3em;
    margin: 0.3em 0 0;
}
.single_interview .kv_sub .ttl_cont .info{
    font-size: 20px;
    font-weight: 500;
    line-height: 2;
}

/* common */
.single_interview .contents_wrapper{counter-reset: qa_num 0;}
.single_interview .contents_wrapper > section{padding: 120px 0;}
.single_interview .contents_wrapper > section:first-of-type{padding-top: 0;}
.single_interview .contents_wrapper > section:last-of-type{padding-bottom: 0;}
.single_interview article section h2{
    font-weight: 700;
    font-size: 36px;
    line-height: 2;
    color: var(--mainColor);
    margin: 0 0 1em;
}
.single_interview section .ttl p{
    font-weight: 700;
    font-family: var(--ff_plusJakartaSans);
    font-size: 60px;
    color: var(--mainColor);
    line-height: 1.2;
}
.single_interview section .ttl h2{line-height: 1.4;}

/* sec_qa */
.single_interview .sec_qa{counter-increment: qa_num 1;}
.single_interview .sec_qa h2{
    position: relative;
    z-index: 0;
}
.single_interview .sec_qa h2::before{
    display: block;
    content: "Q" counter(qa_num);
    font-family: var(--ff_plusJakartaSans);
    color: var(--accentColor);
    font-weight: 700;
    font-size: 80px;
    line-height: 1.1;
    width: fit-content;
}
.single_interview .sec_qa > .flex{
    --w: 46%;
    --gap: 12%;
    align-items: flex-start;
    gap: var(--gap);
}
.single_interview .sec_qa > .flex > div{
    width: var(--w);
}
.single_interview .sec_qa > .flex > figure{
    width: calc(100% - var(--w) - var(--gap));
    margin: 50px 0 0;
    transform: scale(1.12);
    transform-origin: left center;
    aspect-ratio: 870 / 630;
    overflow: hidden;
}
.single_interview .sec_qa > .flex > figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single_interview .sec_qa:not(.qa1){
    --q_base: 130px;
    --gap: 6.7%;
}
.single_interview .sec_qa:not(.qa1) .inner > div{
    padding: 0 0 0 calc(var(--q_base) + var(--gap));
}

.single_interview .sec_qa:not(.qa1) h2{margin-bottom: 0.55em;}
.single_interview .sec_qa:not(.qa1) h2::before{
    position: absolute;
    z-index: 0;
    inset: -.1em auto auto calc((var(--q_base) + var(--gap)) * -1);
    margin: auto;
}
.single_interview .sec_qa:not(.qa1) .inner > div *:not(:last-child){margin-bottom: 45px;}

.single_interview .sec_qa > .inner > div > .flex{flex-direction: column;}
.single_interview .sec_qa > .inner > div > .flex figure{width: 100%;}

/* is_horizontal */
.single_interview .sec_qa > .inner > div > .flex.is_horizontal{
    flex-direction: row;
    column-gap: 1%;
}
.single_interview .sec_qa > .inner > div > .flex.is_horizontal figure{
    flex: 1;
    margin-bottom: 0;
    aspect-ratio: 435 / 315;
}
.single_interview .sec_qa > .inner > div > .flex.is_horizontal figure img{
    height: 100%;
    object-fit: cover;
}

/* sec_schedule */
.single_interview section:has(+.sec_schedule){padding-bottom: 20px;}
.single_interview .sec_schedule + section{padding-top: 20px;}

.single_interview .sec_schedule{
    position: relative;
    z-index: 0;
    background: #f1f8f2;
    padding: 220px 0 !important;
}
.single_interview .sec_schedule::before,
.single_interview .sec_schedule::after{
    position: absolute;
    z-index: 0;
    inset: auto 0;
    margin: auto;
    content: '';
    width: 100%;
    height: 140px;
    background: url(../img/page/recruit/common/kv/breadcrumb_bg.svg) no-repeat center / cover;
}
.single_interview .sec_schedule::before{top: 0;transform: rotate(180deg);}
.single_interview .sec_schedule::after{bottom: 0;}

.single_interview .sec_schedule .schedule_slider{
    position: relative;
    z-index: 0;
    padding: 0 0 110px;
}
.single_interview .sec_schedule .schedule_slider .slick-track{
    --gap: 20px;
    display: flex;
    column-gap: var(--gap);
}
.single_interview .sec_schedule .schedule_slider .slick-track > li{
    flex: 1;
    background: #fff;
    box-shadow: 6px 6px 5px rgba(0, 82, 55, 0.1);
    padding: 25px 35px;
    overflow: hidden;
    height: auto !important;
}
.single_interview .sec_schedule .schedule_slider .slick-track > li p{
    position: relative;
    z-index: 0;
    color: var(--mainColor);
    font-family: var(--ff_plusJakartaSans);
    font-weight: 700;
    font-size: 24px;
    margin: 0 0 25px;
}
.single_interview .sec_schedule .schedule_slider .slick-track > li p::before{
    position: absolute;
    z-index: 0;
    inset: 0 auto 0 -35px;
    margin: auto;
    content: '';
    width: 14px;
    height: 44px;
    background: var(--accentColor);
}
.single_interview .sec_schedule .schedule_slider .slick-track > li dt{
    font-weight: 700;
    font-size: 20px;
    line-height: 2;
    color: var(--mainColor);
    margin: 0 0 20px;
}
.single_interview .sec_schedule .schedule_slider .slick-track > li dd{
    font-size: 15px;
    line-height: 2;
}

/* slick */
.single_interview .sec_schedule .schedule_slider .slick-list{
    overflow: initial;
    margin: 0 -15px;
}
.single_interview .sec_schedule .schedule_slider .slick-track{
    display: flex;
    align-items: stretch;
}
.single_interview .sec_schedule .slick-arrow{
    position: absolute;
    z-index: 0;
    inset:  auto 0 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 55px;
    height: 60px;
    transform: none;
    opacity: 1;
    transition: .3s;
    border: 1px solid var(--mainColor);
    transform: translateZ(0) skew(calc(var(--skewDeg) * -1));
}

.single_interview .sec_schedule .slick-arrow.slick-disabled:before{opacity: 1;}
.single_interview .sec_schedule .slick-prev{transform: translateZ(0) skew(calc(var(--skewDeg) * -1)) translateX(-68px);}
.single_interview .sec_schedule .slick-arrow::before{
    content: '';
    color: var(--mainColor);
    opacity: 1;
    width: 13px;
    height: 13px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: skew(var(--skewDeg)) translateX(-2px) rotate(45deg);
}
.single_interview .sec_schedule .slick-prev::before{
    transform: skew(var(--skewDeg)) translateX(2px) rotate(-135deg);
}

.single_interview .sec_schedule .slick-arrow.slick-disabled{
    opacity: 0.4;
    pointer-events: none;
}
@media screen and (hover: hover) {
    .single_interview .sec_schedule .slick-arrow:hover{
        opacity: 1;
        background: var(--mainColor);
    }
    .single_interview .sec_schedule .slick-arrow:hover::before{color: #fff;}
}

/* slick dots */
.single_interview .sec_schedule .schedule_slider .slick-dots {
    --dot-x: 0%;
    --dot-width: 25%;
    position: absolute;
    bottom: min(2.76vw, 31px);
    display: flex;
    width: calc(100% - min(15.7vw, 190px));
    height: 4px;
    background: rgba(199,221,186,.52);
    margin: 0;
    padding: 0;
}
.single_interview .sec_schedule .schedule_slider .slick-dots::after {
    position: absolute;
    z-index: 1;
    content: '';
    inset: 0 auto auto var(--dot-x);
    width: var(--dot-width);
    height: 100%;
    background: var(--mainColor);
    transition: left .3s;
}

.single_interview .sec_schedule .schedule_slider .slick-dots li{
    width: 100%;
    height: 100%;
    flex: 1;
    margin: 0;
}
.single_interview .sec_schedule .schedule_slider .slick-dots li button::before{content: none;}

/* sec_message */
.single_interview .sec_message{
    position: relative;
    z-index: 0;
}
.single_interview .sec_message::before{
    position: absolute;
    z-index: -1;
    inset: 390px 0 0;
    margin: auto;
    content: '';
    width: 100%;
    height: 380px;
    background: url(../img/page/recruit/interview/message_bg.png) no-repeat center / 100% 100%;
}

.single_interview .sec_message .ttl p{
    font-size: 50px;
    margin: 0 0 .3em;
}
.single_interview .sec_message .flex{
    --w: 44%;
    --gap: 9%;
    column-gap: var(--gap);
    align-items: flex-end;
}
.single_interview .sec_message .flex > div{
    width: var(--w);
}
.single_interview .sec_message .flex > figure{
    width: calc(100% - var(--w) - var(--gap));
    aspect-ratio: 1;
    border-radius: 50%;
    overflow: hidden;
}
.single_interview .sec_message .flex > figure img{
    height: 100%;
    object-fit: cover;
}

.single_interview .sec_message .flex > div > p{
    padding: 70px 0;
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    line-height: 2;
}

.single_interview .btn.btn_back{margin-top: 100px;}

/* -----------------------------------------------------------
interview - archive
----------------------------------------------------------- */
.archive_interview .editor_contents > *:first-child{margin-top: 0 !important;}
.archive_interview .editor_contents h2{
    text-align: center;
    font-size: 26px;
    line-height: 2.2;
}

.archive_interview .int_list section{
    position: relative;
    z-index: 0;
}
.archive_interview .int_list section::before{
    position: absolute;
    z-index: -1;
    inset: 50px -100% auto;
    margin: auto;
    content: '';
    width: 100%;
    min-width: 1760px;
    height: auto;
    aspect-ratio: 1760 / 265;
    background: url(../img/page/recruit/interview/archive_bg.svg) no-repeat center / cover;
}
.archive_interview .int_list section:nth-of-type(even)::before{transform: translateY(15px) rotateY(180deg);}
.archive_interview .int_list section:not(:last-of-type){margin: 0 0 230px;}
.archive_interview .int_list section .flex{
    --w: 45%;
    --gap: 4%;
    justify-content: flex-start;
    column-gap: var(--gap);
}
.archive_interview .int_list section:nth-of-type(even) .flex{flex-direction: row-reverse;}
.archive_interview .int_list section .flex > figure{
    width: var(--w);
    height: auto;
    box-shadow: 5px 5px 10px rgba(49, 55, 61, 0.2);
    transform: translateZ(0);
}
.archive_interview .int_list section .flex > figure img{
    height: 100%;
    object-fit: cover;
}
.archive_interview .int_list section .flex > div{
    width: calc(100% - var(--w) - var(--gap));
    text-align: center;
    padding: 70px 0 0;
}

.page_recruit .recruit_balloon{
    position: relative;
    z-index: 0;
    font-size: 22px;
    color: #fff;
    font-weight: 500;
    line-height: 1.6;
    padding: .75em 2em;
    background: linear-gradient(135deg, #459e5a 0, #0a703c 125%);
    width: fit-content;
    margin: 0 auto 40px;
    min-width: 290px;
    border-radius: 50px;
    text-align: center;
}
.page_recruit .recruit_balloon::before{
    position: absolute;
    z-index: -1;
    inset: calc(100% - 1px) 0 auto 20px;
    margin: auto;
    content: '';
    width: 18px;
    height: 14px;
    background: linear-gradient(135deg, #2B8A4D 0, #29884C 100%);
    clip-path: polygon(5% 0, 0 100%, 100% 0);
}

.archive_interview .int_list section .flex > div .info h2{
    font-weight: 500;
    font-size: 32px;
    line-height: 1.5;
    color: var(--mainColor);
    letter-spacing: 0.05em;
    margin: 0 auto 70px;
}
.archive_interview .int_list section .flex > div .info h2 span{display: inline-block;}

.archive_interview .int_list section .flex > div .copy{
    font-weight: 500;
    font-size: 26px;
    line-height: 1.8;
    letter-spacing: 0.05em;
    margin: 0 auto 45px;
}
.archive_interview .int_list section .flex > div .btn{
    margin: 0 auto;
}
.archive_interview .int_list section .flex > div .btn a{
    position: relative;
    z-index: 0;
    font-size: 19px;
    font-weight: 500;
    letter-spacing: 0.05em;
    padding: .6em 1.8em .65em;
}
.archive_interview .int_list section .flex > div .btn a::before{
    position: absolute;
    z-index: 0;
    inset: 2px 0.9em 0 auto;
    margin: auto;
    content: '';
    width: 9px;
    height: 9px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}




/* ======================================================================================= */
/* SP */
/* ======================================================================================= */

/* -----------------------------------------------------------
template
----------------------------------------------------------- */
@media screen and (max-width:400px) {
    .u400_none{display: none !important;}
}

/* ============================================== */
/*                    ヘッダー                    */
/* ============================================== */
@media screen and (max-width:960px) {
    header{
        --w_logo: 120px;
    }
    header .sub_menu .m_yb,
    header .sub_menu .m_ig{display: none;}

    /* ナビげ―ション */
    header .n_bottom ul .m_yb a::before,
    header .n_bottom ul .m_ig a::before{
        display: block;
        content: '';
        width: 21px;
        height: 21px;
        background: currentColor;
        margin: 0 9px 0 0;
    }

    header .n_bottom ul .m_yb a::before{
        -webkit-mask: url(../img/common/ico/sns_yb.svg) no-repeat center / contain;
                mask: url(../img/common/ico/sns_yb.svg) no-repeat center / contain;
    }
    header .n_bottom ul .m_ig a::before{
        -webkit-mask: url(../img/common/ico/sns_ig.svg) no-repeat center / contain;
                mask: url(../img/common/ico/sns_ig.svg) no-repeat center / contain;
    }
}

/* ============================================== */
/*              mage menu              */
/* ============================================== */

/* ============================================== */
/*                    フッター                    */
/* ============================================== */

/* -----------------------------------------------------------
common_parts
----------------------------------------------------------- */
/* contents_wrapper */

/* kv_sub */


/* -----------------------------------------------------------
home
----------------------------------------------------------- */
@media screen and (max-width:768px) {

    /* sec lead ============ */
    .home .sec_lead .flex{padding: 0 4% !important;}
    .home .sec_lead h2 + p{letter-spacing: 0.08em;}

    /* sec_sns ============ */
    .home .sec_sns section{
        width: 100%;
    }
    
    .home .sec_sns section .ttl{font-size: 24px;}
    .home .sec_sns section h3 + p{
        font-size: 15px;
        margin: 0 0 20px;
    }
    .home .sec_sns .flex{row-gap: 40px;}

    /* sec_product ============ */

    /* sec_image_bg ============ */
    .home .sec_image_bg{padding: 0 !important;}
    .home .sec_image_bg picture{
        position: static;
        height: auto;
    }
    .home .sec_image_bg .ttl_cont p{font-size: 30px;}
    
    .home .sec_image_bg .inner{background: var(--mainColor);}
    .home .sec_image_bg .inner > div{padding-block: 30px 40px;}
    .home .sec_image_bg .btn:has(a:hover){background: #fff;}
    .home .sec_image_bg .btn a:hover{color: var(--c_nichiden) !important;}
}


/* -----------------------------------------------------------
portal
----------------------------------------------------------- */

.portal_b .sub_list section::before{background: linear-gradient(to right, #f1f1ef 0%, #f3f3f2 55%, transparent 100%);}
.portal_b .sub_list section picture img{object-position: 85% 50%;}

/* -----------------------------------------------------------
subpage
----------------------------------------------------------- */
/* editor_contents ============ */
@media screen and (max-width:768px) {
    .editor_contents .wp-block-table:not(.table_outline) table{
        width: 100%;
        min-width: 1px;
        font-size: 13px;
    }
}

/* about ============ */
@media screen and (max-width:768px) {
    
    .page_about .about_cont > section{
        align-items: stretch;
        margin: 0 0 50px;
    }
    .page_about .about_cont > section > div .flex{flex-direction: column;}
    .page_about .about_cont > section > .left h3{order: 0;}
    .page_about .about_cont > section > .left figure{order: 1;margin: 0 auto 1.5em;}
    .page_about .about_cont > section > .left p{order: 2;}
    .page_about .about_cont > section > .right figure{order: 3;}
    .page_about .about_cont > section > .right .bg_main{order: 4;}

    .page_about .about_cont > section > .left h3 + p{margin-bottom: 1.5em;}

    /* .page_about .about_cont > section > div .flex p{
        width: 100%;
        margin-top: 0;
    }
    .page_about .about_cont > section > div .flex figure{
        width: max(40%, 220px);
        margin: 0 auto;
    } */
}

/* history ============ */


/* clients ============ */


/* distributors ============ */


/* 3minute ============ */
    @media screen and (max-width:768px) {

    /* KV ===== */
    .page_3minutes .kv_sub .bg_area::before{
        inset: auto -100% -20px;
        height: 35px;
    }
    .page_3minutes .kv_sub .slide_cont::before{width: 63.4%;}
    .page_3minutes .kv_sub .slide_cont::after{width: 67.5%;}

    .page_3minutes .kv_sub .ttl_cont{width: 66%;}

    /* セクション共通 ===== */
    /* h2_cont */
    .page_3minutes .h2_cont{margin: 0 auto 35px;}
    .page_3minutes .h2_cont p{font-size: 18px;}
    .page_3minutes .h2_cont h2{font-size: 26px;}

    /* h2_cont 下線あり */
    .page_3minutes .h2_cont.has_underline{
        padding: 0 5% 8px;
        border-width: 1px;
        min-width: 280px;
    }

    /* h3.round */
    .page_3minutes .round{
        font-size: 18px;
        min-width: 230px;
        padding: 0.74em 1.5em;
        margin: 0 auto 18px;
    }
    .page_3minutes .round + p{
        font-size: 16px;
        line-height: 2.25;
    }

    /* sec_about ===== */
    .page_3minutes .sec_about{padding: 100px 0 170px;}
    .page_3minutes .sec_about::before{
        height: 28px;
        background-image: url(../img/page/business/3minutes/sec_about_wave_sp.svg);
    }

    /* about_work  */
    .page_3minutes .sec_about .about_work{
        --themeColor: var(--accentColor);
        max-width: 1370px;
        margin: 0 auto 160px;
    }
    .page_3minutes .sec_about .flex{flex-direction: column;}
    .page_3minutes .sec_about .flex > div{
        width: 100%;
        margin: 0 auto 40px;
    }
    .page_3minutes .sec_about .flex > figure{
        position: relative;
        z-index: 0;
        left: -5.5%;
        width: 100vw;
        max-width: 100vw;
    }

    /* about_how */
    /* about_how - top */
    .page_3minutes .sec_about .about_how .top .inner{padding: 0 9%;}
    .page_3minutes .sec_about .about_how .top .round + p{
        margin: 0 auto;
        text-align: left;
    }

    /* about_how - middle */
    .page_3minutes .sec_about .about_how .middle{margin: 0 auto 95px;}

    /* map cont */
    .page_3minutes .sec_about .about_how .middle .desc{
        margin: 0 auto 90px;
        min-width: 320px;
        width: 85%;
        font-size: 14px;
        line-height: 1.7;
    }
    .page_3minutes .sec_about .about_how .middle .desc::before{
        width: 39px;
        height: 55px;
    }
    
    .page_3minutes .scroll_wrapper{
        width: 100vw;
        max-width: 100vw;
        transform: translateX(-5%);
        padding: 35px 0 0;
    }
    .page_3minutes .map_cont > figure{transform: scale(1.1);}
    .page_3minutes .map_cont ul li{
        transform: translateY(-30px);
        width: 8%;
    }

    .page_3minutes .map_cont ul li:nth-of-type(1){inset: -1.4% 39.8% auto auto;}
    .page_3minutes .map_cont ul li:nth-of-type(2){inset: 26.9% 26% auto auto;}
    .page_3minutes .map_cont ul li:nth-of-type(3){inset: 38.1% 14.2% auto auto;}
    .page_3minutes .map_cont ul li:nth-of-type(4){inset: 49.2% 21.3% auto auto;}
    .page_3minutes .map_cont ul li:nth-of-type(5){inset: 37.9% 76.3% auto auto;}
    .page_3minutes .map_cont ul li:nth-of-type(6){inset: 55.3% 54.7% auto auto;}
    .page_3minutes .map_cont ul li:nth-of-type(7){inset: 61.6% 39.9% auto auto;}


    /* modal */
    .page_3minutes .map_cont ul li .modal{
        inset: auto -300% 113% -300%;
        padding: 1.8em 1em 1em 1em;
        border-radius: 12px;
        min-width: 190px;
        min-height: 75px;
    }
    .page_3minutes .map_cont ul li .modal.wide{
        inset: auto -300% 113% -300%;
        min-width: 190px;
    }

    /* .page_3minutes .map_cont ul li:nth-of-type(1) .modal{} */
    /* .page_3minutes .map_cont ul li:nth-of-type(2) .modal{} */
    .page_3minutes .map_cont ul li:nth-of-type(3) .modal{transform: translateX(-27%);}
    .page_3minutes .map_cont ul li:nth-of-type(4) .modal{transform: translateX(-18%);}
    .page_3minutes .map_cont ul li:nth-of-type(5) .modal{transform: translateX(19%);}
    /* .page_3minutes .map_cont ul li:nth-of-type(6) .modal{} */




    .page_3minutes .map_cont ul li .modal::before{
        width: 16px;
        height: 20px;
        display: none;
    }
    .page_3minutes .map_cont ul li .modal figure{
        position: absolute;
        z-index: 1;
        inset: auto 0 75%;
        width: 105px;
        height: 105px;
        border-width: 2px;
    }
    .page_3minutes .map_cont ul li .modal.wide figure{inset: auto 0 75%;}
    .page_3minutes .map_cont ul li .modal button{inset: 10px 14px auto auto;}
    .page_3minutes .map_cont ul li .modal button::before,
    .page_3minutes .map_cont ul li .modal button::after{width: 18px;}

    /* about_how - bottom */
    .page_3minutes .sec_about .bottom:not(.scrollin){padding: 0 5%;}
    .page_3minutes .more_area{
        position: relative;
        z-index: 0;
        padding-bottom: 75px;
    }
    .page_3minutes .bg_white{
        position: relative;
        z-index: 0;
        padding: 36px 5%;
        border-radius: 10px;
    }
    .page_3minutes .bg_white h4{
        font-size: 20px;
        line-height: 1.7;
        margin: 0 auto 30px;
    }
    .page_3minutes .more_wrapper{
        position: relative;
        z-index: 0;
        display: block;
        overflow: hidden;
        max-height: 260px;
        transition: max-height .4s;
    }
    .page_3minutes .more_txt{
        position: absolute;
        z-index: 0;
        inset: auto 0 22px;
        margin: auto;
        padding: 0 0 1em;
        cursor: pointer;
        width: fit-content;
        text-align: center;
    }
    .page_3minutes .more_txt::before{
        position: absolute;
        z-index: 0;
        inset: auto 0 0;
        margin: auto;
        content: '';
        width: 10px;
        height: 10px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg);
    }
    .page_3minutes .is_open + .more_txt::before{transform: scaleY(-1) rotate(45deg);}
    .page_3minutes .bg_white ul:nth-of-type(2){display: block;}
    .page_3minutes .bg_white ul li{
        font-size: 14px;
        width: 100%;
    }
    .page_3minutes .bg_white ul:not(:last-of-type){margin: 0 0 1.5em;}

    /* sec_strength ===== */
    .page_3minutes .sec_strength{padding: 100px 0 90px;}

    .page_3minutes .sec_strength .h2_cont{margin-bottom: 100px;}
    .page_3minutes .sec_strength .h2_cont::before{
        inset: auto 0 calc(100% + 15px);
        width: 138px;
        height: 188px;
    }

    /* section - 共通 */
    .page_3minutes .sec_strength .inner > section{
        border-radius: 14px;
        padding: 40px 7%;
    }
    .page_3minutes .sec_strength .inner > section:not(:last-of-type){margin: 0 0 30px;}

    .page_3minutes .h3_num{margin-bottom: 20px;}
    .page_3minutes .h3_num p{
        font-size: 14px;
        width: fit-content;
        margin: 0 auto 10px 0;
    }
    .page_3minutes .h3_num p span{font-size: 50px;}
    .page_3minutes .h3_num h3{
        font-size: 24px;
        line-height: 1.75;
        text-align: left;
        letter-spacing: 0.005em;
    }

    .page_3minutes .h3_num + p{
        font-weight: 500;
        line-height: 1.85;
    }

    /* section - 01 */
    .page_3minutes .sec_strength .inner > section:nth-of-type(1){padding-block: 125px 35px;}
    .page_3minutes .sec_strength .inner > section:nth-of-type(1) > div{width: 100%;}
    .page_3minutes .sec_strength .inner > section:nth-of-type(1)::after{
        inset: -10% 4% auto auto;
        width: 185px;
    }

    /* section - 02 */
    .page_3minutes .sec_strength .inner > section:nth-of-type(2) .h3_num + p{
        text-align: left;
        font-size: 14px;
        margin: 0 auto 25px;
    }

    /* edit */
    .page_3minutes .sec_strength .inner > section .edit h4{
        font-size: 20px;
        padding: 0.65em 0.8em;
        margin: 50px 0 15px;
    }

    /* setsubi */
    .page_3minutes .sec_strength .inner > section .edit .flex{flex-direction: column;}
    .page_3minutes .sec_strength .inner > section .edit .flex > *{width: 100%;}
    .page_3minutes .sec_strength .inner > section .edit .flex_setsubi > div dl dt{
        font-size: 20px;
        padding: 0 0 0 .8em;
        margin: 0 0 10px;
    }
    .page_3minutes .sec_strength .inner > section .edit .flex_setsubi > div dl dd{
        line-height: 1.85;
        font-weight: 500;
    }

    /* dl_facility */
    .page_3minutes .sec_strength .inner > section .edit .flex:has(.dl_facility){row-gap: 0;}
    .page_3minutes .sec_strength .inner > section .edit .dl_facility{
        --padding_inline: 14px;
    }
    /* .page_3minutes .sec_strength .inner > section .edit .dl_facility dt{
        font-size: 16px;
        padding: .5em var(--padding_inline);
        min-height: 40px;
    } */
    .page_3minutes .sec_strength .inner > section .edit .dl_facility li{
        padding: .5em var(--padding_inline);
        min-height: 1px;
    }

    /* section - 03 */
    .page_3minutes .sec_strength .inner > section:nth-of-type(3){
        flex-direction: column;
        padding: 45px 0 30px;
    }
    .page_3minutes .sec_strength .inner > section:nth-of-type(3) > *{width: 100%;}
    .page_3minutes .sec_strength .inner > section:nth-of-type(3) > div{padding: 0 9% 20px;}

    /* sec_number ===== */
    .page_3minutes .sec_number{padding: 150px 0 100px} 
    .page_3minutes .sec_number::before{
        height: 28px;
        background: url(../img/page/business/3minutes/sec_about_wave_sp.svg) no-repeat center bottom / cover;
    }

    .page_3minutes .sec_number h2::before{
        inset: auto 0 calc(100% + 39px);
        width: 208px;
        height: 143px;
    }

    /* num_list */
    .page_3minutes .sec_number .num_list{
        --gap: 45px;
        margin: 90px auto 60px;
    }
    .page_3minutes .sec_number .num_list li{
        width: 100%;
        padding: 60px 5% 35px;
    }

    .page_3minutes .sec_number .num_list li .ttl::before{
        inset: auto 0 calc(100% + 14px);
        width: 90px;
        height: 75px;
    }

    .page_3minutes .sec_number .num_list li .nums > span{font-size: 24px;}
    .page_3minutes .sec_number .num_list li .nums > span.fz_s{
        font-size: 20px;
        margin-top: 0;
    }
    .page_3minutes .sec_number .num_list li .nums .num,
    .page_3minutes .sec_number .num_list li .nums .num span{font-size: 72px;}

    .page_3minutes .sec_number .num_list li .nums.fz_s .num,
    .page_3minutes .sec_number .num_list li .nums.fz_s .num span{font-size: 58px;}
    .page_3minutes .sec_number .num_list li .nums.fz_s span{font-size: 18px;}

    .page_3minutes .sec_number .num_list li .flex:has(>.nums){column-gap: 6%;}

    /* num_list */
    .page_3minutes .banner p{
        transform: scale(1.0475);
    }
    
    .page_3minutes .sec_more h2{font-size: 30px;}
}

/* product ============ */
@media screen and (max-width:768px) {
    .page_product .sec_other ul li a{font-size: 16px;}
    
    .page_product .btn_dl{margin-top: 3em;}
    .page_product .btn_dl a{
        min-height: 65px;
        min-width: 1px;
        padding-inline: 1.5em;
    }

    /* floating banner */
    .prod_float{
        inset: auto 0 0;
        transform: translateY(100%);
        display: flex;
        transition: transform .8s 1s ease;
    }
    .is_loaded .prod_float{
        right: 0;
        transform: translateX(0) translateY(0);
    }

    .prod_float li{
        --w1: 100%;
        --w2: 100%;
        width: 50%;
        min-height: 90px;
        transform: translateZ(0) translateX(0) skewX(0);
    }
    .prod_float li:not(:last-of-type){margin: 0;}

    .prod_float li a{
        transform: skewX(0);
        flex-direction: column;
        width: 100%;
        align-items: center;
        row-gap: .3em;
        padding: 0.7em 1em;
    }
    .prod_float li a::before{transform: skewX(0);}
    .prod_float li a p{font-size: 13px;}

    /* イプロスバナー */
    .prod_float li.bnr_ipros a{row-gap: 0.4em;}
    .prod_float li.bnr_ipros p img{max-width: 96px;}
    .prod_float li.bnr_ipros p:nth-of-type(2)::after{
        width: 11px;
        height: 13px;
    }

    .prod_float li:has(a:hover){transform: translateZ(0) translateX(0) skewX(0);}
    .prod_float li a:hover{opacity: 0.6;}
}

/* -----------------------------------------------------------
recruit
----------------------------------------------------------- */
@media screen and (max-width:768px) {

    /* 下層共通 ============ */
    .page_recruit .editor_contents h2{font-size: 21px;}
    .editor_contents h2 span{font-size: 0.75em;}

    /* kv */
    body:has(.page_recruit.page_sub) .kv_sub::before{
        height: 50px;
        background: url(../img/page/recruit/common/kv/breadcrumb_bg_sp.svg) no-repeat center top / cover;
    }
    body:has(.page_recruit.page_sub) .kv_sub > picture{
        inset: 0 0 auto;
        height: 200px;
    }
    body:has(.page_recruit.page_sub) .kv_sub > .bg_area{min-height: 190px;}

    /* CTA */
    .sec_entry{
        padding: 55px 0 70px;
        background: url(../img/page/recruit/common/entry/bg_sp.jpg) no-repeat center / cover;
    }
    .sec_entry .ttl_cont{margin: 0 auto 40px;}
    .sec_entry .ttl_cont h2{font-size: 26px;}
    .sec_entry .ttl_cont p{font-size: 20px;}

    .sec_entry ul{
        flex-direction: column;
        align-items: center;
        row-gap: 25px;
        margin: 0 auto 45px;
    }
    .sec_entry ul li{
        max-width: 100%;
        width: 100%;
    }
    .sec_entry ul li > p{font-size: 16px;}
    .sec_entry ul li a{padding: 14px 5%;}
    .sec_entry ul li a figure{margin: 0 auto;}
    .sec_entry ul li a p{font-size: 15px;}
    .sec_entry ul li a p::after{transform: translateY(1px) rotate(45deg);}

    .sec_entry .other a{
        min-height: 65px;
        font-size: 15px;
    }
    .sec_entry .other a::after{
        width: 8px;
        height: 8px;
        transform: translateY(1px) rotate(45deg);
    }

    /* 働く魅力 ============ */
    /* 共通 */
    .page_why_us .ttl_sec{margin-bottom: 30px;}
    .page_why_us .ttl_sec p{
        font-size: 16px;
        min-width: 145px;
    }
    .page_why_us .ttl_sec p::before{
        font-size: 49px;
        line-height: 1.1;
        padding: .1em 0 0;
    }
    .page_why_us .ttl_sec h2{font-size: 26px;}

    .page_why_us section section h3{
        font-size: 22px;
        text-align: center;
        margin: 0 0 1em;
    }
    .page_why_us section section h3 + p{margin: 0 0 1.2em;}

    /* anc list */
    .page_why_us .anc_list{
        flex-direction: column;
        row-gap: 5px;
        margin: 0 auto 60px;
    }
    .page_why_us .anc_list li{width: 100%;}
    .page_why_us .anc_list li a{
        position: relative;
        z-index: 0;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        text-align: left;
        font-size: 15px;
        padding: 12px calc(4% + 20px) 12px 4%;
        column-gap: 4%;
    }

    .page_why_us .anc_list li a::before{
        font-size: 16px;
        margin: 0;
    }
    .page_why_us .anc_list li a::after{
        position: absolute;
        z-index: 0;
        inset: 0 15px 0 auto;
        margin: auto;
        transform: translateY(0px) rotate(45deg);
    }

    /* sec_strength */
    .page_why_us .flex{
        flex-direction: column;
        padding-bottom: 160px;
    }
    .page_why_us .flex > div{width: 100%;}
    .page_why_us .flex > figure{
        width: 100vw;
        max-width: 100vw;
        transform: scale(1);
        aspect-ratio: 375 / 260;
        overflow: hidden;
    }
    .page_why_us .flex > figure img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        margin: 0 auto 25px;
    }
    .page_why_us .sec_strength .flex > div{display: contents;}
    .page_why_us .sec_strength .flex > div .ttl_sec + p{order: 2;}

    .page_why_us .slide_cont{
        inset: auto 0 -30px;
        margin: auto;
        overflow: hidden;
    }

    /* 画像 */
    .page_why_us .slide_track img {
        width: 198px;
        height: 134px;
    }

    /* sec_culture ============ */
    .page_why_us .sec_culture .ttl_sec{margin-bottom: 30px;}

    .page_why_us .sec_culture .culture_cont{
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        row-gap: 16px;
    }

    .page_why_us .sec_culture .culture_cont section{
        width: 100%;
        padding: 28px 5% 20px;
        border-radius: 8px;
    }
    .page_why_us .sec_culture .culture_cont section picture{
        max-width: 170px;
        margin: 0 auto 10px;
    }
    .page_why_us .sec_culture .culture_cont section h3{
        font-size: 20px;
        margin: 0 auto .7em;
    }

    /* sec_benefits ============ */
    .page_why_us .sec_benefits{padding: 0 0 150px;}
    .page_why_us .sec_benefits::before,
    .page_why_us .sec_benefits::after{
        background: url(../img/page/recruit/why_us/sec_benefits_wave_sp.svg) no-repeat center / cover;
    }
    .page_why_us .sec_benefits::before{height: 78px;}
    .page_why_us .sec_benefits::after{height: 90px;}

    .page_why_us .sec_benefits .ttl_sec + p{
        font-size: 16px;
        line-height: 2;
        margin: 0 auto 30px;
    }

    .page_why_us .sec_benefits .benefits_point{
        --gap: 8px;
        justify-content: center;
        gap: 12px var(--gap);
    }
    .page_why_us .sec_benefits .benefits_point li{
        width: calc((100% - var(--gap)) / 2);
        background: #fff;
        border-radius: 8px;
        padding: 15px 2% 25px;
    }
    .page_why_us .sec_benefits .benefits_point li .lead{font-size: 15px;}
    .page_why_us .sec_benefits .benefits_point li .point{
        font-size: 20px;
        max-height: 65px;
    }
    .page_why_us .sec_benefits .benefits_point li .point span{font-size: 33px;}

    .page_why_us .sec_benefits .benefits_list{
        border-radius: 10px;
        padding: 20px 5%;
    }

    .page_why_us .sec_benefits .benefits_list ul{
        gap: .1em;
        column-count: 1;
    }
    .page_why_us .sec_benefits .benefits_list ul li::before,
    .page_why_us ul.dots li::before{
        inset: .55em auto auto 0;
        width: .85em;
        height: .85em;
    }

    .page_why_us .sec_benefits .img_slider{display: block;}
    .page_why_us .sec_benefits .img_slider li{width: auto;}
    .page_why_us .sec_benefits .img_slider .slick-list{margin: 0 -6px;overflow: visible;}
    .page_why_us .sec_benefits .img_slider .slick-slide{margin: 0 6px;}

    .page_why_us .sec_benefits .img_slider li figure figcaption{
        font-size: 18px;
        margin: 0.6em auto 0;
    }

    /* sec_growth ============ */
    .page_why_us .sec_growth .ttl_sec{
        flex-direction: column;
        margin: 0 0 4.125em;
    }
    .page_why_us .sec_growth .ttl_sec p{margin: 0 auto 40px;}

    .page_why_us .sec_growth .growth_cont section{
        flex-direction: column;
        padding: 0 0 60px;
        border-bottom: none;
    }
    .page_why_us .sec_growth .growth_cont section:nth-of-type(even){flex-direction: column;}
    .page_why_us .sec_growth .growth_cont section:last-of-type{padding-bottom: 0;border-bottom: none;}

    .page_why_us .sec_growth .growth_cont section > picture{
        width: 100vw;
        transform: translateX(-5%);
        margin: 0 auto 30px;
    }
    .page_why_us .sec_growth .growth_cont section > div{width: 100%;}

    .page_why_us .sec_growth .growth_cont section h3{
        text-align: left;
        margin: 0 0 .6em;
    }
    .page_why_us .sec_growth .growth_cont section > div p{font-size: 15px;}

    /* 募集要項ナビ */
    .page_recruit.page_product .contents_wrapper{padding-bottom: 80px;}

    .page_product nav ul{
        position: relative;
        z-index: 0;
    }
    .page_product nav ul::after{
        display: none;
        content: '';
        width: calc(50% - 0.5px);
        height: auto;
        background: #fff;
    }
    .page_product nav ul:has(> li:last-child:nth-child(odd))::after{display: inline-block;}
    .page_recruit.page_product nav ul li a{font-size: 14px;}
    .page_recruit.page_product nav ul li a span{font-size: 12px;}

    /* yahooショッピングバナー */
    .page_product nav .yahoo_banner{
        margin: 25px auto 60px;
        max-width: 450px;
    }

    /* table_description */
    .page_description .editor_contents h2:has(+ .table_description){margin: 80px 0 10px;}
    .editor_contents .table_description{
        --w: 111px;
        margin-top: 15px !important;
    }

    /* 職種紹介 ============ */
    .page_jobs .editor_contents h2{
        font-size: 18px;
        line-height: 2;
        text-align: left;
    }
    .page_jobs .editor_contents > *:first-child{margin: 0 auto 25px !important;}

    .page_jobs .editor_contents .bg_main{
        width: 100%;
        font-size: 15px;
        padding-inline: 5%;
        border-radius: 7px;
        line-height: 2.13;
    }

    .page_jobs .ac_trigger{
        position: relative;
        z-index: 0;
        font-weight: 700;
        font-size: 20px;
        line-height: 1.4;
        color: var(--themeColor);
        padding: .875em 20px .875em 2%;
        border-top: 1px solid #abadaf;
        border-bottom: 1px solid #abadaf;
        cursor: pointer;
    }
    .page_jobs .ac_trigger::before,
    .page_jobs .ac_trigger::after{
        position: absolute;
        z-index: 0;
        inset: 0 2% 0 auto;
        margin: auto;
        content: '';
        width: 14px;
        height: 3px;
        background: var(--themeColor);
        transition: .3s;
    }
    .page_jobs .ac_trigger::after{transform: rotate(90deg);}
    .page_jobs .ac_trigger.ac_open::after{transform: rotate(180deg);}

    .page_jobs .anc_list{
        flex-direction: column;
        justify-content: space-between;
        gap: 0;
        display: none;
    }
    .page_jobs .anc_list li{width: 100%;}
    .page_jobs .anc_list li a{
        font-size: 16px;
        padding: 8px;
    }
    .page_jobs .anc_list li a::after{
        width: 9px;
        height: 9px;
    }
    .page_jobs .anc_list li a:hover::after{transform: rotate(45deg);}

    .page_jobs .job_cont > section{
        margin: 30px auto 0;
        padding: 60px 0 0;
    }
    .page_jobs .job_cont > section > picture{
        inset: 80px -100% auto;
        min-width: 1050px;
        aspect-ratio: 1050 / 280;
    }

    .page_jobs .job_cont > section h2{
        font-size: 28px;
        margin: 0 0 30px;
    }
    .page_jobs .job_cont > section h2::before{font-size: 70px;}

    .page_jobs .job_cont > section .flex{flex-direction: column-reverse;}
    .page_jobs .job_cont > section .flex > div{
        width: 100%;
    }
    .page_jobs .job_cont > section .flex > div p{font-size: 15px;}
    .page_jobs .job_cont > section .flex > picture{
        width: 100%;
        transform: translateY(0);
        margin: 0 auto 35px;
    }

    .page_jobs .job_cont > section .work_ex:has(dd>dl){padding-bottom: 25px;}

    .page_jobs .job_cont > section .work_ex > dt{
        font-size: 16px;
        font-weight: 500;
    }
    /* ul */
    .page_jobs .job_cont > section .work_ex > dd > ul{
        flex-direction: column;
        row-gap: 0.8em;
    }

    /* dl */
    .page_jobs .job_cont > section .work_ex > dd > dl dt{
        font-size: 16px;
        margin: 0 0 0.3em;
    }

    /* 採用 扉ページ ================ */
    /* kv */
    body:has(.portal_recruit.page_recruit.page_sub) .kv_sub > .bg_area{
        min-height: 350px;
        padding-bottom: 90px;
    }
    body:has(.portal_recruit.page_recruit.page_sub) .kv_sub > picture{height: 350px;}

    body:has(.portal_recruit.page_recruit.page_sub) .kv_sub .ttl_cont .en{font-size: 48px;}
    body:has(.portal_recruit.page_recruit.page_sub) .kv_sub .ttl_cont .ja{font-size: 22px;}

    /* editor_contents */
    .portal_recruit .editor_contents{margin: 0 auto 35px;}
    .portal_recruit .editor_contents h2{
        font-size: 24px;
        line-height: 1.75;
        margin-bottom: 20px;
    }
    .portal_recruit .editor_contents p{
        font-size: 16px;
        text-align: left;
    }

    /* section - common */
    .portal_recruit section .recruit_balloon{
        min-width: 160px;
        font-size: 16px;
        padding-block: 1.1em;
    }

    .portal_recruit section .ttl_cont{margin-bottom: 28px;}
    .portal_recruit section .ttl_cont h2{font-size: 26px;}
    .portal_recruit section .ttl_cont h2:has(+.en){margin-bottom: 12px;}
    .portal_recruit section .ttl_cont .en{font-size: 20px;}
    .portal_recruit section .btn{margin: 40px auto 0;}
    .portal_recruit section .btn a{
        min-width: 175px;
        font-size: 15px;
        padding: 0.7em 1.8em 0.75em;
    }
    .portal_recruit section .btn a::before{
        width: 7px;
        height: 7px;
    }

    /* section - sec_why_us */
    .portal_recruit .sec_why_us{padding-bottom: 75px;}
    .portal_recruit .sec_why_us .flex{
        flex-direction: column-reverse;
    }
    .portal_recruit .sec_why_us .flex > div{
        --offset: -30px;
        position: relative;
        z-index: 1;
        top: var(--offset);
        margin-bottom: var(--offset);
        width: 100%;
    }
    .portal_recruit .sec_why_us .flex > figure{
        position: relative;
        z-index: 0;
        width: 100vw;
        max-width: 100vw;
        transform: translateX(-5%);

    }
    .portal_recruit .sec_why_us .flex > figure img{
        transform: scale(1);
        transform-origin: center;
    }

    /* section - sec_jobs */
    .portal_recruit .sec_jobs{padding: 0 0 100px;}
    .portal_recruit .sec_jobs::before,
    .portal_recruit .sec_jobs::after{
        height: 50px;
        background: url(../img/page/recruit/common/kv/breadcrumb_bg_sp.svg) no-repeat center top / cover;
    }

    .portal_recruit .sec_jobs .ttl_cont + p{
        font-size: 15px;
        text-align: left;
    }
    .portal_recruit .sec_jobs .job_list{
        --gap: 2.5%;
        gap: 8px var(--gap);
    }
    .portal_recruit .sec_jobs .job_list li{width: calc((100% - var(--gap)) / 2);}
    .portal_recruit .sec_jobs .job_list li p{
        font-size: 15px;
        padding: 0.3em 0.7em;
    }

    /* section - sec_interview */
    .portal_recruit .sec_interview{
        padding: 50px 0 100px;
    }
    .portal_recruit .sec_interview .int_list::before{
        inset: 0 -100% 12%;
        min-width: 690px;
        aspect-ratio: 690 / 190;
        background: url(../img/page/recruit/interview/message_bg_sp.png) no-repeat center / 100% 100%;
    }
    .portal_recruit .sec_interview .int_list .slick-list{
        overflow: visible;
    }
    .portal_recruit .sec_interview .int_list li{margin: 0 4vw;}
    .portal_recruit .sec_interview .int_list li .img_base{margin: 0 0 28px;}
    .portal_recruit .sec_interview .int_list li .img_base p{
        font-size: 14px;
        padding: 0.4em 1.3em;
    }

    .portal_recruit .sec_interview .int_list li .img_base + p{font-size: 16px;}

    /* slick - arrow */
    .portal_recruit .sec_interview .int_list .slick-arrow{
        z-index: 2;
        top: 48%;
        width: 36px;
        height: 36px;
        background: rgba(255, 255, 255, .8);
        border-radius: 50%;
        overflow: hidden;
    }
    .portal_recruit .sec_interview .int_list .slick-arrow::before{
        font-size: 0;
        width: 100%;
        height: 100%;
    }

    .portal_recruit .sec_interview .int_list .slick-prev{left: 5px;}
    .portal_recruit .sec_interview .int_list .slick-next{right: 5px;}
    .portal_recruit .sec_interview .int_list .slick-prev::before,
    .portal_recruit .sec_interview .int_list .slick-next::before{
        position: absolute;
        z-index: 1;
        inset: 0;
        margin: auto;
        content: '';
        width: 8px;
        height: 14px;
        background: url(../img/page/recruit/portal/arrow.png) no-repeat center / contain;
        opacity: 1;
    }
    .portal_recruit .sec_interview .int_list .slick-prev::before{
        transform: rotateY(180deg);
    }
    .portal_recruit .sec_interview .int_list .slick-next::before{}

    /* section - sec_description */
    .portal_recruit .sec_description a{padding: 80px 0;}
    .portal_recruit .sec_description a .inner .cont{padding-block: 40px 25px;}
    .portal_recruit .sec_description a .inner .cont .ttl_cont + p{font-size: 15px;}
}

/* -----------------------------------------------------------
interview - single
----------------------------------------------------------- */
@media screen and (max-width:768px) {
    /* kv */
    body:has(.single_interview.page_recruit.page_sub) .kv_sub > .bg_area{
        min-height: 360px;
        padding-bottom: 0;
    }
    body:has(.single_interview.page_recruit.page_sub) .kv_sub > picture{height: 360px;}

    .single_interview .kv_sub > picture img{object-position: top center;}
    .single_interview .kv_sub .ttl_cont .flex{
        flex-direction: column;
        align-items: flex-start;
    }
    .single_interview .kv_sub .ttl_cont .flex h1{
        font-size: 40px;
        line-height: 1.3;
        color: var(--mainColor);
    }
    .single_interview .kv_sub .ttl_cont .flex h1 span{font-size: 16px;}
    .single_interview .kv_sub .ttl_cont .flex p{margin: 0.7em 0 0;}
    .single_interview .kv_sub .ttl_cont .info{font-size: 15px;}

    /* common */
    .single_interview .contents_wrapper > section{padding: 60px 0;}
    .single_interview article section h2{
        font-size: 22px;
        margin: 0 0 1.5em;
    }
    .single_interview section .ttl p{font-size: 46px;}

    /* sec_qa */
    .single_interview .sec_qa h2::before{font-size: 46px;}
    .single_interview .sec_qa > .flex{flex-direction: column;}
    .single_interview .sec_qa > .flex > div{
        width: 100%;
    }
    .single_interview .sec_qa > .flex > figure{
        width: 100vw;
        max-width: 100vw;
        margin: 50px 0 0;
        transform: translateX(-5%);
        transform-origin: center;
    }

    .single_interview .sec_qa:not(.qa1) .inner > div{padding: 0;}

    .single_interview .sec_qa:not(.qa1) h2{margin-bottom: 0.55em;}
    .single_interview .sec_qa:not(.qa1) h2::before{
        position: static;
        margin: 0;
    }
    .single_interview .sec_qa:not(.qa1) .inner > div *:not(:last-child){margin-bottom: 20px;}

    .single_interview .sec_qa > .inner > div > .flex{flex-direction: column;}
    .single_interview .sec_qa > .inner > div > .flex figure{width: 100%;}

    /* is_horizontal */
    .single_interview .sec_qa > .inner > div > .flex.is_horizontal{flex-direction: column;}
    .single_interview .sec_qa > .inner > div > .flex.is_horizontal figure:not(:last-of-type){margin-bottom: 20px;}

    /* sec_schedule */
    .single_interview .sec_schedule{padding: 100px 0 !important;}
    .single_interview section:has(+.sec_schedule){padding-bottom: 30px;}
    .single_interview .sec_schedule + section{padding-top: 20px;}
    .single_interview .sec_schedule::before,
    .single_interview .sec_schedule::after{height: 60px;}

    .single_interview .sec_schedule .schedule_slider{padding: 0 0 40px;}
    .single_interview .sec_schedule .schedule_slider .slick-track{--gap: 25px;}
    .single_interview .sec_schedule .schedule_slider .slick-track > li{padding: 20px;}
    .single_interview .sec_schedule .schedule_slider .slick-track > li p{
        font-size: 16px;
        margin: 0 0 18px;
    }
    .single_interview .sec_schedule .schedule_slider .slick-track > li p::before{
        inset: 0 auto 0 -20px;
        width: 9px;
        height: 29px;
    }
    .single_interview .sec_schedule .schedule_slider .slick-track > li dt{
        font-size: 15px;
        margin: 0 0 10px;
    }
    .single_interview .sec_schedule .schedule_slider .slick-track > li dd{
        font-size: 14px;
        line-height: 1.85;
    }

    /* slick */
    .single_interview .sec_schedule .schedule_slider .slick-list{margin: 0 -12px;}
    .single_interview .sec_schedule .slick-arrow{display: none !important;}

    /* slick dots */
    .single_interview .sec_schedule .schedule_slider .slick-dots {bottom: 0;}

    /* sec_message */
    .single_interview .sec_message::before{
        inset: auto 0 0;
        height: 480px;
        background: url(../img/page/recruit/interview/message_bg_sp.png) no-repeat center / 100% 100%;
    }

    .single_interview .sec_message .ttl p{font-size: 46px;}
    .single_interview .sec_message .flex{
        flex-direction: column;
        align-items: center;
    }
    .single_interview .sec_message .flex > div{
        display: contents;
        width: 100%;
    }
    .single_interview .sec_message .flex > figure{
        width: 95%;
        max-width: 400px;
    }

    .single_interview .sec_message .flex > div > p{
        order: 1;
        padding: 40px 0 70px;
        font-size: 17px;
        line-height: 1.75;
    }

    .single_interview .btn.btn_back{margin-top: 70px;}

}

/* -----------------------------------------------------------
interview - archive
----------------------------------------------------------- */
@media screen and (max-width:768px) {
    .archive_interview .editor_contents h2{
        text-align: left;
        font-size: 18px;
        line-height: 2;
    }

    .archive_interview .int_list section::before{
        top: 20px;
        min-width: 375px;
        aspect-ratio: 375 / 300;
        background: url(../img/page/recruit/interview/archive_bg_sp.svg) no-repeat center / cover;
    }
    .archive_interview .int_list section:nth-of-type(even)::before{transform: translateY(0px) rotateY(0deg);}
    .archive_interview .int_list section:not(:last-of-type){margin: 0 0 90px;}
    .archive_interview .int_list section .flex{flex-direction: column;}
    .archive_interview .int_list section:nth-of-type(even) .flex{flex-direction: column;}
    .archive_interview .int_list section .flex > figure{
        width: 100%;
        margin: 0 auto 20px;
        max-width: 400px;
    }
    .archive_interview .int_list section .flex > div{
        display: contents;
        width: 100%;
    }

    .page_recruit .recruit_balloon{
        font-size: 18px;
        padding: .65em 2em;
        min-width: 230px;
    }
    .page_recruit .recruit_balloon::before{
        inset: calc(100% - 1px) 0 auto 20px;
        width: 14px;
        height: 12px;
    }

    .archive_interview .int_list section .flex > div .info{order: -1;}
    .archive_interview .int_list section .flex > div .info h2{
        font-size: 24px;
        margin: 0 auto 22px;
    }

    .archive_interview .int_list section .flex > div .copy{
        font-size: 20px;
        margin: 0 auto 40px;
    }
    .archive_interview .int_list section .flex > div .btn a{
        font-size: 15px;
        min-width: 200px;
    }
}


/* -----------------------------------------------------------
single
----------------------------------------------------------- */



/* -----------------------------------------------------------
archive
----------------------------------------------------------- */
