@charset "UTF-8";
/* ============================================== */
/*                    共通設定                    */
/* ============================================== */
@media screen and (max-width:850px) {
    :root{
        --headerHeight: 70px;
    }
    body{font-size: 16px;}
    .inner{padding: 0 5%;}
    a[href*=tel]{pointer-events: auto;}
}

@media screen and (max-width:850px) {
    .pc_cont{display: none !important;}
    .sp_cont{display: block !important;}
    .flex{flex-direction: column;}
}
/* -----------------------------------------------------------
template
----------------------------------------------------------- */
@media screen and (max-width:850px) {
    .sec_crosslink{margin-top: 20px;}
    .home{margin-bottom: 20px;}
}
/* ============================================== */
/*                    ヘッダー                    */
/* ============================================== */
@media screen and (min-width:851px) and (max-width:890px) {
    header .btn a{
        min-width: 315px;
        padding: .3em 1em;
    }
}
@media screen and (max-width:850px) {
    header{padding: 0 3%;}
    header .flex{
        position: relative;
        z-index: 0;
        flex-direction: row;
    }
    header .flex::before{
        position: absolute;
        z-index: 40;
        inset: 0 auto auto 0;
        content: '';
        width: 100vw;
        height: var(--headerHeight);
        background: #fff;
        clip-path: inset(0 0 100%);
        display: none;
        transition: 0.4s;
    }
    header:has(.ham.open) .flex::before{display: block;clip-path: inset(0);transition: 0s;}
    header .logo{width: 120px;}
    header .logo + p{width: 120px;}
    header > .flex .h_left{
        column-gap: 15px;
        justify-content: flex-start;
    }
    header > .flex .h_right{right: 3%;}
    header nav .btn{
        min-width: 280px;
        width: 70%;
        max-width: 70%;
    }
    header .btn a{
        width: 100%;
        min-width: 1px;
    }
}
/* ============================================== */
/*              ハンバーガーメニュー              */
/* ============================================== */
@media screen and (max-width:850px) {
    .ham {
        width: 48px;
        height: 48px;
    }
    .ham span,
    .ham::before,
    .ham::after {
        width: 17px;
    }
}
/* ============================================== */
/*                    nav                    */
/* ============================================== */
@media screen and (max-width:850px) {
    nav{
        width: 100vw;
        height: fit-content;
        padding: var(--headerHeight) 5% 60px;
        overflow-y: scroll;
        max-height: 100vh;
    }
    nav ul li{width: 100%;}
    nav ul li::after{
        width: 36px;
        height: 36px;
    }
    nav ul li a{
        font-size: 18px;
        padding: 10px 65px 10px 41px;
        min-height: 72px;
        line-height: 1.4;
    }
    nav ul li a span span{display: inline-block;}
    nav ul li a::before,
    nav ul li a::after{
        right: 10px;
        width: 2.16em;
    }
    nav .btn{margin: 30px auto 0;}
}

