@charset "UTF-8";
/* -----------------------------------------------------------
cookie表記
----------------------------------------------------------- */
@media screen and (max-width:768px) {
    #cookie-notice .cookie-notice-container{
        display: block !important;
        padding: 30px 5% 10px !important;
    }
    #cookie-notice #cn-notice-text {width: 100%;}
    .cn-text-container, .cn-buttons-container {
        display: block !important;
        text-align: center !important;
    }
    #cookie-notice #cn-notice-buttons{margin: 5px auto 0 !important;}
    #cookie-notice .cn-button:not(.cn-button-custom) {margin: auto !important;}
    .cn-close-icon {
        right: 10px !important;
        top: 20px !important;
    }
}
/* ============================================== */
/*                    共通設定                    */
/* ============================================== */
@media screen and (max-width:768px) {
    :root{
        --headerHeight: 80px;
    }
    body{font-size: 14px;}
    html:has(.g_nav_language.is_active),
    body:has(.g_nav_language.is_active){overflow: hidden;}

    .inner{padding: 0 5%;}
    .home .sec_blur .inner,
    .home .bg_white > section .inner{padding: 0 8%;}
    a[href*=tel]{pointer-events: auto;}
    .pc_cont{display: none !important;}
    .sp_cont{display: block !important;}
}
@media screen and (min-width:769px) {
    body:has(.prod_modal.is_open){margin-right: 16px;}    
}

