/*
Theme Name: お届け料理NAGOMIホームページ
Theme URI:
Description:
Author:
Tags:
Version: 1.0.0
*/

@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New&display=swap');

body{
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    color: #262626;
    background: #f3f1e9;
    overflow-x: hidden;
    overflow-x: clip;
    /* overflow: hidden; */
}
.zen{
    font-family: "Zen Kaku Gothic New", sans-serif;
}
img{
    width: 100%;
}
@media (min-width: 768px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}
/* ヘッダー */
.site-header{
    width:100%;
    position:relative;
    z-index:999;
    position: sticky;
    top: 0;
    z-index: 999;
    background: #f3f1e9;
}
.header-inner{
    padding-left: 3%;
    padding-right: 3%;
    margin:auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    position: relative;
    height: 74px;
}
.header-logo a{
    max-width: 133px;
    width: 100%;
    display: block;
}

/* PC右側*/
.header-right{
    display:flex;
    flex-direction:column;
}
.header-top{
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
/* PCナビ*/
.nav-list{
    display: flex;
    align-items: center;
    list-style: none;
    gap: 22px;
}
.nav-list li.pc_nav-item:first-child {
    border-left: none;
}
.nav-list li{
    position:relative;
}
a.pc_nav-item_link{
    display: block;
    font-size: clamp(14px, 1.67vw, 15px);
    font-weight: 600;
    transition: 0.5s;
}
a.pc_nav-item_link:hover{
    opacity: .5;
}
/* ======================
dropdown
====================== */
.sub-menu{
    position:absolute;
    top:100%;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    width:220px;
    background:#fff;
    list-style:none;
    box-shadow:0 8px 20px rgba(0,0,0,0.08);
    opacity:0;
    visibility:hidden;
    /* transform:translateY(10px); */
    transition:0.3s;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: clamp(15px, 1.5vw, 16px);
    font-weight: 500;
    gap: 23px;
    padding: 25px 0;
    border-radius: 4px;
}
.sub-menu li a{
    transition: 0.5s;
} 
.sub-menu li a:hover{
    color: #890b06;
}
.has-child:hover .sub-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    left: 50%;
    transform: translateX(-50%) translateY(10px);
}

/* ハンバーガー*/
.hamburger{
    width: 47px;
    height: 47px;
    border:none;
    border-radius: 50%;
    background: #262626;
    position:relative;
    cursor:pointer;
    z-index:1001;
}
.hamburger span{
    position: absolute;
    left: 13px;
    width: 23px;
    height: 1px;
    background: #fff;
    transition: 0.35s ease;
}
.hamburger span:nth-child(1){
    top: 15px;
}
.hamburger span:nth-child(2){
    top:23px;
}
.hamburger span:nth-child(3){
    top:31px;
}
/* 開いた時（×になる） */
.hamburger.active span:nth-child(1){
    transform: rotate(25deg);
    top: 23px;
}
.hamburger.active span:nth-child(2){
    opacity:0;
}
.hamburger.active span:nth-child(3){
    transform: rotate(-25deg);
    top: 23px;
}

/*開いた時のメニュー */
body.menu-open{
  overflow:hidden;
  height:100vh;
}
.menu-nav{
    display:flex;
    justify-content:center;
    align-items:center;
    overflow-y:auto;
    opacity:0;
    visibility:hidden;
    transition:0.4s ease;
    z-index:999;
    position:fixed;
    left:0;
    width:100%;
    height:calc(100vh - 80px);
    height: 100vh;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
    background:#EDE5D5;
    overflow-y:auto;
    opacity:0;
    visibility:hidden;
    transition:0.4s ease;
    z-index:999;
    padding: 74px 5% 60px;
}
.menu-nav_logo{
    position: absolute;
    top: 20px;
    max-width: 133px;
    width: 100%;
    display: block;
}
.menu-nav.active{
  opacity:1;
  visibility:visible;
}
.hamburger.active{
    position: fixed;
    top: 14px;
    right: 3%;
}
.hamburger{
    z-index:1001;
}
.menu-nav_item{
    border-bottom: solid 1px #999999;
    font-size: clamp(18px, 4.7vw, 26px);
    font-weight: 400;
    letter-spacing: 1.3px;
    transition: 0.5s;
    margin-top: 5%;
}
.menu-nav_item a{
    padding: 15px 0;
    transition: 0.5s;
}
.menu-nav_item a:hover{
    opacity: .6;
}
.sp-dropdown a{
    font-size: clamp(15px, 4.7vw, 24px);
    font-weight: 300;
    letter-spacing: 1.3px;
    transition: 0.5s;
}
.sp-dropdown a:hover{
    color: #890b06;
}
.menu-nav ul.sp-dropdown{
    width: auto;
    padding-left: 30px;
    padding-top: 20px;
    padding-bottom: 10px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}

@media screen and (max-width:1024px){
  .header-inner{
    justify-content: end;
  }
  .header-logo img{
    max-height:46px;
  }
  .header-right{
    display:none;
  }
  .hamburger{
    display:block;
    margin-right: 10px;
  }
}
@media screen and (max-width:480px){
    .header-inner {
        height: 65px;
    }
    .site-header {
        height: 65px;
    }
    .hamburger {
        width: 42px;
        height: 42px;
    }
    .hamburger span {
        left: 11px;
        width: 20px;
    }
    .hamburger span:nth-child(1) {
        top: 13px;
    }
    .hamburger span:nth-child(2) {
        top: 21px;
    }
    .hamburger span:nth-child(3) {
        top: 29px;
    }
    .hamburger.active span:nth-child(1) {
        top: 20px;
    }
    .hamburger.active span:nth-child(3) {
        top: 20px;
    }
    .header-logo a {
        max-width: 104px;
    }
}
/* メインビジュアル */
.swiper-slide{
     padding:0;
    /* padding: 0 3%; */
    /* height: 87vh; */
}
 .mvSwiper{
    overflow:visible;
}
.mv .swiper {
    overflow: visible;
    height: 82vh;
}
.mv_link{
    display:block;
    position:relative;
}
.mv_link a img{
    transition: .8s;
}
.mv_link a:hover img{
    transform: scale(1.05);
}
.mv_image{
    overflow:hidden;
}
.auspicius .mv_image{
    border:2px solid #ba6227;
}
.local_events .mv_image{
    border:2px solid #426b2a;
}
.meeting .mv_image{
    border:2px solid #2a5d82;
}
.memorial .mv_image{
    border:2px solid #73537f;
}
.mv_image img{
    width:100%;
    display:block;
    aspect-ratio:16/9;
    object-fit:cover;
    transition:.5s;
    height: 82vh;
}
.mv_content{
    position: absolute;
    left: 40px;
    top: 40px;
    z-index: 2;
}
.nagomi_mv_text_left small{
    font-size: clamp(12px, 1.3vw, 15px);
    font-weight: 600;
    transform: rotate(180deg);
    transform-origin: center top;
    position: absolute; 
}
.nagomi_mv_text_right small{
    font-size: clamp(12px, 1.3vw, 15px);
    font-weight: 500;
}

.auspicius.nagomi_mv_text_left,.auspicius.nagomi_mv_text_right{
    color: #ba6227;
}
.local_events.nagomi_mv_text_left,.local_events.nagomi_mv_text_right{
    color: #426b2a;
}
.meeting.nagomi_mv_text_left,.meeting.nagomi_mv_text_right{
    color: #2a5d82;
}
.memorial.nagomi_mv_text_left,.memorial.nagomi_mv_text_right{
    color: #73537f;
}
.mv_label{
    display: inline-block;
    font-size:clamp(13px, 1.07vw, 15px);
    font-weight: 600;
    background:#f3f1e9;
    padding:5px 10px;
    margin-bottom:14px;
}
.auspicius .mv_label{
    color: #ba6227;
}
.local_events .mv_label{
    color: #426b2a;
}
.meeting .mv_label{
    color: #2a5d82;
}
.memorial .mv_label{
    color: #73537f;
}
.mv_title{
    color: #f3f1e9;
    font-size: clamp(24px, 2.77vw, 30px);
    font-weight: 400;
    /* padding: 10px 18px; */
    display: inline;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
    line-height: normal;
}
.mv_title .mv_title_ob01{
    padding: 4px 18px 10px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;   
}
.mv_title .mv_title_ob02{
    padding: 0px 18px 4px;
    line-height: 0 !important;   
}
.auspicius .mv_title .mv_title_ob01,.auspicius .mv_title .mv_title_ob02{
    background:#b56a2f;
}
.local_events .mv_title .mv_title_ob01,.local_events .mv_title .mv_title_ob02{
    background:#426b2a;
}
.meeting .mv_title .mv_title_ob01,.meeting .mv_title .mv_title_ob02{
    background:#2a5d82;
}
.memorial .mv_title .mv_title_ob01{
    background:#73537f;
}
.mv_scene{
    position: absolute;
    right: -10px;
    bottom: -148px;
    overflow: hidden;
}
/* 円形 */
.circle-wrap{
    position: relative;
    width: 320px;
    height: 320px;
    margin: 0 auto;
}
.circle-image{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width: 215px;
    height: 215px;
    border-radius:50%;
    overflow:hidden;
}
.auspicius .circle-image{
    border: solid 1px #ba6227;
}
.local_events .circle-image{
    border: 1px solid #426b2a;
}
.meeting .circle-image{
    border: 1px solid #2a5d82;
}
.memorial .circle-image{
    border: 1px solid #73537f;
}
.circle-image img{
    width:100%;
    height:100%;
    object-fit:cover;
}
.circle-text{
    width:100%;
    height:100%;
    animation:rotateText 20s linear infinite;
}
.circle-text text{
    fill:#fff;
    font-size: 22px;
    font-family: "Hanken Grotesk", sans-seri;
    font-weight: 600;
}
.mv_inner{
    padding:0 3%;
}
.nagomi_mv_text_left {
    position: absolute;
    top: 50%;
    left: -0.3%;
    transform: translate(1vw, -50%);
    writing-mode: vertical-lr;
    letter-spacing: 0.1em;
}

.nagomi_mv_text_right {
    position: absolute;
    top: 50%;
    right: -0.3%;
    transform: translate(-1vw, -50%);
    writing-mode: vertical-lr;
    letter-spacing: 0.1em;
}
.swiper-slide{
    position:relative;
    overflow:visible;
}
.mv{
    /* margin-bottom: -2%; */
    position: relative;
    height: 87vh;
}
.top-main_news_link{
    position: absolute;
    bottom: 7.3%;
    right: 13px;
    z-index: 10;
    padding-right: 3%;
}
.top-main_news_btn{
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(243, 241, 233, 0.95);
    /* border: solid 1px rgba(243, 241, 233, 0.95); */
    padding: 7px 15px 10px;
    gap: 5px;
    min-width: 283px;
    border-radius: 50px;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1);
    width: 100%;
    transition: .4s;
}
.top-main_news_btn:hover {
   background: rgba(243, 241, 233);
   background: #fff;  
   /* border: solid 1px #73537f; */
}
.top-main_news_arrow img{
    max-width: 12px;
}
.top-main_news_arrow{
    display: inline-flex;
}
.top-main_news_text_box{
    letter-spacing: 0.05em;
}
.top-main_news_sub{
    font-size: 13px;
    font-weight: 400;
    color: #73537f;
    margin-bottom: 6px;
    display: inline-block;
    font-weight: 500;
}
.top-main_news_sub::before {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    margin-right: 4px;
    border-radius: 50%;
    background-color: #73537fd1;
    vertical-align: middle;
    flex-shrink: 0;
}
.top-main_news_text{
    font-size: 15px;
    font-weight: 500;
    padding-left: 15px;
}
@keyframes rotateText{
  from{
    transform:rotate(0deg);
  }
  to{
    transform:rotate(360deg);
  }
}
.mv_image .sp{
    display: none;
}
@media screen and (max-width: 768px){
    
    .swiper-slide{
        height: inherit;
    }
    .nagomi_mv_text_left small {
        font-size: clamp(8px, 1.4vw, 12px);
    }
    .nagomi_mv_text_right small {
        font-size: clamp(8px, 1.4vw, 12px);
    }
    .mv_image img {
        aspect-ratio: 13 / 16;
        height: inherit;
    }
    .mv {
        height: inherit;
    }
    .mv_title {
        font-size: clamp(22px, 3.97vw, 28px);
    }
    .mv_label {
        font-size: clamp(11px, 2.57vw, 14px);
        margin-bottom: 10px;
    }
    .mv_content {
        left: clamp(12px, 2.87vw, 30px);
        top: clamp(12px, 2.87vw, 30px);
    }
    .nagomi_mv_text_right {
        right: -1%;
    }
    .top-main_news_btn {
        min-width: 227px;
        padding: 5px 15px 10px;
    }
    .top-main_news_sub {
        font-size: clamp(12px, 2.57vw, 13px);
    }
    .top-main_news_text {
        font-size: clamp(13px, 2.87vw, 14px);
        padding-left: 13px;
    }
    .mv_image .sp{
        display: block;
    }
    .mv_title .mv_title_ob01 {
        padding: 3px 18px 6px;
    }
    .mv_image .pc{
        display: none;
    }
    .top-main_news_arrow {
        margin-top: 3px;
    }
    .mv .swiper {
        height: auto;
    }
}
@media screen and (max-width: 480px){
    .mv_inner {
        padding: 0 15px;
    }
    .nagomi_mv_text_right {
        right: -6px;
    }
}
/* 共通タイトル */
.common_title_heading {
    text-align: center;
    margin-bottom: 36px;
}
.common_title_heading h2 {
    font-size: clamp(40px, 3.97vw, 51px);
    letter-spacing: .05em;
    margin-bottom: 16px;
    font-weight: 600;
}
.common_title_heading p{
    font-size:clamp(13px, 3.17vw, 14px);
    letter-spacing: .15em;
    font-weight: 500;
}
@media screen and (max-width: 768px){
    .common_title_heading {
        margin-bottom: 8%;
    }
    .common_title_heading h2 {
        font-size: clamp(31px, 5.97vw, 40px);
    }
    .common_title_heading p {
        font-size: clamp(14px, 3.17vw, 16px);
    }
    .common_title_heading h2 {
        margin-bottom: 11px;
    }
}
/* ご利用シーン */
.usage-scene{
    padding:90px 0px 0;
}
.usage-scene_inner{
    /* max-width: 958px; */
    width: 80%;
    margin: 0 auto;
}
.usage-card{
    position: sticky;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(30px, 4.57vw, 62px);
    gap: 6%;
    padding-left: max(77px, 7vw);
    padding-bottom: max(40px, 4vw);
    padding-top: max(40px, 4vw);
    padding-right: max(30px, 3vw);
    margin-bottom: 40px;
    color: #ede5d5;
    text-decoration: none;
    overflow: hidden;
    transform-origin: center top;
    will-change: transform, opacity;
    transition: .4s;
}
.usage-card-local_events{
    background:#426b2a;
    /* top: 260px; */
    top: 80px;
    z-index: 3;
}
.usage-card-local_events:hover {
    background: #4b7234;
}
.usage-card-auspicius{
    background:#ba6227;
    top: 100px;
    z-index: 4;
}
.usage-card-auspicius:hover {
    background: #be6c35;
}
.usage-card-meeting{
    background:#2a5d82;
    top: 120px;
    z-index: 5;
}
.usage-card-meeting:hover {
    background: #346487;
}
.usage-card-memorial{
    background:#73537f;
    top: 140px;
    z-index: 6;
}
.usage-card-memorial:hover {
    background: #795b84;
}