/* ============================================== */
/*                    ページ回遊                    */
/* ============================================== */
@media screen and (max-width:850px) {
    .sec_crosslink{padding: 40px 0 38px;}
    .sec_crosslink h2{font-size: 25px;}
    .sec_crosslink .flex{
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 30px 20px;
        max-width: 480px;
        margin: 0 auto;
    }
    .sec_crosslink .flex li{
        width: calc(50% - 10px);
        max-width: 50%;
    }
    .sec_crosslink .flex li a{padding: 0 0 45px;}
    .sec_crosslink .flex li a::before,
    .sec_crosslink .flex li a::after{
        width: 55px;
        height: auto;
        aspect-ratio: 73 / 48;
    }
    .sec_crosslink .flex li a picture{margin: 0 auto 10px;}
    .sec_crosslink .flex li a p{
        line-height: 1.4;
        word-break: auto-phrase;
    }
}
/* ============================================== */
/*                    フッター                    */
/* ============================================== */
@media screen and (max-width:850px) {
    footer{padding: 50px 0 60px;}
    footer .logo{
        max-width: 150px;
        margin: 0 auto 20px;
    }
    footer p{font-size: 11px;}
}
/* -----------------------------------------------------------
common_parts
----------------------------------------------------------- */
@media screen and (max-width:850px) {
    /* KV */
    .sub.sub_eat .kv .bg{background-image: url(../img/common/cross_eat.png);}
    .sub.sub_what .kv .bg{background-image: url(../img/common/cross_what.png);}
    .sub.sub_use .kv .bg{background-image: url(../img/common/cross_use.png);}
    .sub.sub_model .kv .bg{background-image: url(../img/common/cross_introduce.png);}
    .sub .kv{height: 335px;}
    .sub .kv .inner{padding: 0 4%;}
    .sub .kv h1{
        font-size: 32px;
        text-align: center;
        line-height: 1.6;
    }
    .sub .kv h1::before{
        width: 68px;
        height: 68px;
        margin-bottom: .1em;
    }
    /* ボタン */
    .btn_intro a{
        min-width: auto;
        word-break: auto-phrase;
        padding-inline: 25px 36px !important;
        column-gap: 10px;
        min-height: 70px;
    }
    /* 背景付き ============================================*/
    .bg_round h2,
    .bg_round h3,
    .bg_round_wrapper h2,
    .bg_round_wrapper h3{font-size: 20px;}
    .bg_round > div,
    .bg_round_wrapper > * > div{padding: 0 20px 20px;}
    /* .bg_round_wrapper > * > div{padding: 0 20px 20px 35px;} */
    .bg_round > div:has(.prod_cont){padding: 20px 20px 25px;}
    /* wrapper */
    .bg_round_wrapper > li{
        display: flex;
        flex-direction: column;
        padding: 56px 20px 20px 20px;
    }
    .bg_round_wrapper > li >span,
    .bg_round_wrapper > li::before{
        width: 50px;
        height: 45px;
        font-size: 26px;
    }
    .bg_round_wrapper > li > .flex{display: contents;}
    .bg_round_wrapper > li p{order: -1;}
    .bg_round_wrapper > li > .flex picture{order: 2;}
    .bg_round_wrapper > li figure,
    .bg_round_wrapper > li picture{
        width: 100%;
        max-width: 480px;
        height: auto;
        margin: 10px auto 0;
    }
    .bg_round_wrapper > li .caption{margin-top: 10px;}
    .bg_round .flex > figure,
    .bg_round .flex > picture,
    .editor_contents > .inner > .flex > figure,
    .editor_contents > .inner > .flex > picture{
        width: 100%;
        max-width: 480px;
        margin: 10px auto 0;
    }
    .editor_contents > .inner > .flex > *:not(figure):not(picture){
        width: 100%;
        max-width: 100%;
    }
    /* 2列ver */
    .bg_round_wrapper.flex.col2 li{
        width: 100% !important;
        max-width: 100% !important;
    }
    .bg_round_wrapper.flex.col2 li p:not(:has(+ .btn)),
    .bg_round_wrapper.flex.col2 li p{min-height: 2.5em;}
    /* 製品紹介 ============================================*/
    .prod_cont{
        gap: 0;
        width: 100%;
        padding-inline: 0 !important;
        justify-content: center !important;
        gap: 15px;
        max-width: 600px;
    }
    .prod_cont:not(:last-of-type){
        border: none;
        border-bottom: 1px solid #a6cde8;
        padding-bottom: 25px;
    }
    .prod_cont:last-of-type{padding-top: 25px;}
    .prod_cont picture{
        width: 45%;
        aspect-ratio: 1 / 1;
    }
    .prod_cont:nth-of-type(2) picture{max-width: 155px;}
    .prod_cont:nth-of-type(2) picture img{
        max-width: 90px;
        margin: 0 auto;
    }
    .prod_cont h4 span:nth-of-type(1){font-size: 15px;}
    .prod_cont h4 span:nth-of-type(2){font-size: 19px;}
    .prod_cont p{font-size: 15px;}
    /* FAQアコーディオンパネル ============================================*/
    .ac_wrapper dl dt,
    .ac_wrapper dl dd{padding-left: 45px;}
    .ac_wrapper dl dt{
        font-size: 17px;
        padding-right: 40px;
    }
    .ac_wrapper dl dd{font-size: 15px;}
    .ac_wrapper dl dt span,
    .ac_wrapper dl dd span{font-size: 21px;}
    .ac_wrapper dl dt span{top: 0.48em;}
    .ac_wrapper dl dd span{top: 0.8em;}
    .ac_wrapper dl dt::before,
    .ac_wrapper dl dt::after{
        inset: 23px 13px auto auto;
        width: 17px;
    }

    /* Youtube埋め込み ============================================*/
    .youtube_cont + p{word-break: auto-phrase;}
}