/* -----------------------------------------------------------
template
----------------------------------------------------------- */
/* ============================================== */
/*                    ヘッダー                    */
/* ============================================== */
@media screen and (max-width:1340px) {
    header{--w_logo: 110px;}
    header .c_name{font-size: 16px;}
    header .nav_pc > li a{font-size: 15px;}
    header .sub_menu{margin: 20px 0 0;}
    header > .flex {--w_txt: 150px;}
    header > .flex > div{width: 90%;}
    header .nav_pc{column-gap: 2%;}
}
@media screen and (max-width:1100px) {
    header > .flex{justify-content: flex-end;}
    header > .flex > div{width: 100%;}
    header .c_name{display: none;}
}
@media screen and (max-width:960px) {
    header .nav_pc,
    header .c_name,
    header .sub_menu .m_fb,
    header .sub_menu .m_search,
    header > .contact{display: none;}

    header{
        --w_logo: 57px;
        justify-content: space-between;
        padding: 12px 3.7%;
    }
    /* logo */
    header > .logo{
        width: var(--w_logo);
        height: 100%;
    }
    header > .logo a img{max-width: 57px;}
    /* flex */
    header > .flex{
        justify-content: flex-end;
        align-items: center;
        column-gap: 8px;
        width: calc(100% - var(--w_logo));
        border-left: none;
        padding: 0;
    }
    header > .flex > div{width: 50px;}
    /* sub menu */
    header .sub_menu{margin: 0;}
    header .sub_menu li{
        width: 100%;
        padding: 0 15px;
        padding: 0;
        border-right: none;
    }
    header .sub_menu .m_global{
        --icoW: 24px;
        width: var(--icoW);
        height: var(--icoW);
    }
    header .sub_menu .m_global p{font-size: 0;}
    header .sub_menu .m_global p::before{
        width: var(--icoW);
        height: var(--icoW);
    }
    header .sub_menu .m_global p::after{display: none;}
    header .sub_menu .m_global.is_hovered ul{display: none;}


}
/* ============================================== */
/*              ハンバーガーメニュー              */
/* ============================================== */
@media screen and (max-width:1510px) {
    header .g_nav .cat_name span:nth-of-type(1){font-size: 30px;}
    header .g_nav .cat_name span:nth-of-type(2){font-size: 23px;}
    header .g_nav .cat_top a{font-size: 18px;}

    /* header .g_nav ul{ */
    header .g_nav{--w: 290px;}
    header .g_nav .gnav_l{width: var(--w);}
    header .g_nav ul{
        padding-left: calc(var(--gnavGap) + min(3%, 50px));
        width: calc(100% - var(--w));
    }
    header .g_nav ul li a{font-size: 17px;}
}
@media screen and (max-width:1300px) {
    header .g_nav ul li a{font-size: 16px;}
    header .g_nav{--gnavGap: min(1vw, 20px);}
}
@media screen and (max-width:1200px) {
    header .g_nav ul li{width: calc((100% - (var(--gnavGap) * 2)) / 2);}
}
@media screen and (max-width:960px) {
    .ham {display: block;}
    /* ナビ */
    .sp_nav{
        position: absolute;
        z-index: 0;
        inset: var(--headerHeight) 0 auto;
        display: block;
        width: 100%;
        color: var(--txtColor);
        background: #fff;
        overflow-y: auto;
        height: 100lvh;
        max-height: calc(100lvh - var(--headerHeight));
        clip-path: inset(0 0 100%);
        transition: clip-path 0.5s;
    }
    .sp_nav .n_bottom{padding-bottom: 100px;}
    /* open */
    header .ham.open + .sp_nav{clip-path: inset(0);}
    /* common menu */
    .common_menu{font-size: 14px;}
    .common_menu .dir_col,
    .common_menu .dir_col > ul{
        display: contents;
    }
    .common_menu li > p,
    .common_menu li > ul > li{
        border-bottom: 1px solid var(--borderSpMenu);
    }
    .common_menu li > ul{display: none;}
    .common_menu li.dir_col > ul > li{border-bottom: none;}
    .common_menu > li p{
        position: relative;
        z-index: 0;
    }
    .common_menu > li p a{
        position: relative;
        z-index: 0;
        font-weight: 500;
    }
    .common_menu > li a{display: block;}
    .common_menu li > p + ul li a{
        position: relative;
        z-index: 0;
        padding-left: 2.6em;
    }
    /* ac_triiger */
    .common_menu > li .ac_trigger{
        position: absolute;
        z-index: 0;
        inset: -100% 2% -100% auto;
        margin: auto;
        display: block;
        content: '';
        width: 3em;
        height: 3em;
        cursor: pointer;
    }
    .common_menu > li .ac_trigger::before,
    .common_menu > li .ac_trigger::after{
        position: absolute;
        z-index: 0;
        inset: 0;
        margin: auto;
        content: '';
        width: 16px;
        height: 2px;
        background: var(--mainColor);
    }
    .common_menu > li .ac_trigger::before{
        transform: rotate(-90deg);
        transition: transform .3s;
    }
    .common_menu li > p + ul li a::before,
    .common_menu > li p:not(:has(.ac_trigger)) a::before,
    header .g_nav .g_nav_items > .g_nav_language dd a::before{
        position: absolute;
        z-index: 0;
        inset: 0 calc(2% + 18px) 0 auto;
        margin: auto;
        content: '';
        width: 8px;
        height: 8px;
        border-top: 2px solid var(--mainColor);
        border-right: 2px solid var(--mainColor);
        transform: rotate(45deg);
    }
    .common_menu > li .ac_open .ac_trigger::before{transform: rotate(0);}
    .common_menu > li > ul{transition: unset !important;}
    /* headerのみ */
    header .common_menu > li a{padding: .9em calc(5% + 2.5em) .9em 5%;}
    header .common_menu > li p{background: var(--bgSpHam);}
    header .common_menu > li p a{
        font-size: 15px;
        color: var(--mainColor);
    }
    header .common_menu > li p.contact{
        background: var(--accentColor);
        border-bottom: none;
    }
    header .common_menu > li p.contact a{
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        text-align: center;
        padding: 1.1em 1.5em;;
    }
    header .common_menu > li p:not(:has(.ac_trigger)).contact a::before{
        position: relative;
        inset: -1px auto auto;
        display: block;
        width: 20px;
        height: 14px;
        background: url(../img/common/ico/h_contact.svg) no-repeat center / contain;
        border: none;
        margin: 0 0.4em 0 0;
        transform: none;
    }
    header .common_menu .li_last p[data-from-submenu]{display: none;}
    header .n_bottom{padding: 18px;}
    header .n_bottom ul{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
    }
    header .n_bottom ul li{
        position: relative;
        z-index: 0;
        color: var(--mainColor);
        line-height: 1.5;
        padding: 0 1em;
    }
    header .n_bottom ul li:not(:last-of-type)::before{
        position: absolute;
        z-index: 0;
        inset: 1px 0 0 auto;
        margin: auto;
        content: '';
        width: 1px;
        height: 100%;
        background: currentColor;
    }
    header .n_bottom ul li a{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    header .n_bottom ul .m_global a::before{
        display: block;
        content: '';
        width: 16px;
        height: 16px;
        background: currentColor;
        -webkit-mask: url(../img/common/ico/h_global.svg) no-repeat center / contain;
                mask: url(../img/common/ico/h_global.svg) no-repeat center / contain;
        margin: 0 6px 0 0;
    }
    header .n_bottom ul .m_fb a::before{
        display: block;
        content: '';
        width: 21px;
        height: 21px;
        background: currentColor;
        -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;
        margin: 0 9px 0 0;
    }
    /* 検索欄 */
    header .g_nav .g_nav_items > div{
        width: 100%;
        padding: 0 5%;
        inset: 24px -100% auto;
    }
    header .g_nav .g_nav_items .g_nav_search{display: none;}
    header .sp_nav .form_cont{
        padding: 20px 5%;
        background: #f1f1f1;
        border-bottom: 1px solid var(--borderSpMenu);
    }
    header .sp_nav .form_cont .search_box input{
        width: 100%;
        background: #fff;
        height: 35px;
        font-size: 16px;
        padding: 4px 40px 4px 4px;
    }
    header .sp_nav .form_cont .search_box button{
        width: 35px;
        height: 35px;
    }
    header .search_box button span::before{
        width: 16px;
        height: 16px;
    }
    /* 言語切替 */
    header .g_nav .g_nav_items > .g_nav_language{
        inset: 0 -100% auto;
        padding: 0;
        display: block;
    }
    header .g_nav .g_nav_items > .g_nav_language dt,
    header .g_nav .g_nav_items > .g_nav_language dd{
        font-size: 15px;
        border-top: 1px solid #ccc;
    }
    header .g_nav .g_nav_items > .g_nav_language dt{
        padding: .5em 5%;
        font-weight: 700;
        color: var(--mainColor);
        background: #f1f1f1;
    }
    header .g_nav .g_nav_items > .g_nav_language dd a{
        position: relative;
        z-index: 0;
        display: block;
        padding-block: 1em;
        padding-inline: 5% 4em;
    }
    header .g_nav .g_nav_items > .g_nav_language dd:last-of-type{border-bottom: 1px solid #ccc;}
    header .g_nav .g_nav_items > .g_nav_language .close_btn{
        font-weight: 500;
        font-size: 15px;
        text-align: center;
        line-height: 1.4;
        cursor: pointer;
        padding: .8em 0;
        background: #f1f1f1;
        display: flex;
        justify-content: center;
        align-items: center;
        border-bottom: 1px solid #ccc;
    }
}


/* ============================================== */
/*                    フッター                    */
/* ============================================== */
@media screen and (max-width:960px) {
    /* page top */
    .pagetop{
        inset: auto 5% 20px auto;
        width: 30px;
        height: 30px;
    }
    /* footer */
    footer .f_top{padding: 25px 0 0;}
    footer .f_top .inner{padding: 0;}
    footer .f_top .flex{
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 30px 0;
    }
    footer .logo{margin: 0 auto;}
    footer .logo img{max-width: 120px;}
    footer .c_name{
        font-weight: 700;
        font-size: 16px;
        margin: -3px auto 16px;
    }
    footer address p{font-size: 13px;}
    footer address p:nth-of-type(1){margin: 0 auto 0.5em;}
    /* common menu */
    footer .common_menu{
        flex-direction: column;
        width: 100%;
        max-width: 100%;
        font-size: 14px;
        border-top: 1px solid var(--borderSpMenu);
    }
    footer .common_menu > li{
        position: relative;
        z-index: 0;
        width: 100%;
    }
    footer .common_menu{flex-direction: column;}
    footer .common_menu > li{width: 100%;}
    footer .common_menu > li p a,
    footer .common_menu li > p + ul li a{display: block;}
    footer .common_menu li > p + ul li a{padding-left: 3.4em;}

    footer .common_menu > li p a{font-weight: 500;}
    footer .common_menu > li.dir_col > ul >li:not(:last-of-type),
    footer .common_menu > li.li_last p:not(:last-of-type){margin-bottom: 0;}
    footer .common_menu > li a{padding: .9em 4em .9em 2em;}
    footer .common_menu > li .ac_trigger::before,
    footer .common_menu > li .ac_trigger::after{background: #fff;}
    footer .common_menu li > p + ul li a::before,
    footer .common_menu > li p:not(:has(.ac_trigger)) a::before{border-color: #fff;}
    footer .common_menu li > p + ul li a::before,
    footer .common_menu > li p:not(:has(.ac_trigger)) a::before{inset: 0 calc(2% + 18px) 0 auto;}
    footer .f_sub_menu{display: flex;}
    footer .f_copy{
        font-size: 10px;
        letter-spacing: 0;
        padding: 25px 5% 24px;
    }
}

/* -----------------------------------------------------------
common_parts
----------------------------------------------------------- */
@media screen and (max-width:768px) {
    /* contents_wrapper */
    .contents_wrapper{padding-block: 50px 80px;}
    /* kv_sub */
    .kv_sub{
        --breadcrumbOffset: 20px;
        padding: 0 0 var(--breadcrumbOffset);
    }
    .kv_sub .bg_area{
        min-height: calc(170px - 20px);/* min-height - padding-bottom */
        padding-block: 1em;
    }
    .kv_sub .ttl_cont .en{
        font-size: 12px;
        padding: 0 0 0 1em;
        margin: 0 0 7px;
    }
    .kv_sub .ttl_cont .en::before{
        inset: 0.35em auto auto 0;
        width: 10px;
        height: 8px;
    }
    .kv_sub .ttl_cont .ja{font-size: 26px;}
    /* kv_sub - portal */
    .kv_sub > picture{height: 160px;}
    main:not(.page_product) .kv_sub:has(picture) .bg_area{min-height: calc(168px - 20px);}/* min-height - padding-bottom */
    main:not(.page_product) .kv_sub:has(picture) .ttl_cont .en{
        font-size: 38px;
        margin: 0 0 4px;
    }
    main:not(.page_product) .kv_sub:has(picture) .ttl_cont .ja{
        font-size: 20px;
        padding: 0 0 0 1em;
    }
    main:not(.page_product) .kv_sub:has(picture) .ttl_cont .ja::before{
        inset: .45em auto auto 2px;
        width: 13px;
        height: 10px;
    }
    /* breadcrumb */
    .kv_sub .breadcrumb{inset: auto auto calc(var(--breadcrumbOffset) * 0.7  * -1) 5%;}
    .kv_sub .breadcrumb > span{font-size: 9px;}
    .kv_sub .breadcrumb > span:last-of-type{
        max-width: max(100px, 40vw);
    }
    .kv_sub .breadcrumb > span::before{inset: 0.2em -0.25em 0 auto;}
    .kv_sub .breadcrumb > span:nth-of-type(1) a::before{
        width: 7px;
        height: 7px;
    }
    /* .kv_sub .breadcrumb > span:nth-of-type(1) a::after{inset: auto auto 0px -1px;} */
    /* ボタン */
    .btn{}
    /* news list */
    .news_list > li a{
        --w_cat: 100px;
        --w_date: 90px;
        --gap: 1em;
        flex-wrap: wrap;
        font-size: 14px;
        padding: 22px 30px 16px 8px;
        min-height: 75px;
    }
    .news_list > li a::before{inset: 0 14px 0 auto;}
    .news_list > li a .n_cat{width: var(--w_cat);}
    .news_list > li a .n_cat li span{
        font-size: 12px;
        min-height: 24px;
        padding: 0.5em 1em;
    }
    .news_list > li a .n_txt{
        width: 100%;
        margin: 0.75em 0 0;
        -webkit-line-clamp: 5;
                line-clamp: 5;
    }
}
/* -----------------------------------------------------------
single
----------------------------------------------------------- */
@media screen and (max-width:768px) {
    /* post_info ============ */
    .single .post_info{margin: 0 auto 20px;}
    .single .post_info .n_cat li span{padding: 0.65em 1em 0.35em 1em;}
    .single .post_info .n_date{
        letter-spacing: 0.05em;
        margin: 0.3em 0 0;
    }
    .single .post_info h1{
        font-size: 22px;
        line-height: 1.45;
        margin: 1em 0 0;
        padding: 0 0 0.725em;
    }
    /* editor contents ============ */
    .single .editor_contents h2{
        font-size: 19px;
        padding: 0 0 10px;
        margin: 65px 0 45px;
    }
    .single .editor_contents h3{
        font-size: 17px;
        padding: 0.285em .7em;
        margin: 65px 0 25px;
    }
    .single .editor_contents h4{font-size: 16px;}
    .single .editor_contents h4::before{height: 100%;}
    .single .editor_contents h5{font-size: 16px;}
    /* btn back ============ */
    .btn.btn_back{margin: 50px auto 0;}
    .btn.btn_back a,
    .page_contact .smf-action .smf-button-control__control:has(button[data-action="back"]){
        font-size: 15px;
        font-weight: 500;
    }
}
/* -----------------------------------------------------------
archive
----------------------------------------------------------- */
@media screen and (max-width:768px) {
    /* kv ============ */
    .archive .kv_sub > picture img{object-position: 30% 50%;}
    .archive .kv_sub > picture::after{width: 50%;}
    /* cat_list ============ */
    .archive .cat_inner{margin: 0 auto 50px;}
    .archive .cat_inner .simplebar-scrollable-x .cat_list{padding: 0 0 16px;}
    .archive .cat_list{flex-wrap: nowrap;}
    .archive .simplebar-track.simplebar-horizontal,
    .archive .simplebar-scrollbar.simplebar-visible:before{height: 6px;}
        .archive .simplebar-track.simplebar-horizontal{
            background: #d7d7d7;
        }
    .archive .simplebar-scrollbar.simplebar-visible:before{
        inset: 0;
        border-radius: 0;
        opacity: 1;
        background: #828282;
    }
    /* news_list ============ */
    .archive .news_list > li a .n_cat{margin-right: 0;}
    .archive .news_list > li a .n_txt{width: 100%;}
    /* pagenation ============ */
    .archive .pagenation{margin: 30px auto 0;}
    .archive .pagenation .wp-pagenavi{gap: 10px 20px;}
    .archive .pagenation .wp-pagenavi > a,
    .archive .pagenation .wp-pagenavi > span{
        width: 32px;
        height: 30px;
        font-size: 13px;
        line-height: 28px;
        display: none;
    }
    .archive .pagenation .wp-pagenavi .pages,
    .archive .pagenation .wp-pagenavi a.previouspostslink,
    .archive .pagenation .wp-pagenavi a.nextpostslink{display: block;}
    .archive .pagenation .wp-pagenavi a.previouspostslink{order: 0;}
    .archive .pagenation .wp-pagenavi a.nextpostslink{order: 2;}
    .archive .pagenation .wp-pagenavi .pages{
        order: 1;
        border: none;
        width: fit-content;
    }
    .archive .pagenation .wp-pagenavi a.previouspostslink span::after{left: -1px;}
    .archive .pagenation .wp-pagenavi a.nextpostslink span::after{left: -3px;}
}
/* -----------------------------------------------------------
home
----------------------------------------------------------- */
@media screen and (max-width:1600px) {
    .home .bg_white .flex > figure{
        width: calc(100% - var(--w) - var(--gap) + min(8.75vw, 140px)) !important;
    }
}
@media screen and (max-width:1000px) {
    /* sec_news ============ */
    .home .sec_news{padding-bottom: 90px;}
    .home .sec_news .flex{flex-direction: column;}
    .home .sec_news .flex > div{
        display: contents;
        width: 100%;
    }
    .home .sec_news .btn{
        order: 2;
        margin: 30px auto 0;
    }
    .home .sec_news .btn a{min-width: 225px;}
    .home .sec_news .flex > .news_list{
        width: 100%;
        margin: 0 auto 25px;
    }
    .home .sec_news .banner_wrapper{
        margin: 70px auto 0;
        padding: 0 3%;
    }
    /* sec_blur common ============ */
    .home .sec_blur > figure img{transform: scale(1.05);}
    .home .sec_blur .flex{
        flex-direction: column-reverse;
        padding-block: 10vh 25vh;
    }
    .home .sec_blur .flex > div{
        width: 100%;
        margin: 18px auto 0;
    }
    .home .sec_blur .flex > *:not(p):nth-child(2){width: 100%;}
    .home .sec_blur .flex > div .btn{margin: 20px auto 0;}
    .home .bg_white .flex > div .btn{margin: 35px auto 0;}
    .home .sec_blur .flex > figure{
        aspect-ratio: 315 / 200;
        max-width: 100%;
        max-height: 100%;
    }
    .home .sec_blur .flex > figure img{
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    /* sec_blur company ============ */
    .home .sec_company > figure img{object-position: 65% 50%;}
}
@media screen and (max-width:768px) {
    /* KV ============ */
    .home .kv_home{
        height: calc(100svh - var(--headerHeight));
        min-height: 400px;
    }
    .home .kv_home::before{
        width: 150%;
        background: url(../img/page/home/kv_bg.png) no-repeat left bottom / 100% 100%;
    }
    .home .kv_home .flex{padding: 0 5% max(6.6vw, 25px);}
    .home .kv_home .ttl_cont .name{
        font-size: max(14.9vw, 56px);
        margin: 0 0 0.4em;
    }
    .home .kv_home .ttl_cont .desc{
        font-size: max(4.8vw, 18px);
        font-weight: 700;
    }
    /* section common ============ */
    .home article > section{padding: 70px 0;}
    .home section.txt_white *{
        --themeColor: #fff;
        color: #fff;
    }

    /* bg white */
    .home .bg_white > section{padding: 60px 0;}
    .home .bg_white .flex{
        flex-direction: column;
        row-gap: 24px;
    }
    .home .bg_white section:has(.flex > figure) .flex{flex-direction: column-reverse;}
    .home .bg_white .flex > div{width: 100%;}
    .home .bg_white .flex > *:not(p):nth-child(2){width: 100%;}
    .home .bg_white > section:has(.flex > figure){padding-top: 0;}
    .home .bg_white > section:has(+section .flex > figure){border-bottom: none;}
    .home .bg_white > section:has(.flex > figure) .flex{min-height: 1px;}
    .home .bg_white .flex > figure{
        position: relative;
        inset: auto;
        margin: auto;
        width: 100vw !important;
        max-width: 100vw;
        height: auto;
        transform: translateX(-8vw);
    }
    /* btn */
    .home section .btn{margin-inline: auto;}
    .home section .btn a{
        min-width: 230px;
        font-size: 17px;
    }
    /* ttl cont */
    .home section .ttl_cont{margin: 0 0 16px;}
    .home section .ttl_cont p{font-size: 30px;}
    .home section .ttl_cont h2{font-size: 20px;}
    .home section .ttl_cont + .desc{
        font-size: 15px;
        font-weight: 500;
    }

    /* sec_lead ============ */
    .home .sec_lead{padding: 100px 0 70px;}
    .home .sec_lead .flex{
        row-gap: 40px;
        padding-right: 5%;
        flex-direction: column-reverse;
    }
    .home .sec_lead .flex > div{width: 100%;}
    .home .sec_lead .flex > figure{width: 100%;}
    .home .sec_lead h2{
        font-size: 24px;
        margin: 0 0 .5em;
    }
    .home .sec_lead h2 + p{
        font-size: 15px;
        line-height: 2.2;
    }

    /* sec news ============ */
    .home .sec_news .banner_wrapper p{
        inset: min(-4vw, -15px) min(-4vw, -17px) auto auto;
        width: max(22.6vw, 85px);
        font-size: max(4vw, 15px);
    }
    /* sec product ============ */
    .home .bg_white > section.sec_product{padding-bottom: 100px;}
    .home .sec_product .sp_sort{
        display: flex;
        flex-direction: column;
    }
    .home .sec_product .ttl_cont{margin: 0 0 30px;}
    .home .sec_product .btn{order: 2;}
    .home .sec_product .flex{display: contents;}

    /* slider */
    .home .sec_product .product_slider{
        padding: 0 0 max(14.6vw, 55px);
        margin-bottom: 50px;
    }
    .home .sec_product .product_slider .slick-list{width: calc(100% + min(120px, 32vw));}
    .home .sec_product .product_slider::before{height: max(44vw, 165px);}
    .home .sec_product .product_slider li a::before{height: 45%;}
    .home .sec_product .product_slider li a p{
        font-size: max(3.734vw, 14px);
        line-height: 1.4;
    }
    .home .sec_product .product_slider li a p::before{
        width: max(2.134vw, 8px);
        height: max(2.134vw, 8px);
    }
    /* slick dots */
    .home .sec_product .product_slider .slick-dots {
        bottom: max(7.3vw, 27px);
        width: 100%;
    }
    /* slick arrow */
    .home .sec_product .product_slider .slick-arrow{display: none !important;}
    /* banner */
    .home .sec_product .product_banner{margin: 90px auto 0;}

    /* sec_group ============ */
    .home .bg_white .sec_group .inner{padding: 0 3%;}
    .home .bg_white .sec_group .ttl_cont{padding: 0 5%;}
    .home .bg_white .sec_group .flex{align-items: flex-start;}
    .home .bg_white .sec_group .flex > div{display: contents;}
    .home .bg_white .sec_group .flex > div .btn{order: 2;}
    .home .sec_group ul{
        --colGap: 1.7%;
        gap: 6px var(--colGap);
    }
    /* sec contact ============ */
    .home .bg_white > section.sec_contact{padding: 40px 0 70px;}
    .home .sec_contact a{
        min-height: 310px;
        background: url(../img/page/home/sec_contact_sp.jpg) no-repeat center / cover;
        padding: 20px;
    }
    .home .sec_contact a .ttl_cont p{
        font-size: 29px;
        margin: 0 0 0.2em;
    }
    .home .sec_contact a .ttl_cont p::before{
        width: 26px;
        height: 19px;
        margin: 0 9px 2px 0;
    }
    .home .sec_contact a .ttl_cont h2{font-size: 18px;}
    .home .sec_contact a .ttl_cont + .desc{font-size: 15px;}

    .home .sec_contact a .btn{
        font-size: 17px;
        min-width: 195px;
        margin: 40px auto 0;
    }
    .home .sec_contact a .btn span{color: #fff;}
}
/* -----------------------------------------------------------
portal
----------------------------------------------------------- */
@media screen and (max-width:768px) {
    /* portal A ============ */
    .portal_a .sub_list{flex-direction: column;}
    .portal_a .sub_list li{width: 100%;}
    .portal_a .sub_list li a figure{margin: 0 0 15px;}
    .portal_a .sub_list li a figure::before{
        width: 23px;
        height: 23px;
    }
    .portal_a .sub_list li a .ttl{
        font-weight: 700;
        font-size: 18px;
    }
    .portal_a .sub_list li a .ttl::after{
        width: 8px;
        height: 8px;
        transform: translateY(-3px) rotate(45deg);
    }
    /* portal B ============ */
    .portal_b .sub_list section:not(:last-of-type){margin: 0 0 90px;}
    .portal_b .sub_list section{
        display: flex;
        flex-direction: column;
        min-height: 1px;
        padding: 0;
    }
    .portal_b .sub_list section::before{display: none;}
    .portal_b .sub_list section picture{
        position: static;
        margin: auto;
        aspect-ratio: 540 / 250;
        overflow: hidden;
    }
    .portal_b .sub_list section picture img{object-position: right center;}
    .portal_b .sub_list section > div{
        width: 100%;
        padding: 2em 5% 0;
    }
    .portal_b .sub_list section .ttl p{margin: 0 0 0.5em;}
    .portal_b .sub_list section .ttl h2{font-size: 18px;}
    .portal_b .sub_list section .lead{
        font-size: 15px;
        margin: 0 0 1em;
    }
    .portal_b .sub_list section .txt{
        font-size: 14px;
        margin: 0 0 1.25em;
    }
    .portal_b .sub_list section .btn{margin: 0 auto;}
    .portal_b section .btn a{min-height: 48px;}
}
/* -----------------------------------------------------------
subpage
----------------------------------------------------------- */
/* editor contents ============ */
@media screen and (max-width:768px) {
    .editor_contents{
        --baseMargin: 50px;
    }
    /* SPでは約75%に縮小 */
    .editor_contents .mb_5  { margin-bottom: 4px !important; }
    .editor_contents .mb_10 { margin-bottom: 8px !important; }
    .editor_contents .mb_15 { margin-bottom: 12px !important; }
    .editor_contents .mb_20 { margin-bottom: 15px !important; }
    .editor_contents .mb_25 { margin-bottom: 18px !important; }
    .editor_contents .mb_30 { margin-bottom: 22px !important; }
    .editor_contents .mb_35 { margin-bottom: 26px !important; }
    .editor_contents .mb_40 { margin-bottom: 30px !important; }
    .editor_contents .mb_45 { margin-bottom: 34px !important; }
    .editor_contents .mb_50 { margin-bottom: 38px !important; }
    /* h2 */
    .editor_contents h2{
        font-size: 23px;
        padding: 24px 0 0;
        margin: 65px 0 45px;
    }
    .editor_contents h2::before,
    .editor_contents h2::after{
        position: absolute;
        inset: 0 auto auto 0;
        content: '';
        height: 5px;
    }
    .editor_contents h2::before{
        z-index: -1;
        width: 58px;
        background: var(--borderMain);
    }
    .editor_contents h2::after{
        z-index: 0;
        width: 30px;
        background: var(--themeColor);
    }
    /* h2 - no deco */
    .editor_contents h2.no_deco{margin-bottom: 35px;}
    /* h3 */
    .editor_contents h3,
    .editor_contents .h3_common{
        font-size: 18px;
        margin: 65px 0 25px;
        line-height: 1.67;
    }
    .editor_contents h3::before,
    .editor_contents .h3_common::before{height: 100%;}
    /* h4 */
    .editor_contents h4{
        font-size: 16px;
        padding: 0.6em 0;
        margin: 45px 0 25px;
    }
    /* h5 */
    .editor_contents h5{
        font-size: 16px;
        margin: 45px 0 25px;
    }
    /* テキスト */
    .editor_contents p.lead_philosophy{
        font-size: 16px;
        line-height: 2;
    }
    /* テキストリンク */
    .editor_contents p:not(.btn) a[target="_blank"]::after,
    .editor_contents p:not(.btn) a[href*=".pdf"]::after,
    .editor_contents p:not(.btn) a[href*=".doc"]::after,
    .editor_contents p:not(.btn) a[href*=".xl"]::after{
        margin: 0 0 0 0.5em;
        transform: translateY(.3em);
    }
    .editor_contents p:not(.btn) a[target="_blank"]::after{
        width: 19px;
        height: 17px;
    }
    .editor_contents p:not(.btn) a[href*=".pdf"]::after,
    .editor_contents p:not(.btn) a[href*=".doc"]::after,
    .editor_contents p:not(.btn) a[href*=".xl"]::after{
        width: 20px;
        height: 20px;
    }
    /* ボタンリンク */
    .editor_contents .btn{font-size: 16px;}
    .editor_contents .btn a[target="_blank"]::after{
        width: 19px;
        height: 17px;
    }
    .editor_contents .btn a[href*=".pdf"]::after,
    .editor_contents .btn a[href*=".doc"]::after,
    .editor_contents .btn a[href*=".xl"]::after{
        width: 20px;
        height: 20px;
    }
    /* 画像 */
    .editor_contents .wp-block-image figcaption{
        font-size: 14px;
        margin: 18px auto 0;
    }
    /* カラム */
    .editor_contents .wp-block-columns{
        gap: var(--baseMargin);
        flex-direction: column;
    }
    .editor_contents .wp-block-columns > div{width: 100%;}
    /* 枠囲みテキスト */
    .editor_contents .bg_main{padding: 18px 22px;}
    /* テーブル */
    .editor_contents .wp-block-table:not(.table_outline) table{
        width: 130%;
        min-width: 640px;
    }
    /* テーブル - 会社概要テーブル*/
    .editor_contents .wp-block-table.table_outline tr{
        position: relative;
        z-index: 0;
        display: flex;
        flex-direction: column;
        padding: .95em 0;
        min-height: 80px;
    }
    .editor_contents .wp-block-table.table_outline tr::before,
    .editor_contents .wp-block-table.table_outline tr:last-of-type::after{
        position: absolute;
        z-index: 0;
        left: 0;
        content: '';
        width: 60px;
        height: 1px;
        background: var(--mainColor);
    }
    .editor_contents .wp-block-table.table_outline tr::before{
        top: -1px;
    }
    .editor_contents .wp-block-table.table_outline tr::after{
        bottom: -1px;
    }
    .editor_contents .wp-block-table.table_outline td{
        padding-block: 0;
        min-height: 1px;
        width: 100% !important;
        line-height: 1.8;
    }
    .editor_contents .wp-block-table.table_outline td:nth-of-type(1){
        text-align: left;
        border: none;
        padding-inline: 1.285em;
        margin: 0 0 0.15em;
    }
    .editor_contents .wp-block-table.table_outline td:nth-of-type(2){
        padding-inline: 1.285em;
    }
    /* リスト */
    .editor_contents ul,
    .editor_contents ol{margin: 0 0 1.5em;}
    .editor_contents ul li,
    .editor_contents ol li{
        position: relative;
        z-index: 0;
        line-height: 1.5;
        padding: 0 0 0 1.15em;
        margin: 0 0 0.4em;
    }
    .editor_contents ul li::before,
    .editor_contents ol li::before{
        position: absolute;
        z-index: 0;
        left: 0;
    }
    /* リスト - ul */
    .editor_contents ul li::before{
        top: .43em;
        content: '';
        width: .75em;
        height: 0.75em;
        border-radius: 50%;
        background: var(--themeColor);
    }
    /* リスト - ol */
    .editor_contents ol{counter-reset: ol_num 0;}
    .editor_contents ol li:nth-of-type(n+10){padding-left: 1.7em;}
    .editor_contents ol li:nth-of-type(n+100){padding-left: 2.2em;}
    .editor_contents ol li::before{
        top: 0;
        counter-increment: ol_num 1;
        content: counter(ol_num) ".";
        color: var(--themeColor);
    }
    /* リスト - group list*/
    .editor_contents .group_list{
        flex-direction: column;
        gap: 40px var(--gap);
    }
    .editor_contents .group_list li{width: 100%;}
    .editor_contents .group_list li > figure{margin: 0 0 20px;}
    .editor_contents .group_list li > dl > dt{
        font-size: max(4vw, 23px);
        margin: 0 0 15px;
    }
    .editor_contents .group_list li dd dl > div{flex-direction: column;}
    .editor_contents .group_list li dd dt{
        width: fit-content;
        font-feature-settings: "halt";
    }
    .editor_contents .group_list li dd dd{width: 100%;}
}
/* ============
事業案内
============*/
@media screen and (max-width:1200px) and (min-width:769px) {
    .page_3minutes .sec_where > section{
        --txt_w: 45%;
        --gap: 4%;
    }
    .page_3minutes .sec_where > section > .inner::before{
        top: 0 !important;
        bottom: 0 !important;
        margin: auto;
    }
}
@media screen and (max-width:900px) {
    /* sec_why */
    .page_3minutes .sec_why{padding: 80px 0 0;}
    .page_3minutes .sec_why .bg_white{padding: 90px 0 60px;}
    .page_3minutes .sec_why .bg_white::before{height: 55px;}

    .page_3minutes .sec_why .bg_white .flex{flex-direction: column;}
    .page_3minutes .sec_why .bg_white .flex .txt_cont{width: 100%;}
    .page_3minutes .sec_why .bg_white h2{
        font-size: 30px;
        line-height: 1.8;
    }
    .page_3minutes .sec_why .bg_white h2 + p{
        font-size: 16px;
        line-height: 2;
    }
    .page_3minutes .sec_why .bg_white .flex ul{
        --gap: 5.45%;
        width: 100%;
        justify-content: center;
        gap: 30px var(--gap);
        margin: 45px auto 0;
    }
    .page_3minutes .sec_why .bg_white .flex ul li{
        --shape: 7px;
        width: calc((100% - var(--gap)) / 2);
        padding: 10px;
    }
    .page_3minutes .sec_why .bg_white .flex ul li::before{inset: -27px 0 auto;}
    .page_3minutes .sec_why .bg_white .flex ul li dl dt{
        font-size: clamp(14px, 3vw, 24px);
        margin: 0 auto 0.4em;
    }
    .page_3minutes .sec_why .bg_white .flex ul li dl dd{font-size: clamp(11px, 2.2vw, 16px);}
}
@media screen and (max-width:768px) {
    /* about_cont ============ */
    .page_about .about_cont > section{
        flex-direction: column;
        align-items: initial;
        padding: 0;
        margin: 0 0 45px;
    }
    .page_about .about_cont > section:not(:last-of-type){border-bottom: none;}
    .page_about .about_cont > section > figure,
    .page_about .about_cont > section > div{width: 100%;}
    .page_about .about_cont > section > div{display: contents;}
    .page_about .about_cont > section > figure{
        order: 0;
        margin: 0 0 1.5em;
    }
    .page_about .about_cont > section > div h3{order: -1;}

    .page_about .about_cont > section > div .bg_main + p{margin: 10px 0 0;}
    .page_about .about_cont > section > div .bg_main + p a::before{
        width: 7px;
        height: 7px;
    }

    /* 3分でわかるRyoka ============ */
    /* KV */
    .page_3minutes .kv_sub .bg_area{min-height: 420px;}
    .page_3minutes .kv_sub .ttl_cont{width: 66%;}
    /* KV - slide */
    .page_3minutes .kv_sub .slide_cont .cat_list{margin: 0 0 10px;}
    .page_3minutes .kv_sub .slide_cont ul{
        column-gap: 15px;
        font-size: 32px;
        line-height: 48px;
    }

    /* section共通 */
    .page_3minutes section h2{
        font-size: 30px;
        line-height: 1.75;
    }

    /* sec_what */
    .page_3minutes .sec_what{padding: 100px 0 40px;}
    .page_3minutes .sec_what h2 + p{
        font-size: 16px;
        line-height: 2;
        text-align: left;
    }
    .page_3minutes .sec_what .product_slide{margin: 40px 0 0;}
    .page_3minutes .sec_what .product_slide > div{
        width: 400vw;
        column-gap: 0;
        animation: productMarquee 15s linear infinite;    
    }
    @keyframes updown{
        0%  {transform:translateY(0);}
        50% {transform:translateY(-12px);}
        100%{transform:translateY(0);}
    }
    @keyframes downup{
        0%  {transform:translateY(0);}
        50% {transform:translateY(12px);}
        100%{transform:translateY(0);}
    }

    /* sec_where */
    .page_3minutes .sec_where{padding: 40px 0 0;}
    .page_3minutes .sec_where > section{padding: 75px 0;}
    .page_3minutes .sec_where > section::after{display: none;}
    .page_3minutes .sec_where > section > .inner{
        flex-direction: column !important;
        align-items: flex-start;
        padding-block: 34px;
        clip-path: none !important;
    }

    .page_3minutes .sec_where > section > .inner::before{
        position: relative !important;
        width: 380px;
        height: 278px;
        margin: 0 auto 1.2em;
    }
    .page_3minutes .sec_where > section:nth-of-type(odd) > .inner::before{inset: auto -3% auto auto;}
    .page_3minutes .sec_where > section:nth-of-type(even) > .inner::before{inset: auto auto auto -14%;}
    .page_3minutes .sec_where > section > .inner::after{height: 60px;}

    /* txt cont */
    .page_3minutes .sec_where section .txt_cont{width: 100%;}
    .page_3minutes .sec_where section .h3_cont{
        text-align: left;
        margin: 0 auto 15px;
    }
    .page_3minutes .sec_where section .h3_cont p,
    .page_3minutes .sec_where section .h3_cont h3 span:nth-of-type(1){
        inset: auto 0 calc(100% + 272px);
        line-height: 130px;
        width: fit-content;
        min-width: 185px;
    }
    .page_3minutes .sec_where section .h3_cont p{font-size: 140px;}
    .page_3minutes .sec_where section .h3_cont h3 span:nth-of-type(1){font-size: 19px;}
    .page_3minutes .sec_where section .h3_cont h3 span:nth-of-type(2){
        font-size: 30px;
        padding: 0 0 0 1.5em;
    }
    .page_3minutes .sec_where section .h3_cont h3 span:nth-of-type(2)::before{inset: .25em auto auto 0;}
    .page_3minutes .sec_where section:nth-of-type(odd) .h3_cont p,
    .page_3minutes .sec_where section:nth-of-type(odd) .h3_cont h3 span:nth-of-type(1){left: 0;right: auto;}
    .page_3minutes .sec_where section:nth-of-type(even) .h3_cont p,
    .page_3minutes .sec_where section:nth-of-type(even) .h3_cont h3 span:nth-of-type(1){left: auto;right: 0;}

    /* sec_number */
    .page_3minutes .sec_number{
        padding: calc((375 / 55) * 1.6vw) 0 100px;
    }
    .page_3minutes .sec_number::before{
        aspect-ratio: 375 / 55;
        background: url(../img/page/business/3minutes/sec04_arrow_sp.svg) no-repeat center / 100% auto;
    }
    .page_3minutes .sec_number h2{
        margin: 75px auto 65px;
        padding: 0 0 95px;
    }
    .page_3minutes .sec_number h2::before{
        width: 230px;
        height: 74px;
    }

    .page_3minutes .sec_number .num_list{
        --gap: 45px;
        flex-direction: column;
        gap: var(--gap) 0;
    }
    .page_3minutes .sec_number .num_list li{
        width: 100%;
        padding: 50px 35px 35px;
    }
    .page_3minutes .sec_number .num_list li .ttl{font-size: 20px;}
    .page_3minutes .sec_number .num_list li .ttl::before{
        width: 68px;
        height: 57px;
    }
    .page_3minutes .sec_number .num_list li .ttl span{font-size: 14px;}
    .page_3minutes .sec_number .num_list li .nums span{font-size: 24px;}
    .page_3minutes .sec_number .num_list li .nums .num{font-size: 72px;}
    .page_3minutes .sec_number .num_list li .flex:has(>.nums){
        justify-content: center;
        column-gap: 8%;
    }
    .page_3minutes .sec_number .num_list li .nums.fz_s span{font-size: 14px;}
    .page_3minutes .sec_number .num_list li .nums.fz_s .num{font-size: 42px;}

    /* sec_more */
    .page_3minutes .sec_more{padding: 75px 0 100px;}
    .page_3minutes .sec_more h2{margin: 0 auto 40px;}
    .page_3minutes .sec_more .more_list{
        --gap: 45px;
        flex-direction: column;
        row-gap: var(--gap);
        max-width: 550px;
        margin: 0 auto;
    }
    .page_3minutes .sec_more .more_list li{width: 100%;}
    .page_3minutes .sec_more .more_list li figure{margin: 0 auto 1em;}
    .page_3minutes .sec_more .more_list li p{font-size: 20px;}
}
/* ============
製品案内
============*/
/* tab */
@media screen and (max-width:1000px) {
    .page_product .flex{
        --w: 200px;
        --gap: min(30px, 1.875vw);
    }
    .page_product .sec_other ul li a{padding-right: 30%;}
    .page_product .sec_other ul li a::before{width: 90%;}
    .page_product nav ul li a br.pc_cont{display: none !important;}
}
@media screen and (max-width:768px) {
    /* 下層 ============ */
    /* KV */
    .page_product .kv_sub{--bcH: 35px;}
    .page_product .kv_sub .ttl_cont .ja{font-size: 22px;}
    /* flex */
    .page_product .flex{flex-direction: column;}
    /* menu */
    .page_product nav{
        position: static;
        width: 100%;
    }
    .page_product nav ul{
        display: flex;
        flex-wrap: wrap;
        gap: 1px;
        background: var(--borderMain);
        border: 1px solid var(--borderMain);
    }
    .page_product nav ul{margin: 0 0 40px;}
    .page_product nav ul li{
        width: calc(50% - 0.5px);
        border: none;
        background: #fff;
    }
    .page_product nav ul li:last-of-type{border: none;}
    .page_product nav ul li a{
        font-size: 13px;
        padding: 1em 2em 1em .5em;
        color: var(--mainColor);
    }
    .page_product nav ul li a::before{
        inset: 0 1em 0 auto;
        width: 9px;
        height: 9px;
        border-right: 2px solid currentColor;
        border-bottom: 2px solid currentColor;
        transform: rotate(45deg);
        background: transparent;
        opacity: 1;
        visibility: visible;
    }
    /* cont */
    .page_product .cont{width: 100%;}
    .page_product .cont section section:not(:last-of-type){margin: 0 0 40px;}
    .page_product .cont h2{
        font-size: 21px;
        margin: 60px 0 20px;
    }
    .page_product .cont h3{
        font-size: 17px;
        margin: 20px 0 15px;
    }
    .page_product .cont h4{margin: 15px 0;}
    .page_product .cont h2 + figure{
        margin: 20px 0;
        aspect-ratio: 16 / 9;
    }
    .page_product .cont figure img{
        height: 100%;
        object-fit: cover;
    }
    .page_product .cont .cap{font-size: 13px;}
    /* bg_list */
    .page_product .cont .bg_list{
        flex-direction: column;
        gap: 12px;
    }
    .page_product .cont ul.bg_list li{
        width: 100%;
        border-radius: 8px;
    }
    /* related_company */
    .page_product .cont .related_company{gap: 12px 5%;}
    /* prod_list */
    .page_product .cont .prod_list{justify-content: space-between;}
    .page_product .cont .prod_list li{width: 49%;}
    /* prod_list -modal */
    .page_product + .prod_modal .modal_inner{width: 90%;}
    /* other_cont */
    .page_product .cont .other_cont > section{
        align-items: flex-start;
        flex-direction: column;
    }
    .page_product .cont .other_cont > section > div{
        display: contents;
        width: 100%;
    }
    .page_product .cont .other_cont > section > div h3{
        order: -1;
        font-size: 17px;
        margin: 0 0 1em;
    }
    .page_product .cont .other_cont > section > div p{order: 1;}
    .page_product .cont .other_cont > section > figure{
        order: 0;
        width: 100%;
        margin: 0 0 1em;
    }
    /* sec_other */
    .page_product .sec_other{
        padding: 50px 0 80px;
        margin: 50px 0 0;
    }
    .page_product .sec_other h2{
        font-size: 23px;
        margin: 0 0 30px;
    }
    .page_product .sec_other ul{
        flex-direction: column;
        gap: 15px;
    }
    .page_product .sec_other ul li{width: 100%;}
    .page_product .sec_other ul li a{
        padding: 1.875em 40% 1.875em 1.375em;
        min-height: 120px;
    }
    .page_product .sec_other ul li a::before{width: 85%;}

}


/* ============
会社案内
============*/
@media screen and (max-width:768px) {
    /* 沿革 ============ */
    .page_history .history_list{
        --offset: 11px;
        padding: calc(60px - var(--offset)) 0 10px;
    }
    .page_history .history_list::before{
        inset: 0 auto 0 calc(5.1vw + 34px);
        width: 5px;
    }
    .page_history .history_list > div{
        --w: 75px;
        --mb: 30px;
        width: 100%;
        min-height: calc(85px - var(--mb));
        height: fit-content;
        margin: 0 0 var(--mb);
    }
    .page_history .history_list > div:nth-of-type(odd){
        margin-inline: auto 0;
        flex-direction: row;
    }
    .page_history .history_list > div::before{inset: 27px auto auto 0;}
    .page_history .history_list > div > dt{
        font-size: 23px;
        padding: 4px 4px 2px 4px;
        min-height: 32px;
        margin-top: var(--offset);
    }
    .page_history .history_list > div.miraiwood > dd{max-width: 90%;}
    .page_history .history_list > div:nth-of-type(odd) > dd{
        padding-inline: 1em 0;
        text-align: right;
    }
    .page_history .history_list > div dd dt{
        font-size: 16px;
        padding: 0 0 .4em;
        margin: 0 0 .3em;
    }
    .page_history .history_list > div:nth-of-type(odd) dd dd figure{margin-inline: auto 0;}
    .page_history .history_list > div dd dd figure{
        margin-top: 15px;
        width: 90%;
    }
    .page_history .history_list > div dd dd p{line-height: 1.6;}

    /* 　　 ============ */
}

/* ============
サステナビリティ
============*/
@media screen and (max-width:768px) {
    /* TOP ============ */
    .page_sustainability .kv_sub > picture img{object-position: 10% 50%;}
    .page_sustainability .inner > section > h2{
        margin: 85px 0 30px;
        text-align: left;
    }
    .page_sustainability .inner > section > h2 + p{
        font-size: 14x;
        line-height: 1.8;
    }
    /* anc list */
    .page_sustainability .anc_list{flex-direction: column;}
    .page_sustainability .anc_list li{
        width: 100%;
        border-left: none;
        border-top: 1px solid var(--themeColor);
        transform: skewX(0);
    }
    .page_sustainability .anc_list li:last-of-type{
        border-right: none;
        border-bottom: 1px solid var(--themeColor);
    }
    .page_sustainability .anc_list li a{
        display: flex;
        justify-content: flex-start;
        align-items: center;
        transform: skewX(0);
        padding: 1.9em 2.5em 1.9em 0;
        text-align: left;
    }    
    .page_sustainability .anc_list li a::before{
        font-size: 16px;
        font-weight: 500;
        margin: 0 .5em 0 0;
    }
    .page_sustainability .anc_list li a::after{inset: 0 1em 0 auto;}
    .page_sustainability .anc_list li a span{font-size: 16px;}
    .page_sustainability .anc_list li a:hover::after{bottom: 0;}
    /* section common */
    .page_sustainability .sus_policy > section{margin: 60px 0 0;}
    .page_sustainability .sus_policy > section .sus_ttl{margin: 0 0 20px;}
    .page_sustainability .sus_policy > section .sus_ttl p{
        font-weight: 500;
        font-size: 16px;
    }
    .page_sustainability .sus_policy > section .sus_ttl h3{margin: 15px 0 0;}
    .page_sustainability .sus_policy > section .sus_ttl h3 span{font-weight: 500;}
    .page_sustainability .sus_policy > section picture{margin: 0 0 25px;}
    .page_sustainability .sus_policy > section ul li{
        padding: 0 0 0 0.8em;
        word-break: normal;
    }
    /* case */
    .page_sustainability .sus_policy .case{margin: 25 0 0;}
    .page_sustainability .sus_policy .case h4{
        font-size: 16px;
        padding: 1em 1.25em;
    }
    .page_sustainability .sus_policy .case dl{padding: 1.5em calc(1.25em * 1.125);}
    .page_sustainability .sus_policy .case dl dt{
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .page_sustainability .sus_policy .case dl dt::before{display: none;}
    .page_sustainability .sus_policy .case dl dd{
        width: 100%;
        margin-bottom: .7em;
    }
    .page_sustainability .sus_policy .case dl dd:last-of-type{margin-bottom: 0;}
}

/* ============
採用
============*/
@media screen and (max-width:768px) {
    /* TOP ============ */
    .page_recruit .editor_contents h2{margin: 50px 0 40px;}
    .page_recruit .editor_contents h3{margin: 40px 0 25px;}
    /* スライダー */
    .page_recruit .slider_area{
        margin: 80px 0 0;
        padding: 50px 0;
    }
    .page_recruit .slider_area .recruit_slider{margin: 25px auto 0;}
    .page_recruit .slider_area .recruit_slider li p{
        font-size: 18px;
        margin: 0.7em auto 0;
    }
    /* slick */
    .page_recruit .slider_area .recruit_slider .slick-arrow{display: none !important;}

    /* cta */
    .page_recruit .cta_entry{padding: 50px 0 0;}
    .page_recruit .cta_entry .ttl{margin: 0 auto 20px;}
    .page_recruit .cta_entry .ttl p{font-size: 21px;}
    .page_recruit .cta_entry .ttl h2{font-size: 23px;}
    .page_recruit .cta_entry .ttl + p{
        margin: 0 auto 40px;
        line-height: 1.8;
    }
    .page_recruit .cta_entry ul{
        flex-direction: column;
        row-gap: 30px;
        max-width: 280px;
    }
    .page_recruit .cta_entry ul li{width: 100%;}
    /* 　　 ============ */
}

/* ============
お問い合わせ
============*/
@media screen and (max-width:768px) {
    /* ベース ============ */
    .page_contact .snow-monkey-form{margin: 45px auto 0;}
    /* 行 */
    .page_contact .smf-form--simple-table .smf-item{padding: 16px 3% 26px;}
    /* ラベル */
    .page_contact .smf-form--simple-table .smf-item__col--label{
        width: 100%;
        padding: 0;
        margin: 0 0 0.2em;
    }
    .page_contact .smf-form--simple-table .smf-item__col--controls{width: 100%}
    /* 項目 */
    .page_contact .smf-form .smf-text-control__control,
    .page_contact .smf-form .smf-select-control__control,
    .page_contact .smf-form .smf-textarea-control__control{
        padding: .5rem .75em;
        min-height: 40px;
    }
    .page_contact .smf-form .smf-text-control__control[name="adrs_zip"],
    .page_contact .smf-form .smf-select-control:has(.smf-select-control__control[name="adrs_prefecture"]),
    .page_contact .smf-form .smf-select-control .smf-select-control__control[name="adrs_prefecture"]{
        max-width: 100%;
    }
    .page_contact .smf-item__controls .wp-block-columns{row-gap: 10px;}
    /* 電話番号 */
    .page_contact .wp-block-columns:has(input[type="tel"]){
        flex-direction: row;
        align-items: center !important;
    }
    .page_contact .wp-block-columns.is-not-stacked-on-mobile:has(input[type="tel"]) > .wp-block-column{
        max-width: 31.3% !important;
    }
    /* 住所 */
    .page_contact .smf-form--simple-table .smf-item.address .smf-item__controls > div:not(:last-of-type){margin: 0 0 15px;}
    .page_contact .smf-form--simple-table .smf-item.address .smf-item__controls > div:first-of-type{margin: 0 0 10px;}
    /* お問い合わせ項目 */
    .page_contact .smf-form .smf-checkboxes-control__control{padding: 0.8em 0 0;}
    .page_contact .smf-form .smf-checkboxes-control__control .h_contact{font-size: 15px;}
    .page_contact .smf-form .smf-checkboxes-control__control > *:first-child{margin-top: 0 !important;}
    .page_contact .smf-form .smf-checkboxes-control__control > *:last-child{margin-bottom: 0 !important;}

    .page_contact .check_cont .smf-checkboxes-control--horizontal .smf-checkboxes-control__control>.smf-label{display: block;}
    .page_contact .privacy_box .smf-checkbox-control,
    .page_contact .check_cont .smf-checkbox-control{padding-left: 1.75em;}
    .page_contact .privacy_box .smf-checkbox-control::before,
    .page_contact .privacy_box .smf-checkbox-control::after,
    .page_contact .check_cont .smf-checkbox-control::before,
    .page_contact .check_cont .smf-checkbox-control::after{
        inset: 5px auto auto 0;
    }
    .page_contact .privacy_box ul li::before{
        top: 0.7em;
        width: 3px;
        height: 3px;
    }

    /* 同意する ============ */
    .page_contact form .privacy_box{
        margin: 0 0 1.875em;
        padding: 45px 0 0;
    }
    .page_contact form .privacy_box .smf-checkboxes-control__control{padding: 0;}
    .page_contact .privacy_box .smf-checkbox-control{
        font-size: 16px;
        font-weight: 500;
    }
    .page_contact .privacy_box .smf-checkbox-control::before,
    .page_contact .privacy_box .smf-checkbox-control::after{top: 8px;}

    /* ============
    サイトマップ
    ============*/
    .page_sitemap .columns.sitemap {display: block;}
    .page_sitemap .columns.sitemap > .item {
        width: 100%;
        padding-right: 0;
    }
    .page_sitemap .columns.sitemap > .item:nth-child(2) {margin-bottom: 0;}
    .page_sitemap .columns.sitemap > .item .top {margin: 55px 0 20px;}
    .page_sitemap .columns.sitemap > .item .top:first-child {margin-top: 55px;}
    .page_sitemap .columns.sitemap > .item .top .en {font-size: 30px;}
    .page_sitemap .columns.sitemap > .item .top .jp {font-size: 12px;}
    .page_sitemap .columns.sitemap > .item ul li {margin: 0 0 8px;}
    .page_sitemap .columns.sitemap > .item ul li::before {top: 0.70em;}
}