.usage-card_label{
    left: 20px;
    transform: translateY(-50%);
    writing-mode: vertical-rl;
    font-size: 11px;
    transform: rotate(180deg);
    transform-origin: center center;
    position: absolute;
    font-weight: 500;
}
.usage-card_lt_box{
    flex-shrink: 0;
    /* max-width: 240px; */
    width: 27%;
}
.usage-card_photo{
    overflow: hidden;
    border-radius: 50%;
    border: solid 1px #ede5d5;
    /* max-width: 237px; */
    margin: 0 0 0 auto;
}
.usage-card_photo img{
    max-width: 100%;
    max-height: 100%;
    border-radius: 50%;
    object-fit:cover;
    display:block;
    transition:.8s;
    aspect-ratio: 1 / 1;
}
.usage-card_content{
    flex:1;
}
.usage-card_content h3{
    font-size: clamp(25px, 3.17vw, 31px);
    margin-bottom: 20px;
    font-weight: 400;
}
.usage-card_text{
    line-height: 1.8;
    margin-bottom: 25px;
    font-size: clamp(14px, 1.57vw, 15px);
    min-height: 5.7em; /* 本文の文字数がカードごとに違っても高さを揃え、
                           重なり演出のタイミングがズレないようにする（3行分を確保） */
}
.usage-card_tags{
    display: flex;
    flex-wrap: wrap;
    gap: 8px 5px;
    margin-top: 25px;
}
.usage-card_tags span{
    border: 1px solid #ede5d5;
    border-radius: 50px;
    padding: 4px 11px;
    font-size: clamp(12px, 1.37vw, 13px);
    letter-spacing: .05em;
}
.usage-card_menu-title{
    display: inline-block;
    background: #ede5d5;
    color: #333;
    padding: 4px 10px;
    font-size: clamp(14px, 1.57vw, 15px);
    margin-bottom: max(13px,1.6vw);
    font-weight: 600;
}
.usage-card-local_events .usage-card_menu-title {
    color: #426b2a;
}
.usage-card-auspicius .usage-card_menu-title {
    color: #ba6227;
}
.usage-card-meeting .usage-card_menu-title {
    color: #2a5d82;
}
.usage-card-memorial .usage-card_menu-title {
    color: #73537f;
}
.usage-card_foods{
    display:flex;
    gap: 3%;
    /* width: 100%; */
    width: min(100%, 60vh);
}
.usage-card_food{
    overflow:hidden;
    width: 100%;
}
.usage-card_food img {
    /* max-width: 141px; */
    object-fit: cover;
    display: block;
    transition: .8s;
    aspect-ratio: 1 / 1;
}
.usage-card_rt_box{
    display: flex;
    align-items: center;
    gap: 45px;
    width: 70%;
}
.usage-card_arrow{
    width: 37px;
    height: 37px;
    transition:.4s;
}
.usage-card_arrow svg{
    width:100%;
    height:100%;
}
.usage-card_circle{
    fill:#ede5d5;
}
.usage-card_arrow{
    width:37px;
    height:37px;
}
.usage-card_arrow-path{
    fill:none;
    stroke-width:2.7px;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.usage-card-local_events .usage-card_arrow-path{
    stroke:#426b2a;
}
.usage-card-auspicius .usage-card_arrow-path{
    stroke:#ba6227;
}
.usage-card-meeting .usage-card_arrow-path{
    stroke:#2a5d82;
}
.usage-card-memorial .usage-card_arrow-path{
    stroke:#73537f;
}
.usage-card:hover .usage-card_photo img{
    transform:scale(1.08);
}
.usage-card_title_sp{
    display: none;
}
.usage-card_label_rsp{
    display: none;
}
.usage-card_photo_sp{
    display: none;
}
.top_scene_sp{
    display: none;
}
.usage_title_heading{
    position: sticky;
    top: 130px;
    z-index: 1;
    margin-bottom: 40px;
}
@media (max-width:768px){
    .usage_title_heading {
        position: inherit;
        margin-bottom: 8%;
    }
    .top_scene_sp{
        display: block;
        width: 100%;
    }
    .usage-card_photo_sp{
        display: block;
        width: 100%;
        position: relative;
    }
    .usage-card_photo.pc{
        display: none;
    }
    .usage-card_label_lsp{
        position: absolute;
        top: 70%;
        left: -10px;
        transform: translate(0vw, -50%);
        writing-mode: vertical-lr;
        letter-spacing: 0.1em;
        display: block;
    }
    .usage-card_label_l_text{
        font-size: clamp(10px, 2.17vw, 12px);
        font-weight: 500;
        transform: rotate(180deg);
        transform-origin: center top;
        position: absolute;
        white-space: nowrap;       
    }
    .usage-card_label_rsp{
        position: absolute;
        top: 50%;
        right: -10px;
        transform: translate(0vw, -50%);
        writing-mode: vertical-lr;
        letter-spacing: 0.1em;
        display: block;
    }
    .usage-card_label_r_text{
        font-size: clamp(10px, 2.17vw, 12px);
        font-weight: 500;
        white-space: nowrap;       
    }
    .usage-card_title_sp{
        display: block;
        font-size: clamp(20px, 4.77vw, 31px);
        margin-bottom: 20px;
        margin-bottom: 8%;
        font-weight: 400;
    }
    .usage-card_rt_box {
        gap: 35px;
        flex-direction: column;
        text-align: left;
        width: 100%;
    }
    .usage-scene_inner {
        width: 90%;
    }
    .usage-card {
        flex-direction: column;
        gap: 20px;
        text-align: center;
        padding-top: clamp(25px, 5.97vw, 40px);
        padding-left: clamp(25px, 5.97vw, 40px);
        padding-right: clamp(25px, 5.97vw, 40px);
        padding-bottom: clamp(40px, 10.17vw, 60px);
        margin-bottom: clamp(110px, 22.37vw, 120px);
        padding-top: 5.6vh;
        padding-bottom: 6vh;
    }
    .usage-card_label{
        display:none;
    }
    .usage-card_content h3{
        font-size:30px;
        display: none;
    }
    .usage-card_food img{
        width:100%;
        max-width: 100%;
    }
    .usage-card_arrow{
        display: none;
    }
    .usage-card_lt_box {
        max-width: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .usage-card_photo {
        max-width: 100%;
        margin: auto;
        width:max(153px, 49%);
        width: 23vh;
    }
    .usage-card_tags {
        width: max(220px, 49%);
        justify-content: center;
    }
    /* .usage-scene {
        padding: 17% 0px 0;
    } */
    .usage-card_tags span {
        font-size: clamp(13px, 2.27vw, 15px);
    }
    .usage-card_text {
        font-size: clamp(15px, 3.27vw, 17px);
        margin-bottom: 30px;
    }
    .usage-card_menu-title {
        font-size: clamp(15px, 3.27vw, 17px);
        margin-bottom: max(13px, 2.8vw);
    }
    .usage-card_foods {
        gap: clamp(6px, 1.47vw, 15px);
        width: 100%;
    }
    .top_scene-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 25px;
        height: 38px;
        padding: 14px 40px;
        background: #EDE5D5;
        border-radius: 50px;
        text-decoration: none;
        color: #426b2a;
        transition: .3s;
        max-width: 212px;
        width: 100%;
        position: relative;
        margin: auto;
        font-size: clamp(15px, 3.17vw, 18px);
        font-weight: 600;
    }
    .usage-card-local_events .top_scene-btn {
        color: #426b2a;
    }
    .usage-card-auspicius .top_scene-btn {
        color: #ba6227;
    }
    .usage-card-meeting .top_scene-btn {
        color: #2a5d82;
    }
    .usage-card-memorial .top_scene-btn {
        color: #73537f;
    }
    .top_scene-btn svg {
        width: 18px;
        height: 18px;
        position: absolute;
        right: 12px;
    }
    .usage-card-local_events {
        top: 90px;
    }
    .usage-card-auspicius {
        top: 90px;
    }
    .usage-card-meeting {
        top: 90px;
    }
    .usage-card-memorial.usage-card {
        padding-bottom: clamp(40px, 10.17vw, 60px);
        margin-bottom: clamp(20px, 4.97vw, 40px);
        position: sticky;
        top: 90px;
    }
}
@media (max-width: 480px) {
    .usage-card_label_lsp {
        top: 87%;
    }
    .usage-card_text{
        line-height: 1.6;
        margin-bottom: 23px;
    }
    .usage-card_menu-title{
        display: none;
    }
    .usage-card-local_events {
        top: 70px;
    }
    .usage-card-auspicius {
        top: 70px;
    }
    .usage-card-meeting {
        top: 70px;
    }
    .usage-card-memorial.usage-card {
        top: 70px;
    }
    .usage-card {
        height: calc(97vh - 65px);
        max-height: 167vw;
    }
    .usage-card_text {
        font-size: 3.5vw;
    }
}


/* おすすめのお弁当 */
.top-bento{
    position:relative;
    background:#ede5d5;
    padding-top: 10px;
    padding-bottom: 120px;
    /* overflow:hidden; */
    border-radius: 12% 12% 0 0;
    border-radius: 0;
}
.top-bento_inner{
    /* max-width: 1075px; */
    width: 85%;
    margin: auto;
    position: relative;
    z-index: 9;
    margin-top: -5%;
}
.top-bento_heading{
    text-align:center;
    margin-bottom:80px;
}
.top-bento_list{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 80px 25px;
}
.top-bento-card{
    /* position:relative; */
    display:block;
    text-decoration:none;
    color:#3c3c3c;
    width: 100%;
    height: 100%;
}
.top-bento-card_img{
    overflow:hidden;
    aspect-ratio: 1.1 / 1;
    object-fit: cover;
}
.local_events.top-bento-card .top-bento-card_img{
    border: solid 2px rgba(0, 0, 0, 0);
    transition: .4s;
}
.auspicius.top-bento-card.top-bento-card_img{
    border:solid 2px rgba(0, 0, 0, 0);
    transition: .4s;
}
.meeting.top-bento-card .top-bento-card_img{
    border: solid 2px rgba(0, 0, 0, 0);
    transition: .4s;
}
.memorial.top-bento-car .top-bento-card_img{
    border: solid 2px rgba(0, 0, 0, 0);
    transition: .4s;
}

.local_events.top-bento-card:hover .top-bento-card_img{
    border: solid 2px #426b2a;
}
.auspicius.top-bento-card:hover .top-bento-card_img{
    border: solid 2px #ba6227;
}
.meeting.top-bento-card:hover .top-bento-card_img{
    border: solid 2px #2a5d82;
}
.memorial.top-bento-card:hover .top-bento-card_img{
    border: solid 2px #73537f;
}
.top-bento-card_img img{
    width:100%;
    display:block;
    transition:.7s;
    aspect-ratio: 1.1 / 1;
    object-fit: cover;
}
.top-bento-card:hover .top-bento-card_img img{
    transform:scale(1.08);
}
.top-bento-card_body{
    padding-top: 20px;
    display: flex;
    flex-direction: column;
}
.top-bento-card_title{
    font-size:clamp(18px, 3.17vw, 20px);
    margin-bottom:6px;
}
.top-bento-card_text{
    font-size:clamp(13px, 3.17vw, 14px);
    line-height:1.6;
    padding-bottom:15px;
    border-bottom:1px solid #3c3c3c;
    color: #636363;
}
.top-bento-card_info{
    display:flex;
    gap:20px;
    margin-top:15px;
    font-size:clamp(12px, 3.17vw, 13px);
}
.top-bento-card_tag{
    border:1px solid #636363;
    border-radius:30px;
    padding:3px 12px;
    color: #636363;
}
.top-bento-card_more{
    position: relative;
    right: 0;
    /* bottom: -10px; */
    display: block;
    margin-right: 0;
    margin-left: auto;
    align-items: center;
    justify-content: flex-end;
    width: 28px;
    height: 36px;
    /* transition: .4s; */
}
.top-bento-card_more::before{
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 36px;
    height: 36px;
    border-radius: 50px;
    background: #111;
    transition: .4s;
}
.top-bento-card:hover .top-bento-card_more{
    /* width:172px; */
}
.top-bento-card:hover .top-bento-card_more::before{
    width:172px;
}
.local_events.top-bento-card:hover .top-bento-card_more::before{
    background: #426b2a;
}
.auspicius.top-bento-card:hover .top-bento-card_more::before{
    background: #ba6227;
}
.meeting.top-bento-card:hover .top-bento-card_more::before{
    background: #2a5d82;
}
.memorial.top-bento-card:hover .top-bento-card_more::before{
    background: #73537f;
}
.top-bento-card_more-text{
    position: absolute;
    right: 39px;
    bottom: 10px;
    color: #fff;
    font-size: clamp(13px, 3.17vw, 15px);
    font-weight: 700;
    letter-spacing: .1em;
    opacity: 0;
    transform: translateX(-10px);
    transition: .4s;
    z-index: 2;
    white-space: nowrap;
}
.top-bento-card:hover .top-bento-card_more-text{
    opacity:1;
    transform:translateX(0);
}
.top-bento-card_arrow{
    position:absolute;
    right: 9px;
    top: 9px;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:center;
}
.top-bento-card_price{
    text-align: right;
    font-size: clamp(20px, 3.17vw, 23px);
    font-weight: 500;
    margin-bottom: 15px;
}
.top-bento-card_price .top-bento-card_yen{
    font-size: clamp(10px, 3.17vw, 11px);
    font-weight: 500;
    margin-left: 3px;
}
.top-bento-card_arrow svg{
    width:16px;
    height:16px;
    color:#fff;
}
.top-bento-card_more_link{
    display: block;
    width: 100%;
    height: 100%;
    margin-top: 20px;
    position: relative;
}
.top-bento_all{
    text-align:center;
}
.top-bento_all_box{
    margin-top:90px;
}
.top-bento_all-btn{
    display: block;
    align-items: center;
    gap: 25px;
    height: 47px;
    padding: 14px 40px;
    background: #fff;
    border-radius: 50px;
    text-decoration: none;
    color: #262626;
    transition: .4s;
    max-width: 261px;
    width: 100%;
    position: relative;
    margin: auto;
    font-size: clamp(19px, 3.17vw, 22px);
    font-weight: 600;
}
.top-bento_all-btn span{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    line-height: 1;
}
.top-bento_all-btn:hover{
    color: #fff;
    background: #262626;
}
.top-bento_all-btn svg{
    width:18px;
    height:18px;
    position: absolute;
    right: 12px;
}
.hp_bento_deco_01 {
    position: absolute;
    z-index: 0;
    right: -9%;
    top: 17.5%;
}
.hp_bento_deco_01 img {
    width: min(38vw, 511px);
}
.hp_bento_deco_02{
    position: absolute;
    z-index: 0;
    left: -9%;
    bottom: 6.5%;   
}
.hp_bento_deco_02 img{
    width: min(38vw, 511px);  
}
@media(max-width:768px){
    .top-bento-card_title {
        font-size: clamp(18px, 4.17vw, 25px);
    }
    .top-bento-card_price {
        font-size: clamp(21px, 6.67vw, 28px);
    }
    .top-bento_list{
        grid-template-columns:1fr;
        gap: 40px;
    }
    .top-bento-card_text {
        font-size: clamp(14px, 3.17vw, 16px);
    }
    .top-bento_inner {
        margin-top: -3%;
        width: 90%;
    }
    .top-bento_all_box {
        margin-top: 50px;
    }
    .top-bento {
        padding-bottom: 70px;
    }
}
@media(max-width:480px){
    .top-bento-card_more-text {
        right: 50px;
        bottom: 11px;
    }
}


/*  NAGOMI SMILE背景*/
.container {
    position: relative;
    width: 104vw;
    height: 17vw;
    display: grid;
    align-content: center;
    justify-items: center;
    --x: -100%;
    --y: 100%;
     margin-bottom: -12.8%;
    margin-top: 11%;
    overflow: visible;
}
.container .circle {
    border-radius: 100% 100% 100% 100%;
    position: relative;
    display: grid;
    place-items: center;
    background: #EDE5D5;
    width: 112%;
    width: 104vw;
    left: -2vw;
    height: 33vw;
}
.circle_text {
    position: absolute;
    top: -21vw;
    left: 50%;
    left: 52vw;
    width: 160vw;
    height: 40.8vw;
    transform: translateX(-50%);
    pointer-events: none;
    overflow: visible;
    z-index: 5;
}
.circle_text text {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 103px;
    font-weight: 700;
    fill: #EDE5D5;
}
.bento_container{
    overflow: hidden;
    width: 100%;
    padding: 10.7%  0 0;
    margin-top: -2%;
}
.top-contents{
    overflow-x: clip;
}
@media (max-width: 768px) {
    .circle_text text {
        font-size: 140px;
    }
    .bento_container {
        padding: 14.7% 0 0;
    }
    /* 
    .top-bento {
        padding-top: 0px;
        padding-bottom: 70px;
    }
    .circle_text {
        top: -265px;
    } */
}
@media (max-width: 480px){
    .top-bento {
        padding-top: 0px;
        margin-top: 3%;
    }
    .circle_text text {
        font-size: 160px;
    }
    .circle_text {
        top: -20.6vw;
    }
}



/* ===== フッター ===== */
.l-footer {
    padding: 60px 5% 30px;
    background-color: #262626;
    color: #fff;
}
.l-footer_top{
    display: flex;
    gap: clamp(25px, 1.17vw, 35px);
}
.l-footer a {
    color: #fff;
    text-decoration: none;
    transition: opacity 0.3s;
}
.l-footer a:hover {
    opacity: 0.7;
}
.l-footer ul{
    list-style: none;
}
.l-footer_inner {
    display: flex;
    gap:clamp(40px, 4.17vw, 100px);
    justify-content: space-between;
}
.l-footer_contents{
    /* max-width: 1227px; */
    margin: 0 auto;
    width: 100%;

}
/* ブランド */
.p-link {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    text-decoration: none;
}
.p-link__arrow {
    display: inline-flex;
    width: 16px;
    height: 16px;
}
.p-link__arrow svg {
    width: 100%;
    height: 100%;
    display: block;
    color: #C6C6C6;
}

.l-footer_logo img {
    max-width: 203px;
    width: 100%;
    object-fit: contain;
}
.l-footer_address {
    margin-top: 20px;
    color: #fff;
    font-size: 12px;
    line-height: 1.9;
    letter-spacing: 0.05rem;
}
.l-footer_brand{
    /* max-width: 252px;
    width: 35%; */
    width: 23%;
}
.l-footer_logo{
    display: inline-block;
    text-align: center;
}
.l-footer_box{
    /* max-width: 892px; */
    width: 100%;
}
/* 見出し */
.l-footer_heading {
    margin-bottom: 20px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
    border-bottom: solid 1px #fff;
    padding-bottom: 10px;
    letter-spacing: 0.05rem;
}

/* ご利用シーン */
.l-footer_scene-list{
    padding-left: 10px;
}
.l-footer_scene{
    max-width: 162px;
    width: 30%;
}
.l-footer_scene-list li {
    margin-bottom: 16px;
    font-size: 13px;
    letter-spacing: 0.05rem;
}

/* ご注文方法 */
.l-footer_order {
    flex: 1;
    min-width: 280px;
}
.l-footer_order-cols {
    display: flex;
    gap: 25px;
}
.l-footer_order-col {
    flex: 1;
    /* min-width: 240px; */
}
.l-footer_order-title {
    margin-bottom: 14px;
    color: #ffffff;
    font-size: 13px;
    font-weight: 400;
    letter-spacing: 0.05rem;   
}
.l-footer_order-info {
    margin-bottom: 16px;
    color: #ffffff;
    font-size: 12px;
    letter-spacing: 0.05rem;
    line-height: 1.5; 
}
.l-footer_order-box{
    padding-left: 10px;   
}
.l-footer_order-row {
    display: flex;
    gap: 12px;
    margin-bottom: 10px;
}
.l-footer_order-row dt {
    flex-shrink: 0;
    font-weight: 400;
}

/* ボタン */
.l-footer_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    max-width: 157px;
    padding: 8px 20px;
    border-radius: 25px;
    width: 100%;
    height: 32px;
}
.l-footer a.l-footer_btn--tel {
    color: #262626;
    background: #fff;
    font-size: clamp(14px, 1.87vw, 15px);
    font-weight: 600;
}
.l-footer a.l-footer_btn--tel img {
    max-width: 8.3px;
    margin-bottom: -1.2px;
}
.l-footer_btn--tel:hover {
    opacity: 0.7;
}
.l-footer a.l-footer_btn--line {
    background-color: #06C155;
    color: #ffffff;
    font-size: 12px;
    font-weight: 600;
    opacity: 1;
    transition: 0.5s;
}
.l-footer a.l-footer_btn--line:hover {
    background-color: #09d55f;
    opacity: 1;
}
.l-footer_btn--line img {
    max-width: 20px;
    margin-right: 4px;
    margin-bottom: -2.9px;
}
.l-footer_btn--line:hover {
    opacity: 0.7;
}

/* 下段 */
.l-footer_bottom {
    margin-top: 45px;
    padding-top: 20px;
    border-top: 1px solid #ffffff;
}
.l-footer_nav ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 0;
}
.l-footer_nav li {
    position: relative;
    padding: 0 20px;
    font-size: 13px;
    line-height: 1;
    letter-spacing: 0.05rem; 
}
.l-footer_nav li:first-child {
    padding-left: 0;
}
.l-footer_nav li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: 12px;
    background-color: rgba(255,255,255,0.32);
    transform: translateY(-50%);
}
.l-footer_law {
    margin-top: 30px;
    font-size: 12px;
    letter-spacing: 0.05rem; 
}
.l-footer_law a {
    margin-right: 24px;
    color: #C6C6C6;
}
.l-footer_sns {
    display: flex;
    gap: 14px;
    margin-top: 24px;
}