/* -----------------------------------------------------------
subpage
----------------------------------------------------------- */
@media screen and (max-width:850px) {
    .editor_contents{padding: 50px 0 60px;}
    .editor_contents h2{
        font-size: 25px;
        padding-top: 2.15em;
    }
    .editor_contents h2::before{
        font-size: 22px;
        padding: 5px 0 0;
    }
    .editor_contents .inner > h3{font-size: 22px;}
    .editor_contents h3 span{
        display: inline-block;
        font-size: 17px;
    }
}
/* ============================================== */
/*                  いろいろな精米                 */
/* ============================================== */
@media screen and (max-width:850px) {
    .sub.sub_what .figure_cont{max-width: 550px;}
    .sub.sub_what .seimai_flow{
        max-width: 500px;
        width: 75%;
        margin: 0 auto;
    }
    .sub.sub_what .umami_g > .flex > div{padding-top: 0;}
    .sub.sub_what .bg_round > div{padding-top: 30px;}
    .sub.sub_what .bg_round_wrapper{padding-left: 0;}
    .sub.sub_what .bg_round_wrapper.sticky{padding-left: 60px;}
    .sub.sub_what .bg_round_wrapper > figure{
        width: 40px;
        height: 390px;
        transform: translateX(-60px);
    }
    .sub.sub_what .bg_round_wrapper .uma_genmai{margin-top: -390px;}
    .sub.sub_what .bg_round_wrapper.sticky + hr,
    .sub.sub_what .bg_round_wrapper.sticky + hr + h3{
        max-width: 100%;
        margin-inline: 0 auto;
    }
    .sub.sub_what .bg_round_wrapper > section > div{
        flex-direction: column;
        align-items: flex-start;
    }
    .sub.sub_what .bg_round_wrapper > section div p{max-width: 100%;}
    .sub.sub_what .bg_wht{
        flex-direction: column;
        margin: 0 auto;
    }
    /* buduki */
    .sub.sub_what .buduki .bdk_desc{flex-direction: column;}
    .sub.sub_what .buduki .bdk_desc .flex{padding-inline: 0 !important;}
    .sub.sub_what .buduki .bdk_desc .flex:nth-of-type(1){
        padding-bottom: 20px;
        margin-bottom: 20px;
        border: 0;
        border-bottom: 1px solid var(--bdkColor);
    }
    .sub.sub_what .buduki .bdk_desc dl{width: 100%;}
    .sub.sub_what .bg_round_wrapper > section div picture{margin-inline: auto;}
    /* about seimai */
    .sub.sub_what .bg_round .about_seimai{
        margin: 0 auto;
        padding-top: 5px;
    }
    .sub.sub_what .bg_round .about_seimai .btn a{
        position: relative;
        z-index: 0;
        padding: .6em 2em .6em 1.1em;
    }
    .sub.sub_what .bg_round .about_seimai .btn a::after{
        position: absolute;
        z-index: 0;
        inset: 0 10px 0 auto;
        margin: auto;
    }
    .sub.sub_what .bg_round .about_seimai figure{
        max-width: 500px;
        margin: 0 auto 25px;
    }
    /* sec_umami */
    .sub.sub_what .sec_umami > .flex > picture{
        order: -1;
        margin: 0 auto 15px;
    }
    .sub.sub_what .sec_umami .nutrition{margin: 0;}
}
/* ============================================== */
/*                 設置機のご案内                 /
/* ============================================== */
@media screen and (max-width:1000px) {
    .tb_base > figure{
        width: 100%;
        max-height: calc(100svh - 90px);
        overflow-x: scroll;
        overflow-y: scroll;
        padding-bottom: 15px;
        padding-right: 5px;
    }
    .tb_base table{
        width: 260%;
        max-width: 1200px;
    }
    .tb_base table thead tr{
        position: sticky;
        z-index: 6;
        top: 0;
    }
    .tb_base table thead th:first-of-type,
    .tb_base table tbody th:first-of-type{width: 90px;}
    .tb_base table tr > *:nth-child(1){
        position: sticky;
        z-index: 5;
        left: 3px;
    }
    .tb_base table tbody th{padding: 10px 0;}
    .tb_base table thead th,
    .tb_base table tbody th p{font-size: 14px;}
    .tb_base table tbody th figure figcaption{font-size: 15px;}
    .tb_base table thead tr th{
        position: relative;
        z-index: 0;
    }
    .tb_base table tr th:first-of-type::before,
    .tb_base table tr th:first-of-type::after,
    .tb_base table thead tr th::before,
    .tb_base table thead tr th::after{
        position: absolute;
        z-index: 0;
        content: '';
        background: #fff;
    }
    .tb_base table tr th:first-of-type::before,
    .tb_base table tr th:first-of-type::after,
    .tb_base table thead tr th::after{height: 100%;}
    .tb_base table tbody th figure{max-width: 78px;margin: 0 auto;}
    .tb_base table tbody th figure figcaption,
    .tb_base table tbody th p{margin: 0.3em auto 0;}
    .tb_base table tbody th:not(:has(figure)){height: 130px;}
    .tb_base table tbody td:last-of-type{font-size: 15px;}
    /* あしらい */
    .tb_base table tr th:first-of-type::before{
        inset: 0 auto auto -10px;
        width: 10px;
    }
    .tb_base table tr th:first-of-type::after,
    .tb_base table thead tr th::after{
        inset:0 -5px auto auto;
        width: 5px;
    }
    .tb_base table thead tr th::before{
        inset: auto auto -5px 0;
        width: calc(100% + 5px);
        height: 5px;
    }
    .tb_base table thead tr th:nth-of-type(2)::before{
        inset: auto -5px -5px auto;
        width: calc(100% + 90px + 10px);/* 1セル + 見出しセル + 枠線*2本 */
    }
    .tb_base table tbody tr th span{
        position: absolute;
        z-index: 5;
        inset: auto auto 0 0;
        content: '';
        width: 126px;
        height: 1px;
        background: #b3b3b3;
    }
    /* simplebar */
        .tb_base .simplebar-track.simplebar-horizontal,
    .tb_base .simplebar-scrollbar.simplebar-visible:before{border-radius: 3px;}
    .tb_base .simplebar-track.simplebar-horizontal{background: #ececec;}
    .tb_base .simplebar-scrollbar.simplebar-visible:before{
        opacity: 1;
        background: #aaa;
    }
}
@media screen and (max-width:547px) {
    .sub.sub_model h3 span{display: block;margin: 0;}
}
/* ============================================== */
/*                  使い方                 */
/* ============================================== */
@media screen and (max-width:850px) {
    .sub.sub_use .bg_round_wrapper.flex.col2 picture{aspect-ratio: auto;}
}
/* ============================================== */
/*                設置場所のご案内                 */
/* ============================================== */
@media screen and (max-width:1200px) and (min-width:851px) {
    .sub_intro + .sec_crosslink .flex{
        flex-wrap: wrap;
        row-gap: 30px;
        justify-content: center;
        max-width: 960px;
        margin: 0 auto;
    }
    .sub_intro + .sec_crosslink .flex li{}

}
@media screen and (max-width:850px) {
    .sub.sub_intro h1{line-height: 1.3;}
    .sub.sub_intro h2 + .center{text-align: left;}
    .sub.sub_intro .kv h1::before{margin-bottom: 0.3em;}
    .sub.sub_intro .how_to_use > div{
        max-width: 100% !important;
        word-break: break-all;
    }
    .sub.sub_intro .bg_round .flex{padding-top: 20px;}
    .sub.sub_intro .bg_round .flex > figure{margin-top: 0;}
    .sub.sub_intro .bg_round .flex > div p{padding-top: 0;}
}
/* -----------------------------------------------------------
home
----------------------------------------------------------- */
/* ============================================== */
@media screen and (max-width:850px) {
    .home .kv,
    .home .kv .kv_cont{
        aspect-ratio: 335 / 449;
        margin: 0 auto 40px;
    }
}
@media screen and (max-width:960px) {
    /* sub links */
    .home .sub_links ul{
        gap: 25px 0;
        justify-content: center;
    }
    .home .sub_links ul li{
        width: 100%;
        border-radius: 0 12px 12px 12px;
    }
    .home .sub_links ul:not(:last-of-type){margin-bottom: 25px;}
    .home .sub_links ul:nth-of-type(2) li a{
        min-height: 80px;
        padding: .5em 90px .5em 20px;
        column-gap: 8px;
        border-radius: 20px;
    }
    .home .sub_links ul:nth-of-type(2) li:nth-of-type(1) a{font-size: 24px;}
    .home .sub_links ul:nth-of-type(2) li:nth-of-type(2) a{
        font-size: 20px;
        line-height: 1.4;
    }
    .home .sub_links ul:nth-of-type(2) li a::before{
        width: 34px;
        height: 34px;
    }
    .home .sub_links ul li h2 span{
    font-size: 20px;
    padding-left: 46px;
    }
    .home .sub_links ul li h2 span::before{
        width: 34px;
        height: 34px;
    }
    .home .sub_links ul li::before,
    .home .sub_links ul li::after{
        width: 60px;
        height: 40px;
    }
}

/* -----------------------------------------------------------
print
----------------------------------------------------------- */
@media print {
    /* 共通設定 */
    @-moz-document url-prefix() {
        @page {
            size: A4;
            margin: 12.7mm 9.7mm
        }
        body {
            width: 100%
        }
    }
    @supports (-ms-ime-align:auto) {
        body {
            zoom: 1.8;
            width: 1200px
        }
    }
    body {
        zoom: .68;
        -webkit-print-color-adjust: exact
    }
    /* コンテンツ */
    header > .flex .h_right{position: static;}
}
@media print and (-ms-high-contrast:none) {
  @page {
    size: A4;
    margin: 12.7mm 9.7mm
  }
  body {
    zoom: 1.8;
    width: 1200px;
    transform: scale(.5);
    transform-origin: 0 0
  }
}