.l-footer_sns img {
    max-width: 16px;
}
.l-footer_sns a{
    width: 34px;
    height: 34px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.l-footer_copyright{
    margin-top: 50px;
    text-align: center;
}
.copyright_text{
    font-size: 10px;
    letter-spacing: 0.05rem; 
}
br.sp{
    display: none;
}
@media screen and (max-width: 768px) {
    br.sp{
        display: block;
    }
    .l-footer_brand {
        max-width: 100%;
        width: 100%;
        margin: 0 auto;
        text-align: center;
    }
    .l-footer_address {
        margin: 0 auto;
        margin-top: 25px;
        font-size: clamp(13px, 3.17vw, 14px);
    }
    .l-footer_address_text{
        margin: auto;
        display: inline-block;
        text-align: left;
    }
    .l-footer_logo img {
        max-width: 100%;
        width: max(136px, 73%);
    }
    .l-footer_top {
        flex-direction: column;
    }
    .l-footer_scene {
        max-width: 100%;
        width: 100%;
    }
    .l-footer_heading {
        margin-bottom: 20px;
        font-size: clamp(15px, 3.17vw, 18px);
        padding-bottom: 15px;
    }
    .l-footer_scene-list li {
        margin-bottom: 19px;
        font-size: clamp(14px, 3.17vw, 16px);
    }
    .l-footer_order-title {
        margin-bottom: 17px;
        font-size: clamp(15px, 3.17vw, 18px);
    }
    .l-footer_order-info {
        margin-bottom: 24px;
        font-size: clamp(14px, 3.17vw, 16px);
        line-height: 1.6;
    }
    .l-footer a.l-footer_btn--tel {
        font-size: clamp(14px, 2.97vw, 16px);
        max-width: 100%;
        width: max(158px, 27%);
    }
    .l-footer a.l-footer_btn--tel img {
        max-width: 9px;
    }
    .l-footer_btn--line img {
        max-width: 14px;
    }
    .l-footer_btn--line {
        font-size: clamp(15px, 3.17vw, 16px);
        max-width: 100%;
        width: max(158px, 27%);
    }
    .l-footer_order-cols {
        flex-direction: column;
        gap: 35px;
    }
    .l-footer_bottom {
        margin-top: 40px;
        padding-top: 25px;
    }
    .l-footer {
        padding: 12% 5% 24px;
    }
    .l-footer_inner {
        flex-direction: column;
        gap: clamp(32px, 9.17vw, 40px);
        padding-bottom: 32px;
    }
    .l-footer_nav ul {
            align-items: flex-start;
            gap: 20px 14px;
    }
    .l-footer_nav li {
            padding: 0;
            padding-right: 23px;
            font-size: clamp(14px, 3.17vw, 16px);
    }
    .l-footer_law a {
        display: inline-block;
        margin-bottom: 8px;
        margin-right: 0;
    }
    .l-footer_law {
        font-size: clamp(13px, 3.17vw, 16px);
        display: flex;
        gap: clamp(15px, 4.17vw, 25px);
    }
    .l-footer_copyright {
        margin-top: 0px;
    }
    .l-footer_btn{
        gap: 4px;
        height: auto;
    }
    .l-footer a.l-footer_btn--line {
        font-size: clamp(13px, 2.17vw, 14px);
    }
}



/* ===== FAQ ===== */
.faq-section {
    background: #F3F1E9;
    padding: 115px 0;
}
.faq-inner {
    /* max-width: 1042px; */
    margin: 0 auto;
    width: 80%;
}
.accordion-content {
    display: none;
}
.accordion-header {
  background-color: #EDE5D5;
  padding: 24px 75px 24px 28px;
  margin-top: 12px;
  transition: background .3s ease;
  cursor: pointer;
  position: relative;
  display: flex;
}
.accordion-header::before,
.accordion-header::after{
  position:absolute;
  content:'';
  top:1px;
  right: 25px;
  bottom: 0;
  width: 22px;
  height: 1px;
  margin: auto;
  background: #262626;
}
.accordion-header::after{
  transform:rotate(-90deg);
  transition:transform 0.3s;
}
.accordion-header.active::after{
    transform:rotate(0deg);
}
.accordion-content {
  background-color: #EDE5D5;
  padding: 13px 75px 28px 28px;
}
.accordion-header span,
.accordion-content span{
    padding-right: 16px;
    position: relative;
}
.q_icon{
    font-weight: 400;
    flex-shrink: 0;
    font-size: clamp(25px, 3.17vw, 31px);
    line-height: 1;
}
.a_icon{
    font-weight: 400;
    flex-shrink: 0;
    font-size: clamp(25px, 3.17vw, 31px);
}
.q_title{
    font-size: clamp(18px, 2.17vw, 20px);
    line-height: 1.7;
    margin-bottom: 0;
}
.a_text{
    font-size: clamp(18px, 2.17vw, 20px);
    margin-bottom: 0; 
    letter-spacing: 1.7px;
    line-height: 1.7;
}
.a_text .text_link{
    color: #F29035;
    transition: .3s;
}
.a_text .text_link:hover{
    opacity: .8;
}
.top-faq_box {
    text-align: center;
    margin-top: 50px;
}
.faq-contact-lead{
    font-size:15px;
    font-weight: 500;
    margin-bottom: 13px;
}
.top-bento_all-btn.top-faq_all-btn {
    display: block;
    align-items: center;
    gap: 25px;
    height: 47px;
    padding: 14px 40px;
    background: #F3F1E9;
    border-radius: 50px;
    text-decoration: none;
    color: #262626;
    border: 1px solid #262626;
    transition: .3s;
    max-width: 261px;
    width: 100%;
    position: relative;
    margin: auto;
    font-size: clamp(19px, 3.17vw, 22px);
    font-weight: 600;
}
.top-bento_all-btn.top-faq_all-btn:hover {
    color: #fff;
    background: #262626;
    border: 1px solid #262626;
}
@media (max-width: 768px) {
    .accordion-header {
        padding: 13px 53px 14px 21px;
    }
    .accordion-content {
        padding: 13px 53px 14px 21px;
    }
    .accordion-header span, .accordion-content span {
        padding-right: 10px;
    }
    .accordion-header::before, .accordion-header::after {
        right: 17px;
    }
    .q_title {
        font-size: clamp(15px, 2.67vw, 20px);
    }
    .a_text{
        font-size: clamp(15px, 2.67vw, 20px);
    }
    .accordion-header::before, .accordion-header::after {
        width: 20px;
    }
    .faq-section {
        padding: 60px 0;
    }
    .faq-inner {
        width: 90%;
    }
}




/* 最新情報 */
.news {
    padding: 115px 0 140px;
    background-color: #BA6227;
}
.news_inner {
    /* max-width: 1075px; */
    width: 85%;
    margin: 0 auto;
}
.common_title_heading_o{
    color: #EDE5D5;
}
.news_items {
    display: flex;
    gap: 20px;
    margin-top: 50px;
}
.news-card {
    flex: 1;
    /* padding: 30px 5% 35px; */
    padding: 2.5% 5% 3%;
    background-color: #EDE5D5;
    /* max-width: 529px; */
    display: flex;
    flex-direction: column;
    gap: 28px;
}
.news-card_head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.news-card_icon {
    width: 26px;
    object-fit: contain;
    margin-bottom: -4px;
}
.news-card_title {
    margin: 0;
    font-size: clamp(22px, 3.17vw, 25px);
    font-weight: 500;
    letter-spacing: 0.05em;
    font-weight: 600;
}
.news-card_text {
    margin-top: 19px;
    font-size: 13px;
    text-align: center;
    font-size: clamp(14px, 3.17vw, 15px);
    font-weight: 600;
    letter-spacing: 0.05em;
    line-height: 1.9;
}
.news-card_text br.sp {
    display: none;
}
.news-card_text--insta {
    color: #BA6227;
    border-bottom: solid 1px #BA6227;
    padding-bottom: 0;
}
.news-card_body--insta{
    display: flex;
    gap: 10px;
}
.news-card_feed {
    display: block;
    width: 100%;
    height: auto;
}
.news-card_body--line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2px;
    margin: auto;
    width: 100%;
}
.news-card_01,.news-card_02 {
   transition: .4s;
}
.news-card_01:hover,.news-card_02:hover {
    opacity: 0.85;
}
.news-line_phone-img {
    /* max-width: 224px; */
}
.news-line_phone{
    /* max-width: 224px;
    width: 100%; */
    width: max(224px, 64%);  
}
.news-line_qr {
    text-align: center;
    /* max-width: 159px; */
    width: max(159px, 54%);
}
.news-line_label {
    margin: 0 0 12px;
    font-size: clamp(12px, 1.17vw, 14px);
    line-height: 1.2;
    color: #BA6227;
    font-weight: 600;
}
.news-line_qr-img {
    /* max-width: 119px; */
    height: auto;
    width: max(71px, 64%);
}
.news-line_qr.sp{
    display: none;
}
.line-cta {
    padding-bottom: 10px;
    text-align: center;
}
.line-cta_text {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 25px;
    font-weight: 600;
}
.line-cta_text::before,
.line-cta_text::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 1px;
    height: 2.1em;
    background-color: #BA6227;
}
.line-cta_text::before {
    left: 17px;
    transform: translateY(-50%) rotate(-18deg);
}
.line-cta_text::after {
    right: 19px;
    transform: translateY(-50%) rotate(18deg);
}
@media screen and (max-width: 768px) {
    .news-line_qr.pc{
        display: none;
    }
    .news-line_qr.sp{
        display: block;
        width: 100%;
    }
    .news {
        padding: 60px 0 80px;
    }
    .news_items {
        flex-direction: column;
        gap: 24px;
        margin-top: 36px;
    }
    .news-card {
        padding: 30px 20px 34px;
        max-width: 100%;
    }
    .news-card_body--line {
        flex-direction: column;
        gap: 28px;
    }
    .news-line_phone {
        max-width: 100%;
        width: 100%;
        text-align: center;
    }
    .news-line_phone-img {
        max-width: 100%;
        width: max(187px, 65%);
    }
    .news-card_title {
        font-size: clamp(18px, 3.87vw, 25px);
    }
    .news-card_icon {
        width: max(18px, 5%);
    }
    .news-card_icon.news-card_icon_line {
        width: max(21px, 5%);
    }
    .news-line_qr {
        max-width: 100%;
    }
    .news-line_qr .top-bento_all-btn {
        max-width: inherit;
        width: max(213px, 46%);
        position: relative;
        margin: auto;
        font-size: clamp(15px, 2.27vw, 22px);
        font-weight: 600;
        padding: 14px 0px;
        white-space: nowrap;
    }
    .news-card_head {
        gap: 8px;
    }
    .news-card_icon_insta{
        margin-bottom: -3.1px;
    }
    .news-card_text br.sp {
        display: block;
    }
}

/* NAGOMI について */
.about {
    background-color: #EDE5D5;
    padding:115px 0 115px;
}
.about_inner {
    /* max-width: 1075px; */
    width: 85%;
    margin: 0 auto;
}
.about_content {
    display: flex;
    align-items: center;
}
.about_image {
    flex: 0 0 54.3%;
    /* max-width: 623px; */
}
.about_image img {
    display: block;
    width: 100%;
    height: auto;
}
.about_body {
    /* flex: 1; */
    /* margin: 0 auto; */
    padding-left: max(40px, 9%);
}
.about_text {
    line-height: 2;
    font-size: clamp(14px, 3.17vw, 15px);
    font-weight: 400;
    letter-spacing: 0.05em;
}
.top-about_btn{
     margin-top: 45px;   
}
@media screen and (max-width: 768px) {
    .about_inner{
        width: 90%;
    }
    .about {
        padding: 60px 0 70px;
    }
    .about_content {
        flex-direction: column;
    }
    .about_body {
        margin-top: 30px;
        width: 100%;
        padding-left: 0;
    }
    .about_text {
        text-align: center;
        font-size: clamp(15px, 3.17vw, 18px);
    }
    .top-about_btn {
        margin-top: 35px;
    }
    .about_image {
        flex: 0 0 55%;
        max-width: 100%;
    }
    .top-about_btn .top-bento_all-btn {
        max-width: 100%;
        width: max(221px, 42%);
        position: relative;
        margin: auto;
        font-size: clamp(15px, 2.77vw, 22px);
        font-weight: 600;
    }
}



/* ご注文方法 */
.order-section {
    background-color: #426B2A;
}
.order-hero img {
    display: block;
    width: 100%;
    height: auto;
}
.order-hero .sp{
    display: none;
}
.order-body {
    padding: 115px 0px 115px;
    letter-spacing: 0.05em;
}
.order-heading {
    margin-bottom: 34px;
    text-align: center;
}
.order-card {
    /* max-width: 1075px; */
    width: 85%;
    margin: 0 auto;
    padding: 4.7% 7% 6%;
    background-color: #F3F1E9;
}
.order-lead {
    padding: 28px 7%;
    background-color: #DBE3D7;
    font-size: clamp(18px, 3.17vw, 20px);
    font-weight: 400;
    /* max-width: 1075px; */
    width: 85%;
    margin: 0 auto;
}
.order-lead::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    margin-right: 10px;
    border-radius: 50%;
    background-color: #426B2A;
    vertical-align: middle;
    flex-shrink: 0;
}
.order-tabs {
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: end;
}
.order-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    position: relative;
    top: 1px;
    z-index: 1;
    padding: 12px 24px;
    background-color: #426B2A;
    color: #ffffff;
    font-size: clamp(16px, 3.17vw, 18px);
    border: 1px solid #728F5E;
    border-bottom: none;
    cursor: pointer;
    letter-spacing: 0.05em;
    font-weight: 500;
}
.order-tab img {
    display: block;
    max-width: 20px;
}
.order-tab.is-active {
    background-color: #F3F1E9;
    font-size: clamp(18px, 3.17vw, 20px);
    color: #426B2A;
    padding: 14px 24px;
}
.order-tab.line_tab.is-active {
    padding: 14px 32px 14px 24px;
}
.order-tab .on{
    display: none;
}
.order-tab.is-active .on{
    display: block;
}
.order-tab.line_tab.is-active .on{
    max-width: 28px;
    margin-right: 2px;
}
.order-tab .off{
    display: block;
    max-width: 24px;
    margin-right: 2px;
}
.order-tab .off.off_tel {
    max-width: 17px;
    margin-right: 0px;
}
.order-tab.is-active .off{
    display: none;
}
.order-tab.is-active span{
    border-bottom: solid 1px #426B2A;
    padding-bottom: 4px;
}
/* --- パネル --- */
.order-panel {
    display: none;
    padding: 5.4% 7% 4.8%;
    border: 1px solid #728F5E;
}
.order-panel.is-active {
    display: block;
}
.order-panel-note {
    margin: 0 auto 24px;
    font-size: clamp(14px, 3.17vw, 15px);
    font-weight: 500;
    /* max-width: 681px;     */
}
.order-box{
    background: rgba(66, 107, 42, 0.05);
    padding: 3% 3% 4%;
    /* max-width: 681px; */
    margin: auto;
}
/* --- 見出しブロック --- */
.order-block {
  margin-bottom: 26px;
}
.order-block-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 22px;
    padding: 9px 20px;
    background-color: #fff;
    color: #426B2A;
    font-size: 15px;
    border-radius: 40px;
    font-weight: 600;
}
.order-block-head img {
    width: 15px;
}
.order-block-lead {
    margin: 0 0 30px;
    padding: 0 15px;
    font-size: 15px;
    font-weight: 500;
}

/* --- 2カラム --- */
.order-columns {
    display: flex;
    padding: 0 15px;
}

.order-col {
    flex: 1;
    padding: 0 20px;
}
.order-col_02{
    border-left: 1px solid rgba(66, 107, 42, 0.71); 
}
.order-col-head {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 20px;
    color: #426B2A;
    font-size: 15px;
    font-weight: 500;
}
.order-col-head img {
    max-width: 21px;
}
.order-col_02 .order-col-head img {
    max-width: 15px;
}
/* --- リスト --- */
.order-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.order-list li {
    position: relative;
    margin-bottom: 11px;
    font-size: 15px;
}
.order-list li::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 9px;
    border-radius: 50%;
    background-color: rgba(66, 107, 42, 0.65);
    vertical-align: middle;
}

.order-caution {
    margin: 12px 0 0;
    color: #B73520;
    font-size: clamp(14px, 3.17vw, 15px);
}

/* --- 連絡先（電話） --- */
.order-contact-label {
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 25px;
    font-weight: 600;
    color: #426B2A;
    font-size: clamp(16px, 3.17vw, 19px);
    margin-bottom: 16px;
}
.order-contact-label::before, .order-contact-label::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 1.5px;
    height: 1.2em;
    background-color: #426B2A;
}
.order-contact-label::before {
    left: 6px;
    transform: translateY(-50%) rotate(-18deg);
}
.order-contact-label::after {
    right: 2px;
    transform: translateY(-50%) rotate(18deg);
}
.order-contact {
    margin-top: 30px;
    text-align: center;
    border-top: solid 1px #426B2A;
    padding: 0 15px;   
    padding-top: 38px;
}
.order-tel {
    gap: 12px;
    margin: 0 0 18px;
}
.order-tel img {
    max-width: 22px;
    vertical-align: baseline;
    margin-bottom: -1px;
}
.order-tel a {
    font-size: clamp(32px, 3.17vw, 38px);
    font-weight: 400;
    text-decoration: none;
}
.order-hours {
    display: inline-block;
    margin: 0;
    text-align: left;
}
.order-hours .order-hours_col {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 8px;
}
.order-hours .order-hours_col:last-child {
    margin-bottom: 0px;
}
.order-hours dt {
    padding: 3px 14px 4px;
    background-color: #fff;
    color: #426B2A;
    font-size: 14px;
    border-radius: 20px;
    white-space: nowrap;
    font-weight: 400;
    display: inline-block;
}
.order-hours dd {
    font-size: 14px;
    font-weight: 400;
}

/* --- LINE パネル：ステップ --- */
.order-step {
    display: flex;
    align-items: center;
    gap: 30px;
}
.order-step_first{
    padding: 0 15px;
}
.order-step--wide {
    display: block;
}
.order-step-head {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 22px;
    padding: 0 15px;
}
.order-step-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 18%;
}
.order-step-icon img {
    /* max-width: 130px; */
}
.order-step-body {
    flex: 1;
}
.order-step-title {
    margin: 0 0 13px;
    color: #426B2A;
    font-size: clamp(16px, 3.17vw, 18px);
    font-weight: 500;
}
.order-box_step01{
    padding: 3% 3% 3%;
}
.order-step-text {
    margin: 0;
    font-size: clamp(14px, 3.17vw, 15px);
    line-height: 1.8;
    font-weight: 400;
}
.fw_g{
    font-weight: 600;
    color: #426B2A;   
}
.order-contact-label.order-contact-label_line {
    font-size: clamp(20px, 3.17vw, 22px);
}
/* --- ステップ間の矢印 --- */
.order-arrow {
    padding: 15px 0;
    text-align: center;
    line-height: 0;
}
.order-arrow img {
    width: 16px;
}
.order-block--last {
    margin-bottom: 0;
}

/* --- 連絡先（LINE） --- */
.order-contact-line-icon {
    max-width: 31px;
    margin: 0 6px;
    vertical-align: -5px;
}
.order-qr-note {
    margin: 0 0 20px;
    font-size: clamp(14px, 3.17vw, 15px);
    line-height: 1.8;
    font-weight: 400;
}
.order-step_th{
     padding: 0 15px;
}
.order-qr-area {
    display: inline-flex;
    align-items: center;
    gap: 22px;
}
.order-qr img {
    display: block;
    max-width: 93px;
}
.sp_qr_link{
    display: none;
}
/* --- SP --- */
@media screen and (max-width: 768px) {
    .order-hero .sp{
        display: block;
    }
    .order-hero .pc{
        display: none;
    }
    .order-step {
        flex-direction: column;
        align-items: center;
        gap: 14px;
        padding: 0px 2%;
        text-align: center;
    }
    .order-contact-label.order-contact-label_line {
        font-size: clamp(14px, 3.17vw, 17px);
    }
    .order-contact-label {
        font-size: clamp(14px, 3.17vw, 17px);
    }
    .order-step--wide {
        display: block;
        text-align: left;
        padding: 0px;
    }
    .order-contact-line-icon {
        display: none;
    }
    .order-step-head {
        flex-direction: column;
        align-items: center;
        gap: 14px;
        text-align: center;
        padding: 0 2% 22px;
        margin-bottom: 28px;
        border-bottom: 1px solid rgba(66, 107, 42, 0.73);
    }
    .order-qr.pc{
        display: none;
    }
    .order-qr-note.pc{
        display: none;
    }
  .order-step-title {
    font-size: 15px;
  }
    .sp_qr_link {
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: clamp(18px, 3.17vw, 23px);
        background: #262626;
        padding: 15px;
        border-radius: 36px;
        border: solid 1px #fff;
        max-width: 277px;
        margin: 0 auto 26px;
    }
    .sp_qr_link img {
        max-width: 23px;
        margin-right: 9px;
        display: block;
    }
  .order-qr-area {
        flex-direction: column;
        gap: 16px;
        width: 100%;
  }
}
br.sp{
    display: none;
}
.order-tel .sp{
    display: none;
}
.order-step-title.sp{
    display: none;
}
/* --- SP --- */
@media screen and (max-width: 768px) {
    .order-hours {
        width: 100%;
    }
    br.sp{
        display: block;
    }
    .order-step-title.sp{
        display: block;
        font-size: clamp(16px, 3.17vw, 20px);
        margin: 0 0 5px;
    }
    .order-step-text {
        font-size: clamp(15px, 3.17vw, 18px);
        text-align: left;
    }
    .order-step-title.pc{
        display: none;
    }
    .order-tel .sp{
        display: flex;
        align-items: center;
        justify-content: center;
        color: #fff;
        font-size: clamp(23px, 3.17vw, 28px);
        background: #262626;
        padding: 15px;
        padding-top: 13px;
        border-radius: 36px;
        border: solid 1px #fff;
        max-width: 277px;
        margin: auto;
    }
    .order-tel .pc{
        display: none;
    }
    .order-tel img {
        max-width: 17px;
        margin-right: 7px;
        display: block;
        margin-bottom: -3px;
    }
    .order-contact {
        margin-top: 30px;
        padding: 0 0px;
        padding-top: 38px;
    }
    .order-tel {
        margin: 0 0 26px;
    }
    .order-body {
        padding: 60px 0px 70px;
    }
    .order-lead {
        font-size: clamp(16px, 3.17vw, 20px);
        text-align: left;
        display: flex;
        align-items: baseline;
        width: 90%;
        padding: 28px 5%;
    }
    .order-lead::before {
        width: 13px;
        height: 13px;
        margin-right: 8px;
    }
    .order-tabs {
        padding: 0 5%;
        text-align: center;
    }
    .order-card {
        padding: 0 0 7%;
        padding-top: max(40px, 7vw);
        width: 90%;
    }
    .order-panel {
        border:none;
        border-top: 1px solid #728F5E;
    }
    .order-tab {
        padding: 10px 14px;
        font-size: clamp(13px, 3.17vw, 16px);
    }
    .order-tab.is-active {
        font-size: clamp(16px, 4.17vw, 20px);
    }
    .order-tab.line_tab.is-active .on {
        max-width: 25px;
    }
    .order-box {
        padding: 7% 5% 12%;
    }
    .order-panel {
        padding: 12.2% 4.9% 0;
        padding-top: max(40px, 9%);
    }
    .order-block-head {
        font-size: clamp(15px, 3.17vw, 18px);
        padding: 9px 13px;
    }
    .order-block-head img {
        width: 25px;
    }
    .order-block-lead {
        padding: 0;
        line-height: 1.5;
    }
    .order-col {
        padding: 0;
    }
    .order-col_02 {
        border-left: none;
    }
    .order-columns {
        flex-direction: column;
        gap: 22px;
        padding: 0 0px 0 15px;
    }
    .order-col-head {
        font-size: 15px;
    }
    .order-panel-note {
        margin: 0 auto 35px;
    }
    .order-list li {
        font-size: 15px;
        display: flex;
        align-items: center;
    }
    .order-list li {
        position: relative;
        margin-bottom: 10px;
        font-size: 15px;
        display: flex;
        align-items: center;
    }
    .order-list li::before {
        flex-shrink: 0;
    }
    .order-hours .order-hours_col {
            flex-direction: column;
            gap: 4px;
            margin-bottom: 18px;
    }
    .order-hours dt {
        width: max(218px,47%);
        text-align: center;
        margin-bottom: 8px;
        font-size: clamp(14px, 3.17vw, 18px);
    }
    .order-hours dd {
        text-align: center;
        line-height: 1.4;
        font-size: clamp(14px, 3.17vw, 18px);
    }
    .order-tab br.sp {
        display: none;
    }
    .order-step-icon {
        width: max(118px, 40%);
    }
    .order-box_step01 {
        padding: 7% 5% 7%;
    }
}
@media screen and (max-width: 480px) {
    .order-tab br.sp {
        display: block;
    }
    .order-tab.is-active {
        padding: 3.9% 8% 4.3% 6%;
    }
    .order-tab {
        padding: 10px 18px;
    }
    .order-tab.line_tab {
        padding: 10px 28px 10px 18px;
    }
}







/* ---------- 中身レイアウト ---------- */
.drawer_body {
    display: flex;
    gap: clamp(60px, 6.17vw, 98px);
    max-width: 1046px;
    letter-spacing: 0.05em;
}
.drawer_scene {
    /* flex-shrink: 0; */
}
/* .drawer_nav {
    flex: 1;
} */
.drawer_nav-cols {
    display: flex;
    gap: 50px;
    justify-content: space-between;
}
/* .drawer_nav-cols .drawer-menu {
    flex: 1;
}
.drawer_nav-cols .drawer-menu--sub {
    flex: 0 0 240px;
} */
.drawer_heading {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 40px;
}
.drawer_heading-en {
    font-size: clamp(23px, 3.17vw, 25px);
    font-weight: 600;
}
.drawer_heading-ja {
    font-size: clamp(12px, 3.17vw, 14px);
    font-weight: 300;
}

/* ---------- ご利用シーン ---------- */
.scene-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 36px 30px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.scene-list_link {
    display: block;
    text-align: center;
    text-decoration: none;
}
.scene-list_thumb {
    display: block;
    max-width: 143px;
    margin-bottom: 12px;
    border-radius: 50%;
    border: 1px solid #262626;
    overflow: hidden;
}
.scene-list_thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.scene-list_label {
    display: block;
    font-size: clamp(13px, 1.47vw, 15px);
    font-weight: 400;
}
/* シーンごとの配色 */
.scene-list_item--event .scene-list_thumb {
    border-color: #426B2A;
}
.scene-list_item--event .scene-list_label {
    color: #426B2A;
}
.scene-list_item--celebration .scene-list_thumb {
    border-color: #BA6227;
}
.scene-list_item--celebration .scene-list_label {
    color: #BA6227;
}
.scene-list_item--meeting .scene-list_thumb {
    border-color: #2A5D82;
}
.scene-list_item--meeting .scene-list_label {
    color: #2A5D82;
}
.scene-list_item--memorial .scene-list_thumb {
    border-color: #73537F;
}
.scene-list_item--memorial .scene-list_label {
    color: #73537F;
}
.scene-list_thumb img {
    transition: .6s;
}
.scene-list_item a:hover .scene-list_thumb img {
    transform: scale(1.1);
}
/* ---------- メニュー ---------- */
.drawer-menu {
    margin: 0;
    padding: 0;
    list-style: none;
}
.drawer-menu_item + .drawer-menu_item {
    margin-top: 34px;
}
.drawer-menu_link {
    display: flex;
    align-items: baseline;
    gap: 16px;
    text-decoration: none;
    transition: opacity 0.3s ease;
    flex-wrap: wrap;
}
.drawer-menu_link:hover {
    opacity: 0.6;
}
.drawer-menu_en {
    font-size: clamp(23px, 2.27vw, 25px);
    font-weight: 600;
}
.drawer-menu_ja {
    font-size: clamp(12px, 1.27vw, 14px);
    font-weight: 300;
    color: #636363;
}
.drawer_foot {
    margin-top: 65px;
    padding-top: 20px;
    border-top: 1px solid #262626;
}
.drawer_policy {
    display: flex;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
}
.drawer_policy a {
    font-size: 12px;
    color: #636363;
    text-decoration: none;
    transition: 0.5s;
}
.drawer_policy a:hover {
    opacity: .5;
}
.drawer_sns {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    padding: 0;
    list-style: none;
}
.drawer_sns li a{
    width: 30px;
    height: 30px;
    background: #262626;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.drawer_sns img {
    display: block;
    max-width: 16px;
   vertical-align: middle;
}
/* ---------- スクロール固定 ---------- */
body.is-drawer-open {
  overflow: hidden;
}

@media screen and (max-width: 768px) {
    .menu-nav_logo {
        left: 50%;
        transform: translate(-50%, -50%);
        top: 36px;
    }
    .menu-nav {
        padding: 0px 7% 100px;
        padding-top: clamp(130px, 21.47vw, 150px);
        display: block;
    }
    .drawer_inner {
        padding: 20px 24px 60px;
    }
    .drawer_body {
        flex-direction: column;
        gap: clamp(50px, 6.17vw, 60px);
    }
    .drawer_scene {
        width: 100%;
    }
    .drawer_nav-cols {
        display: block;
    }
    .drawer_nav-cols .drawer-menu--sub {
        margin-top: 34px;
    }
    .drawer_heading-en,
    .drawer-menu_en {
        font-size: clamp(22px, 4.37vw, 32px);
    }
    .drawer_heading-ja,.drawer-menu_ja {
        font-size: clamp(13px, 3.07vw, 16px);
    }
    .scene-list_label {
        font-size: clamp(15px, 2.57vw, 18px);
    }
    .scene-list {
        gap: 50px 45px;
    }
    .scene-list_thumb {
        max-width: 100%;
    }
    .drawer_foot {
        margin-top: 40px;
    }
    .drawer_policy a {
        font-size: clamp(12px, 3.07vw, 15px);
    }
}
@media screen and (max-width: 480px) {
    .scene-list {
        gap: 30px 30px;
    }
    .menu-nav_logo {
        max-width: 104px;
    }
}

/* フローティングボタン */
.floating-cta {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 999;
    display: flex;
    justify-content: center;
    padding: 0 20px 24px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease, visibility 0.4s ease;
}
.floating-cta.is-show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
.floating-cta_inner {
    display: flex;
    align-items: center;
    gap: 20px;
    padding: 5px 8px 5px 40px;
    background-color: #ffffff;
    border-radius: 60px;
    box-shadow: 0 0px 5px rgba(99, 57, 6, 0.1);
    pointer-events: auto;
    max-width: 662px;
    width: 100%;
    justify-content: space-between;
}
.floating-cta_label {
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    white-space: nowrap;
}
.floating-cta_divider {
    width: 1px;
    height: 42px;
    background-color: #3C3C3C;
}
.floating-cta_tel-body {
    display: flex;
    flex-direction: column;
    gap: 2px;
    align-items: center;
}
.floating-cta_number {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 28px;
    font-weight: 700;
    color: #3C3C3C;
    text-decoration: none;
}
.floating-cta_tel-icon {
    width: 17px;
    vertical-align: middle;
    margin-bottom: -5px;
}

.floating-cta_hours {
    margin: 0;
    font-size: 11px;
    color: #3C3C3C;
    white-space: nowrap;
}
.floating-cta_line {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 10px 28px;
    background-color: #06C155;
    border-radius: 35px;
    text-decoration: none;
    white-space: nowrap;
    transition: 0.5s;
}
.floating-cta_line:hover {
    background-color: #09d55f;
}
.floating-cta_line-catch {
    font-size: 11px;
    color: #ffffff;
    letter-spacing: 0.04em;
    position: relative;
    display: inline-block;
    margin: 0;
    padding: 0 25px;
}
.floating-cta_line-catch::before, .floating-cta_line-catch::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 1px;
    height: 1em;
    background-color: #fff;
}
.floating-cta_line-catch::before {
    left: 17px;
    transform: translateY(-50%) rotate(-18deg);
}
.floating-cta_line-catch::after {
    right: 17px;
    transform: translateY(-50%) rotate(18deg);
}
.floating-cta_line-main {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 18px;
    font-weight: 500;
    color: #ffffff;
}
.floating-cta_line-icon {
    max-width: 26px;
}
.floating-cta_tel-sp_text{
    display: none;
}
@media (max-width: 768px) {
    .floating-cta_tel-sp_text{
        display: block;
        text-align: center;
        font-size: clamp(12px, 1.97vw, 14px);
    }
    .floating-cta_label{
        display: none;
    }
    .floating-cta_divider {
        display: none;
    }
    .floating-cta_inner {
        gap: 20px;
        padding: 5px 8px 5px 24px;
        max-width: 100%;
        width: max(360px, 61%);
    }
    .floating-cta {
        padding: 0 15px 16px;
    }
    .floating-cta_number {
        font-size:clamp(18px, 3.32vw, 24px);
    }
    .floating-cta_hours {
        font-size: clamp(7.5px, 1.47vw, 10px);
    }
    .floating-cta_line-main {
        font-size: clamp(13px, 1.17vw, 15px);
    }
    .floating-cta_line-icon {
        max-width: 20px;
    }
    .floating-cta_tel-icon {
        width: 11.5px;
    }
    .floating-cta_line-catch {
        font-size: clamp(9px, 1.77vw, 10px);
    }
}
@media (max-width: 480px) {
    .floating-cta_inner {
        max-width: 360px;
    }
}

.sub_page_header{
    padding: 7.5% 5% 8%
}
/* お問い合わせページ */
.sub_page_header.sub_page_contact_header{
    background: #2A5D82;
    color: #EDE5D5;
    text-align: center;
}
.subpage_header_title{
    font-size: clamp(33px, 5.57vw, 51px);
    letter-spacing: .09em;
    margin-bottom: clamp(12px, 2.47vw, 16px);
    font-weight: 500;
}
.subtitle{
    font-size: clamp(12px, 3.07vw, 14px);
    letter-spacing: .09em;
    font-weight: 400;
}
.wpcf7-form-control-wrap input, .service-foam-confirm td {
    display: inline-block;
    width: 100%;
    padding: 0.8em;
    border: 1px solid #9B9B9B;
    box-sizing: border-box;
    margin-bottom: 0.5rem;
    background: #FFFFFF;
}
.wpcf7-form-control-wrap .wpcf7-textarea {
    display: block;
    width: 100%;
    margin-bottom: 0.5rem;
    padding: 0.8em;
    border: 1px solid #9B9B9B;
    box-sizing: border-box;
    background: #FFFFFF;
}
.contact-area th,.contact-area td {
    display: block;
    width: 100%;
    padding: initial;
    line-height: initial;
}
.service-foam{
    width: 70%;
    margin: auto;
}
.contact-area{
    padding-top: 6%;
    padding-bottom: 10%;
}
.contact-area th .required{
    color: #fff;
    font-size: 13px;
    letter-spacing: 1px;
    padding: 0px 5px 2px;
    margin-right: 0.8rem;
    position: relative;
    /* top: -2px; */
    background-color: #BA6227;
    font-weight: 500;
    line-height: 1;
}
.contact-area th .arbitrary{
    color: #fff;
    font-size: 13px;
    letter-spacing: 1px;
    padding: 0px 5px 2px;
    margin-right: 0.8rem;
    position: relative;
    /* top: -2px; */
    background-color: #2A5D82;
    font-weight: 500;
    line-height: 1;
}
.contact-area th{
    font-size: 16px;
    color: #262626;
    margin-bottom: 12px;
}
.contact-area td{
    margin-bottom: 25px;
}
.contact-area .btn_l_wrap {
    position: relative;
    margin: 35px auto;
    transition: 0.5s;
    width: 100%;
}
.btn_l_wrap {
    text-align: center;
    max-width: 221px;
    margin: 0 auto;
}
.contact-area .btn_l_wrap p .arrow  {
    position: absolute;
    right: 17px;
    width: 20px;
    line-height: 1;
    top: calc(50% - 11px);
    color: #ffffff;
    transition: .3s;
}
.contact-area .btn_l_wrap .arrow {
    top: 23px;
}
.contact-area .wpcf7-submit:disabled {
    background-color: #999;
    border: solid 1px #999;
}
.contact-area .wpcf7-submit {
    width: 100%;
    height: 100%;
    padding: 14px 0;
    background-color: #262626;
    color: #fff;
    font-size: 17px;
    font-weight: 400;
    border: solid 1px #262626;
    border-radius: 42px;
    transition: .3s;
}
.contact-area .wpcf7-submit:hover {
    background-color: #2A5D82;
    color: #fff;
    border: solid 1px #2A5D82;
}
/* .contact-area .btn_l_wrap p:hover .arrow {
    color: #262626;
} */
.btn_l_wrap .wpcf7-spinner {
    display: none;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
    width: 70%;
    margin: auto;
    margin-top: -7%;
    margin-bottom: 8%;
}

@media (max-width: 768px){
    .service-foam {
        width: 90%;
    }
    .contact-area {
        padding-top: 15%;
        padding-bottom: 17%;
    }
    .sub_page_header {
        padding: 11.5% 5% 12%;
    }
    .wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
        width: 90%;
        margin-top: -10%;
        margin-bottom: 16%;
    }
}

/* お問い合わせ確認ページ */
.confirm_area{
    width: 70%;
    margin: 0 auto;
}
.confirm_area tr {
    display: flex;
}
.confirm_area tr th {
    width: 15rem;
    display: inline-block;
    border-bottom: 1px solid rgba(42, 93, 130, 0.4);
    padding: 22px 10px 22px 18px;
    min-height: 45px;
    margin-bottom: 0;
    margin-top: 0;
    font-weight: 500;
    font-size: 16px;
}
.confirm_area tr td {
    width: calc(100% - 15rem);
    display: inline-block;
    border-bottom: 1px solid rgba(42, 93, 130, 0.4);
    margin-bottom: 0;
    padding: 22px 10px;
    min-height: 45px;
    margin-top: 0;
    margin-bottom: 0;
    font-weight: 500;
    font-size: 16px;
}
.confirm_area .service-foam {
    width: 100%;
}
.confirm_area tbody{
    border-top: 1px solid rgba(42, 93, 130, 0.4); 
}
.confirm_btn_wrap{
    display: flex;
    align-items: flex-start;
    width: 80%;
    margin: 0 auto;
}
.confirm_area .btn_l_wrap {
    max-width: none;
}
.confirm_area .btn_l_wrap_white input {
    width: 100%;
    height: 100%;
    padding: 14px 0;
    background-color: #f3f1e9;
    color: #262626;
    font-size: 17px;
    font-weight: 400;
    border: solid 1px #262626;
    border-radius: 42px;
    transition: .3s;
}
.confirm_area .btn_l_wrap_white input:hover {
    color: #2A5D82;
    border: solid 1px #2A5D82;
}
.contact-area .btn_l_wrap.btn_l_wrap_white:hover p .arrow{
    color: #2A5D82;
    transition: .3s;
}
.confirm_area .confirm_btn_wrap {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 80%;
    margin: 0 auto;
    gap: 30px;
    margin-top: 2.7%;
}
.contact-area .btn_l_wrap.btn_l_wrap_white p .arrow {
    position: absolute;
    left: 17px;
    width: 20px;
    line-height: 1;
    top: calc(50% - 11px);
    color: #262626;
    transition: .3s;
}
.confirm_title {
    font-size: clamp(22px, 3.97vw, 27px);
    font-weight: 400;
    margin-bottom: clamp(22px, 3.97vw, 27px);
    text-align: center;
}
.confirm_text {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    text-align: center;
    margin-bottom: 6%;
    line-height: 1.5;
}
.confirm_area .edit_btn {
    max-width: 261px;
    margin: 35px 0;
}
.confirm_area .submit_btn {
    width: 221px;
    margin: 35px 0;
}
.page_contents_box .wpcf7 form.invalid .wpcf7-response-output,.page_contents_box .wpcf7 form.unaccepted .wpcf7-response-output,.page_contents_box .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #B73520;
    padding: 10px;
}
.page_contents_box .wpcf7-not-valid-tip {
    color: #B73520;
}
@media (max-width: 768px){
    .confirm_area{
        width: 90%;
        margin: 0 auto;
    }
    .confirm_area .confirm_btn_wrap {
        width: 80%;
        flex-wrap: wrap;
        gap: 0;
        margin-top: 9%;
    }
    .contact-area .btn_l_wrap {
        margin-top: 20px;
    }
    .confirm_area tr {
        flex-wrap: wrap;
    }
    .confirm_area tr th {
        border: none;
        padding-bottom: 0px;
        padding-left: 0;
    }
    .confirm_area tr th,.confirm_area tr td{
        width: 100%;
    }
    .confirm_area tr td {
        padding: 14px 0px 20px;
    }
}

/* 送信完了ページ */
.contact-thanks_inner{
    width: 70%;
    margin: 0 auto;
    padding-top: 6%;
    padding-bottom: 9%;
    text-align: center;
}
.sent_midasi{
    font-size: clamp(22px, 3.97vw, 27px);
    font-weight: 400;
    margin-bottom: clamp(30px, 3.97vw, 45px);
}
.sent_text{
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
}
.contact-thanks_inner .btn_wrap_wrap {
    max-width: 231px;
    margin: 0 auto;
    margin-top: 40px;
}
.contact-thanks_inner .btn_wrap {
    border: solid 1px #262626;
    color: #262626;
    background-color: #f3f1e9;
    text-align: center;
    position: relative;
    font-size: 17px;
    padding: 14px 10px;
    font-weight: 400;
    margin-top: auto;
    border-radius: 34px;
    letter-spacing: 0.05rem;
    transition: .3s;
}
.contact-thanks_inner .btn_wrap:hover {
    background-color: #2A5D82;
    color: #fff;
    border: solid 1px #2A5D82;
}
.contact-thanks_inner .btn_wrap_wrap .btn_wrap {
    display: block;
    width: 100%;
    transition: 0.5s;
}
.contact-thanks_inner .arrow {
    position: absolute;
    left: 15px;
    width: 20px;
    line-height: 1;
}
@media screen and (max-width: 768px){
    .contact-thanks_inner {
        width: 90%;
        padding-top: 15%;
        padding-bottom: 17%;
    }
}

/* ご注文の流れページ */
.flow-style .order-body {
    padding: 4.9% 0px 9.8%;
}
.sub_page_header.sub_page_flow_header{
    background: #426B2A;
    color: #EDE5D5;
    text-align: center;
}
.flow-style .order-lead {
    padding: 0;
    background-color: inherit;
    font-size: clamp(18px, 3.17vw, 20px);
    font-weight: 400;
    width: 100%;
    margin-bottom: clamp(25px, 3.17vw, 40px);
    line-height: 1.5;
}
.subpage_common_title_heading {
    text-align: center;
    margin-bottom:clamp(35px, 4.97vw, 55px);
}
.subpage_common_title_heading h2 {
    font-size: clamp(38px, 3.97vw, 44px);
    letter-spacing: .05em;
    margin-bottom: 16px;
    font-weight: 600;
}
.subpage_common_title_heading p {
    font-size: clamp(13px, 3.17vw, 14px);
    letter-spacing: .15em;
    font-weight: 500;
}
.flow-style .order-card {
    padding: 4.7% 7% 5%;
    background-color: #EDE5D5;
    border: 2px solid #728F5E;
}
.flow-style .order-panel {
    padding: 5.4% 7% 4.8%;
    border: 1px solid #728F5E;
    background: #F3F1E9;
}
.order-columns_flow {
    padding: 0 15px;
}
.order-columns_flow .order-col-head img {
    max-width: 23px;
}
.order-columns_flow .order-col-head {
    gap: 11px;
}
.order-columns_flow .order-col-head.takeout-head img {
    max-width: 17px;
}
.takeout-text{
    font-size: 13px;
    color: #262626;
    display: block;
    margin-left: 28px;
    margin-top: -15px;
}
.deliver_area{
    padding: 10% 7%;
}
.deliver_text{
    letter-spacing: 0.05em;
    font-size: 15px;
    font-weight: 400;
    text-align: center;
    line-height: 1.6;
    margin-bottom: 30px;
}
.deliver_area_img{
    border: 1px solid #564F47;
    max-width: 927px;
    margin: 0 auto;
}
.deliver_area_img .sp{
    display: none;
}
.flow_map_box{
    border: 1px solid #426B2A;
}
.flow_map_box iframe{
    width: 100%;
}
.shop_nagomi_title{
    font-size: 15px;
    letter-spacing: .05em;
    margin-bottom: 20px;
    font-weight: 400;
    text-align: center;
}
.shop_nagomi {
    padding-top: 38px;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.shop_data_box {
    width: fit-content;
}
.shop_data {
    display: flex;
    align-items: baseline;
    padding-bottom: 10px;
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: 0.05em;
    font-weight: 400;
}
.shop_data_ttl {
    flex-shrink: 0;
    width: 87px;
    font-weight: 400;
}
.shop_data dd {
    width: calc(100% - 87px);
    font-weight: 400;
}
.shop_data:last-child {
    padding-bottom: 0px;
}
.shop_data br.sp{
    display: none;
}
@media screen and (max-width: 768px) {
    .flow-style .order-body {
        padding: 8.9% 0px 20%;
    }
    .flow-style .order-card {
        padding: 10% 0% 11%;
    }
    .flow-style .order-panel {
        padding: 5.4% 5% 4.8%;
        border: none;
        border-bottom: 1px solid #728F5E;
        border-top: 1px solid #728F5E;
    }
    .flow-style .order-lead {
        padding: 0 5%;
        font-size: clamp(16px, 3.17vw, 20px);
    }
    .subpage_common_title_heading h2 {
        font-size: clamp(30px, 6.47vw, 38px);
        margin-bottom: 15px;
    }
    .deliver_area_img .pc{
        display: none;
    }
    .deliver_area_img .sp{
        display: block;
    }
    .deliver_area {
        padding: 14% 5%;
    }
    br.pc{
        display: none;
    }
    .deliver_text {
        text-align: left;
    }
    .flow_map_area{
        padding: 0 5%;
    }
    .shop_data br.sp{
        display: block;
    }
    .flow_map_box iframe {
        aspect-ratio: 1 / 1;
        object-fit: cover;
        height: 100%;
    }
}

/* パンくず */
.breadcrumbs{
    padding: 2% 5% 0;
    color: #D4D4D4;
    font-size: clamp(12px, 3.17vw, 13px);
    font-weight: 400;
}
.breadcrumbs a{
    color: #A8A8A8;
}
.breadcrumbs span span{
    padding: 0 3px;
    font-size: clamp(12px, 3.17vw, 13px);
    font-weight: 600;
    color: #262626;
}
@media screen and (max-width: 768px) {
    .breadcrumbs {
        padding: 3% 5% 0;
        font-size: clamp(12px, 2.47vw, 13px);
    }
    .breadcrumbs span span {
        font-size: clamp(12px, 2.47vw, 13px);
    }
}

/* NAGOMIのこだわりページ */
.sub_page_header.sub_page_quality_header {
    background: #BA6227;
    color: #EDE5D5;
    text-align: center;
}
.concept-section {
    padding-top: 4.8%;
    padding-bottom: 9.8%;
}
.concept-header {
    margin: 0 auto 70px;
}
.concept-inner{
    width: 80%;
    margin: 0 auto;
}
.concept-header_title {
    line-height: 1.5;
    font-size: clamp(24px, 2.17vw, 27px);
    margin-bottom: clamp(20px, 2.47vw, 25px);
    font-weight: 400;
    text-align: center;
}
.concept-header_text {
    font-size: clamp(14px, 1.27vw, 15px);
    line-height: 1.8;
    font-weight: 400;
    text-align: center;
}
.concept-block {
    margin: 0 auto 30px;
    background-color: rgba(186, 98, 39, 0.08);
    border: 1px solid #BA6227;
    padding: 3.5% 4.6%;
    display: flex;
    align-items: center;
    gap: 3%;
}
.concept-block_image {
	flex: 0 0 49%;
}
.concept-block_image img {
	width: 100%;
	height: auto;
	display: block;
}
.concept-block_content {
	flex: 1;
}
.concept-block_point {
    display: inline-block;
    background-color: #BA6227;
    color: #ffffff;
    font-size: clamp(13px, 1.37vw, 16px);
    padding: 2px 13.4px 4px;
    margin-bottom: clamp(12px, 1.37vw, 14px);

}
.concept-block_heading {
    color: #BA6227;
    line-height: 1.6;
    font-size: clamp(20px, 2.07vw, 25px);
    margin-bottom: clamp(13px, 1.17vw, 15px);
    font-weight: 400;
}
.concept-block_text {
    font-size: clamp(14px, 1.27vw, 15px);
    line-height: 1.9;
}
.concept-grid {
    margin: 60px auto 0;
    display: flex;
    gap: 3.5%;
}
.concept-grid_item {
	flex: 1;
}
.concept-grid_image {
	margin-bottom: 16px;
}
.concept-grid_image img {
	width: 100%;
	height: auto;
	display: block;
}
.concept-grid_point {
    display: inline-block;
    background-color: #BA6227;
    color: #ffffff;
    font-size: clamp(10px, 1.37vw, 12px);
    padding: 2px 11px 3px;
    margin-bottom: 10px;
    font-weight: 500;
}
.concept-grid_heading {
    color: #BA6227;
    line-height: 1.6;
    font-size: clamp(18px, 2.27vw, 21px);
    margin-bottom: clamp(12px, 2.47vw, 13px);
    font-weight: 400;
}
.concept-grid_text {
    font-size: clamp(13px, 1.27vw, 14px);
    line-height: 1.7;
    font-weight: 400;
}

@media screen and (max-width: 768px) {
    .concept-section {
        padding-top: 8.9%;
        padding-bottom: 20%;
    }
    .concept-header_title {
        font-size: clamp(20px, 4.67vw, 27px);
        margin-bottom: clamp(20px, 4.47vw, 25px);
    }
    .concept-header_text {
        font-size: clamp(14px, 2.27vw, 15px);
        line-height: 1.8;
        font-weight: 400;
        text-align: left;
    }
    .concept-inner {
        width: 90%;
    }
    .concept-block {
        flex-direction: column;
        gap: clamp(20px, 4.17vw, 30px);
        padding: 6.7% 5%;
        align-items: start;
    }
    .concept-header {
        margin: 0 auto 12%;
    }
    .concept-block_point {
        font-size: clamp(13px, 2.37vw, 16px);
        padding: 2px 13.4px 4px;
        margin-bottom: clamp(12px, 2.37vw, 14px);
    }
	.concept-block--reverse {
		flex-direction: column-reverse;
	}
	.concept-block_image {
		flex: 1;
		width: 100%;
	}
    .concept-block_heading {
        font-size: clamp(20px, 3.67vw, 25px);
        margin-bottom: clamp(13px, 2.97vw, 15px);
    }
    .concept-block_text {
        font-size: clamp(14px, 2.27vw, 15px);
    }
	.concept-grid {
		flex-direction: column;
		gap: clamp(35px, 8.07vw, 45px);
	}
    .concept-grid_image {
        margin-bottom: clamp(15px, 3.67vw, 20px);
    }
    .concept-grid_point {
        font-size: clamp(12px, 2.37vw, 14px);
        margin-bottom: clamp(9px, 1.87vw, 10px);
    }
    .concept-grid_heading {
        font-size: clamp(18px, 4.07vw, 21px);
        margin-bottom: clamp(9px, 2.37vw, 13px);
    }
    .concept-grid_text {
        font-size: clamp(13px, 2.27vw, 14px);
    }
}

/* 404 */
.sub_page_header.sub_page_404_header {
    background: #9B8837;
    color: #EDE5D5;
    text-align: center;
}
.notpage{
    padding-top: 8%;
    padding-bottom: 9%; 
}
.notpage_p_contents{
    width: 70%;
    margin: 0 auto;
}
.hp_notpage_text{
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
    text-align: center;
}
.not_found_box .btn_wrap_wrap {
    max-width: 231px;
    margin: 0 auto;
    margin-top: 40px;
}
.not_found_box .btn_wrap {
    border: solid 1px #262626;
    color: #262626;
    background-color: #f3f1e9;
    text-align: center;
    position: relative;
    font-size: 17px;
    padding: 14px 10px;
    font-weight: 400;
    margin-top: auto;
    border-radius: 34px;
    letter-spacing: 0.05rem;
    transition: .3s;
}
.not_found_box .btn_wrap:hover {
    background-color: #262626;
    color: #fff;
    border: solid 1px #262626;
}
.not_found_box .btn_wrap_wrap .btn_wrap {
    display: block;
    width: 100%;
    transition: 0.5s;
}
.not_found_box .arrow {
    position: absolute;
    left: 15px;
    width: 20px;
    line-height: 1;
}
@media screen and (max-width: 768px) {
    .notpage_p_contents {
        width: 90%;
    }
    .notpage {
        padding-top: 15%;
        padding-bottom: 17%;
    }
}
@media screen and (max-width: 480px) {
    .hp_notpage_text {
        text-align: left;
    }
}

/* 共通ページ */
.sub_page_header.sub_page_common_header{
    background: #9B8837;
    color: #EDE5D5;
    text-align: center;  
}
.common-style{
    padding-top: 8%;
    padding-bottom: 10%;
}
@media screen and (max-width: 768px){
    .common-style {
        padding-top: 14%;
        padding-bottom: 19%;
    }
}
/* 特定商取引法ページ */
.tradelaw {
    width: 80%;
    margin: 0 auto;
}
.wp-block-table table {
    border-collapse: collapse;
    width: 100%;
}
.tradelaw table tbody tr td:first-of-type {
    font-weight: 600;
    width: 23%;
    box-sizing: border-box;
}
.wp-block-table td, .wp-block-table th {
    border: 1px solid;
    padding: .5em;
}
.tradelaw table tbody tr td {
    padding: 22px;
    border-bottom: 1px solid #3c3c3c;
    font-size: 15px;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.6;
}
.tradelaw table tbody tr td a{
    color: #9B8837;
    border-bottom: solid 1px #9B8837;
    padding-bottom: 0;
    transition: opacity 0.3s;
}
.tradelaw table tbody tr td a:hover {
    opacity: .8;
}
.privacy .wp-block-group:last-child {
    margin-bottom: 0;
}
@media screen and (max-width: 768px) {
    .tradelaw table tbody tr td:first-of-type {
        border-bottom: none;
        width: 100%;
        padding: 10px 17px;
    }
    .tradelaw table tbody tr td:last-of-type {
        border-bottom: 1px solid #3c3c3c00;
        padding: 0px 17px 15px 17px;
        border-top: none;
    }
    .tradelaw table tbody tr td {
        display: block;
    }
    .tradelaw {
        width: 90%;
    }
    .tradelaw tbody{
        border-bottom: 1px solid #3c3c3c;
    }
}

/* プライバシーポリシー */
.privacy h2 {
    font-size: clamp(20px, 3.67vw, 24px);
    color: #9B8837;
    margin-bottom: clamp(15px, 3.97vw, 23px);
    border-bottom: solid 1px #AFAC9B;
    padding-bottom: 10px;
}
.privacy{
    width: 80%;   
    margin: 0 auto; 
}
.privacy .wp-block-group{
    margin-bottom: clamp(40px, 5.57vw, 50px);
}
.privacy p{
    font-weight: 400;
    font-size: 16px;
    line-height: 1.8;
}
.privacy ol{
    padding-left: 22px;
}
.privacy li{
    font-weight: 400;
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 23px;
}
.privacy li:last-child{
    margin-bottom: 0px;
}
.privacy li::marker {
    font-weight: 600;
    font-size: 17px;
    color: #9B8837;
}
@media screen and (max-width: 768px){
    .privacy{
        width: 90%;   
    }
    .privacy p {
        font-size: clamp(15px, 2.97vw, 16px);
    }
    .privacy li::marker {
        font-size: clamp(16px, 2.97vw, 18px);
    }
}

/* お知らせ詳細ページ */
.sub_page_header.sub_page_news_header {
    background: #73537F;
    color: #EDE5D5;
    text-align: center;
}
.news-style{
    padding-top: 4.9%;
    padding-bottom: 9.8%;
}
.news_text_area{
    width: 75%;
    margin: 0 auto;
    background: #EDE5D5;
    border: solid 2px #73537F;
    padding: 4.6% 5.5%;
}
.news-date{
    font-size: clamp(14px, 2.37vw, 15px);
    margin-bottom: clamp(15px, 1.67vw, 16px);
    font-weight: 400;
    color: rgba(38, 38, 38, 0.4);
    display: block;
}
.news_s_title{
    font-size: clamp(27px, 3.27vw, 33px);
    margin-bottom: clamp(40px, 5.47vw, 50px);
    font-weight: 400;
    padding-bottom: clamp(13px, 2.47vw, 16px);
    border-bottom: solid 1px #73537F;
}
.btn_wrap_news.btn_wrap_wrap {
    max-width: 231px;
    margin: 0 auto;
    margin-top: 60px;
}
.btn_wrap_news .btn_wrap {
    border: solid 1px #262626;
    color: #262626;
    background-color: #f3f1e9;
    text-align: center;
    position: relative;
    font-size: 17px;
    padding: 14px 10px;
    font-weight: 400;
    margin-top: auto;
    border-radius: 34px;
    letter-spacing: 0.05rem;
    transition: .3s;
}
.btn_wrap_news .btn_wrap:hover {
    background-color: #262626;
    color: #fff;
    border: solid 1px #262626;
}
.btn_wrap_news.btn_wrap_wrap .btn_wrap {
    display: block;
    width: 100%;
    transition: 0.5s;
}
.btn_wrap_news .arrow {
    position: absolute;
    left: 15px;
    width: 20px;
    line-height: 1;
}
.news-box p{
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
    margin-bottom: 1.6rem;
}
.news-box img {
    box-sizing: border-box;
    height: auto;
    max-width: 100%;
}
@media screen and (max-width: 768px){
    .news_text_area {
        width: 90%;
        padding: 10% 5%;
    }
    .news-style {
        padding-top: 8.9%;
        padding-bottom: 20%;
    }
    .news_s_title {
        font-size: clamp(24px, 4.17vw, 30px);
        margin-bottom: clamp(40px, 6.97vw, 48px);
    }
    .btn_wrap_news.btn_wrap_wrap {
        margin-top: 9%;
    }
}

/* お知らせ一覧ページ */
.page_news_list{
    width: 75%;
    margin: 0 auto;
}
.page_news_list .news_link {
    display: flex;
    align-items: baseline;
    line-height: 1.8;
}
.news-date_link {
    font-size: clamp(15px, 2.6vw, 16px);
    margin-bottom: 0px;
    width: 150px;
    font-weight: 400;
    color: rgba(38, 38, 38, 0.4);
    flex-shrink: 0;
}
.page_news_list .news-text {
    font-size: clamp(17px, 2.6vw, 18px);
    letter-spacing: 0.05rem;
    margin-top: 0px;
    transition: .3s;
    line-height: 1.8;
}
.page_news_list .news_link:first-child {
    border-top: 1px solid rgba(115, 83, 127, 0.4);
}
.news_link {
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 25px 60px 25px 20px;
    border-bottom: 1px solid rgba(115, 83, 127, 0.4);
    transition: .3s;
}
.news_link .news-arrow {
    position: absolute;
    right: 20px;
    width: 17px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid #262626;
    border-radius: 50%;
    color: #fff;
    background: #262626;
    transition: .3s;
}
.news_link .news-arrow svg {
    width: 14px;
    height: 14px;
}
.news_link:hover .news-arrow {
    border: 1px solid #73537F;
    color: #fff;
    background: #73537F;
}
@media screen and (max-width: 768px) {
    .page_news_list .news_link {
        flex-direction: column;
        gap: 5px;
    }
    .page_news_list {
        width: 90%;
    }
}

/* お知らせ一覧ページネーション */
.news-pagination_list {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 8px;
    flex-wrap: wrap;
}
.news-pagination_arrow a,
.news-pagination_arrow span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #73537F;
    border-radius: 50%;
    color: #73537F;
    text-decoration: none;
}
.news-pagination_arrow svg {
    width: 15px;
    height: 15px;
}
.news-pagination_arrow a:hover {
    background: #f2efe6;
}
.news-pagination_arrow .is-disabled {
    border-color: #73537F;
    color: #73537F;
    cursor: default;
    opacity: 0.5;
}
.news-pagination_item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
}
.news-pagination_item a,
.news-pagination_item span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #73537F;
    text-decoration: none;
    font-size: clamp(17px, 3.07vw, 18px);
    font-weight: 500;
}
.news-pagination_item a:hover {
    background: #f2efe6;
}
.news-pagination_item.is-current span {
    background: #DCD4E0;
    color: #73537F;
    padding-bottom: 1px;
}
.news-pagination_item.is-dots span {
    border: none;
    color: #73537F;
    padding-bottom: 10px;
    width: 20px;
}
.news-pagination_item.is-dots {
    width: 20px;
}
.news-pagination{
    margin-top: clamp(40px, 4.17vw, 50px);
}
@media (max-width: 768px) {
    .news-pagination_item a, .news-pagination_item span {
        font-size: clamp(16px, 3.07vw, 18px);
    }
    .news-pagination_list {
        gap: 7px;
    }
}

/* シーン別ページ */
.usage-page-card_w{
    width: 80%;
    margin: 0 auto;
}
.usage-page-area{
    position: relative;
    /* padding-left: max(77px, 7vw);
    padding-right: max(77px, 7vw); */
    padding-bottom: max(40px, 5.2vw);
    padding-top: max(40px, 5.2vw);
}
.page-scene-local .usage-page-area{
    background:#426b2a;
}
.page-scene-auspicious .usage-page-area{
    background:#ba6227;
}
.page-scene-meeting .usage-page-area{
    background:#2a5d82;
}
.page-scene-memorial .usage-page-area{
    background:#73537f;
}
.usage-page-card{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: clamp(30px, 4.57vw, 62px);
    gap: 6%;
    color: #ede5d5;
    overflow: hidden;
    transform-origin: center top;
    will-change: transform, opacity;
}
.page-scene-local .usage-page-card{
    top: 260px;
}
.usage-page-card_label{
    left: 20px;
    transform: translateY(-50%);
    writing-mode: vertical-rl;
    font-size: 10px;
    transform: rotate(180deg);
    transform-origin: center center;
    position: absolute;
    font-weight: 500;
    color: #ede5d5;
    position: absolute;
    top: 38%;
}
.usage-page-card_label_r{
    right: 20px;
    transform: translateY(-50%);
    writing-mode: vertical-rl;
    font-size: 10px;
    position: absolute;
    font-weight: 500;
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translate(-1vw, -50%);
    writing-mode: vertical-lr;
    letter-spacing: 0.1em;
    color: #ede5d5;
}
.usage-page-card_lt_box{
    flex-shrink: 0;
    /* max-width: 240px; */
    width: 26%;
}
.usage-page-card_photo{
    overflow: hidden;
    border-radius: 50%;
    border: solid 1px #ede5d5;
    /* max-width: 237px; */
    margin: 0 0 0 auto;
}
.usage-page-card_photo img{
    max-width: 100%;
    max-height: 100%;
    border-radius: 50%;
    object-fit:cover;
    display:block;
    transition:.8s;
}
.usage-page-card_content{
    flex:1;
}
.usage-page-card_content h3{
    font-size: clamp(29px, 2.97vw, 42px);
    margin-bottom: 20px;
    font-weight: 400;
}
.usage-page-card_text{
    line-height: 1.9;
    margin-bottom: 25px;
    font-size: clamp(14px, 1.27vw, 15px);
}
.usage-page-card_tags{
    display: flex;
    flex-wrap: wrap;
    gap: 8px 5px;
    margin-top: 25px;
}
.usage-page-card_tags span{
    border: 1px solid #ede5d5;
    border-radius: 50px;
    padding: 4px 11px;
    font-size: clamp(12px, 1.37vw, 13px);
    letter-spacing: .05em;
}
.usage-page-card_menu-title{
    display: inline-block;
    background: #ede5d5;
    color: #333;
    padding: 4px 10px;
    font-size: clamp(11px, 1.57vw, 12px);
    margin-bottom: max(13px, 1.1vw);
    font-weight: 500;
}
.page-scene-local .usage-page-card_menu-title {
    color: #426b2a;
}
.page-scene-auspicious .usage-page-card_menu-title {
    color: #ba6227;
}
.page-scene-meeting .usage-page-card_menu-title {
    color: #2a5d82;
}
.page-scene-memorial .usage-page-card_menu-title {
    color: #73537f;
}
.usage-page-card_menu-title.sp{
    display: none;
}
.usage-page-card_foods{
    display:flex;
    gap: 3%;
    width: 100%;
}
.usage-page-card_food{
    overflow:hidden;
    width: 100%;
}
.usage-page-card_food img {
    /* max-width: 141px; */
    object-fit: cover;
    display: block;
    transition: .8s;
}
.usage-page-card_rt_box{
    display: flex;
    align-items: center;
    gap: 45px;
    width: 70%;
}
.usage-page-card_arrow{
    width: 37px;
    height: 37px;
    transition:.4s;
}
.usage-page-card_arrow svg{
    width:100%;
    height:100%;
}
.usage-page-card_circle{
    fill:#ede5d5;
}
.usage-page-card_arrow{
    width:37px;
    height:37px;
}
.usage-page-card_arrow-path{
    fill:none;
    stroke-width:2.7px;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.usage-page-card-local_events .usage-page-card_arrow-path{
    stroke:#426b2a;
}
.usage-page-card-auspicius .usage-page-card_arrow-path{
    stroke:#ba6227;
}
.usage-page-card-meeting .usage-page-card_arrow-path{
    stroke:#2a5d82;
}
.usage-page-card-memorial .usage-page-card_arrow-path{
    stroke:#73537f;
}
/* .usage-page-card:hover .usage-page-card_photo img{
    transform:scale(1.08);
} */
.usage-page-card_title_sp{
    display: none;
}
.usage-page-card_label_rsp{
    display: none;
}
.btn_wrap_scene.btn_wrap_wrap {
    max-width: 192px;
    margin-top: max(13px, 2.5vw);
}
.btn_wrap_scene .btn_wrap {
    text-align: center;
    position: relative;
    font-size: 16px;
    padding: 12px 10px;
    font-weight: 600;
    margin-top: auto;
    border-radius: 34px;
    letter-spacing: 0.05rem;
    
}
.page-scene-local .btn_wrap_scene .btn_wrap {
    border: solid 1px #EDE5D5;
    color: #EDE5D5;
    background-color: #426B2A;
}
.page-scene-local .btn_wrap_scene .btn_wrap:hover {
    border: solid 1px #EDE5D5;
    color: #426B2A;
    background-color: #EDE5D5;
}
.page-scene-auspicious .btn_wrap_scene .btn_wrap {
    border: solid 1px #EDE5D5;
    color: #EDE5D5;
    background-color: #ba6227;
}
.page-scene-meeting .btn_wrap_scene .btn_wrap {
    border: solid 1px #EDE5D5;
    color: #EDE5D5;
    background-color: #2a5d82;
}
.page-scene-memorial .btn_wrap_scene .btn_wrap {
    border: solid 1px #EDE5D5;
    color: #EDE5D5;
    background-color: #73537f;
}
.page-scene-auspicious .btn_wrap_scene .btn_wrap:hover {
    border: solid 1px #EDE5D5;
    color: #ba6227;
    background-color: #EDE5D5;
}
.page-scene-meeting .btn_wrap_scene .btn_wrap:hover {
    border: solid 1px #EDE5D5;
    color: #2a5d82;
    background-color: #EDE5D5;
}
.page-scene-memorial .btn_wrap_scene .btn_wrap:hover {
    border: solid 1px #EDE5D5;
    color: #73537f;
    background-color: #EDE5D5;
}
.btn_wrap_scene.btn_wrap_wrap .btn_wrap {
    display: block;
    width: 100%;
    transition: 0.5s;
}
.btn_wrap_scene .arrow {
    position: absolute;
    right: 15px;
    width: 20px;
    line-height: 1;
}

.usage-page-card_photo_sp{
    display: none;
}
@media (max-width:768px){
    .usage_title_heading {
        position: inherit;
    }
    .top_scene_sp{
        display: block;
        width: 100%;
    }
    .usage-page-card_photo_sp{
        display: block;
        width: 100%;
        position: relative;
    }
    .usage-page-card_photo.pc{
        display: none;
    }
    .usage-page-card_label_lsp{
        position: absolute;
        top: 70%;
        left: -10px;
        transform: translate(0vw, -50%);
        writing-mode: vertical-lr;
        letter-spacing: 0.1em;
        display: block;
    }
    .usage-page-card_label_l_text{
        font-size: clamp(8px, 2.17vw, 12px);
        font-weight: 500;
        transform: rotate(180deg);
        transform-origin: center top;
        position: absolute;
        white-space: nowrap;       
    }
    .usage-page-card_label_rsp{
        position: absolute;
        top: 50%;
        right: -10px;
        transform: translate(0vw, -50%);
        writing-mode: vertical-lr;
        letter-spacing: 0.1em;
        display: block;
    }
    .usage-page-card_label_r_text{
        font-size: clamp(8px, 2.17vw, 12px);
        font-weight: 500;
        white-space: nowrap;       
    }
    .usage-page-card_title_sp{
        display: block;
        font-size: clamp(20px, 4.77vw, 31px);
        margin-bottom: 20px;
        margin-bottom: clamp(20px, 4.77vw, 35px);
        font-weight: 400;
    }
    .usage-page-card_rt_box {
        gap: 35px;
        flex-direction: column;
        text-align: left;
        width: 100%;
    }
    .usage-scene_inner {
        width: 90%;
    }
    .usage-page-card {
        flex-direction: column;
        gap: clamp(20px, 5.97vw, 32px);
        text-align: center;
        padding-top: clamp(25px, 5.97vw, 40px);
        padding-left: clamp(25px, 5.97vw, 40px);
        padding-right: clamp(25px, 5.97vw, 40px);
        padding-bottom: clamp(40px, 10.17vw, 60px);
        margin-bottom: 11%;
        padding-top: 5.6vh;
        padding-bottom: 6vh;
    }
    .usage-page-card_label{
        display:none;
    }
    .usage-page-card_content h3{
        font-size:30px;
        display: none;
    }
    .usage-page-card_food img{
        width:100%;
        max-width: 100%;
    }
    .usage-page-card_arrow{
        display: none;
    }
    .usage-page-card_lt_box {
        max-width: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .usage-page-card_photo {
        max-width: 100%;
        margin: auto;
        width:max(153px, 49%);
        width: 20vh;
    }
    .usage-page-card_tags {
        width: max(220px, 49%);
        justify-content: center;
    }
    .usage-scene {
        padding: 17% 0px 0;
    }
    .usage-page-card_tags span {
        font-size: clamp(13px, 2.27vw, 15px);
    }
    .usage-page-card_text {
        font-size: clamp(13px, 3.27vw, 17px);
        margin-bottom: clamp(20px, 4.77vw, 35px);
    }
    .usage-page-card_menu-title {
        font-size: clamp(11px, 2.07vw, 15px);
        margin-bottom: max(13px, 2.8vw);
    }
    .usage-page-card_foods {
        gap: clamp(6px, 1.47vw, 15px);
    }
    .top_scene-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 25px;
        height: 38px;
        padding: 14px 40px;
        background: #EDE5D5;
        border-radius: 50px;
        text-decoration: none;
        color: #426b2a;
        transition: .3s;
        max-width: 212px;
        width: 100%;
        position: relative;
        margin: auto;
        font-size: clamp(15px, 3.17vw, 18px);
        font-weight: 600;
    }
    .usage-page-card-local_events .top_scene-btn {
        color: #426b2a;
    }
    .usage-page-card-auspicius .top_scene-btn {
        color: #ba6227;
    }
    .usage-page-card-meeting .top_scene-btn {
        color: #2a5d82;
    }
    .usage-page-card-memorial .top_scene-btn {
        color: #73537f;
    }
    .top_scene-btn svg {
        width: 18px;
        height: 18px;
        position: absolute;
        right: 12px;
    }
    .usage-page-card-memorial.usage-page-card {
        padding-bottom: clamp(40px, 10.17vw, 60px);
        margin-bottom: clamp(20px, 4.97vw, 40px);
        position: sticky;
        top: 90px;
    }
    .usage-page-card_menu-title.pc{
        display: none;
    }
    .usage-page-card_menu-title.sp{
        display: block;
    }
    .usage-page-card_w {
        width: 100%;
    }
    .usage-page-card_label_r {
        display: none;
    }
    .usage-page-area {
        padding-bottom:0;
        padding-top: 0;
    }
    .btn_wrap_scene .btn_wrap {
        font-size: clamp(12px, 2.57vw, 16px);
    }
    .btn_wrap_scene.btn_wrap_wrap {
        max-width: inherit;
        width: max(157px, 32vw);
        margin: 0 auto;
        margin-top: max(13px, 6.6vw);
    }
    .btn_wrap_scene .arrow {
        right: 12px;
        width: 15.8px;
    }
}
/*    お弁当紹介スライダー  */
.btn_wrap_scene_bento.btn_wrap_wrap {
	max-width: 221px;
	margin: 0 auto;
	margin-top: 5%;
}
.btn_wrap_scene_bento .btn_wrap {
	text-align: center;
	position: relative;
	font-size: 16px;
	padding: 12px 10px;
	font-weight: 600;
	margin-top: auto;
	border-radius: 34px;
	letter-spacing: 0.05rem;
	border: solid 1px #262626;
	color: #fff;
	background-color: #262626;
}
.btn_wrap_scene_bento .btn_wrap:hover {
	border: solid 1px #262626;
	color: #262626;
	background-color: #fff;
}

.page-scene-local .btn_wrap_scene_bento .btn_wrap:hover {
	border: solid 1px #426b2a;
	color: #fff;
	background-color: #426b2a;
}
.page-scene-auspicious .btn_wrap_scene_bento .btn_wrap:hover {
	border: solid 1px #ba6227;
	color: #fff;
	background-color: #ba6227;
}
.page-scene-meeting .btn_wrap_scene_bento .btn_wrap:hover {
	border: solid 1px #2a5d82;
	color: #fff;
	background-color: #2a5d82;
}
.page-scene-memorial .btn_wrap_scene_bento .btn_wrap:hover {
	border: solid 1px #73537f;
	color: #fff;
	background-color: #73537f;
}
.btn_wrap_scene_bento.btn_wrap_wrap .btn_wrap {
	display: block;
	width: 100%;
	transition: 0.5s;
}
.btn_wrap_scene_bento .arrow {
	position: absolute;
	right: 15px;
	width: 20px;
	line-height: 1;
}

.usage-bento_page_area {
	padding-top: 5%;
	padding-bottom: 8%;
}
.bento-slider {
	position: relative;
	width: 90%;
	margin: 0 auto;
	background-color: #f4f3ed;
}
.page-scene-local .bento-slider,
.page-scene-auspicious .bento-slider {
	background-color: #f4f3ed;
}
.page-scene-meeting .bento-slider {
	background-color: #f4f3ed;
}
.page-scene-memorial .bento-slider {
	background-color: #f4f3ed;
}
.bento-slider_viewport {
	position: relative;
	height: 72vh;
	overflow: hidden;
}
.page-scene-local .bento-slider_viewport {
	border: solid 2px #426B2A;
}
.page-scene-auspicious .bento-slider_viewport {
	border: solid 2px #ba6227;
}
.page-scene-meeting .bento-slider_viewport {
	border: solid 2px #2a5d82;
}
.page-scene-memorial .bento-slider_viewport {
	border: solid 2px #73537f;
}
/* --- スライド --- */
.bento-slide {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	opacity: 0;
	visibility: hidden;
	transform: translateY(24px);
	transition: opacity 0.6s ease, transform 0.6s ease, visibility 0.6s;
	pointer-events: none;
    background: #EDE5D5;
}
.bento-slide.is-active {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
}

/* --- 左：写真 --- */
.bento-slide_visual {
	position: relative;
	flex-shrink: 0;
	width: 58.7%;
	height: 100%;
	overflow: hidden;
}
.bento-slide_link {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	color: inherit;
	text-decoration: none;
}
.bento-slide_thumb {
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.bento-slide_photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
	will-change: transform;
}
.bento-slide_link:hover .bento-slide_photo {
	transform: scale(1.07);
}
.bento-slide_caption {
    position: absolute;
    left: 2%;
    bottom: 2%;
    width: calc(100% - 4%);
    padding: 9px 27px 12px 35px;
    border-radius: 46px;
    color: #ffffff;
    transition: background-color 0.4s ease;
}
.page-scene-local .bento-slide_caption {
	background-color: #426B2A;
}
.page-scene-auspicious .bento-slide_caption {
	background-color: #ba6227;
}
.page-scene-meeting .bento-slide_caption {
	background-color: #2a5d82;
}
.page-scene-memorial .bento-slide_caption {
	background-color: #73537f;
}
@media (hover: none) {
	.bento-slide_link:hover .bento-slide_photo {
		transform: scale(1);
	}
}
.bento-slide_caption-row {
	display: flex;
	align-items: flex-start;
	gap: 14px;
}
.bento-slide_number {
	display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
    padding: 3px 12px 5px;
    background-color: #ffffff;
    font-size: clamp(11px, 1.27vw, 13px);
    font-weight: 500;
    line-height: 1;
    vertical-align: middle;
    margin-top: 3px;
}
.bento-slide_number .bento-slide_number-code{
	font-size: clamp(16px, 1.47vw, 18px);
}
.page-scene-local .bento-slide_number {
	color: #426B2A;
}
.page-scene-auspicious .bento-slide_number {
	color: #ba6227;
}
.page-scene-meeting .bento-slide_number {
	color: #2a5d82;
}
.page-scene-memorial .bento-slide_number {
	color: #73537f;
}
.bento-slide_title {
	margin: 0;
	font-size: clamp(17px, 1.97vw, 21px);
	font-weight: 400;
	line-height: 1.4;
}
.bento-slide_price {
	margin: 4px 0 0;
	text-align: right;
	font-size: clamp(18px, 2.17vw, 21px);
	font-weight: 400;
}
.bento-slide_tax {
	margin-left: 4px;
	font-size: clamp(12px, 1.57vw, 13px);
}

/* --- 右：スクロールエリア --- */
.bento-slide_content {
	width: 41.3%;
	height: 100%;
	padding-bottom: 4%;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	scrollbar-width: none;
	-ms-overflow-style: none;
	-webkit-overflow-scrolling: touch;
}
.page-scene-local .bento-slide_content {
	border-left: solid 2px #426B2A;
	background: #EDE5D5;
}
.page-scene-auspicious .bento-slide_content {
	border-left: solid 2px #ba6227;
	background: #EDE5D5;
}
.page-scene-meeting .bento-slide_content {
	border-left: solid 2px #2a5d82;
	background: #EDE5D5;
}
.page-scene-memorial .bento-slide_content {
	border-left: solid 2px #73537f;
	background: #EDE5D5;
}
.bento-slide_content::-webkit-scrollbar {
	display: none;
}
.bento-slide_content:focus {
	outline: none;
}
.bento-slide_head {
	padding: 30px 6.7% 26px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.page-scene-local .bento-slide_head {
	background-color: #DADECE;
}
.page-scene-auspicious .bento-slide_head {
    background-color: rgba(186, 98, 39, 0.1);
}
.page-scene-meeting .bento-slide_head {
    background-color: rgba(42, 93, 130, 0.15);
}
.page-scene-memorial .bento-slide_head {
    background-color: rgba(115, 83, 127, 0.15);
}
.bento-slide_catch {
	font-size: clamp(18px, 2.07vw, 21px);
	font-weight: 400;
	line-height: 1.7;
}
.bento-slide_tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.bento-slide_tag {
	padding: 3px 9px 4px;
	border-radius: 20px;
	font-size: clamp(10px, 1.17vw, 11px);
	line-height: 1;
	font-weight: 400;
}
.page-scene-local .bento-slide_tag {
	border: 1px solid #426B2A;
	color: #426B2A;
}
.page-scene-auspicious .bento-slide_tag {
	border: 1px solid #ba6227;
	color: #ba6227;
}
.page-scene-meeting .bento-slide_tag {
	border: 1px solid #ba6227;
	color: #ba6227;
}
.page-scene-memorial .bento-slide_tag {
	border: 1px solid #73537f;
	color: #73537f;
}
/* --- 特徴ブロック --- */
.bento-slide_features {
	padding: 2% 6.7% 0;
}
.bento-feature {
	display: flex;
	justify-content: space-between;
	gap: clamp(30px, 2.77vw, 35px);
	padding: 26px 0;
}
.page-scene-local .bento-feature {
	border-bottom: 1px solid rgba(66, 107, 42, 0.55);
}
 .page-scene-auspicious .bento-feature {
    border-bottom: 1px solid rgba(186, 98, 39, 0.55);
}
 .page-scene-meeting .bento-feature {
    border-bottom: 1px solid rgba(42, 93, 130, 0.55);
}
 .page-scene-memorial .bento-feature {
    border-bottom: 1px solid rgba(115, 83, 127, 0.55);
}
.bento-feature_body {
	flex: 1;
	min-width: 0;
}
.bento-feature_title {
	margin: 0 0 14px;
	font-size: clamp(16px, 1.77vw, 17px);
	font-weight: 400;
	line-height: 1.6;
}
.page-scene-local .bento-feature_title {
	color: #426B2A;
}
.page-scene-auspicious .bento-feature_title {
	color: #ba6227;
}
.page-scene-meeting .bento-feature_title {
	color: #2a5d82;
}
.page-scene-memorial .bento-feature_title {
	color: #73537f;
}
.bento-feature_text {
	margin: 0;
	font-size: clamp(13px, 1.47vw, 14px);
	line-height: 1.8;
}
.bento-feature_figure {
	flex-shrink: 0;
	width: 35.5%;
	height: 32%;
	margin: 0;
	overflow: hidden;
}
.bento-feature_figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bento-slide_spec {
	padding: 32px 6.7% 0;
}
.bento-spec {
	margin: 0;
	padding: 6% 6.5%;
}
.page-scene-local .bento-spec {
	background: rgba(66, 107, 42, 0.08);
}
.page-scene-auspicious .bento-spec {
    background: rgba(186, 98, 39, 0.08);
}
.page-scene-meeting .bento-spec {
    background: rgba(42, 93, 130, 0.08);
}
.page-scene-memorial .bento-spec {
    background: rgba(115, 83, 127, 0.08);
}
.bento-spec_row {
	padding: 16px 0;
}
.page-scene-local .bento-spec_row{
	border-bottom: 1px solid rgba(66, 107, 42, 0.55);
}
.page-scene-auspicious .bento-spec_row {
    border-bottom: 1px solid rgba(186, 98, 39, 0.55);
}
.page-scene-meeting .bento-spec_row {
    border-bottom: 1px solid rgba(42, 93, 130, 0.55);
}
.page-scene-memorial .bento-spec_row {
    border-bottom: 1px solid rgba(115, 83, 127, 0.55);
}
.bento-spec_row:first-child {
	padding-top: 0;
}
.bento-spec_row:last-child {
	padding-bottom: 0;
	border-bottom: none;
}
.bento-spec_label {
	margin: 0 0 8px;
	font-size: clamp(13px, 1.37vw, 14px);
	font-weight: 400;
}
.page-scene-local .bento-spec_label {
	color: #426B2A;
}
.page-scene-auspicious .bento-spec_label {
	color: #ba6227;
}
.page-scene-meeting .bento-spec_label {
	color: #2a5d82;
}
.page-scene-memorial .bento-spec_label {
	color: #73537f;
}
.bento-spec_data {
	margin: 0;
	font-size: clamp(13px, 1.37vw, 14px);
	line-height: 1.8;
	font-weight: 400;
}
.bento-spec_nutrition {
	margin: 0;
	padding: 0;
	list-style: none;
}

/* --- インジケーター --- */
.bento-slider_nav {
	position: absolute;
	top: 0;
	right: -2%;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.bento-slider_dot {
	position: relative;
	width: 3.6px;
	height: 60px;
	padding: 0;
	border: none;
	cursor: pointer;
	overflow: hidden;
	appearance: none;
}
.page-scene-local .bento-slider_dot {
	background-color: rgba(66, 107, 42, 0.3);
}
.page-scene-auspicious .bento-slider_dot {
    background-color: rgba(186, 98, 39, 0.3);
}
.page-scene-meeting .bento-slider_dot {
    background-color: rgba(42, 93, 130, 0.3);
}
.page-scene-memorial .bento-slider_dot {
    background-color: rgba(115, 83, 127, 0.3);
}
.bento-slider_dot-fill {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0;
	transition: height 0.2s linear;
}
.page-scene-local .bento-slider_dot-fill {
	background-color: #426B2A;
}
.page-scene-auspicious .bento-slider_dot-fill {
	background-color: #ba6227;
}
.page-scene-meeting .bento-slider_dot-fill {
	background-color: #2a5d82;
}
.page-scene-memorial .bento-slider_dot-fill {
	background-color: #73537f;
}
.bento-slider_dot.is-done .bento-slider_dot-fill {
	height: 100%;
}
.bento-slider_dot-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

@media screen and (max-width: 768px) {
    .usage-bento_page_area {
        padding-top: 0;
        padding-bottom: 15%;
    }
	.bento-slider_viewport {
		height: 80vh;
		overflow: hidden;
	}
	/* 上下2分割：上＝写真＋緑帯を固定 / 下＝スクロール */
	.bento-slide {
		position: absolute;
        display: flex;
        flex-direction: column;
        height: 100%;
        overflow-y: auto;
        overscroll-behavior-y: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        -ms-overflow-style: none;
	}
	.bento-slide::-webkit-scrollbar {
    display: none;
    }
    .bento-slide_visual {
        width: 100%;
        height: auto;
        flex-shrink: 0;
    }
	.bento-slide_link {
		height: auto;
	}
	/* 写真の高さを固定し、緑帯はその下に積む */
	.bento-slide_thumb {
		height: 36.3vh;
	}
	.bento-slide_caption {
		position: static;
		left: auto;
		bottom: auto;
		width: 100%;
		padding: 14px 5.5% 16px;
		border-radius: 0;
	}
	.bento-slide_caption-row {
		display: block;
	}
	.bento-slide_number {
		display: inline-flex;
		gap: 8px;
		margin-bottom: clamp(4px, 1.27vw, 13px);
		padding: 0.8% 12px;
		font-size: clamp(11px, 2.07vw, 13px);
	}
    .bento-slide_number .bento-slide_number-code {
        font-size: clamp(16px, 3.07vw, 18px);
    }
	.bento-slide_title {
		font-size: clamp(18px, 3.97vw, 24px);
	}

	.bento-slide_price {
		margin-top: 6px;
		font-size: clamp(16px, 3.97vw, 22px);
	}
	.bento-slide_tax {
		font-size: clamp(9px, 2.57vw, 13px);
	}
	/* 下：スクロールエリア */
	.bento-slide_content {
		width: 100%;
        height: auto;
        padding-bottom: 9%;
        overflow-y: visible;
	}
	.page-scene-local .bento-slide_content,.page-scene-auspicious .bento-slide_content {
		border-left: none;
		border-top: none;
	}
	.page-scene-meeting .bento-slide_content {
		border-left: none;
		border-top: none;
	}
	.page-scene-memorial .bento-slide_content {
		border-left: none;
		border-top: none;
	}
	.bento-slide_head {
		padding: 22px 5% 20px;
        gap: 12px;
	}
	.bento-slide_catch {
		font-size: clamp(16px, 3.17vw, 22px);
		line-height: 1.8;
	}
    .bento-slide_tag {
        padding: 1.1% 2%;
        font-size: clamp(9px, 2.17vw, 11px);
    }
	/* 特徴：テキスト → 写真の縦積み */
	.bento-slide_features {
		padding: 2% 5% 0;
	}
	.bento-feature {
		flex-direction: column-reverse;
		padding: 8% 0;
        gap: clamp(20px, 4.77vw, 35px);
	}
	.bento-feature_title {
		margin-bottom: 10px;
		font-size: clamp(16px, 2.57vw, 18px);
	}
	.bento-feature_text {
		font-size: clamp(15px, 2.47vw, 16px);
	}
	.bento-feature_figure {
        width: 80%;
        height: auto;
        margin: 0 auto;
        margin-top: 14px;
        aspect-ratio: 16 / 10;
	}
	.bento-slide_spec {
		padding: 9.1% 5% 0;
	}
	.bento-spec {
		padding: 6.5% 5.5%;
	}
	.bento-spec_label,
	.bento-spec_data {
		font-size: clamp(14px, 2.37vw, 16px);
	}
    .bento-spec_row {
        padding-bottom: clamp(20px, 4.37vw, 25px);
        padding-top: clamp(20px, 4.37vw, 25px);
    }
	/* インジケーター：下に横並び */
	.bento-slider_nav {
		position: relative;
		top: auto;
		right: auto;
		flex-direction: row;
		justify-content: center;
		gap: 5px;
		padding-top: clamp(20px, 3.47vw, 25px);
	}
	.bento-slider_dot {
		width: 30px;
		height: 3.6px;
	}
	.bento-slider_dot-fill {
		width: 0;
		height: 100%;
	}
	.bento-slider_dot.is-done .bento-slider_dot-fill {
		width: 100%;
		height: 100%;
	}
    .btn_wrap_scene_bento.btn_wrap_wrap {
        max-width: 212px;
        margin-top: clamp(35px, 6.47vw, 40px);
    }
}

/* シーン別ページ　ご注文方法 */
.order-body.scene_order-body {
    padding: 8% 0px 8%;
    background-color: #426B2A;
}
@media screen and (max-width: 768px) {
    .order-body.scene_order-body {
        padding: 14.8% 0px 15%;
    }
}
/* シーン別ページ　配達エリア */
.scene_deliver_area{
    padding: 8% 0% 9.8%;
    width: 75%;
    margin: 0 auto;
}
.scene_deliver_text {
    letter-spacing: 0.05em;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.8;
    margin: auto;
    margin-bottom: clamp(35px, 3.97vw, 40px);
    width: 77%;
}
@media screen and (max-width: 768px) {
    .scene_deliver_text_sub{
        font-size: clamp(14px, 2.57vw, 15px);
    }
    .scene_deliver_area {
        padding: 13.8% 0px 20%;
        width: 90%;
    }
    .scene_deliver_text {
        font-size: clamp(15px, 2.57vw, 16px);
        margin-bottom: clamp(35px, 6.07vw, 40px);
        width: 100%;
    }
}

/* 商品一覧ページ */
.sub_page_header.sub_page_bento_header {
    background: #9B8837;
    color: #EDE5D5;
    text-align: center;
}
.bento-style{
    padding-top: 4.9%;
    padding-bottom: 9.8%;
}


/* ===== 商品一覧 ===== */
.product-archive_inner {
    display: flex;
    gap: clamp(35px, 4.4vw, 60px);
    width: 90%;
    margin: 0 auto;
}
.product-archive_side {
    position: sticky;
    top: clamp(90px, 8.33vw, 100px);
    align-self: flex-start;
    flex-shrink: 0;
    width:clamp(180px, 20.8vw, 287px);
}
.product-archive_main {
    flex: 1;
    min-width: 0;
}
/* サイドバー */
.product-side_block + .product-side_block {
    margin-top: clamp(70px, 8.17vw, 85px);
}
.product-side_label {
    display: inline-block;
    background: #9B8837;
    color: #FFFFFF;
    font-size: clamp(16px, 1.97vw, 19px);
    font-weight: 300;
    line-height: 1;
    padding: 3px 12px 6px;
}
.product-side_sub {
    font-size: clamp(13px, 1.57vw, 14px);
    padding-bottom: clamp(25px, 3.57vw, 30px);
    margin-top: 14px;
    border-bottom: 1px solid #D7CFAF;
    font-weight: 400;
}
.product-side_list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.product-side_item {
    border-bottom: 1px solid #D7CFAF;
}
.product-side_item a {
    display: block;
    position: relative;
    font-size: clamp(14px, 1.57vw, 15px);
    line-height: 1.6;
    text-decoration: none;
    padding: 13px 5px 13px 22px;
    transition: opacity 0.3s;
    font-weight: 400;
}
.product-side_item a::before {
    content: "";
    position: absolute;
    left: 0;
    width: 10px;
    height: 10px;
    background: #BEB27D;
    border-radius: 50%;
    top: 52.3%;
    transform: translateY(-50%);
}
.product-side_item a:hover {
    opacity: 0.6;
}
.product-side_item.is-current a {
    font-weight: 600;
}

/* 商品カード */
.product-archive .top-bento_list {
    column-gap: clamp(20px, 2.57vw, 40px);
    row-gap: clamp(50px, 5.17vw, 55px);
}
.product-archive .top-bento-card_title {
    font-size: 16px;
    margin-bottom: 6px;
    line-height: 1.5;
}
.product-archive .top-bento-card_price {
    text-align: right;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #3c3c3c;
}
.product-archive .top-bento-card_price .top-bento-card_yen {
    font-size: 10px;
    font-weight: 500;
    margin-left: 3px;
}
.product-archive .top-bento-card_body {
    padding-top: 13px;
}
.product-archive .top-bento-card_more_link {
    margin-top: 0px;
}
.product-archive .top-bento-card_more::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 22px;
    height: 22px;
    border-radius: 50px;
    background: #111;
    transition: .4s;
}
.product-archive .top-bento-card_arrow {
    position: absolute;
    right: 4px;
    top: 4px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-archive .top-bento-card_arrow svg {
    width: 13px;
    height: 13px;
    color: #fff;
}
.product-archive .top-bento-card_more {
    position: relative;
    right: 0;
    display: block;
    margin-right: 0;
    margin-left: auto;
    align-items: center;
    justify-content: flex-end;
    width: 22px;
    height: 22px;
}
.product-archive .product-archive .top-bento-card_more::before {
    width: 22px;
    height: 22px;
    border-radius: 63px;
    background: #111;
    transition: .4s;
}
.product-archive .top-bento-card:hover .top-bento-card_more::before {
    width: 114px;
}
.product-archive .top-bento-card_more-text {
    position: absolute;
    right: 24px;
    bottom: 6.6px;
    font-size: 11px;
    transform: translateX(-10px);
}
.product-archive .top-bento-card_img img {
    aspect-ratio: 89 / 81;
    object-fit: cover;
}
.top-bento-card .top-bento-card_img{
    border: solid 2px rgba(0, 0, 0, 0);
    transition: .4s;
}
.local.top-bento-card .top-bento-card_img{
    border: solid 2px rgba(0, 0, 0, 0);
    transition: .4s;
}
.auspicious.top-bento-card .top-bento-card_img{
    border:solid 2px rgba(0, 0, 0, 0);
    transition: .4s;
}
.meeting.top-bento-card .top-bento-card_img{
    border: solid 2px rgba(0, 0, 0, 0);
    transition: .4s;
}
.memorial.top-bento-card .top-bento-card_img{
    border: solid 2px rgba(0, 0, 0, 0);
    transition: .4s;
}

.top-bento-card:hover .top-bento-card_img{
    border: solid 2px #9B8837;
}
.local.top-bento-card:hover .top-bento-card_img{
    border: solid 2px #426b2a;
}
.auspicious.top-bento-card:hover .top-bento-card_img{
    border: solid 2px #ba6227;
}
.meeting.top-bento-card:hover .top-bento-card_img{
    border: solid 2px #2a5d82;
}
.memorial.top-bento-card:hover .top-bento-card_img{
    border: solid 2px #73537f;
}
.top-bento-card:hover .top-bento-card_more::before{
    background: #9B8837;
}
.local.top-bento-card:hover .top-bento-card_more::before{
    background: #426b2a;
}
.auspicious.top-bento-card:hover .top-bento-card_more::before{
    background: #ba6227;
}
.meeting.top-bento-card:hover .top-bento-card_more::before{
    background: #2a5d82;
}
.memorial.top-bento-card:hover .top-bento-card_more::before{
    background: #73537f;
}
/* 商品一覧ページネーション */
.product-pagination_list {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 8px;
    flex-wrap: wrap;
}
.product-pagination_arrow a,
.product-pagination_arrow span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border: 1px solid #9B8837;
    border-radius: 50%;
    color: #9B8837;
    text-decoration: none;
}
.product-pagination_arrow svg {
    width: 15px;
    height: 15px;
}
.product-pagination_arrow a:hover {
    background: #f2efe6;
}
.product-pagination_arrow .is-disabled {
    border-color: #a4966b;
    color: #a4966b;
    cursor: default;
    opacity: 0.5;
}
.product-pagination_item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
}
.product-pagination_item a,
.product-pagination_item span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    color: #9B8837;
    text-decoration: none;
    font-size: clamp(17px, 3.07vw, 18px);
    font-weight: 500;
}
.product-pagination_item a:hover {
    background: #f2efe6;
}
.product-pagination_item.is-current span {
    background: #E6E1CD;
    color: #9B8837;
    padding-bottom: 1px;
}
.product-pagination_item.is-dots span {
    border: none;
    color: #9B8837;
    padding-bottom: 10px;
    width: 20px;
}
.product-pagination_item.is-dots {
    width: 20px;
}
.product-pagination{
    margin-top: clamp(40px, 4.17vw, 50px);
}
@media (max-width: 768px) {
    .product-pagination_item a, .product-pagination_item span {
        font-size: clamp(16px, 3.07vw, 18px);
    }
    .product-pagination_list {
        gap: 7px;
    }
    .product-pagination {
        margin-top: clamp(40px, 8.17vw, 50px);
    }
}
@media (max-width: 768px) {
    .product-archive_inner {
        display: flex;
        flex-direction: column-reverse;
        gap: 50px;
    }
    .product-archive_side {
        position: static;
        width: 100%;
    }
    /* .product-archive_main {
        margin-top: 40px;
    } */
    .product-archive .top-bento_list{
        grid-template-columns: repeat(2, 1fr);
        column-gap: clamp(20px, 4.57vw, 35px);
        row-gap: clamp(50px, 8.17vw, 55px);
    }
    .product-side_block + .product-side_block {
        margin-top: clamp(40px, 7.17vw, 45px);
    }
    .bento-style {
        padding-top: 8.9%;
        padding-bottom: 20%;
    }
}
@media (max-width: 480px) {
    .product-archive .top-bento_list {
        column-gap: 15px;
        row-gap: 40px;
    }
}

/* 商品詳細ページ */
.single_product_page{
    padding-top: 40px;
    border-top: 1px solid #DBDBDB;
}
.p_single_product{
    width: 90%;
    margin: 0 auto;
    padding-bottom: min(150px, 13vw);
}
.p_single_product_inner {
    display: flex;
    align-items: flex-start;
}
.p_single_product_left {
    width: 50.5%;
    position: sticky;
    top: 100px;
    /* height: 100vh; */
}
.p_single_product_thumb {
    width: 100%;
    height: 100%;
}
.p_single_product_thumb img {
    width: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 307 / 290;
    object-fit: cover;
}
.p_single_product_right {
    width: 49.5%;
    padding-top: clamp(30px, 3.87vw, 35px);
    padding-left: clamp(30px, 3.67vw, 47px);
    box-sizing: border-box;
}
/* head */
.p_single_product_no {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    background: #9B8837;
    color: #ffffff;
    font-size: clamp(15px, 1.67vw, 18px);
    padding: 1px 14px 3px;
    /* letter-spacing: 0.05em; */
    margin-bottom: 11px;
    font-weight: 400;
}
.p_single_product_no .p_single_product_no_number-code {
    font-size: clamp(20px, 2.27vw, 25px);
}
.p_single_product_title {
    font-size: clamp(25px, 2.47vw, 33px);
    font-weight: 400;
    line-height: 1.6;
    margin: 0 0 20px;
}
.p_single_product_price {
    margin: 0 0 30px;
    text-align: right;
    text-align: right;
    font-size: clamp(25px, 2.17vw, 31px);
    font-weight: 400;
}
.p_single_product_tax {
    margin-left: 4px;
    font-size: clamp(14px, 1.57vw, 18px);
}

/* accordion */
.p_single_product_accordion {
    border-top: 1px solid rgba(96, 89, 56, 0.55);
    margin-bottom: clamp(40px, 6.47vw, 45px);
}
.p_single_product_accordion_item {
    border-bottom: 1px solid rgba(96, 89, 56, 0.55);
}
.p_single_product_accordion_btn {
    width: 100%;
    display: flex;
    align-items: center;
    background: none;
    border: none;
    padding: 20px 20px 25px 8px;
    cursor: pointer;
    text-align: left;
}
.p_single_product_accordion_icon {
    margin-right: 14px;
    flex-shrink: 0;
    width: 21px;
    text-align: center;
}
.p_single_product_accordion_icon img {
    max-width: 16px;
}
.p_single_product_accordion_icon img.p_single_product_accordion_icon_img02{
    max-width: 21px;
}
.p_single_product_accordion_label {
    flex: 1;
    font-size: 15px;
    font-weight: 400;
}
.p_single_product_accordion_arrow {
    width: 8px;
    height: 8px;
    border-right: 1px solid #262626;
    border-bottom: 1px solid #262626;
    transform: rotate(45deg);
    transition: transform 0.3s ease;
    margin-right: 6px;
}
.p_single_product_accordion_item.is-open .p_single_product_accordion_arrow {
    transform: rotate(-135deg);
}
.p_single_product_accordion_body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}
.p_single_product_accordion_body_inner {
    padding: 0 57px 20px 43px;
}
.p_single_product_accordion_body_inner p {
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
}
.p_single_product_accordion_body_inner p a{
    border-bottom: 1px solid #262626;
    padding-bottom: 2px;
    transition: opacity 0.3s;
}
.p_single_product_accordion_body_inner p a:hover {
    opacity: 0.7;
}
/* lead */
.p_single_product_lead {
    font-size: clamp(18px, 1.47vw, 20px);
    line-height: 1.6;
    margin-bottom: clamp(50px, 6.47vw, 70px);
    padding-left: 10px;
}

/* feature */
.p_single_product_feature{
    padding-left: 35px;
    padding-right: 35px;
    border-bottom: 1px solid rgba(96, 89, 56, 0.3);
}
.p_single_product_feature_item {
    display: flex;
    align-items: flex-start;
    gap: clamp(17px, 2.07vw, 25px);
    margin-bottom: clamp(50px, 5.47vw, 60px);
}
.p_single_product_feature_text {
    flex: 1;
}
.p_single_product_feature_title {
    font-size: clamp(18px, 1.47vw, 20px);
    font-weight: 400;
    color: #9B8837;
    line-height: 1.6;
    margin: 0 0 12px;
}
.p_single_product_feature_text p {
    font-size: clamp(14px, 1.67vw, 15px);
    line-height: 1.8;
    margin: 0;
}
.p_single_product_feature_img {
    width: 36.7%;
    flex-shrink: 0;
    overflow: hidden;
}
.p_single_product_feature_img img {
    width: 100%;
    object-fit: cover;
    display: block;
    aspect-ratio: 185 / 169;
}

/* detail */
.p_single_product_detail {
    background: rgba(155, 136, 55, 0.07);
    padding: 30px 35px;
    margin-top: 40px;
}
.p_single_product_detail_item {
    padding-bottom: 40px;
}
.p_single_product_detail_item:last-child {
    padding-bottom: 0;
}
.p_single_product_detail_title {
    font-size: clamp(15px, 1.47vw, 16px);
    font-weight: 400;
    color: #9B8837;
    margin: 0 0 10px;
    border-bottom: 1px solid rgba(96, 89, 56, 0.3);
    padding-bottom: 7px;
}
.p_single_product_detail_item p {
    font-size: clamp(14px, 1.47vw, 15px);
    font-weight: 400;
    line-height: 1.8;
    margin: 0;
}

/* SP */
@media (max-width: 768px) {
  .p_single_product {
      padding-bottom: 20%;
  }
  .p_single_product_inner {
      flex-direction: column;
  }
  .p_single_product_left {
      width: 100%;
      position: static;
      height: auto;
  }
  .p_single_product_right {
      width: 100%;
      padding-top: clamp(30px, 7.87vw, 35px);
      padding-left: 0;
      /* padding-right: 5%; */
  }
  .p_single_product_no {
      font-size: clamp(14px, 2.67vw, 18px);
  }
  .p_single_product_no .p_single_product_no_number-code {
      font-size: clamp(20px, 4.27vw, 25px);
  }
  .p_single_product_title {
      font-size: clamp(22px, 4.27vw, 30px);
  }
  .p_single_product_no .p_single_product_no_number-code {
      font-size: clamp(20px, 4.27vw, 25px);
  }
  .p_single_product_price {
      font-size: clamp(22px, 4.27vw, 30px);
      margin-bottom: clamp(30px, 6.17vw, 40px);
  }
  .p_single_product_tax {
      font-size: clamp(13px, 2.57vw, 15px);
  }
  .p_single_product_lead {
      font-size: clamp(18px, 3.47vw, 20px);
      margin-bottom: clamp(40px, 9.47vw, 50px);
  }
  .p_single_product_feature {
      padding-left: 5%;
      padding-right: 5%;
      border-bottom: 1px solid rgba(96, 89, 56, 0.3);
  }
  .p_single_product_feature_item {
        flex-direction: column-reverse;
        align-items: center;
        gap: clamp(20px, 4.07vw, 25px);
        margin-bottom: clamp(40px, 8.47vw, 60px);
    }
    .p_single_product_feature_img {
        width: 80%;
        margin: 0 auto;
    }
    .p_single_product_feature_img img {
        aspect-ratio: 16 / 10;
    }
    .p_single_product_feature_title {
        font-size: clamp(18px, 3.47vw, 20px);
    }
    .p_single_product_feature_text p {
        font-size: clamp(14px, 2.67vw, 15px);
    }
    .p_single_product_detail {
        padding: 8% 5%;
        margin-top: clamp(40px, 7.47vw, 50px);
    }
    .p_single_product_detail_title {
        font-size: clamp(15px, 2.47vw, 16px);
    }
    .p_single_product_detail_item p {
        font-size: clamp(14px, 2.67vw, 15px);
    }
    .p_single_product_detail_item {
        padding-bottom: clamp(35px, 5.97vw, 40px);
    }
    .p_single_product_accordion_body_inner p {
        font-size: clamp(14px, 2.67vw, 15px);
    }
    .p_single_product_accordion_body_inner {
        padding: 0 16px 20px 39px;
    }
    .p_single_product_accordion_icon {
        margin-right: 10px;
    }
}
/* 今月のおすすめのお弁当 */
.p_single_product_recommend{
    width: 75%;
    margin: 0 auto;
    padding-bottom: 9.8%;
}
.recommend-bento_list .top-bento-card_body {
    padding-top: 13px;
}
.recommend-bento_list .top-bento-card_img img {
    aspect-ratio: 1.1 / 1;
    object-fit: cover;
}
.top-bento_list.recommend-bento_list {
    column-gap: clamp(40px, 5.17vw, 65px);
    row-gap: clamp(50px, 5.17vw, 60px);
}
.recommend-bento_list .top-bento-card_price {
    text-align: right;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #3c3c3c;
}
.recommend-bento_list .top-bento-card_price .top-bento-card_yen {
    font-size: 10px;
    font-weight: 500;
    margin-left: 3px;
}
.recommend-bento_list .top-bento-card_title {
    font-size: 16px;
    margin-bottom: 6px;
    line-height: 1.5;
}
.recommend-bento_list .top-bento-card_more_link {
    margin-top: 0px;
}
.recommend-bento_list .top-bento-card_more::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 22px;
    height: 22px;
    border-radius: 50px;
    background: #111;
    transition: .4s;
}
.recommend-bento_list .top-bento-card_arrow {
    position: absolute;
    right: 4px;
    top: 4px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
}
.recommend-bento_list .top-bento-card_arrow svg {
    width: 13px;
    height: 13px;
    color: #fff;
}
.recommend-bento_list .top-bento-card_more {
    position: relative;
    right: 0;
    display: block;
    margin-right: 0;
    margin-left: auto;
    align-items: center;
    justify-content: flex-end;
    width: 22px;
    height: 22px;
}
.recommend-bento_list .top-bento-card_more::before {
    width: 22px;
    height: 22px;
    border-radius: 63px;
    background: #111;
    transition: .4s;
}
.recommend-bento_list .top-bento-card:hover .top-bento-card_more::before {
    width: 114px;
}
.recommend-bento_list .top-bento-card_more-text {
    position: absolute;
    right: 24px;
    bottom: 6.6px;
    font-size: 11px;
    transform: translateX(-10px);
}
@media (max-width: 768px) {
    .p_single_product_recommend {
        width: 90%;
        padding-bottom: 20%;
    }
    .top-bento_list.recommend-bento_list {
        grid-template-columns: repeat(1, 1fr);
        column-gap: clamp(20px, 4.57vw, 35px);
        row-gap: clamp(50px, 8.17vw, 55px);
    }
    .top-bento-card_more_link {
        margin-top: 2%;
    }
}
@media (max-width: 480px) {
    .top-bento_list.recommend-bento_list {
        column-gap: 15px;
        row-gap: 40px;
    }
}

.page-link_section {
    padding-top: 7vw;
    margin-top: -7vw;
    display: block;
}
@media only screen and (max-width: 768px) {
    .page-link_section {
        padding-top: 17vw;
        margin-top: -17vw;
    }
}

