@charset "UTF-8";
/* 吉雪リニューアル2026（2026102808） */

/* ===== リンク：カラーミー標準の「マウスを乗せると青＋下線」を打ち消す ===== */
a:hover,a:focus{color:inherit;text-decoration:none}

/* ===== トップ・ヘッダー・フッター（全ページ） ===== */
:root{--snowbg:url(https://file003.shop-pro.jp/PA01473/800/img/bg-snow.jpg)}
:root{--mvbg:url(https://file003.shop-pro.jp/PA01473/800/img/mv-common.jpg);--mv-veil:rgba(247,244,239,.8)}
:root{--snow-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M12 2v20M3.3 7l17.4 10M3.3 17L20.7 7M12 2l-2.4 2.4M12 2l2.4 2.4M12 22l-2.4-2.4M12 22l2.4-2.4M3.3 7l.9 3.3M3.3 7l3.3-.9M20.7 17l-.9-3.3M20.7 17l-3.3.9M3.3 17l3.3.9M3.3 17l.9-3.3M20.7 7l-3.3-.9M20.7 7l-.9 3.3'/%3E%3C/svg%3E");
--ink:#2b2724;        /* 墨 */
--ink-2:#6b645d;
--line:#e6e1da;
--paper:#ffffff;
--paper-2:#f7f4ef;    /* 生成り */
--gold:#c4a05a; /* 金色アクセント（澄んだ金） */
--gold-ink:#8f6d2b; /* 金色・文字用 */
--gold-soft:#f7f0e0;
--frozen:#4d7ea8;
--chilled:#5f8f6b;
--mincho:"Noto Serif JP", "游明朝体", "Yu Mincho", YuMincho, serif;
--sans:"Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Lucida Grande", sans-serif;
--w:1160px;}
*{box-sizing: border-box;
    margin: 0;
    padding: 0}
body{background: var(--paper);
    color: var(--ink);
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: .04em;
    -webkit-font-smoothing: antialiased}
img{display: block;
    max-width: 100%}
a{color: inherit;
    text-decoration: none}
ul{list-style: none}
.wrap{max-width: var(--w);
    margin: 0 auto;
    padding: 0 24px}
.sec{padding: 120px 0}
.sec--tint{background: var(--paper-2)}
.ttl{text-align: center;
    margin-bottom: 56px}
.ttl .en{display: block;
    font-family: var(--mincho);
    font-size: 13px;
    letter-spacing: .3em;
    color: var(--gold-ink);
    margin-bottom: 10px}
.ttl h2{font-family: var(--mincho);
    font-weight: 500;
    font-size: 28px;
    letter-spacing: .12em}
.ttl p{margin-top: 16px;
    color: var(--ink-2);
    font-size: 15px}
.more{display: block;
    width: fit-content;
    margin: 56px auto 0;
    padding: 14px 56px;
    border: 1px solid var(--ink);
    font-size: 14px;
    letter-spacing: .2em;
    transition: .3s}
.more:hover{background: var(--ink);
    color: #fff}
.notice{background: var(--ink);
    color: #fff;
    font-size: 13px;
    text-align: center;
    padding: 9px 16px;
    letter-spacing: .08em}
.notice b{color: #e6cf9b;
    font-weight: 500;
    margin-right: .6em}
header{position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(6px);
    border-bottom: 1px solid var(--line)}
.hd{display: flex;
    align-items: center;
    justify-content: space-between;
    height: 84px}
.logo img{height: 46px;
    width: auto}
.gnav{display: flex;
    gap: 36px;
    font-size: 14px;
    letter-spacing: .12em}
.gnav a{position: relative;
    padding: 6px 0}
.gnav a::after{content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0;
    height: 1px;
    background: var(--gold);
    transition: .3s}
.gnav a:hover::after{width: 100%}
.icons{display: flex;
    gap: 20px;
    align-items: center}
.icons img{width: 20px;
    height: 20px}
.cart{position: relative}
.cart span{position: absolute;
    top: -7px;
    right: -9px;
    background: var(--gold-ink);
    color: #fff;
    font-size: 10px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    line-height: 1}
.burger{display: none;
    width: 24px;
    height: 14px;
    border-top: 1px solid var(--ink);
    border-bottom: 1px solid var(--ink);
    position: relative}
.burger::after{content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 100%;
    height: 1px;
    background: var(--ink)}
.hero{position: relative;
    height: min(78vh, 720px);
    overflow: hidden;
    background: #eee}
.hero .slide{position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 1.6s}
.hero .slide.on{opacity: 1}
.hero .slide img{width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scale(1.04);
    transition: transform 8s linear}
.hero .slide.on img{transform: scale(1)}
.hero .copy{position: absolute;
    left: 8%;
    bottom: 14%;
    color: var(--ink)}
.hero .copy p{font-family: var(--mincho);
    font-size: 14px;
    letter-spacing: .3em;
    margin-bottom: 18px}
.hero .copy h1{font-family: var(--mincho);
    font-weight: 500;
    font-size: clamp(26px, 3.4vw, 44px);
    line-height: 1.7;
    letter-spacing: .14em;
    text-shadow: 0 0 24px rgba(255,255,255,.9)}
.hero .copy h1 em{font-style: normal;
    color: var(--gold-ink)}
.hero .copy--light{color: #fff}
.hero .copy--light h1{text-shadow: 0 2px 20px rgba(0,0,0,.35)}
.dots{position: absolute;
    right: 8%;
    bottom: 8%;
    display: flex;
    gap: 12px}
.dots i{width: 28px;
    height: 2px;
    background: rgba(0,0,0,.2)}
.dots i.on{background: var(--ink)}
.vtext{position: absolute;
    right: 4%;
    top: 50%;
    transform: translateY(-50%);
    writing-mode: vertical-rl;
    font-family: var(--mincho);
    font-size: 14px;
    letter-spacing: .5em;
    color: rgba(43,39,36,.6)}
.grid{display: grid;
    gap: 48px 32px}
.g3{grid-template-columns: repeat(3, 1fr)}
.g4{grid-template-columns: repeat(4, 1fr)}
.g5{grid-template-columns: repeat(5, 1fr)}
.card .ph{aspect-ratio: 1/1;
    background: #fff;
    overflow: hidden;
    position: relative;
    border: 1px solid var(--line)}
.card .ph img{width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 8%;
    transition: transform .6s}
.card:hover .ph img{transform: scale(1.05)}
.tags{display: flex;
    gap: 6px;
    margin: 16px 0 8px;
    flex-wrap: wrap}
.tag{font-size: 10px;
    letter-spacing: .1em;
    padding: 2px 8px;
    border: 1px solid currentColor;
    line-height: 1.6}
.tag--frozen{color: var(--frozen)}
.tag--chilled{color: var(--chilled)}
.tag--season{color: #fff;
    background: var(--gold-ink);
    border-color: var(--gold-ink)}
.tag--new{color: var(--gold-ink)}
.card h3{font-family: var(--mincho);
    font-weight: 500;
    font-size: 17px;
    letter-spacing: .08em;
    line-height: 1.6}
.card .desc{font-size: 13.5px;
    color: var(--ink-2);
    margin-top: 8px;
    line-height: 1.8}
.card .price{margin-top: 10px;
    font-size: 15px}
.card .price small{font-size: 12px;
    color: var(--ink-2);
    margin-left: 4px}
.feature .card .ph{aspect-ratio: 4/5}
.feature .card h3{font-size: 19px}
.lineup{display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px;
    background: var(--line);
    border: 1px solid var(--line)}
.lineup a{background: #fff;
    display: grid;
    grid-template-columns: 120px 1fr;
    align-items: center;
    gap: 24px;
    padding: 28px;
    transition: background .3s}
.lineup a:hover{background: var(--paper-2)}
.lineup img{width: 120px;
    height: 120px;
    object-fit: contain}
.lineup h3{font-family: var(--mincho);
    font-weight: 500;
    font-size: 18px;
    letter-spacing: .1em}
.lineup p{font-size: 13.5px;
    color: var(--ink-2);
    line-height: 1.8;
    margin-top: 4px}
.lineup .arw{display: inline-block;
    margin-top: 8px;
    font-size: 12px;
    letter-spacing: .2em;
    color: var(--gold-ink)}
.scene{display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px}
.scene a{position: relative;
    display: block;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #ddd}
.scene img{width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .8s}
.scene a:hover img{transform: scale(1.05)}
.scene .lb{position: absolute;
    inset: auto 0 0 0;
    padding: 24px;
    background: linear-gradient(transparent, rgba(0,0,0,.55));
    color: #fff}
.scene .lb small{font-size: 12px;
    letter-spacing: .25em;
    opacity: .85}
.scene .lb h3{font-family: var(--mincho);
    font-weight: 500;
    font-size: 20px;
    letter-spacing: .12em}
.price-nav{display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 48px;
    flex-wrap: wrap}
.price-nav a{padding: 12px 28px;
    border: 1px solid var(--line);
    background: #fff;
    font-size: 14px;
    letter-spacing: .08em;
    transition: .3s}
.price-nav a:hover{border-color: var(--ink)}
.price-nav span{display: block;
    width: 100%;
    text-align: center;
    font-family: var(--mincho);
    font-size: 15px;
    letter-spacing: .2em;
    margin-bottom: 8px;
    color: var(--ink-2)}
.story{position: relative;
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    min-height: 620px;
    background: var(--paper-2)}
.story .img{background: url("https://img21.shop-pro.jp/PA01473/800/etc/concept-salmon.jpg") center/cover}
.story .txt{padding: 100px 8%;
    display: flex;
    flex-direction: column;
    justify-content: center}
.story .en{font-family: var(--mincho);
    font-size: 13px;
    letter-spacing: .3em;
    color: var(--gold-ink);
    margin-bottom: 16px}
.story h2{font-family: var(--mincho);
    font-weight: 500;
    font-size: 30px;
    line-height: 1.8;
    letter-spacing: .14em;
    margin-bottom: 32px}
.story p{font-size: 15px;
    color: var(--ink-2);
    line-height: 2.3}
.points{display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin: 36px 0 8px}
.points div{border-top: 1px solid var(--ink);
    padding-top: 14px}
.points b{display: block;
    font-family: var(--mincho);
    font-weight: 500;
    font-size: 16px;
    letter-spacing: .1em}
.points small{font-size: 12.5px;
    color: var(--ink-2);
    line-height: 1.7;
    display: block;
    margin-top: 4px}
.story .more{margin: 40px 0 0}
.brand{text-align: center;
    padding: 140px 24px;
    background: linear-gradient(rgba(255,255,255,.72), rgba(255,255,255,.72)), var(--snowbg) center/cover}
.brand h2{font-family: var(--mincho);
    font-weight: 500;
    font-size: clamp(22px, 2.6vw, 32px);
    letter-spacing: .3em;
    line-height: 2}
.brand p{font-family: var(--mincho);
    font-size: 16px;
    line-height: 2.6;
    letter-spacing: .14em;
    margin-top: 32px;
    color: var(--ink)}
.giftbox{display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 72px;
    align-items: center}
.giftbox .img{aspect-ratio: 4/3;
    background: url("https://img21.shop-pro.jp/PA01473/800/etc/gallery-giftbox-bg.jpg") center/cover}
.giftbox h2{font-family: var(--mincho);
    font-weight: 500;
    font-size: 26px;
    letter-spacing: .12em;
    line-height: 1.7;
    margin-bottom: 24px}
.giftbox ul{margin-top: 24px;
    border-top: 1px solid var(--line)}
.giftbox li{padding: 14px 0;
    border-bottom: 1px solid var(--line);
    font-size: 14.5px;
    display: flex;
    gap: 16px}
.giftbox li b{font-weight: 500;
    color: var(--gold-ink);
    min-width: 5em}
.rank .card{position: relative}
.rank .no{position: absolute;
    top: -14px;
    left: -6px;
    z-index: 2;
    font-family: var(--mincho);
    font-size: 34px;
    line-height: 1;
    color: var(--ink)}
.rank .card:nth-child(-n+3) .no{color: var(--gold-ink)}
.info{display: grid;
    grid-template-columns: 1.6fr 1fr;
    gap: 80px}
.info h2{font-family: var(--mincho);
    font-weight: 500;
    font-size: 22px;
    letter-spacing: .16em;
    margin-bottom: 24px;
    display: flex;
    align-items: baseline;
    gap: 16px}
.info h2 small{font-size: 12px;
    letter-spacing: .3em;
    color: var(--gold-ink)}
.news li{border-bottom: 1px solid var(--line)}
.news a{display: grid;
    grid-template-columns: 110px 1fr;
    gap: 16px;
    padding: 20px 4px;
    font-size: 15px}
.news time{color: var(--ink-2);
    font-size: 14px}
.cal table{width: 100%;
    border-collapse: collapse;
    text-align: center;
    font-size: 14px}
.cal caption{font-family: var(--mincho);
    text-align: left;
    margin-bottom: 10px;
    font-size: 16px}
.cal th{font-weight: 400;
    color: var(--ink-2);
    font-size: 12px;
    padding: 4px 0}
.cal td{padding: 6px 0}
.cal td.off span{display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--gold-soft);
    color: var(--gold-ink)}
.cal .legend{font-size: 12.5px;
    color: var(--ink-2);
    margin-top: 12px;
    line-height: 1.8}
.cal .legend i{display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--gold-soft);
    margin-right: 6px;
    vertical-align: middle}
.member{display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px}
.member a{display: flex;
    align-items: center;
    gap: 28px;
    padding: 36px 40px;
    border: 1px solid var(--line);
    background: #fff;
    transition: .3s}
.member a:hover{border-color: var(--ink)}
.member .big{font-family: var(--mincho);
    font-size: 44px;
    line-height: 1;
    color: var(--gold-ink);
    white-space: nowrap}
.member .big small{font-size: 15px;
    margin-left: 2px}
.member h3{font-family: var(--mincho);
    font-weight: 500;
    font-size: 17px;
    letter-spacing: .08em}
.member p{font-size: 13.5px;
    color: var(--ink-2);
    line-height: 1.8;
    margin-top: 4px}
.member .line{color: #06c755}
.guide{display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px}
.guide a{background: #fff;
    padding: 40px 28px;
    text-align: center;
    border: 1px solid var(--line);
    transition: .3s}
.guide a:hover{border-color: var(--ink)}
.guide svg{width: 36px;
    height: 36px;
    stroke: var(--ink);
    fill: none;
    stroke-width: 1.2;
    margin: 0 auto 18px}
.guide h3{font-family: var(--mincho);
    font-weight: 500;
    font-size: 17px;
    letter-spacing: .12em;
    margin-bottom: 10px}
.guide p{font-size: 13.5px;
    color: var(--ink-2);
    line-height: 1.9}
.guide p b{color: var(--ink);
    font-weight: 500}
footer{background: var(--ink);
    color: #d9d3cc;
    padding: 88px 0 32px;
    font-size: 14px}
.ft{display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    gap: 48px}
.ft .logo img{height: 52px;
    filter: brightness(0) invert(1);
    opacity: .92;
    margin-bottom: 24px}
.ft address{font-style: normal;
    line-height: 2}
.ft .tel{font-family: var(--mincho);
    font-size: 24px;
    color: #fff;
    letter-spacing: .08em;
    margin: 12px 0 2px}
.ft h4{font-family: var(--mincho);
    font-weight: 500;
    color: #fff;
    font-size: 15px;
    letter-spacing: .2em;
    margin-bottom: 18px}
.ft li{margin-bottom: 10px}
.ft li a:hover{color: #fff}
.sns{display: flex;
    gap: 14px;
    margin-top: 20px}
.sns a{width: 36px;
    height: 36px;
    border: 1px solid rgba(255,255,255,.3);
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-size: 10px}
.copy-r{border-top: 1px solid rgba(255,255,255,.12);
    margin-top: 64px;
    padding-top: 24px;
    text-align: center;
    font-size: 12px;
    letter-spacing: .15em;
    opacity: .6}
@media (max-width:960px){.gnav{display: none}
.burger{display: block}
.g4,.g5{grid-template-columns: repeat(2, 1fr)}
.g3{grid-template-columns: repeat(2, 1fr)}
.lineup{grid-template-columns: 1fr 1fr}
.story,.giftbox,.info{grid-template-columns: 1fr}
.story .img{min-height: 320px}
.giftbox{gap: 40px}
.guide{grid-template-columns: repeat(2, 1fr)}
.member{grid-template-columns: 1fr}
.ft{grid-template-columns: 1fr 1fr}}
@media (max-width:600px){body{font-size: 15px}
.wrap{padding: 0 16px}
.sec{padding: 80px 0}
.ttl{margin-bottom: 40px}
.ttl h2{font-size: 22px}
.hd{height: 64px}
.logo img{height: 36px}
.icons{gap: 14px}
.hero{height: 72vh}
.hero .copy{left: 6%;
    right: 6%;
    bottom: 16%}
.vtext{display: none}
.grid{gap: 36px 16px}
.card h3{font-size: 15px}
.feature .card h3{font-size: 16px}
.card .desc{display: none}
.feature .g3{grid-template-columns: 1fr}
.feature .card .ph{aspect-ratio: 1/1}
.feature .card .desc{display: block}
.lineup{grid-template-columns: 1fr}
.lineup a{grid-template-columns: 88px 1fr;
    padding: 20px;
    gap: 16px}
.lineup img{width: 88px;
    height: 88px}
.scene{grid-template-columns: 1fr;
    gap: 16px}
.rank .g5{grid-template-columns: repeat(2, 1fr)}
.story .txt{padding: 64px 16px}
.story h2{font-size: 22px}
.points{grid-template-columns: 1fr}
.brand{padding: 96px 16px}
.brand p{font-size: 14.5px}
.member a{padding: 24px;
    gap: 18px}
.member .big{font-size: 32px}
.guide{grid-template-columns: 1fr 1fr;
    gap: 12px}
.guide a{padding: 28px 14px}
.news a{grid-template-columns: 1fr;
    gap: 2px}
.ft{grid-template-columns: 1fr}}
body{font-family: var(--sans)}
.snow{display: inline-block;
    flex: none;
    width: 1em;
    height: 1em;
    line-height: 0;
    vertical-align: -.12em;
    color: var(--gold)}
.snow svg{width: 100%;
    height: 100%;
    stroke: currentColor;
    stroke-width: 1.6;
    fill: none;
    stroke-linecap: round}
.menu-btn{display: none;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    background: none;
    border: 0;
    cursor: pointer;
    color: var(--ink);
    font-family: var(--sans);
    font-size: 9px;
    letter-spacing: .12em;
    padding: 0}
.menu-btn i{display: block;
    width: 24px;
    height: 1.5px;
    background: currentColor;
    transition: transform .3s, opacity .3s}
.menu-btn i+i{margin-top: 5px}
body.is-open .menu-btn{color: var(--gold-ink)}
body.is-open .menu-btn i:nth-child(1){transform: translateY(6.5px) rotate(35deg)}
body.is-open .menu-btn i:nth-child(2){opacity: 0}
body.is-open .menu-btn i:nth-child(3){transform: translateY(-6.5px) rotate(-35deg)}
.drawer{position: fixed;
    left: 0;
    right: 0;
    top: var(--drawer-top, 64px);
    bottom: 0;
    z-index: 45;
    background: #fff;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .3s, transform .3s, visibility .3s;
    padding-bottom: 48px;
    border-top: 1px solid var(--line)}
body.is-open{overflow: hidden}
body.is-open .drawer{opacity: 1;
    visibility: visible;
    transform: none}
body.is-open .sticky-buy{display: none!important}
.drawer__acc{display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 8px;
    padding: 20px 16px 4px}
.drawer__acc a{display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 40px;
    border: 1px solid #c9c2b9;
    font-size: 13px}
.drawer__acc a.is-tri::before{content: "";
    border-left: 5px solid var(--gold);
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent}
.drawer__acc a.is-login{background: var(--gold-ink);
    border-color: var(--gold-ink);
    color: #fff}
.drawer__ttl{display: flex;
    align-items: center;
    gap: .45em;
    font-family: var(--mincho);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: .1em;
    padding: 28px 16px 14px}
.drawer__grid{display: grid;
    grid-template-columns: 1fr 1fr;
    border-top: 1px solid var(--line)}
.drawer__grid a{display: flex;
    align-items: center;
    gap: 10px;
    min-height: 68px;
    padding: 10px;
    border-bottom: 1px solid var(--line);
    font-family: var(--mincho);
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: .02em}
.drawer__grid a:nth-child(odd){border-right: 1px solid var(--line)}
.drawer__grid a img{flex: none;
    width: 46px;
    height: 46px;
    object-fit: cover;
    background: var(--paper-2)}
.drawer__grid a::after{content: "";
    flex: none;
    margin-left: auto;
    width: 6px;
    height: 6px;
    border-top: 1.5px solid var(--ink);
    border-right: 1.5px solid var(--ink);
    transform: rotate(45deg)}
.drawer__grid--price a{min-height: 54px;
    padding: 10px 12px}
.drawer__grid--price a::before{content: "";
    flex: none;
    width: 9.6px;
    height: 9.6px;
    background: var(--gold);
    -webkit-mask: var(--snow-mask) center/contain no-repeat;
    mask: var(--snow-mask) center/contain no-repeat}
.drawer__search{display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 16px}
.drawer__search input{flex: 1;
    height: 42px;
    border: 1px solid var(--line);
    border-radius: 21px;
    padding: 0 16px;
    font: inherit;
    font-size: 14px;
    outline: 0}
.drawer__search svg{width: 22px;
    height: 22px;
    fill: none;
    stroke: var(--ink);
    stroke-width: 1.5}
.drawer .linklist{margin-top: 24px}
.drawer .linklist a{padding: 16px 16px 16px 20px}
.drawer__tel{margin: 24px 16px 0;
    padding: 18px;
    background: var(--paper-2);
    text-align: center;
    font-size: 13px;
    color: var(--ink-2)}
.drawer__tel b{display: block;
    font-family: var(--mincho);
    font-size: 22px;
    font-weight: 500;
    color: var(--ink);
    letter-spacing: .08em}
.list{display: grid;
    gap: 8px}
.list li{position: relative;
    padding-left: 1.5em;
    line-height: 1.9}
.list li::before{content: "";
    position: absolute;
    left: .25em;
    top: 0.595em;
    width: 0.67em;
    height: 0.67em;
    background: var(--gold);
    -webkit-mask: var(--snow-mask) center/contain no-repeat;
    mask: var(--snow-mask) center/contain no-repeat}
.olist{counter-reset: n;
    display: grid;
    gap: 12px}
.olist li{counter-increment: n;
    position: relative;
    padding-left: 2.4em;
    line-height: 1.9}
.olist li::before{content: counter(n);
    position: absolute;
    left: 0;
    top: .1em;
    width: 1.75em;
    height: 1.75em;
    border-radius: 50%;
    background: var(--ink);
    color: #fff;
    font-size: 13px;
    line-height: 1.75em;
    text-align: center}
.check{display: grid;
    gap: 8px}
.check li{position: relative;
    padding-left: 1.7em;
    line-height: 1.9}
.check li::before{content: "";
    position: absolute;
    left: .2em;
    top: .5em;
    width: .9em;
    height: .5em;
    border-left: 2px solid var(--gold);
    border-bottom: 2px solid var(--gold);
    transform: rotate(-45deg)}
.linklist{border-top: 1px solid var(--line)}
.linklist a{display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 8px;
    border-bottom: 1px solid var(--line);
    font-family: var(--mincho);
    font-size: 15.5px;
    letter-spacing: .06em;
    transition: background .2s}
.linklist a::before{content: "";
    flex: none;
    width: 11.2px;
    height: 11.2px;
    background: var(--gold);
    -webkit-mask: var(--snow-mask) center/contain no-repeat;
    mask: var(--snow-mask) center/contain no-repeat}
.linklist a::after{content: "";
    flex: none;
    margin-left: auto;
    width: 7px;
    height: 7px;
    border-top: 1px solid var(--ink);
    border-right: 1px solid var(--ink);
    transform: rotate(45deg)}
.linklist a:hover{background: var(--paper-2)}
.chipgrid{display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px}
.chipgrid a{display: flex;
    align-items: center;
    gap: 12px;
    padding: 13px 16px;
    border: 1px solid var(--gold);
    color: var(--gold-ink);
    font-size: 15px;
    background: #fff;
    transition: background .2s, color .2s}
.chipgrid a::before{content: "";
    flex: none;
    width: 11.2px;
    height: 11.2px;
    background: currentColor;
    -webkit-mask: var(--snow-mask) center/contain no-repeat;
    mask: var(--snow-mask) center/contain no-repeat}
.chipgrid a::after{content: "";
    flex: none;
    margin-left: auto;
    width: 6px;
    height: 6px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg)}
.chipgrid a:hover{background: var(--gold-ink);
    color: #fff}
.dl{border-top: 1px solid var(--line)}
.dl div{display: grid;
    grid-template-columns: 180px 1fr;
    gap: 16px;
    padding: 16px 4px;
    border-bottom: 1px solid var(--line)}
.dl dt{font-weight: 500}
.dl dd{color: var(--ink-2)}
.table-wrap{overflow-x: auto;
    -webkit-overflow-scrolling: touch}
.table{width: 100%;
    border-collapse: collapse;
    font-size: 15px;
    line-height: 1.8}
.table th,.table td{padding: 14px 18px;
    border: 1px solid var(--line);
    text-align: left;
    vertical-align: top}
.table thead th{background: var(--ink);
    color: #fff;
    font-weight: 500;
    letter-spacing: .08em;
    white-space: nowrap}
.table tbody th{background: var(--paper-2);
    font-weight: 500;
    white-space: nowrap}
.table td.num{text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums}
.news a{grid-template-columns: 110px 1fr 12px;
    align-items: center}
.news a::after{content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid var(--ink);
    border-right: 1px solid var(--ink);
    transform: rotate(45deg)}
.giftbox li b{position: relative;
    padding-left: 16px}
.giftbox li b::before{content: "";
    position: absolute;
    left: 0;
    top: .62em;
    width: 9.6px;
    height: 9.6px;
    background: var(--gold);
    -webkit-mask: var(--snow-mask) center/contain no-repeat;
    mask: var(--snow-mask) center/contain no-repeat}
.ft li a{position: relative;
    padding-left: 14px}
.ft li a::before{content: "";
    position: absolute;
    left: 0;
    top: .62em;
    width: 8.0px;
    height: 8.0px;
    background: var(--gold);
    -webkit-mask: var(--snow-mask) center/contain no-repeat;
    mask: var(--snow-mask) center/contain no-repeat}
.othercat a{justify-content: flex-start;
    gap: 12px}
.othercat a::before{content: "";
    flex: none;
    width: 11.2px;
    height: 11.2px;
    background: var(--gold);
    -webkit-mask: var(--snow-mask) center/contain no-repeat;
    mask: var(--snow-mask) center/contain no-repeat}
.othercat a::after{content: "";
    margin-left: auto;
    width: 6px;
    height: 6px;
    border-top: 1px solid var(--ink);
    border-right: 1px solid var(--ink);
    transform: rotate(45deg);
    font-size: 0}
.sublinks a{position: relative;
    padding-left: 12px}
.sublinks a::before{content: "";
    position: absolute;
    left: 0;
    top: .6em;
    width: 8.0px;
    height: 8.0px;
    background: var(--gold);
    -webkit-mask: var(--snow-mask) center/contain no-repeat;
    mask: var(--snow-mask) center/contain no-repeat}
.price-nav a{display: inline-flex;
    align-items: center;
    gap: 10px;
    border-color: var(--gold);
    color: var(--gold-ink)}
.price-nav a::before{content: "";
    width: 9.6px;
    height: 9.6px;
    background: currentColor;
    -webkit-mask: var(--snow-mask) center/contain no-repeat;
    mask: var(--snow-mask) center/contain no-repeat}
.price-nav a:hover{background: var(--gold-ink);
    border-color: var(--gold-ink);
    color: #fff}
@media (max-width:960px){.burger{display: none!important}
.menu-btn{display: flex}
.icons a:nth-child(2){display: none}}
@media (max-width:600px){.news a{grid-template-columns: 1fr 12px}
.news a time{grid-column: 1/-1}
.chipgrid{grid-template-columns: 1fr 1fr;
    gap: 8px}
.chipgrid a{padding: 12px;
    font-size: 14px;
    gap: 8px}
.dl div{grid-template-columns: 1fr;
    gap: 4px}
.table{font-size: 14px}
.table th,.table td{padding: 12px 14px}
.price-nav a{padding: 10px 16px}}
.h4{padding-left: 14px;
    border-left: 2px solid var(--gold, var(--accent));
    line-height: 1.5}
.h4::before{display: none}
.list li{padding-left: 1.1em}
.list li::before{-webkit-mask: none;
    mask: none;
    left: .2em;
    top: calc(.95em - 2.5px);
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--gold, var(--accent))}
.linklist a::before,.othercat a::before,.drawer__grid--price a::before{-webkit-mask: none;
    mask: none;
    width: 12px;
    height: 1px;
    background: var(--gold, var(--accent))}
.chipgrid a::before,.price-nav a::before,.ft li a::before,.sublinks a::before,.giftbox li b::before{display: none}
.ft li a,.sublinks a,.giftbox li b{padding-left: 0}
.gnav{align-items: center}
.gnav .has-mega{position: static}
.gnav .mega-btn{background: none;
    border: 0;
    font: inherit;
    letter-spacing: inherit;
    color: inherit;
    cursor: pointer;
    padding: 6px 0;
    display: inline-flex;
    align-items: center;
    gap: 6px}
.gnav .mega-btn::after{content: "";
    width: 5px;
    height: 5px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .2s}
.has-mega:hover .mega-btn::after,.has-mega.is-open .mega-btn::after{transform: rotate(225deg)}
.mega{position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    background: #fff;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 18px 30px rgba(43,39,36,.08);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity .25s, transform .25s, visibility .25s;
    z-index: 49;
    letter-spacing: .06em}
.has-mega:hover .mega,.has-mega:focus-within .mega,.has-mega.is-open .mega{opacity:1;
visibility:visible;
transform:none}
.mega__in{max-width: var(--w);
    margin: 0 auto;
    padding: 36px 24px 40px;
    display: grid;
    grid-template-columns: 3fr 1fr;
    gap: 48px}
.mega__ttl{display: flex;
    align-items: center;
    gap: .4em;
    font-family: var(--mincho);
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .14em;
    color: var(--ink-2);
    margin-bottom: 16px}
.mega__cats{display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px 32px}
.gnav .mega a{padding: 0}
.gnav .mega a::after{content: none}
.mega__cat>a{display: grid;
    grid-template-columns: 56px 1fr;
    align-items: center;
    gap: 12px;
    font-family: var(--mincho);
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.5}
.mega__cat>a img{width: 56px;
    height: 56px;
    object-fit: cover;
    border: 1px solid var(--line);
    background: #fff}
.mega__cat>a:hover{color: var(--gold-ink)}
.mega__cat ul{margin: 10px 0 0 68px;
    display: grid;
    gap: 4px}
.mega__cat li a,.mega__side li a{display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: var(--ink-2)}
.mega__cat li a::before,.mega__side li a::before{content: "";
    flex: none;
    width: 10px;
    height: 0;
    border-top: 1px solid var(--gold)}
.mega__cat li a:hover,.mega__side li a:hover{color: var(--ink)}
.mega__side{border-left: 1px solid var(--line);
    padding-left: 32px}
.mega__side h4{font-family: var(--mincho);
    font-weight: 500;
    font-size: 14px;
    letter-spacing: .1em;
    margin: 0 0 8px}
.mega__side h4:not(:first-of-type){margin-top: 20px}
.mega__side ul{display: grid;
    gap: 4px}
.gnav .mega .mega__all{display: inline-block;
    margin-top: 24px;
    padding: 0 0 2px;
    font-size: 13px;
    letter-spacing: .14em;
    color: var(--gold-ink);
    border-bottom: 1px solid currentColor}
.gnav .mega .mega__all::after{content: " →";
    position: static;
    width: auto;
    height: auto;
    background: none}
@media (max-width:960px){.mega{display: none}}
.mega__cat li a,.mega__side li a{line-height: 21px}
.mega__side h4{line-height: 24px}
.mega__ttl{line-height: 24px}
.mega__cat li a::before,.mega__side li a::before{position: relative;
    top: .5px;
    border-top-color: var(--gold)!important;
    opacity: 1;
    width: 12px;
    border-top-width: 1.5px}
.mv{position: relative;
    background: var(--paper-2)}
.mv__slides{position: relative;
    aspect-ratio: 2801/1481;
    overflow: hidden}
.mv__slide{position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .8s ease;
    pointer-events: none}
.mv__slide.on{opacity: 1;
    pointer-events: auto}
.mv__slide img{width: 100%;
    height: 100%;
    object-fit: cover}
.mv__pager{position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    display: flex;
    justify-content: center;
    gap: 10px;
    z-index: 2}
.mv__pager button{width: 9px;
    height: 9px;
    border-radius: 50%;
    border: 1px solid #fff;
    background: rgba(255,255,255,.55);
    box-shadow: 0 0 0 1px rgba(43,39,36,.15);
    cursor: pointer;
    padding: 0;
    transition: background .3s}
.mv__pager button.on{background: var(--gold)}
.top-bnr{padding: 40px 0 0}
.top-bnr .free ul,.top-bnr .free{list-style: none}
.top-bnr .free ul{display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px}
.top-bnr .free a{display: block;
    border: 1px solid var(--line);
    background: #fff;
    transition: opacity .3s, transform .3s}
.top-bnr .free a:hover{opacity: .85;
    transform: translateY(-2px)}
.top-bnr .free img{width: 100%;
    height: auto;
    display: block}
.top-bnr + .sec{padding-top: 96px}
@media (max-width:600px){.mv__pager{bottom: 10px}
.top-bnr{padding: 20px 0 0}
.top-bnr .free ul{grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 82%;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding: 0 16px;
    margin: 0 -16px;
    padding: 0 16px 6px}
.top-bnr .free li{scroll-snap-align: start}
.top-bnr + .sec{padding-top: 64px}}
.mv__slides{aspect-ratio: auto;
    width: 100%;
    height: min(calc(100vw / 2.2), 680px)}
.mv__slide img{object-position: center 45%}
@media (max-width:600px){.mv__slides{height: auto;
    aspect-ratio: 2801/1481}}
.price-nav{gap: 16px;
    margin-top: 64px}
.price-nav span{font-size: 17px;
    letter-spacing: .24em;
    margin-bottom: 16px;
    color: var(--ink)}
.price-nav a{min-width: 190px;
    justify-content: center;
    padding: 20px 32px;
    font-size: 17px;
    letter-spacing: .1em}
@media (max-width:600px){.price-nav{display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 48px}
.price-nav span{grid-column: 1/-1;
    font-size: 16px;
    margin-bottom: 6px}
.price-nav a{min-width: 0;
    padding: 16px 8px;
    font-size: 15.5px}
.price-nav a:last-child{grid-column: 1/-1}}
.feature .card .ph{aspect-ratio: 1/1}
.sec{position: relative}
.card .price small{margin-left: 2px}
@media (max-width:600px){.mv__slides{aspect-ratio: auto;
    height: min(140vw, calc(100svh - 64px))}
.mv__slide img{object-position: var(--sp-pos, 50% 50%)}}
.top-bnr{padding: 40px 0 0;
    position: relative}
.wide-bnr{position: relative;
    display: grid;
    grid-template-columns: 42% 1fr;
    align-items: center;
    aspect-ratio: 1112/240;
    border: 1px solid var(--line);
    background: var(--paper-2);
    overflow: hidden;
    transition: opacity .3s}
.wide-bnr:hover{opacity: .88}
.wide-bnr__img{height: 100%;
    background: center/cover}
.wide-bnr__txt{padding: 0 48px;
    display: grid;
    gap: 6px}
.wide-bnr__txt small{font-family: var(--mincho);
    font-size: 12px;
    letter-spacing: .3em;
    color: var(--gold-ink)}
.wide-bnr__txt b{font-family: var(--mincho);
    font-size: clamp(17px, 2.2vw, 26px);
    font-weight: 500;
    letter-spacing: .12em;
    line-height: 1.5}
.wide-bnr__txt em{font-style: normal;
    font-size: 14px;
    color: var(--ink-2)}
.wide-bnr__dummy{position: absolute;
    right: 10px;
    bottom: 8px;
    font-size: 10px;
    color: #9a928a;
    letter-spacing: .08em}
@media (max-width:600px){.top-bnr{padding: 16px 0 0}
.wide-bnr{grid-template-columns: 38% 1fr;
    aspect-ratio: auto;
    min-height: 120px}
.wide-bnr__txt{padding: 16px}
.wide-bnr__txt em{font-size: 12px}}
.feature .card h3{font-size: 17px}
@media (max-width:960px){.feature .g4{grid-template-columns: repeat(2, 1fr)}}
@media (max-width:600px){.feature .g4{grid-template-columns: repeat(2, 1fr)}
.feature .card .desc{display: none}
.feature .card h3{font-size: 15px}}
.lineup h3{font-size: 17px;
    line-height: 1.5}
.sublinks-row{margin-top: 20px;
    text-align: right;
    font-size: 14px;
    color: var(--ink-2)}
.sublinks-row a{margin-left: 16px;
    border-bottom: 1px solid var(--line)}
.sublinks-row a:hover{border-color: var(--ink)}
@media (max-width:600px){.lineup h3{font-size: 16px}
.sublinks-row{text-align: left}}
.scene .lb h3{font-size: 18px}
.price-nav--ship{margin-top: 40px}
@media (max-width:600px){.price-nav--ship{margin-top: 32px}
.price-nav--ship a:last-child{grid-column: auto}
.price-nav--ship{grid-template-columns: 1fr 1fr 1fr}
.price-nav--ship a{font-size: 13.5px;
    padding: 14px 4px}}
.rank .no{top: -12px;
    right: -10px;
    left: auto;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    font-family: var(--sans);
    font-size: 15px;
    font-weight: 600;
    color: #fff!important;
    background: #9a928a}
.rank .card:nth-child(1) .no{background: #b59a52}
.rank .card:nth-child(2) .no{background: #9aa1a8}
.rank .card:nth-child(3) .no{background: #a5795a}
@media (max-width:600px){.rank .g4{grid-template-columns: repeat(2, 1fr)}
.rank .no{width: 30px;
    height: 30px;
    font-size: 13px;
    right: -6px}}
@media (max-width:600px){.g4{grid-template-columns: repeat(2, 1fr)}}
.about{display: grid;
    grid-template-columns: auto 1fr;
    gap: 32px;
    align-items: start;
    max-width: 900px}
.vttl{writing-mode: vertical-rl;
    font-family: var(--mincho);
    font-size: 22px;
    font-weight: 500;
    letter-spacing: .5em;
    line-height: 1;
    padding-top: 4px}
.about__img{aspect-ratio: 16/8;
    background: url(https://img21.shop-pro.jp/PA01473/800/etc/concept-salmon.jpg) center/cover}
.about__body{text-align: center;
    margin-top: 32px}
.about__body p{font-family: var(--mincho);
    font-size: 16px;
    line-height: 2.4;
    letter-spacing: .1em}
.about__body .more{margin-top: 40px}
@media (max-width:600px){.about{gap: 16px}
.vttl{font-size: 18px}
.about__img{aspect-ratio: 4/3}
.about__body{text-align: left}
.about__body p{font-size: 15px}}
.about--rev{grid-template-columns: 1fr auto}
.about--rev .vttl{order: 2}
.about__lead{font-size: 22px!important;
    line-height: 1.9!important;
    letter-spacing: .14em!important;
    margin-bottom: 20px}
.about__body p+p{color: var(--ink-2);
    font-size: 15px}
@media (max-width:600px){.about__lead{font-size: 18px!important}}
.member .big{font-size: 40px}
.member .ig{font-size: 24px;
    color: #c13584;
    letter-spacing: .02em}
@media (max-width:600px){.member .big{font-size: 30px}
.member .ig{font-size: 18px}}
.support{display: grid;
    grid-template-columns: 1fr 1.3fr;
    gap: 24px;
    margin-top: 72px}
.support>*{background: #fff;
    border: 1px solid var(--line);
    padding: 32px 36px}
.support small{display: block;
    font-family: var(--mincho);
    font-size: 12px;
    letter-spacing: .3em;
    color: var(--gold-ink)}
.support h3{font-family: var(--mincho);
    font-weight: 500;
    font-size: 18px;
    letter-spacing: .12em;
    margin: 4px 0 6px}
.support p{font-size: 13.5px;
    color: var(--ink-2);
    line-height: 1.8}
.support__pamph{display: flex;
    align-items: center;
    gap: 24px;
    transition: border-color .3s;
    position: relative;
    padding-right: 52px!important}
.support__pamph:hover{border-color: var(--ink)}
.support__pamph svg{flex: none;
    width: 40px;
    height: 40px;
    fill: none;
    stroke: var(--gold-ink);
    stroke-width: 1.3}
.support__pamph::after{content: "";
    position: absolute;
    right: 26px;
    top: 50%;
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-top: 1px solid var(--ink);
    border-right: 1px solid var(--ink);
    transform: rotate(45deg)}
.support__tel{display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px}
.support__num{flex: none;
    text-align: right}
.support__num b{display: block;
    font-family: var(--mincho);
    font-size: 28px;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.3}
.support__num small{font-family: var(--sans);
    font-size: 12px;
    letter-spacing: 0;
    color: var(--ink-2)}
.fd{display: inline-block;
    font-size: 10px;
    letter-spacing: .12em;
    color: var(--gold-ink);
    border: 1px solid var(--gold);
    padding: 0 8px;
    line-height: 1.8}
.drawer__tel .fd{display: table;
    margin: 8px auto 2px}
@media (max-width:960px){.support{grid-template-columns: 1fr}}
@media (max-width:600px){.support{margin-top: 48px;
    gap: 12px}
.support>*{padding: 22px 20px}
.support__pamph{padding-right: 40px!important;
    gap: 16px}
.support__tel{flex-direction: column;
    align-items: stretch}
.support__num{text-align: center}
.support__num b{font-size: 26px}}
footer.ft2{background: none;
    color: #fff;
    padding: 0;
    font-size: 14px}
.ft2__contact{display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid var(--line);
    background: #fff;
    color: var(--ink)}
.ft2__contact a{display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 28px 12px;
    font-family: var(--mincho);
    font-size: 15px;
    letter-spacing: .1em;
    transition: background .2s}
.ft2__contact a+a{border-left: 1px solid var(--line)}
.ft2__contact a::after{content: "";
    width: 6px;
    height: 6px;
    border-top: 1px solid currentColor;
    border-right: 1px solid currentColor;
    transform: rotate(45deg)}
.ft2__contact a:hover{background: var(--paper-2)}
.ft2__main{background: linear-gradient(rgba(30,34,40,.6), rgba(30,34,40,.78)), var(--snowbg) center/cover;
    padding: 64px 0 28px}
.ft2__nav{display: flex;
    justify-content: center;
    gap: 72px;
    font-family: var(--mincho);
    font-size: 13.5px}
.ft2__nav h4{font-size: 14px;
    font-weight: 600;
    letter-spacing: .14em;
    margin-bottom: 12px}
.ft2__nav li{margin-bottom: 8px}
.ft2__nav a{border-bottom: 1px solid rgba(255,255,255,.4)}
.ft2__nav a:hover{border-color: #fff}
.ft2__sns{display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 36px}
.ft2__sns a{font-size: 12px;
    letter-spacing: .12em;
    padding: 6px 18px;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 20px;
    transition: background .2s}
.ft2__sns a:hover{background: rgba(255,255,255,.15)}
.ft2__legal{display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 24px;
    font-family: var(--mincho);
    font-size: 12.5px}
.ft2__legal a{border-bottom: 1px solid rgba(255,255,255,.4)}
.ft2__brand{display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 28px;
    margin-top: 56px}
.ft2__brand img{width: 150px;
    filter: brightness(0) invert(1)}
.ft2__brand p{writing-mode: vertical-rl;
    font-family: var(--mincho);
    font-size: 14px;
    letter-spacing: .4em;
    line-height: 2;
    height: 10em}
.ft2__info{margin-top: 32px;
    text-align: center;
    font-size: 13px;
    line-height: 1.9;
    opacity: .92}
.ft2__copy{margin-top: 24px;
    text-align: center;
    font-size: 12px;
    letter-spacing: .2em;
    opacity: .7}
.ft2 .ft2__nav li a::before{display: none}
@media (max-width:600px){.ft2__contact{grid-template-columns: 1fr}
.ft2__contact a+a{border-left: 0;
    border-top: 1px solid var(--line)}
.ft2__contact a{padding: 18px 12px}
.ft2__nav{flex-direction: column;
    gap: 28px;
    padding: 0 8px}
.ft2__legal{flex-wrap: wrap;
    gap: 12px 20px}
.ft2__brand img{width: 120px}}
.support__tel{justify-content: flex-start}
.support__tel>div:nth-of-type(1){flex: 1}
.support__logo{flex: none;
    width: 84px;
    height: auto;
    padding-right: 24px;
    border-right: 1px solid var(--line)}
.brand{position: relative}
@media (max-width:600px){.support__tel{align-items: center;
    text-align: center}
.support__logo{width: 72px;
    padding: 0 0 16px;
    border-right: 0;
    border-bottom: 1px solid var(--line)}}
.brand h2{font-size: 22px;
    line-height: 1.9;
    letter-spacing: .14em}
.support>*{background: #fff}
#guide .guide a{background: #fff}
@media (max-width:600px){.brand h2{font-size: 18px}}
.brand .en,.about__en{display: block;
    font-family: var(--mincho);
    font-size: 13px;
    letter-spacing: .3em;
    color: var(--gold-ink);
    margin-bottom: 14px}
.brand h2{font-size: 28px;
    line-height: 1.8;
    letter-spacing: .12em}
#story .about{gap: 32px}
#story .vttl{font-size: 28px;
    letter-spacing: .4em}
#story .about__lead{font-size: 28px!important;
    line-height: 1.8!important;
    letter-spacing: .12em!important}
@media (max-width:600px){.brand h2{font-size: 22px}
#story .about{gap: 14px}
.brand p{text-align: left;
    max-width: 340px;
    margin-left: auto;
    margin-right: auto}
.brand p br{display: none}
#story .vttl{font-size: 22px}
#story .about__img{aspect-ratio: 4/3}
#story .about__lead{font-size: 22px!important}}
.company{display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 72px;
    align-items: center}
.company__img{aspect-ratio: 4/3;
    background: url(https://img21.shop-pro.jp/PA01473/800/PA01473800_m.jpg) center/cover}
.company__dl{border-top: 1px solid var(--line)}
.company__dl div{display: grid;
    grid-template-columns: 6.5em 1fr;
    gap: 16px;
    padding: 14px 0;
    border-bottom: 1px solid var(--line);
    font-size: 15px;
    line-height: 1.8}
.company__dl dt{color: var(--gold-ink);
    font-family: var(--mincho)}
.company__tel{font-family: var(--mincho);
    font-weight: 500;
    font-size: 22px;
    letter-spacing: .06em;
    vertical-align: -2px;
    margin-left: 4px}
.company__btns{display: flex;
    gap: 16px;
    flex-wrap: wrap;
    margin-top: 36px}
.company__btns .more{margin: 0;
    padding: 14px 32px}
@media (max-width:960px){.company{grid-template-columns: 1fr;
    gap: 36px}}
@media (max-width:600px){.company__dl div{grid-template-columns: 5.5em 1fr;
    gap: 10px;
    font-size: 14.5px}
.company__tel{font-size: 20px}
.company__btns{display: grid;
    grid-template-columns: 1fr;
    gap: 10px}
.company__btns .more{width: 100%;
    text-align: center}}
.top-bnr{padding: 72px 0 0}
.top-bnr + .sec{padding-top: 112px}
.mv__pager{bottom: 20px}
.ttl{margin-bottom: 56px}
.sec .more{margin-top: 56px}
.brand{padding: 150px 24px}
#company .support{margin-top: 80px}
@media (max-width:600px){.top-bnr{padding: 40px 0 0}
.top-bnr + .sec{padding-top: 72px}
.ttl{margin-bottom: 36px}
.sec .more{margin-top: 40px}
.brand{padding: 96px 20px}
#company .support{margin-top: 48px}}
.news li.is-more{display: none}
.news.is-open li.is-more{display: block;
    animation: newsIn .4s ease}
@keyframes newsIn{
from {
opacity:0;
transform:translateY(-4px)
}
to {
opacity:1;
transform:none
}
}
.news-more{background: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    letter-spacing: .2em;
    margin: 32px 0 0!important;
    display: inline-flex;
    align-items: center;
    gap: 10px}
.news-more::after{content: "";
    width: 6px;
    height: 6px;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .25s}
.news-more[aria-expanded="true"]::after{transform: rotate(225deg) translateY(-2px)}
@media (max-width:600px){.lineup{gap: 0;
    background: none;
    border: 0;
    border-top: 1px solid var(--line)}
.lineup a{position: relative;
    grid-template-columns: 76px 1fr;
    gap: 16px;
    align-items: center;
    min-height: 104px;
    padding: 14px 40px 14px 4px;
    border-bottom: 1px solid var(--line);
    background: none}
.lineup a::after{content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    width: 7px;
    height: 7px;
    margin-top: -4px;
    border-top: 1px solid var(--ink);
    border-right: 1px solid var(--ink);
    transform: rotate(45deg)}
.lineup a:active{background: var(--paper-2)}
.lineup img{width: 76px;
    height: 76px;
    border: 1px solid var(--line);
    background: #fff;
    padding: 4px}
.lineup h3{font-size: 16px;
    line-height: 1.5;
    letter-spacing: .06em}
.lineup p{font-size: 13px;
    line-height: 1.7;
    margin-top: 4px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden}
.lineup .arw{display: none}}
.tel{color: inherit;
    text-decoration: none}
.maplink{display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 12px;
    font-size: 13px;
    color: var(--gold-ink);
    border-bottom: 1px solid currentColor;
    line-height: 1.5;
    white-space: nowrap}
.maplink::before{content: "";
    width: 8px;
    height: 8px;
    border: 1.5px solid currentColor;
    border-radius: 50% 50% 50% 0;
    transform: rotate(-45deg)}
.company__sub{font-size: 14px;
    color: var(--ink-2)}
.company__fax{margin-left: 0}
.support__fax{display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 12px!important;
    color: var(--ink)!important}
.support__fax b{font-family: var(--mincho);
    font-weight: 500;
    font-size: 20px;
    letter-spacing: .06em;
    white-space: nowrap}
.support__fax small{display: inline!important;
    font-family: var(--sans)!important;
    font-size: 12px!important;
    letter-spacing: 0!important;
    color: var(--ink-2)!important}
@media (max-width:600px){.maplink{margin: 6px 0 0;
    display: flex;
    width: fit-content}}
.support__tel{position: relative;
    color: inherit;
    transition: border-color .3s, background .3s;
    cursor: pointer}
.support__tel:hover{border-color: var(--ink)}
.support__tel .support__num b{color: var(--ink)}
.mv__slides{height: auto;
    aspect-ratio: 2732/1094}
.mv__slide img{object-position: var(--sp-pos, 50% 50%)}
@media (min-width:601px) and (max-width:1024px){.mv__slides{aspect-ratio: auto;
    height: min(80vw, calc(100svh - 84px))}}
@media (max-width:600px){.mv__slides{aspect-ratio: auto;
    height: min(140vw, calc(100svh - 64px))}}
.sns-ico{position: relative;
    flex: none;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    border: 1px solid var(--line);
    background: #fff}
.sns-ico svg{width: 30px;
    height: 30px;
    fill: none;
    stroke: var(--ink);
    stroke-width: 1.3;
    stroke-linejoin: round;
    stroke-linecap: round}
.sns-ico em{position: absolute;
    right: -4px;
    top: -4px;
    font-style: normal;
    font-family: var(--sans);
    font-size: 9px;
    line-height: 1;
    padding: 3px 4px;
    background: var(--gold-ink);
    color: #fff;
    border-radius: 2px}
.ft2__sns a{width: 40px;
    height: 40px;
    padding: 0;
    display: grid;
    place-items: center;
    border-radius: 50%}
.ft2__sns svg{width: 20px;
    height: 20px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.4;
    stroke-linejoin: round;
    stroke-linecap: round}
@media (max-width:600px){.sns-ico{width: 52px;
    height: 52px}
.sns-ico svg{width: 24px;
    height: 24px}}
.guide p b{white-space: nowrap}
.guide svg{stroke-width: 1.2;
    stroke-linecap: round;
    stroke-linejoin: round}
.sns-ico svg{stroke-width: 1.4}
.sns-logo{flex: none;
    width: 56px;
    height: 56px;
    margin: 0 4px}
.ft2__sns{gap: 20px}
.ft2__sns a{width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    padding: 4px}
.ft2__sns a:hover{background: none;
    opacity: .8}
.ft2__sns img{width: 32px;
    height: 32px}
@media (max-width:600px){.sns-logo{width: 48px;
    height: 48px}
.ft2__sns img{width: 40px;
    height: 40px}}
.ft2__sns{gap: 16px}
.ft2__sns a{width: 52px;
    height: 52px;
    padding: 0;
    display: grid;
    place-items: center;
    background: #fff;
    border-radius: 50%;
    box-shadow: 0 4px 14px rgba(0,0,0,.18);
    transition: transform .2s, opacity .2s}
.ft2__sns a:hover{background: #fff;
    opacity: 1;
    transform: translateY(-2px)}
.ft2__sns img{width: 30px;
    height: 30px}
.sns-logo{width: 52px;
    height: 52px}
@media (max-width:600px){.ft2__sns a{width: 56px;
    height: 56px}
.ft2__sns img{width: 40px;
    height: 40px}
.sns-logo{width: 48px;
    height: 48px}}
.ft2__sns{gap: 12px}
.ft2__sns a{width: 40px;
    height: 40px;
    background: none;
    border: 1px solid rgba(255,255,255,.5);
    box-shadow: none;
    border-radius: 50%}
.ft2__sns a:hover{background: rgba(255,255,255,.15);
    transform: none}
.ft2__sns svg{width: 20px;
    height: 20px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.4;
    stroke-linejoin: round;
    stroke-linecap: round}
.ft2__sns{gap: 12px}
.ft2__sns a{width: 40px;
    height: 40px;
    background: none;
    border: 1px solid rgba(255,255,255,.5);
    box-shadow: none;
    border-radius: 50%}
.ft2__sns a:hover{background: rgba(255,255,255,.15);
    transform: none}
.ft2__sns svg{width: 20px;
    height: 20px;
    fill: none;
    stroke: #fff;
    stroke-width: 1.4;
    stroke-linejoin: round;
    stroke-linecap: round}
@media (max-width:600px){#story .about{grid-template-columns: 1fr;
    gap: 20px}
#story .vttl{writing-mode: horizontal-tb;
    font-size: 22px;
    letter-spacing: .14em;
    line-height: 1.5;
    padding: 0;
    text-align: center}
#story .about__img{aspect-ratio: 2/1;
    background-size: cover;
    background-position: center}
#story .about__body{text-align: center}}
.about__lead,.brand h2{word-break: auto-phrase}
@media (max-width:600px){.support__pamph{flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
    padding: 24px 20px 28px!important}
.support__pamph svg{width: 44px;
    height: 44px;
    padding-bottom: 16px;
    box-sizing: content-box;
    border-bottom: 1px solid var(--line)}
.support__pamph::after{display: none}
.support__pamph h3::after{content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 10px;
    border-top: 1px solid var(--ink);
    border-right: 1px solid var(--ink);
    transform: rotate(45deg) translateY(-3px)}
.support__fax{justify-content: center}}
.support__pamph svg{stroke: var(--ink)}
.sns-logo[alt="Instagram"]{width: 50px;
    height: 50px;
    margin: 1px 5px}
@media (max-width:600px){.sns-logo[alt="Instagram"]{width: 46px;
    height: 46px;
    margin: 1px 5px}}
@media (max-width:600px){.ft2__nav{display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px 16px;
    padding: 0 4px}
.ft2__nav h4{font-size: 13.5px}
.ft2__nav a{font-size: 13px}}
.more{border-color:var(--ink)}
.more:hover{background:var(--gold-ink);border-color:var(--gold-ink);color:#fff}
.guide a:hover,.member a:hover,.support__pamph:hover,.support__tel:hover{border-color:var(--gold)}
.notice{position:relative;background:var(--ink);color:#fff;font-family:var(--sans);font-size:13.5px;letter-spacing:.06em;line-height:1.6;text-align:center;padding:10px 48px}
.notice__in{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
.notice__in b{font-weight:500;font-size:12px;letter-spacing:.14em;color:var(--ink);background:#e6cf9b;padding:1px 10px}
.notice__in a{border-bottom:1px solid rgba(255,255,255,.4)}
.notice__in a:hover{border-color:#fff}
.notice__close{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;background:none;color:#fff;font-size:17px;line-height:1;cursor:pointer;opacity:.7}
.notice__close:hover{opacity:1}
@media (max-width:600px){.notice{font-size:12.5px;padding:8px 40px 8px 16px;text-align:left}
.notice__in{justify-content:flex-start;gap:4px 8px}}
.notice{background:var(--gold-ink)}
.notice__in a{border-bottom-color:rgba(255,255,255,.5)}
.logo img{height:44px;width:auto}
@media (max-width:600px){.logo img{height:34px}
.notice{text-align:center;padding:8px 40px}
.notice__in{justify-content:center}}
@media (max-width:600px){.ft2__nav{grid-template-columns:repeat(2,max-content);justify-content:center;column-gap:clamp(20px,9vw,48px);padding:0}}
@media (max-width:360px){.ft2__nav h4{letter-spacing:.06em}
.ft2__nav a{font-size:12.5px;letter-spacing:.02em}}
.brand{position:relative;overflow:hidden;isolation:isolate;background:none!important}
.brand__bg{position:absolute;left:0;right:0;top:-25%;height:150%;z-index:-2;background:var(--snowbg) center/cover;will-change:transform}
.brand::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.72)}
@media (prefers-reduced-motion:reduce){.brand__bg{transform:none!important}}
.lim{display:inline-block;margin-left:6px;font-size:9.5px;line-height:1.5;padding:0 5px;border:1px solid var(--gold);color:var(--gold-ink);letter-spacing:.06em;vertical-align:1px}
.gnav{gap:32px}
.gnav .has-dd{position:relative}
.mega--dd{left:50%;right:auto;top:calc(100% + 18px);min-width:250px;padding:20px 24px 22px;border:1px solid var(--line);transform:translate(-50%,-6px)}
.has-mega.has-dd:hover .mega--dd,.has-mega.has-dd:focus-within .mega--dd,.has-mega.has-dd.is-open .mega--dd{transform:translate(-50%,0)}
.mega--dd::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.dd__en{font-family:var(--mincho);font-size:12px;letter-spacing:.3em;color:var(--gold-ink);margin-bottom:8px}
.dd__list{display:grid;gap:2px}
.gnav .mega--dd a{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14px;letter-spacing:.06em;white-space:nowrap;color:var(--ink)}
.gnav .mega--dd a::before{content:"";flex:none;width:12px;border-top:1.5px solid var(--gold);position:static;height:0;background:none}
.gnav .mega--dd a::after{content:none}
.gnav .mega--dd a:hover{color:var(--gold-ink)}
.gnav .mega--dd .lim{margin-left:4px}
.lim{display:inline-block;margin-left:6px;font-size:9.5px;line-height:1.5;padding:0 5px;border:1px solid var(--gold);color:var(--gold-ink);letter-spacing:.06em;vertical-align:1px;font-family:var(--sans)}
@media (max-width:1100px){.gnav{gap:22px}}
.drawer__search--top{padding:16px 16px 0}
.drawer__grid--price a{font-size:13.5px}
.drawer__grid--price .lim{margin-left:4px;font-size:8.5px}
.drawer__more{margin-top:28px;border-top:1px solid var(--line)}
.drawer__acc2{border-bottom:1px solid var(--line)}
.drawer__acc2 summary{list-style:none;display:flex;align-items:center;justify-content:space-between;padding:18px 16px;font-family:var(--mincho);font-size:16px;font-weight:500;letter-spacing:.1em;cursor:pointer}
.drawer__acc2 summary::-webkit-details-marker{display:none}
.drawer__acc2 summary::after{content:"";width:11px;height:11px;background:linear-gradient(var(--ink),var(--ink)) center/11px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) center/1px 11px no-repeat;transition:transform .25s}
.drawer__acc2[open] summary::after{background:linear-gradient(var(--ink),var(--ink)) center/11px 1px no-repeat;transform:rotate(180deg)}
.drawer__acc2 .linklist{border-top:1px solid var(--line);background:var(--paper-2)}
.drawer__acc2 .linklist a{padding:14px 16px 14px 24px;font-size:14.5px}
.drawer__acc2 .linklist a:last-child{border-bottom:0}
.drawer__grid--one{grid-template-columns:1fr}
.drawer__grid--one a:nth-child(odd){border-right:0}
.news-more{display:flex!important;width:fit-content;margin:32px auto 0!important}
.mega__cat--tmpl{position:relative;padding:8px;margin:-8px;border:1px dashed #b9a98a}
.icons{position:relative}
.support__fax{align-items:center;gap:12px;margin-top:14px!important}
.support__fax b{font-size:28px!important;line-height:1.3;letter-spacing:.06em}
@media (max-width:600px){.support__fax b{font-size:26px!important}}
.mega__in--row{grid-template-columns:200px 1fr;gap:40px;padding:32px 24px 36px;align-items:start}
.row__head{border-right:1px solid var(--line);padding-right:24px;min-height:100%}
.row__head .dd__en{margin-bottom:4px}
.row__ttl{font-family:var(--mincho);font-size:18px;font-weight:500;letter-spacing:.14em;margin-bottom:12px}
.row__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 40px;padding-top:6px}
.gnav .mega--row a{display:flex;align-items:center;gap:10px;padding:10px 0;font-size:14.5px;letter-spacing:.06em;color:var(--ink);border-bottom:1px solid var(--line)}
.gnav .mega--row a{white-space:nowrap}
.gnav .mega--row a::before{content:"";flex:none;width:12px;height:1px;border:0!important;background:var(--gold)!important;opacity:1!important;position:static;transform:translateY(.5px)}
.gnav .mega--row .lim{margin-left:6px;white-space:nowrap}
.gnav .mega--row a::after{content:none}
.gnav .mega--row a:hover{color:var(--gold-ink)}
@media (max-width:1180px){.row__list{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gnav__link{padding:6px 0}
.drawer__link{display:flex;align-items:center;justify-content:space-between;padding:18px 16px;font-family:var(--mincho);font-size:16px;font-weight:500;letter-spacing:.1em;border-bottom:1px solid var(--line)}
.drawer__link::after{content:"";width:7px;height:7px;border-top:1px solid var(--ink);border-right:1px solid var(--ink);transform:rotate(45deg)}
html{scroll-behavior:smooth}
#company,#news{scroll-margin-top:110px}
.gnav .mega--row a,.drawer__acc2 .linklist a{line-height:24px}
.gnav .mega--row a::before{transform:none}
.drawer__grid a:last-child:nth-child(odd){grid-column:1/-1;border-right:0}
.drawer .drawer__acc2 .linklist{margin-top:0}
.drawer__acc2[open] summary{padding-bottom:16px}
@media (min-width:601px){.lineup{gap:1px}}
.pdf{display:inline-block;margin-left:6px;padding:0 4px;font-family:var(--sans);font-size:9px;line-height:1.5;letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--line);vertical-align:1px}
.wide-img{display:block;border:1px solid var(--line);transition:opacity .3s}
.wide-img:hover{opacity:.88}
.wide-img img{display:block;width:100%;height:auto}
.wide-img{width:fit-content;max-width:100%;margin:0 auto}
.wide-img img{width:1080px;max-width:100%}
@media (max-width:960px){.ft2__about{display:none}}
.gift-budget{margin-top:56px;text-align:center}
.gift-budget .price-nav{margin-top:0}
@media (max-width:600px){.gift-budget{margin-top:40px}}
.gift-budget+.gift-budget{margin-top:40px}
.gift-budget .price-nav a{min-width:0;padding:20px 24px;font-size:16px;letter-spacing:.06em}
@media (min-width:601px){.gift-budget .price-nav:not(.price-nav--feat) a{min-width:190px}}
.gift-budget .price-nav span{display:flex;align-items:center;justify-content:center;gap:.55em}
.gift-budget .price-nav span::before{content:"";flex:none;width:15px;height:15px;background:var(--gold);-webkit-mask:var(--snow-mask) center/contain no-repeat;mask:var(--snow-mask) center/contain no-repeat}
@media (max-width:600px){.gift-budget+.gift-budget{margin-top:32px}
.gift-budget .price-nav a{font-size:14px;padding:14px 6px;line-height:1.45;white-space:normal;word-break:keep-all;overflow-wrap:anywhere}}
.more:not(.news-more):not(.brand .more){position:relative;display:flex!important;align-items:center;justify-content:center;width:fit-content;min-width:280px;height:56px;padding:0 64px!important;border:0!important;background:#a8894f!important;color:#fff!important;font-family:var(--sans);font-size:15px;letter-spacing:.14em;line-height:1;transition:background-color .4s}
.more:not(.news-more):not(.brand .more)::before{content:none!important}
.more:not(.news-more):not(.brand .more)::after{content:""!important;position:absolute;right:0;top:0;bottom:0;width:26px;height:auto!important;border:0!important;transform:none!important;background:rgba(0,0,0,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12'%3E%3Cpath d='M1.5 1l5 5-5 5' fill='none' stroke='%23fff' stroke-width='1.3'/%3E%3C/svg%3E") center/6px 10px no-repeat;transition:background-position .4s}
.more:not(.news-more):not(.brand .more):hover{background:#8f6d2b!important;color:#fff!important}
.more:not(.news-more):not(.brand .more):hover::after{background-position:calc(50% + 2px) center}
@media (max-width:600px){.more:not(.news-more):not(.brand .more){min-width:250px;height:50px;font-size:14px;padding:0 48px!important}}
.scene a{aspect-ratio:auto;overflow:visible;background:none}
.scene__ph{position:relative;aspect-ratio:4/3;overflow:hidden;background:#ddd}
.scene__sub{display:flex;align-items:center;gap:8px;margin-top:14px;font-family:var(--mincho);font-size:15px;letter-spacing:.1em;color:var(--ink);transition:color .3s}
.scene__sub::before{content:"";flex:none;width:0;height:0;border-left:6px solid var(--gold);border-top:4px solid transparent;border-bottom:4px solid transparent}
.scene a:hover .scene__sub{color:var(--gold-ink)}
@media (max-width:600px){.scene{gap:24px}
.scene__sub{margin-top:10px;font-size:14.5px}}
@media (min-width:961px){.ft2__nav{display:grid;grid-template-columns:repeat(3,240px);column-gap:48px;justify-content:center}}
.scene__sub{font-family:var(--sans);font-size:16px;letter-spacing:.08em;margin-top:16px}
.scene__sub::before{border-left-width:7px;border-top-width:4.5px;border-bottom-width:4.5px}
@media (max-width:600px){.scene__sub{font-size:15.5px;margin-top:12px}}
.drawer__ttl--info{margin-top:12px}
.drawer__ttl--info+.drawer__more{margin-top:0}
a.drawer__tel{display:block;transition:background .2s}
a.drawer__tel:active,a.drawer__tel:hover{background:#efe9df}
.tag--frozen,.tag--chilled,.tag--normal{border:1px solid currentColor;font-weight:700}
.tag--frozen{background:#e6eef6;color:#2f5f8a}
.tag--chilled{background:#e5efe7;color:#3d6b4a}
.tag--normal{background:#efebe6;color:#5e564f}
.mega__in:not(.mega__in--row){grid-template-columns:minmax(0,1fr) 240px;gap:40px}
.mega__cats{gap:24px}
.mega__cat>a{grid-template-columns:48px 1fr;letter-spacing:.04em;white-space:nowrap}
.mega__cat>a img{width:48px;height:48px}
.mega__cat ul{margin-left:60px}
@media (max-width:1180px){.mega__cat>a{font-size:15px;letter-spacing:.02em}}
@media (max-width:1100px){.mega__cat>a{grid-template-columns:40px 1fr;gap:10px;font-size:14.5px;letter-spacing:0}
.mega__cat>a img{width:40px;height:40px}
.mega__cat ul{margin-left:50px}}

/* ===== 下層ページ共通 ===== */
.ks-sub .crumb{font-size:14px;color:var(--ink-2);padding-top:18px;padding-bottom:18px;letter-spacing:.06em}
.ks-sub .crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px 0}
.ks-sub .crumb li+li::before{content:"";display:inline-block;width:5px;height:5px;margin:0 12px 0 10px;border-top:1px solid var(--ink-2);border-right:1px solid var(--ink-2);transform:rotate(45deg);vertical-align:2px}
.ks-sub .crumb a:hover{color:var(--gold-ink)}
.ks-sub .crumb-bar{border-bottom:1px solid var(--line)}
.ks-sub .phead{position:relative;text-align:center;padding:64px 0 60px;background:var(--paper-2);border-bottom:1px solid var(--line)}
.ks-sub .phead .en{display:block;font-family:var(--mincho);font-size:13px;letter-spacing:.35em;color:var(--gold-ink);margin-bottom:10px}
.ks-sub .phead h1{font-family:var(--mincho);font-weight:500;font-size:30px;letter-spacing:.16em;line-height:1.5}
.ks-sub .phead h1::after{content:"";display:block;width:40px;height:1px;background:var(--ink);margin:22px auto 0}
.ks-sub .phead p{max-width:640px;margin:22px auto 0;font-size:15px;color:var(--ink-2);line-height:2.1}
.ks-sub .subnav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:40px 0 0}
.ks-sub .subnav a{display:inline-flex;align-items:center;gap:8px;padding:10px 22px;border:1px solid var(--line);background:#fff;font-size:14px;letter-spacing:.08em;transition:.25s}
.ks-sub .subnav a.is-on{border-color:var(--gold-ink);background:var(--gold-ink);color:#fff}
.ks-sub .subnav a:not(.is-on):hover{border-color:var(--gold);color:var(--gold-ink)}
.ks-sub .subnav small{font-size:12px;opacity:.75}
.ks-sub .toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:48px 0 32px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:14px}
.ks-sub .toolbar__count b{font-family:var(--mincho);font-size:18px;font-weight:500;margin:0 2px}
.ks-sub .sort{display:flex;gap:4px;align-items:center;color:var(--ink-2)}
.ks-sub .sort a{padding:4px 12px;border-radius:999px}
.ks-sub .sort a.is-on{background:var(--ink);color:#fff}
.ks-sub .sort a:not(.is-on):hover{color:var(--gold-ink)}
.ks-sub .pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:64px;font-size:14px}
.ks-sub .pager a,.ks-sub .pager span{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);padding:0 12px}
.ks-sub .pager .is-on{background:var(--ink);border-color:var(--ink);color:#fff}
.ks-sub .pager a:hover{border-color:var(--ink)}
.ks-sub .pager__info{text-align:center;font-size:13px;color:var(--ink-2);margin-top:14px}
.ks-sub .sec--s{padding:88px 0}
.ks-sub .catnote{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:72px}
.ks-sub .catnote div{background:#fff;padding:22px 24px;font-size:13.5px;color:var(--ink-2);line-height:1.8}
.ks-sub .catnote b{display:block;font-family:var(--mincho);font-weight:500;font-size:16px;color:var(--ink);letter-spacing:.08em;margin-bottom:4px}
.ks-sub .pd{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:64px;padding-top:40px;padding-bottom:24px;align-items:start}
.ks-sub .pd__gallery{position:sticky;top:110px}
.ks-sub .pd__main{aspect-ratio:1/1;border:1px solid var(--line);background:#fff;display:grid;place-items:center;overflow:hidden}
.ks-sub .pd__main img{width:100%;height:100%;object-fit:contain}
.ks-sub .pd__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:10px}
.ks-sub .pd__thumbs button{aspect-ratio:1/1;border:1px solid var(--line);background:#fff;padding:0;cursor:pointer;overflow:hidden}
.ks-sub .pd__thumbs button.is-on{border-color:var(--gold-ink);box-shadow:inset 0 0 0 1px var(--gold-ink)}
.ks-sub .pd__thumbs img{width:100%;height:100%;object-fit:cover}
.ks-sub .pd__info .tags{margin:0 0 12px}
.ks-sub .pd__name{font-family:var(--mincho);font-weight:500;font-size:28px;letter-spacing:.12em;line-height:1.6}
.ks-sub .pd__lead{margin-top:14px;font-size:15px;color:var(--ink-2);line-height:2}
.ks-sub .pd__price{margin-top:24px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.ks-sub .pd__price b{font-family:var(--mincho);font-weight:500;font-size:32px;letter-spacing:.04em}
.ks-sub .pd__price small{font-size:13px;color:var(--ink-2)}
.ks-sub .pd__price .pd__ship{margin-left:auto;font-size:13px;color:var(--ink-2)}
.ks-sub .pd__form{margin-top:24px;display:grid;gap:18px}
.ks-sub .pd__row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:16px;font-size:14.5px}
.ks-sub .pd__row label{font-weight:500}
.ks-sub .pd__row select,.ks-sub .pd__row input{width:100%;height:46px;border:1px solid #cfc7bc;background:#fff;padding:0 14px;font:inherit;font-size:15px;border-radius:0;appearance:none;-webkit-appearance:none}
.ks-sub .pd__row select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232b2724'/%3E%3C/svg%3E") right 14px center/10px no-repeat}
.ks-sub .qty{display:inline-grid;grid-template-columns:46px 70px 46px;border:1px solid #cfc7bc;width:fit-content}
.ks-sub .qty button{border:0;background:var(--paper-2);font-size:18px;cursor:pointer}
.ks-sub .qty input{border:0;border-left:1px solid #cfc7bc;border-right:1px solid #cfc7bc;text-align:center;height:46px;font:inherit}
.ks-sub .pd__warn{display:flex;gap:10px;align-items:flex-start;padding:12px 16px;background:#eef3f8;color:#2f5679;font-size:13.5px;line-height:1.7}
.ks-sub .pd__warn::before{content:"!";flex:none;width:18px;height:18px;border-radius:50%;background:var(--frozen);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;margin-top:2px}
.ks-sub .pd__btns{display:grid;grid-template-columns:1fr 56px;gap:10px;margin-top:6px}
.ks-sub .btn-cart{display:flex;align-items:center;justify-content:center;gap:12px;height:60px;border:0;background:#a8894f;color:#fff;font:inherit;font-size:16px;letter-spacing:.2em;cursor:pointer;transition:background .25s}
.ks-sub .btn-cart:hover{background:var(--gold-ink)}
.ks-sub .btn-cart svg{width:20px;height:20px;fill:none;stroke:#fff;stroke-width:1.5}
.ks-sub .btn-fav{display:grid;place-items:center;border:1px solid #cfc7bc;background:#fff;cursor:pointer}
.ks-sub .btn-fav svg{width:22px;height:22px;fill:none;stroke:var(--ink);stroke-width:1.4}
.ks-sub .pd__sub{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:4px;font-size:13px;color:var(--ink-2)}
.ks-sub .pd__sub a{border-bottom:1px solid var(--line)}
.ks-sub .pd__sub a:hover{color:var(--gold-ink);border-color:var(--gold)}
.ks-sub .pd__svc{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:28px}
.ks-sub .pd__svc a{background:#fff;padding:16px 10px;text-align:center;font-size:13px;line-height:1.6;color:var(--ink-2);transition:background .2s}
.ks-sub .pd__svc a:hover{background:var(--paper-2)}
.ks-sub .pd__svc b{display:block;font-family:var(--mincho);font-weight:500;font-size:15px;color:var(--ink);letter-spacing:.06em;margin-bottom:2px}
.ks-sub .pd__svc svg{width:26px;height:26px;fill:none;stroke:var(--gold-ink);stroke-width:1.2;margin:0 auto 6px}
.ks-sub .pd-detail{display:grid;grid-template-columns:200px 1fr;gap:56px;padding-top:24px}
.ks-sub .pd-nav{position:sticky;top:110px;align-self:start;border-top:1px solid var(--ink)}
.ks-sub .pd-nav a{display:flex;align-items:center;justify-content:space-between;padding:14px 4px;border-bottom:1px solid var(--line);font-family:var(--mincho);font-size:15px;letter-spacing:.1em}
.ks-sub .pd-nav a::after{content:"";width:6px;height:6px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:rotate(45deg) translate(-2px,-2px)}
.ks-sub .pd-nav a:hover{color:var(--gold-ink)}
.ks-sub .pd-blk{padding-bottom:64px;scroll-margin-top:110px}
.ks-sub .pd-h{display:flex;align-items:center;gap:.5em;font-family:var(--mincho);font-weight:500;font-size:22px;letter-spacing:.14em;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:28px;position:relative}
.ks-sub .pd-h::after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:2px;background:var(--gold)}
.ks-sub .pd-h small{font-size:12px;letter-spacing:.3em;color:var(--gold-ink);margin-left:auto;font-family:var(--sans)}
.ks-sub .pd-body{font-size:16px;line-height:2.2}
.ks-sub .pd-body p+p{margin-top:1em}
.ks-sub .pd-body .pd-img{margin:28px 0;border:1px solid var(--line)}
.ks-sub .spec{width:100%;border-collapse:collapse;font-size:15px;line-height:1.9;border-top:2px solid var(--ink)}
.ks-sub .spec th,.ks-sub .spec td{padding:16px 20px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.ks-sub .spec th{width:180px;background:var(--paper-2);font-weight:500;letter-spacing:.06em}
.ks-sub .ship{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.ks-sub .ship div{border:1px solid var(--line);padding:22px 24px}
.ks-sub .ship b{display:block;font-family:var(--mincho);font-weight:500;font-size:17px;letter-spacing:.08em;margin-bottom:8px}
.ks-sub .ship p{font-size:14px;color:var(--ink-2);line-height:1.9}
.ks-sub .rv{border-top:1px solid var(--line)}
.ks-sub .rv li{padding:22px 0;border-bottom:1px solid var(--line)}
.ks-sub .rv__head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ks-sub .rv__star{color:var(--gold);letter-spacing:.1em}
.ks-sub .rv__ttl{font-family:var(--mincho);font-weight:500;font-size:17px;letter-spacing:.06em}
.ks-sub .rv__meta{font-size:12.5px;color:var(--ink-2);margin-left:auto}
.ks-sub .rv p{margin-top:8px;font-size:14.5px;color:var(--ink-2);line-height:2}
.ks-sub .rv-sum{display:flex;align-items:center;gap:24px;margin-bottom:20px}
.ks-sub .rv-sum b{font-family:var(--mincho);font-size:36px;font-weight:500;line-height:1}
.ks-sub .rv-sum .rv__star{font-size:18px}
.ks-sub .rv-sum span{font-size:13px;color:var(--ink-2)}
.ks-sub .btn-line{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:220px;height:48px;border:1px solid var(--gold);color:var(--gold-ink);font-size:14px;letter-spacing:.14em;transition:.25s;margin-top:24px}
.ks-sub .btn-line:hover{background:var(--gold-ink);border-color:var(--gold-ink);color:#fff}
.ks-sub .sticky-buy{display:none}
.ks-sub .sp-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin-top:48px}
.ks-sub .sp-tab{display:block;border:1px solid var(--line);background:#fff;transition:.25s;position:relative}
.ks-sub .sp-tab:hover{border-color:var(--gold)}
.ks-sub .sp-tab.is-on{border-color:var(--gold-ink);box-shadow:inset 0 0 0 1px var(--gold-ink)}
.ks-sub .sp-tab__ph{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2)}
.ks-sub .sp-tab__ph img{width:100%;height:100%;object-fit:cover}
.ks-sub .sp-tab__txt{padding:12px 14px 14px;font-family:var(--mincho);font-size:15px;line-height:1.5;letter-spacing:.06em}
.ks-sub .sp-tab__txt small{display:block;font-family:var(--sans);font-size:12px;color:var(--gold-ink);letter-spacing:.1em;margin-top:4px}
.ks-sub .sp-tab.is-on .sp-tab__txt{color:var(--gold-ink)}
.ks-sub .sp-hero{display:grid;grid-template-columns:1.15fr 1fr;align-items:stretch;border:1px solid var(--line);background:#fff;margin-top:0}
.ks-sub .sp-hero__img{min-height:380px;background:var(--paper-2) center/cover}
.ks-sub .sp-hero__txt{padding:56px 52px;display:flex;flex-direction:column;justify-content:center}
.ks-sub .sp-hero__txt .en{font-family:var(--mincho);font-size:13px;letter-spacing:.35em;color:var(--gold-ink)}
.ks-sub .sp-hero__txt h2{font-family:var(--mincho);font-weight:500;font-size:28px;letter-spacing:.14em;line-height:1.7;margin:12px 0 18px}
.ks-sub .sp-hero__txt p{font-size:15px;color:var(--ink-2);line-height:2.1}
.ks-sub .sp-hero__term{display:inline-flex;gap:10px;align-items:center;margin-top:22px;font-size:13.5px;padding:8px 14px;background:var(--gold-soft);color:var(--gold-ink);width:fit-content}
.ks-sub .sp-points{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:56px}
.ks-sub .sp-points div{border-top:1px solid var(--ink);padding-top:16px}
.ks-sub .sp-points b{display:block;font-family:var(--mincho);font-weight:500;font-size:17px;letter-spacing:.1em}
.ks-sub .sp-points small{display:block;font-size:13.5px;color:var(--ink-2);line-height:1.9;margin-top:6px}
.ks-sub .fp{max-width:880px;margin:0 auto}
.ks-sub .fp-lead{font-size:16px;line-height:2.2;text-align:center}
.ks-sub .fp-toc{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:48px 0 0}
.ks-sub .fp-toc a{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;border:1px solid var(--gold);color:var(--gold-ink);font-size:14.5px;letter-spacing:.06em;transition:.25s}
.ks-sub .fp-toc a::after{content:"";flex:none;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg) translate(-2px,-2px)}
.ks-sub .fp-toc a:hover{background:var(--gold-ink);color:#fff}
.ks-sub .fp-sec{padding-top:88px;scroll-margin-top:100px}
.ks-sub .fp h2{display:flex;flex-direction:column;align-items:center;text-align:center;font-family:var(--mincho);font-weight:600;font-size:24px;letter-spacing:.14em;line-height:1.5;margin-bottom:36px}
.ks-sub .fp h2 .snow{font-size:.8em;margin-bottom:8px}
.ks-sub .fp h2 small{font-family:var(--mincho);font-weight:400;font-size:12px;letter-spacing:.3em;color:#9a928a;margin-top:6px}
.ks-sub .fp h3{position:relative;font-family:var(--mincho);font-size:19px;font-weight:600;letter-spacing:.1em;line-height:1.6;padding-bottom:12px;margin:44px 0 18px;border-bottom:1px solid var(--line)}
.ks-sub .fp h3::after{content:"";position:absolute;left:0;bottom:-1px;width:48px;height:2px;background:var(--gold)}
.ks-sub .fp p{font-size:16px;line-height:2.1}
.ks-sub .fp p+p{margin-top:1em}
.ks-sub .fp .table{margin-top:8px}
.ks-sub .fp .table td small{display:block;font-size:13px;color:var(--ink-2);line-height:1.7;margin-top:4px}
.ks-sub .fp .note-s{font-size:13px;color:var(--ink-2);margin-top:12px;line-height:1.8}
.ks-sub .fp-pair{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.ks-sub .fp-pair img{width:100%;aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line)}
.ks-sub .fp-box{background:var(--paper-2);padding:28px 32px;margin-top:24px}
.ks-sub .fp-box .h4{margin:0 0 10px;font-family:var(--mincho);font-weight:600;font-size:17px}
.ks-sub .fp-cta{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:72px;padding:48px 24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ks-sub .fp-cta .more{margin:0}
.ks-sub .fp .olist,.ks-sub .fp .list,.ks-sub .fp .check{font-size:15.5px}
@media (max-width:960px){.ks-sub .pd{grid-template-columns:1fr;gap:32px}
.ks-sub .pd__gallery{position:relative;top:auto}
.ks-sub .pd-detail{grid-template-columns:1fr;gap:24px}
.ks-sub .pd-nav{position:static;display:grid;grid-template-columns:repeat(4,1fr);border-top:0;gap:6px}
.ks-sub .pd-nav a{border:1px solid var(--line);justify-content:center;font-size:13.5px;padding:10px 4px}
.ks-sub .pd-nav a::after{display:none}
.ks-sub .sp-tabs{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:42%;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
.ks-sub .sp-tab{scroll-snap-align:start}
.ks-sub .sp-hero{grid-template-columns:1fr}
.ks-sub .sp-hero__img{min-height:240px}
.ks-sub .catnote{grid-template-columns:1fr}}
@media (max-width:600px){.ks-sub .crumb{padding-top:12px;padding-bottom:12px;font-size:12px}
.ks-sub .phead{padding:44px 0 40px}
.ks-sub .phead h1{font-size:22px}
.ks-sub .phead p{font-size:14px;text-align:left}
.ks-sub .subnav{margin-top:28px;gap:8px}
.ks-sub .subnav a{padding:8px 14px;font-size:13px}
.ks-sub .toolbar{margin:36px 0 24px}
.ks-sub .sort a{padding:4px 8px;font-size:13px}
.ks-sub .pager a,.ks-sub .pager span{min-width:36px;height:36px}
.ks-sub .sec--s{padding:64px 0}
.ks-sub .pd{padding-top:20px}
.ks-sub .pd__thumbs{grid-template-columns:repeat(5,1fr);gap:6px}
.ks-sub .pd__name{font-size:22px}
.ks-sub .pd__price b{font-size:26px}
.ks-sub .pd__row{grid-template-columns:1fr;gap:6px}
.ks-sub .pd__svc{grid-template-columns:repeat(3,1fr)}
.ks-sub .pd__svc a{padding:12px 4px;font-size:12px}
.ks-sub .pd__svc b{font-size:13px}
.ks-sub .pd-nav{grid-template-columns:repeat(2,1fr)}
.ks-sub .spec th,.ks-sub .spec td{display:block;width:100%;padding:12px 14px}
.ks-sub .spec th{border-bottom:0}
.ks-sub .ship{grid-template-columns:1fr}
.ks-sub .rv__meta{margin-left:0;width:100%}
.ks-sub .sticky-buy{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;gap:10px;align-items:center;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.06)}
.ks-sub .sticky-buy p{font-family:var(--mincho);font-size:17px;white-space:nowrap}
.ks-sub .sticky-buy p small{font-family:var(--sans);font-size:10px;color:var(--ink-2)}
.ks-sub .sticky-buy .btn-cart{flex:1;height:48px;font-size:15px;letter-spacing:.12em}
body.has-sticky{padding-bottom:72px}
.ks-sub .sp-tabs{grid-auto-columns:62%}
.ks-sub .sp-hero{margin-top:0}
.ks-sub .sp-hero__txt{padding:28px 20px}
.ks-sub .sp-hero__txt h2{font-size:21px}
.ks-sub .sp-points{grid-template-columns:1fr;gap:16px;margin-top:40px}
.ks-sub .fp-lead{font-size:15px;text-align:left}
.ks-sub .fp-toc{grid-template-columns:1fr 1fr;gap:8px}
.ks-sub .fp-toc a{padding:12px;font-size:13.5px}
.ks-sub .fp-sec{padding-top:64px}
.ks-sub .fp h2{font-size:20px}
.ks-sub .fp h3{font-size:17px}
.ks-sub .fp p{font-size:15px}
.ks-sub .fp-pair{grid-template-columns:1fr;gap:20px}
.ks-sub .fp-box{padding:20px}}
.ks-sub .toolbar{position:relative}

/* ===== 一覧・特集・固定ページ共通 ===== */
.ks-sub [hidden]{display:none!important}
.ks-sub .fh{position:relative;background:linear-gradient(rgba(247,244,239,.86),rgba(247,244,239,.86)),var(--snowbg) center/cover;border-bottom:1px solid var(--line);overflow:hidden}
.ks-sub .fh__in{display:grid;grid-template-columns:1fr auto;align-items:center;gap:56px;min-height:300px;padding-top:56px;padding-bottom:56px}
.ks-sub .fh__lb{display:inline-flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.2em;color:var(--gold-ink)}
.ks-sub .fh__lb::before{content:"";width:24px;height:1px;background:var(--gold)}
.ks-sub .fh h1{font-family:var(--mincho);font-weight:500;font-size:34px;letter-spacing:.14em;line-height:1.5;margin-top:14px}
.ks-sub .fh__count{margin-top:16px;font-size:15px;color:var(--ink-2)}
.ks-sub .fh__count b{font-family:var(--mincho);font-size:20px;font-weight:500;color:var(--ink);margin:0 3px}
.ks-sub .fh__ph{display:flex;align-items:center}
.ks-sub .fh__ph span{width:170px;aspect-ratio:1/1;background:#fff;border:1px solid var(--line);box-shadow:0 10px 30px rgba(43,39,36,.08);display:grid;place-items:center;overflow:hidden}
.ks-sub .fh__ph span+span{margin-left:-28px}
.ks-sub .fh__ph span:nth-child(2){transform:translateY(-18px)}
.ks-sub .fh__ph img{width:100%;height:100%;object-fit:contain;padding:10%}
.ks-sub .ih{position:relative}
.ks-sub .ih__img{height:min(36vw,380px);background:var(--paper-2) center/cover}
.ks-sub .ih__txt{position:absolute;left:0;right:0;bottom:0;padding:28px 0 32px;background:linear-gradient(transparent,rgba(43,39,36,.55));color:#fff}
.ks-sub .ih__txt .fh__lb{color:#f0dfb6}
.ks-sub .ih__txt .fh__lb::before{background:#f0dfb6}
.ks-sub .ih__txt h1{font-family:var(--mincho);font-weight:500;font-size:32px;letter-spacing:.14em;line-height:1.5;margin-top:8px;text-shadow:0 2px 12px rgba(0,0,0,.25)}
.ks-sub .smv{position:relative;background:linear-gradient(var(--mv-veil),var(--mv-veil)),var(--mvbg) center/cover,var(--snowbg) center/cover;border-bottom:1px solid var(--line)}
.ks-sub .smv__in{min-height:260px;display:flex;align-items:center;justify-content:center;text-align:center;padding:48px 0}
.ks-sub .smv h1{font-family:var(--mincho);font-weight:500;font-size:34px;letter-spacing:.14em;line-height:1.5;margin-top:8px}
.ks-sub .cmv__lb{display:inline-flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.2em;color:var(--gold-ink)}
.ks-sub .cmv__lb::before,.ks-sub .cmv__lb::after{content:"";width:24px;height:1px;background:var(--gold)}
.ks-sub .cintro{padding:56px 0 8px}
.ks-sub .cintro__lead{max-width:760px;margin:0 auto;text-align:center}
.ks-sub .cintro__lead p{font-family:var(--mincho);font-size:17px;line-height:2.2;letter-spacing:.06em}
.ks-sub .sp-nav{border-top:1px solid var(--line);margin-top:40px}
.ks-sub .cintro[hidden]+.sp-nav{margin-top:0;border-top:0}
@media (max-width:600px){.ks-sub .smv__in{min-height:180px;padding:32px 0}
.ks-sub .smv h1{font-size:22px}
.ks-sub .cintro{padding:36px 0 0}
.ks-sub .cintro__lead p{font-size:15.5px;text-align:left}
.ks-sub .sp-nav{margin-top:28px}}
.ks-sub .smv__lead{max-width:720px;margin:20px auto 0}
.ks-sub .smv__lead p{font-family:var(--mincho);font-size:17px;line-height:2.1;letter-spacing:.06em;color:var(--ink)}
.ks-sub .smv__in{min-height:280px;padding:56px 0}
.ks-sub .other{margin-top:72px;padding-top:40px;border-top:1px solid var(--line)}
.ks-sub .other__h{font-family:var(--mincho);font-size:18px;letter-spacing:.12em;margin-bottom:18px;text-align:center}
.ks-sub .other ul{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.ks-sub .other a{display:grid;grid-template-columns:56px 1fr 10px;align-items:center;gap:14px;padding:10px 16px 10px 10px;border:1px solid var(--line);background:#fff;font-family:var(--mincho);font-size:16px;letter-spacing:.06em;line-height:1.5;transition:.2s}
.ks-sub .other a::after{content:"";width:6px;height:6px;border-top:1px solid var(--ink-2);border-right:1px solid var(--ink-2);transform:rotate(45deg)}
.ks-sub .other a:hover{border-color:var(--gold);color:var(--gold-ink)}
.ks-sub .other img{width:56px;height:56px;object-fit:contain;background:#fff}
.ks-sub .sort--btn span{margin-right:6px}
.ks-sub .sort--btn a{padding:6px 14px;font-size:14.5px;border-radius:999px}
.ks-sub .sort-sel{display:none;align-items:center;gap:10px;font-size:14px;color:var(--ink-2)}
.ks-sub .sort-sel select{height:44px;min-width:170px;padding:0 40px 0 14px;border:1px solid #cfc7bc;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%232b2724'/%3E%3C/svg%3E") right 14px center/10px no-repeat;font:inherit;font-size:16px;color:var(--ink);border-radius:0;-webkit-appearance:none;appearance:none}
@media (max-width:960px){.ks-sub .other ul{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.ks-sub .smv__in{min-height:0;padding:36px 0 32px}
.ks-sub .smv__lead{margin-top:14px}
.ks-sub .smv__lead p{font-size:15.5px;line-height:2;text-align:left}
.ks-sub .smv__lead p br{display:none}
.ks-sub .sort--btn{display:none!important}
.ks-sub .sort-sel{display:flex;margin-left:auto}
.ks-sub .sort-sel span{white-space:nowrap}
.ks-sub .sort-sel select{min-width:0;width:150px}
.ks-sub .sp-list .toolbar{flex-wrap:nowrap!important;align-items:center}
.ks-sub .other{margin-top:48px}
.ks-sub .other ul{grid-template-columns:1fr}}
.ks-sub .smv h1,.ks-sub .cmv h1{text-wrap:balance}
.ks-sub .smv h1::after,.ks-sub .cmv h1::after{content:"";display:block;width:40px;height:1px;background:var(--gold);margin:18px auto 0}
@media (max-width:600px){.ks-sub .smv h1::after,.ks-sub .cmv h1::after{margin-top:14px}}
@media (max-width:600px){.ks-sub .smv h1,.ks-sub .cmv h1{font-size:21px;letter-spacing:.06em}}
.ks-sub .other{margin-top:104px;padding-top:0;border-top:0}
.ks-sub .smv h1{margin-top:0}
@media (max-width:600px){.ks-sub .other{margin-top:72px}}
.ks-sub .sp-gift{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-bottom:20px}
.ks-sub .sp-gift li{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--paper-2);padding:18px 16px;font-size:14px;color:var(--ink-2);line-height:1.6}
.ks-sub .sp-gift b{display:block;font-family:var(--mincho);font-weight:500;font-size:17px;color:var(--ink);letter-spacing:.06em}
.ks-sub .sp-gift svg{flex:none;width:28px;height:28px;fill:none;stroke:var(--gold-ink);stroke-width:1.2}
.ks-sub .sp-mix{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-bottom:32px;padding:14px 18px;background:#f8eceb;color:#8a3a33;font-size:15px;line-height:1.7}
.ks-sub .card .desc{font-size:14.5px;line-height:1.8;color:var(--ink-2);margin-top:6px;display:block}
.ks-sub .card .sold{position:absolute;left:0;top:12px;background:var(--ink-2);color:#fff;font-size:13px;letter-spacing:.1em;padding:3px 12px}
.ks-sub .card.is-sold .ph img{opacity:.45}
.ks-sub .card.is-sold h3,.ks-sub .card.is-sold .price{color:var(--ink-2)}
.ks-sub .sp-one{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;margin-bottom:32px;padding:14px 18px;background:var(--paper-2);color:var(--ink);font-size:15px;line-height:1.7}
@media (max-width:600px){.ks-sub .sp-one{font-size:14.5px;margin-bottom:24px}}
.ks-sub .g-few{display:grid;justify-content:center;gap:48px 40px}
.ks-sub .g-few--1{grid-template-columns:minmax(0,420px)}
.ks-sub .g-few--2{grid-template-columns:repeat(2,minmax(0,380px))}
.ks-sub .g-few--3{grid-template-columns:repeat(3,minmax(0,340px))}
.ks-sub .g-few .card h3{font-size:19px}
.ks-sub .g-few .card .desc{font-size:15.5px}
.ks-sub .g-few .card .price{font-size:17px}
.ks-sub .sp-tel{display:grid;grid-template-columns:auto auto;justify-content:center;align-items:baseline;gap:4px 20px;margin-top:64px;padding:26px 24px;border:1px solid var(--line);text-align:center;transition:background .2s}
.ks-sub .sp-tel:hover{background:var(--paper-2)}
.ks-sub .sp-tel__l{font-size:15.5px;letter-spacing:.06em}
.ks-sub .sp-tel b{font-family:var(--mincho);font-weight:500;font-size:30px;letter-spacing:.06em;line-height:1.3}
.ks-sub .sp-tel__s{grid-column:1/-1;font-size:14px;color:var(--ink-2)}
@media (max-width:960px){.ks-sub .g-few--3{grid-template-columns:repeat(2,minmax(0,340px))}}
@media (max-width:600px){.ks-sub .sp-gift li{flex-direction:column;gap:6px;padding:12px 4px;text-align:center;font-size:12px;line-height:1.5}
.ks-sub .sp-gift b{font-size:14.5px;letter-spacing:0}
.ks-sub .sp-gift svg{width:24px;height:24px}
.ks-sub .sp-mix{font-size:14.5px;margin-bottom:24px}
.ks-sub .g-few,.ks-sub .g-few--2,.ks-sub .g-few--3{grid-template-columns:1fr 1fr;gap:36px 16px}
.ks-sub .g-few--1{grid-template-columns:minmax(0,300px)}
.ks-sub .g-few .card h3{font-size:17px}
.ks-sub .g-few .card .desc{font-size:14.5px}
.ks-sub .card .desc{display:block!important;font-size:13.5px}
.ks-sub .sp-tel{grid-template-columns:1fr;margin-top:48px;padding:20px 16px}
.ks-sub .sp-tel b{font-size:26px}}
.ks-sub .sp-nav{padding:28px 0;border-bottom:1px solid var(--line)}
.ks-sub .sp-nav__in{display:flex;align-items:center;gap:16px}
.ks-sub .sp-nav__h{flex:none;font-size:14px;color:var(--ink-2);letter-spacing:.08em}
.ks-sub .sp-nav ul{display:flex;flex-wrap:wrap;gap:8px}
.ks-sub .sp-nav a{display:inline-flex;align-items:center;height:38px;padding:0 18px;border:1px solid var(--line);background:#fff;font-size:14.5px;letter-spacing:.04em;transition:.2s}
.ks-sub .sp-nav a:hover{border-color:var(--gold);color:var(--gold-ink)}
.ks-sub .sp-nav a.is-on{background:var(--gold-ink);border-color:var(--gold-ink);color:#fff}
.ks-sub .sp-list{padding:56px 0 104px}
.ks-sub .sp-list .toolbar{margin-top:0;padding-top:28px}
.ks-sub .tags .tag,.ks-sub .card .tag{font-size:13px;padding:2px 9px}
.ks-sub .card .price small{font-size:13px}
.ks-sub .sec--tint .card .ph{background:#fff}
.ks-sub #guide{padding:96px 0;background:#fff}
.ks-sub .empty{padding:56px 24px;text-align:center;border:1px dashed var(--line);color:var(--ink-2);font-size:15px}
.ks-sub .smv--fix .smv__in{height:340px;min-height:0;padding:0}
.ks-sub .smv--fix .smv__lead p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ks-sub .smv__kind{font-size:14px;letter-spacing:.2em;color:var(--gold-ink)}
.ks-sub .smv__kind+h1{margin-top:4px}
.ks-sub .chs{padding:32px 0 0}
.ks-sub .chs ul{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ks-sub .chs a{display:inline-flex;align-items:center;height:42px;padding:0 20px;border:1px solid var(--line);background:#fff;font-size:15px;letter-spacing:.06em;transition:.2s}
.ks-sub .chs a:hover{border-color:var(--gold-ink);color:var(--gold-ink)}
.ks-sub .chs a.is-on{border-color:var(--gold-ink);color:var(--gold-ink);background:var(--gold-soft);font-weight:500}
@media (max-width:960px){.ks-sub .fh__ph span{width:130px}}
@media (max-width:600px){.ks-sub .fh__in{grid-template-columns:1fr;gap:28px;min-height:0;padding-top:36px;padding-bottom:40px;text-align:center}
.ks-sub .fh h1{font-size:24px}
.ks-sub .fh__ph{justify-content:center}
.ks-sub .fh__ph span{width:100px}
.ks-sub .fh__ph span+span{margin-left:-16px}
.ks-sub .fh__ph span:nth-child(2){transform:translateY(-10px)}
.ks-sub .ih__img{height:56vw}
.ks-sub .ih__txt{padding:20px 0 22px}
.ks-sub .ih__txt h1{font-size:21px}
.ks-sub .sp-nav{padding:16px 0}
.ks-sub .sp-nav__in{flex-direction:column;align-items:flex-start;gap:8px}
.ks-sub .sp-nav ul{flex-wrap:nowrap;overflow-x:auto;width:100%;padding-bottom:4px}
.ks-sub .sp-nav a{white-space:nowrap;height:36px;padding:0 14px;font-size:14px}
.ks-sub .sp-list{padding:36px 0 72px}
.ks-sub .smv--fix .smv__in{height:260px}
.ks-sub .smv--fix .smv__lead p{-webkit-line-clamp:3}
.ks-sub .chs{padding-top:24px}
.ks-sub .chs ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:6px}
.ks-sub .chs a{display:flex;width:100%;justify-content:center;height:40px;padding:0 4px;font-size:13.5px;letter-spacing:0;white-space:nowrap}
.ks-sub .sp-list .toolbar{flex-wrap:wrap;gap:10px}
.ks-sub .sp-list .sort span{display:none}
.ks-sub .sp-list .sort{gap:2px;flex-wrap:nowrap;width:100%;justify-content:space-between}
.ks-sub .sp-list .sort a{white-space:nowrap;font-size:13px;padding:4px 8px}
.ks-sub .toolbar__count{white-space:nowrap}
.ks-sub #guide{padding:72px 0}}

/* ===== カテゴリー・検索結果 ===== */
.ks-p-cate .cmv{position:relative;background:var(--paper-2);border-bottom:1px solid var(--line);overflow:hidden}
.ks-p-cate .cmv__img{position:absolute;inset:0;background:var(--paper-2) center/cover}
.ks-p-cate .cmv__img::after{content:"";position:absolute;inset:0;background:rgba(36,31,27,.48)}
.ks-p-cate .cmv__txt{position:relative;min-height:clamp(340px,30vw,520px);display:flex;align-items:center;justify-content:center;text-align:center;padding:64px 0;color:#fff}
.ks-p-cate .cmv__lb{color:#f0dfb6}
.ks-p-cate .cmv__lb::before,.ks-p-cate .cmv__lb::after{background:#f0dfb6}
.ks-p-cate .cmv h1{font-family:var(--mincho);font-weight:500;font-size:34px;letter-spacing:.14em;line-height:1.5;margin-top:8px;text-shadow:0 2px 14px rgba(0,0,0,.3)}
.ks-p-cate .cmv .smv__lead p{color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.35)}
.ks-p-cate .cmv.is-fix .cmv__img{background:linear-gradient(var(--mv-veil),var(--mv-veil)),var(--mvbg) center/cover,var(--snowbg) center/cover!important}
.ks-p-cate .cmv.is-fix .cmv__img::after{content:none}
.ks-p-cate .cmv.is-fix .cmv__txt{color:var(--ink);min-height:280px;padding:56px 0}
.ks-p-cate .cmv.is-fix .cmv__lb{color:var(--gold-ink)}
.ks-p-cate .cmv.is-fix .cmv__lb::before,.ks-p-cate .cmv.is-fix .cmv__lb::after{background:var(--gold)}
.ks-p-cate .cmv.is-fix h1,.ks-p-cate .cmv.is-fix .smv__lead p{text-shadow:none;color:var(--ink)}
.ks-p-cate .cmv__txt{height:440px;min-height:0;padding:0}
.ks-p-cate .cmv.is-fix .cmv__txt{height:440px;min-height:0;padding:0}
.ks-p-cate .cmv .smv__lead p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.ks-p-cate .csubs{padding:40px 0 0}
.ks-p-cate .csubs ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.ks-p-cate .csubs a{position:relative;display:grid;grid-template-columns:64px 1fr 10px;align-items:center;gap:18px;padding:10px 22px 10px 10px;background:#fff;border:1px solid var(--line);transition:.2s}
.ks-p-cate .csubs a::after{content:"";width:7px;height:7px;border-top:1px solid var(--ink-2);border-right:1px solid var(--ink-2);transform:rotate(45deg)}
.ks-p-cate .csubs a:hover{border-color:var(--gold-ink)}
.ks-p-cate .csubs a:hover b{color:var(--gold-ink)}
.ks-p-cate .csubs img{width:64px;height:64px;object-fit:contain;background:#fff}
.ks-p-cate .csubs b{display:block;font-family:var(--mincho);font-weight:500;font-size:17px;letter-spacing:.06em;line-height:1.5}
.ks-p-cate .csubs small{display:block;margin-top:4px;font-size:14px;color:var(--ink-2)}
.ks-p-cate .csubs a.is-on{background:var(--gold-soft);border-color:var(--gold-ink)}
.ks-p-cate .csubs a.is-on b{color:var(--gold-ink)}
.ks-p-cate .csubs a.is-on::after{content:none}
.ks-p-cate .pager{margin-top:56px}
.ks-p-cate .cmv h1{margin-top:0}
.ks-p-cate .csubs+.sp-list{padding-top:48px}
@media (max-width:600px){.ks-p-cate .cmv__img{position:relative;inset:auto;height:auto;aspect-ratio:16/9}
.ks-p-cate .cmv__img::after{content:none}
.ks-p-cate .cmv__txt{height:auto;min-height:0;padding:28px 0 32px;color:var(--ink)}
.ks-p-cate .cmv .smv__lead p{-webkit-line-clamp:3}
.ks-p-cate .cmv__lb{color:var(--gold-ink)}
.ks-p-cate .cmv__lb::before,.ks-p-cate .cmv__lb::after{background:var(--gold)}
.ks-p-cate .cmv h1,.ks-p-cate .cmv .smv__lead p{text-shadow:none;color:var(--ink)}
.ks-p-cate .cmv h1{font-size:21px;letter-spacing:.06em}
.ks-p-cate .cmv.is-fix .cmv__img{position:absolute;inset:0;height:auto;aspect-ratio:auto}
.ks-p-cate .cmv.is-fix .cmv__txt{height:260px;min-height:0;padding:0}
.ks-p-cate .csubs{padding:28px 0 0}
.ks-p-cate .csubs ul{grid-template-columns:1fr;gap:10px}
.ks-p-cate .csubs a{grid-template-columns:56px 1fr 10px;gap:14px;padding:8px 18px 8px 8px}
.ks-p-cate .csubs img{width:56px;height:56px}
.ks-p-cate .csubs b{font-size:16px}
.ks-p-cate .csubs+.sp-list{padding-top:32px}}
.ks-p-cate .pd-ttl{text-align:center;margin-bottom:44px}
.ks-p-cate .pd-ttl h2{font-family:var(--mincho);font-weight:500;font-size:26px;letter-spacing:.16em;line-height:1.5}
.ks-p-cate .pd-ttl::after{content:"";display:block;width:40px;height:1px;background:var(--gold);margin:18px auto 0}
@media (max-width:600px){.ks-p-cate .pd-ttl{margin-bottom:32px}
.ks-p-cate .pd-ttl h2{font-size:21px}}

/* ===== グループ（特集・ご予算・お届け方法） ===== */
.ks-p-grp .pd-ttl{text-align:center;margin-bottom:44px}
.ks-p-grp .pd-ttl h2{font-family:var(--mincho);font-weight:500;font-size:26px;letter-spacing:.16em;line-height:1.5}
.ks-p-grp .pd-ttl::after{content:"";display:block;width:40px;height:1px;background:var(--gold);margin:18px auto 0}
@media (max-width:600px){.ks-p-grp .pd-ttl{margin-bottom:32px}
.ks-p-grp .pd-ttl h2{font-size:21px}}

/* ===== 商品詳細 ===== */
.ks-p-product .pd__gallery{position:relative;top:auto}
.ks-p-product .pd__thumbs{grid-template-columns:repeat(6,1fr)}
.ks-p-product .pd__name{font-size:30px}
.ks-p-product .pd__catch{margin-top:14px;font-family:var(--mincho);font-size:17px;line-height:2;letter-spacing:.06em}
.ks-p-product .seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.ks-p-product .seg button{min-height:52px;border:1px solid #cfc7bc;background:#fff;font:inherit;font-size:15px;letter-spacing:.08em;cursor:pointer;transition:.2s;line-height:1.3;padding:6px}
.ks-p-product .seg button small{display:block;font-size:12px;color:var(--ink-2);letter-spacing:.02em}
.ks-p-product .seg button.is-on{border-color:var(--gold-ink);box-shadow:inset 0 0 0 1px var(--gold-ink);color:var(--gold-ink);background:var(--gold-soft)}
.ks-p-product .pd__pay{margin-top:10px;font-size:13px;color:var(--ink-2);text-align:center}
.ks-p-product .pd__warn--chilled{background:#eef5f0;color:#2f5b3c}
.ks-p-product .pd__warn--chilled::before{background:var(--chilled)}
.ks-p-product .pd__warn--normal{background:#f4f2ef;color:var(--ink-2)}
.ks-p-product .pd__warn--normal::before{background:#9a928a}
.ks-p-product .pd-points{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.ks-p-product .pd-points.n2{grid-template-columns:repeat(2,1fr)}
.ks-p-product .pd-points div{background:#fff;padding:24px 20px;text-align:center}
.ks-p-product .pd-points small{display:block;font-size:12px;letter-spacing:.2em;color:var(--gold-ink)}
.ks-p-product .pd-points b{display:block;margin-top:6px;font-family:var(--mincho);font-weight:500;font-size:17px;letter-spacing:.06em;line-height:1.6}
.ks-p-product .pd-desc{display:grid;grid-template-columns:1.3fr 1fr;gap:64px;align-items:start}
.ks-p-product .pd-desc.is-single{grid-template-columns:1fr;max-width:820px;margin:0 auto}
.ks-p-product .pd-desc .en{font-family:var(--mincho);font-size:13px;letter-spacing:.35em;color:var(--gold-ink)}
.ks-p-product .pd-desc h2{font-family:var(--mincho);font-weight:500;font-size:26px;letter-spacing:.12em;line-height:1.7;margin:10px 0 24px}
.ks-p-product .pd-desc__txt p{font-size:16px;line-height:2.2}
.ks-p-product .pd-desc__txt p+p,.ks-p-product .pd-desc__txt p+.pd-note,.ks-p-product .pd-desc__txt .pd-note+p{margin-top:1.2em}
.ks-p-product .pd-desc__txt a,.ks-p-product .spec a,.ks-p-product .setbox a{color:var(--gold-ink);border-bottom:1px solid currentColor}
.ks-p-product .pd-note{font-size:14px;line-height:1.9;color:#8a3a33;background:#f8eceb;padding:14px 18px}
.ks-p-product .pd-note+.pd-note{margin-top:8px}
.ks-p-product .setbox{background:var(--paper-2);padding:28px 30px}
.ks-p-product .setbox__h{font-family:var(--mincho);font-weight:500;font-size:17px;letter-spacing:.14em;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:12px}
.ks-p-product .setbox li{display:flex;align-items:baseline;gap:12px;padding:9px 0;border-bottom:1px dashed #d9d1c5;font-size:15px;line-height:1.6}
.ks-p-product .setbox li:last-child{border-bottom:0}
.ks-p-product .setbox li .n{flex:none;font-family:var(--mincho);color:var(--gold-ink);font-size:13px}
.ks-p-product .setbox li .q{margin-left:auto;flex:none;color:var(--ink-2)}
.ks-p-product .pnotes{margin-top:16px;font-size:13px;color:var(--ink-2);line-height:1.8}
.ks-p-product .pnotes p+p{margin-top:4px}
.ks-p-product .spec td{word-break:break-word}
.ks-p-product .rv-wrap{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}
.ks-p-product .rv-side{background:#fff;padding:28px;text-align:center;border:1px solid var(--line)}
.ks-p-product .rv-side b{display:block;font-family:var(--mincho);font-weight:500;font-size:44px;line-height:1.1}
.ks-p-product .rv-side .rv__star{font-size:18px}
.ks-p-product .rv-side p{font-size:13px;color:var(--ink-2);margin-top:4px}
.ks-p-product .rv-side .btn-line{margin-top:20px;min-width:0;width:100%}
.ks-p-product .rv-empty{padding:32px;border:1px dashed #d4ccc0;background:#fff;text-align:center;font-size:14.5px;color:var(--ink-2);line-height:2}
.ks-p-product .rv__body{margin-top:8px;font-size:15px;color:var(--ink);line-height:2}
.ks-p-product .rv__who{display:inline-block;margin-top:8px;font-size:12.5px;color:var(--ink-2)}
.ks-p-product [hidden]{display:none!important}
.ks-p-product .pd{grid-template-areas:"gal info" "pts info";grid-template-rows:auto 1fr}
.ks-p-product .pd__gallery{grid-area:gal}
.ks-p-product .pd__info{grid-area:info}
.ks-p-product .pd__pts{grid-area:pts;align-self:start}
.ks-p-product .pd-points{display:block;border:0;border-top:1px solid var(--ink);background:none;margin-top:40px}
.ks-p-product .pd-points div{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:baseline;padding:16px 4px;border-bottom:1px solid var(--line);background:none;text-align:left}
.ks-p-product .pd-points dt{font-family:var(--sans);font-size:15px;letter-spacing:.06em;color:var(--ink-2)}
.ks-p-product .pd-points dt small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.2em;color:var(--gold-ink);margin-top:2px}
.ks-p-product .pd-points dd{font-size:15.5px;line-height:1.8}
.ks-p-product .pd-links{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;border-top:1px solid var(--line)}
.ks-p-product .pd-links a{display:flex;align-items:center;gap:10px;padding:13px 2px;border-bottom:1px solid var(--line);font-size:14px;letter-spacing:.04em;transition:color .2s}
.ks-p-product .pd-links a::before{content:"";flex:none;width:10px;height:1px;background:var(--gold)}
.ks-p-product .pd-links a::after{content:"";flex:none;margin-left:auto;width:6px;height:6px;border-top:1px solid var(--ink-2);border-right:1px solid var(--ink-2);transform:rotate(45deg)}
.ks-p-product .pd-links a:hover{color:var(--gold-ink)}
.ks-p-product .pd-desc__txt p{text-align:justify}
.ks-p-product .pd-ttl{text-align:center;margin-bottom:44px}
.ks-p-product .pd-ttl h2{display:inline-flex;align-items:center;gap:.55em;font-family:var(--mincho);font-weight:500;font-size:26px;letter-spacing:.16em;line-height:1.5}
.ks-p-product .pd-ttl h2 .snow{font-size:.78em}
.ks-p-product .pd-ttl::after{content:"";display:block;width:40px;height:1px;background:var(--gold);margin:18px auto 0}
.ks-p-product .pd-ttl__en{display:block;margin-top:6px;font-family:var(--mincho);font-size:12px;letter-spacing:.3em;color:#9a928a}
@media (max-width:600px){.ks-p-product .pd-ttl{margin-bottom:32px}
.ks-p-product .pd-ttl h2{font-size:21px}}
.ks-p-product .crumb{font-size:14px}
.ks-p-product .tags .tag,.ks-p-product .pd__info .tag,.ks-p-product .card .tag{font-size:13px;padding:2px 9px}
.ks-p-product .pd__price small,.ks-p-product .pd__price .pd__ship{font-size:14.5px}
.ks-p-product .pd__warn{font-size:15px;line-height:1.8}
.ks-p-product .pd__pay{font-size:14px}
.ks-p-product .pd__svc a{font-size:14px}
.ks-p-product .pd__svc b{font-size:16px}
.ks-p-product .pd-note{font-size:15px}
.ks-p-product .pnotes{font-size:14.5px}
.ks-p-product .ship p{font-size:15px;line-height:1.9}
.ks-p-product .rv__meta,.ks-p-product .rv__who,.ks-p-product .rv-side p{font-size:14px}
.ks-p-product .rv__body{font-size:16px}
.ks-p-product .card .desc{font-size:14.5px}
.ks-p-product .card .price small{font-size:13px}
.ks-p-product .spec th,.ks-p-product .spec td{font-size:16px}
.ks-p-product .setbox a{color:var(--ink);border-bottom:0;display:inline-flex;align-items:center;gap:8px;transition:color .2s}
.ks-p-product .setbox a::after{content:"";width:5px;height:5px;border-top:1px solid var(--gold-ink);border-right:1px solid var(--gold-ink);transform:rotate(45deg)}
.ks-p-product .setbox a:hover{color:var(--gold-ink)}
.ks-p-product .setbox li{font-size:16px}
.ks-p-product .pd-desc__txt p,.ks-p-product .ship p,.ks-p-product .pnotes,.ks-p-product .pd-note,.ks-p-product .rv__body,.ks-p-product .pd__warn{line-break:strict}
.ks-p-product .spec th{white-space:nowrap;width:auto;min-width:9em;padding-right:28px}
.ks-p-product .ship__fee{grid-row:span 3}
.ks-p-product .fee{margin-top:4px}
.ks-p-product .fee li{display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:15px}
.ks-p-product .fee li span{color:var(--ink-2)}
.ks-p-product .fee li b{font-family:var(--sans);font-weight:500;font-size:15px;margin:0;white-space:nowrap;letter-spacing:.04em}
.ks-p-product .fee__n{margin-top:8px;font-size:13.5px!important}
.ks-p-product .pd__price .pd__ship,.ks-p-product .pd-points dt,.ks-p-product .setbox li .q{white-space:nowrap}
@media (max-width:600px){.ks-p-product #spec .spec th{width:100%;border-right:0;background:none}
.ks-p-product #spec .spec td{padding-left:14px}
.ks-p-product .spec th{white-space:normal;min-width:0;padding:14px 14px 2px;font-size:14px;color:var(--gold-ink);font-weight:600;letter-spacing:.08em}
.ks-p-product .spec td{padding:0 14px 14px}
.ks-p-product .ship__fee{grid-row:auto}}
.ks-p-product #pdShip.ship{display:block}
.ks-p-product .ship2{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:#fff}
.ks-p-product .ship2__l,.ks-p-product .ship2__r{padding:28px 32px}
.ks-p-product .ship2__r{border-left:1px solid var(--line)}
.ks-p-product .ship2__h{font-family:var(--mincho);font-size:17px;letter-spacing:.08em;margin-bottom:6px}
.ks-p-product .ship2__dl div{padding:10px 0;border-bottom:1px dashed var(--line)}
.ks-p-product .ship2__dl div:first-child{padding-top:0}
.ks-p-product .ship2__dl dt{font-size:15px;font-weight:600;margin-bottom:2px}
.ks-p-product .ship2__dl dd{font-size:15px;color:var(--ink-2);line-height:1.8}
.ks-p-product .ship2__more{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:14.5px;color:var(--gold-ink)}
.ks-p-product .ship2__more::after{content:"";width:5px;height:5px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
@media (max-width:760px){.ks-p-product .ship2{grid-template-columns:1fr}
.ks-p-product .ship2__r{border-left:0;border-top:1px solid var(--line)}
.ks-p-product .ship2__l,.ks-p-product .ship2__r{padding:22px 20px}}
.ks-p-product .ship4{grid-template-columns:repeat(4,1fr)}
.ks-p-product .ship4__c{background:var(--paper-2);border-color:var(--paper-2)!important;padding:36px 22px;text-align:center;border:1px solid var(--line)}
.ks-p-product .ship4__c svg{width:36px;height:36px;stroke:var(--gold-ink);fill:none;stroke-width:1.2;margin:0 auto 16px;display:block}
.ks-p-product .ship4__c h3{font-family:var(--mincho);font-weight:500;font-size:17px;letter-spacing:.12em;margin-bottom:10px}
.ks-p-product .ship4__c p{font-size:15px;color:var(--ink-2);line-height:1.9}
.ks-p-product .ship4__c small{font-size:14px}
.ks-p-product #ship .more{margin-top:48px}
.ks-p-product .ship4 a.ship2__link{display:inline-block;background:none;padding:0;border:0;border-bottom:1px solid currentColor;margin-top:8px;color:var(--gold-ink);text-align:inherit}
.ks-p-product .ship4 a.ship2__link:hover{border-color:currentColor;opacity:.8}
@media (max-width:960px){.ks-p-product .ship4{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.ks-p-product .ship4{grid-template-columns:1fr;gap:12px}
.ks-p-product .ship4__c{display:grid;grid-template-columns:40px 1fr;column-gap:16px;text-align:left;padding:20px}
.ks-p-product .ship4__c svg{grid-row:span 2;margin:0;width:32px;height:32px}
.ks-p-product .ship4__c h3{margin-bottom:4px}}
.ks-p-product .ship3{max-width:760px;margin:0 auto;border-top:1px solid var(--ink)}
.ks-p-product .ship3 div{display:grid;grid-template-columns:9em 1fr;gap:16px;padding:18px 8px;border-bottom:1px solid var(--line)}
.ks-p-product .ship3 dt{font-size:15.5px;font-weight:600}
.ks-p-product .ship3 dd{font-size:15.5px;color:var(--ink-2);line-height:1.8}
.ks-p-product .ship2__link{display:inline-block;margin-top:4px;color:var(--gold-ink);border-bottom:1px solid currentColor}
.ks-p-product .ship3__more{text-align:center;margin-top:28px}
@media (max-width:600px){.ks-p-product .ship3 div{padding:14px 4px;grid-template-columns:1fr;gap:2px}}
.ks-p-product #spec .spec{background:#fff;table-layout:fixed}
.ks-p-product #spec,.ks-p-product #review{position:relative}
.ks-p-product #spec::before,.ks-p-product #review::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);width:min(calc(100% - 48px),1112px);height:1px;background:var(--line)}
.ks-p-product #spec .spec th{background:var(--paper-2);width:17em;white-space:normal;padding-right:20px;border-right:1px solid var(--line);color:var(--ink-2);font-weight:600}
.ks-p-product #spec .spec td{padding-left:28px}
.ks-p-product .sec--tint .card .ph{background:#fff}
.ks-p-product #spec .pd-ttl{margin-bottom:36px}
.ks-p-product .spec{border-top-color:var(--ink)}
.ks-p-product .spec th{background:var(--paper-2)}
.ks-p-product .pd{padding-bottom:40px}
.ks-p-product .pd__pts .pd-points{margin-top:32px}
.ks-p-product #guide{padding:96px 0;background:#fff}
.ks-p-product .rv-side{background:var(--paper-2);border-color:var(--paper-2)}
.ks-p-product .rv-empty{background:var(--paper-2)}
@media (max-width:600px){.ks-p-product .sec[style*="104px 0"]{padding:72px 0!important}
.ks-p-product #spec{padding:72px 0!important}
.ks-p-product #review{padding:72px 0!important}
.ks-p-product #guide{padding:72px 0}
.ks-p-product .spec th{background:none}
.ks-p-product .pd__svc b{font-size:13.5px;letter-spacing:0}
.ks-p-product .pd__svc a{font-size:12.5px;padding:12px 4px}}
@media (max-width:600px){.ks-p-product #spec .spec,.ks-p-product #spec .spec tbody,.ks-p-product #spec .spec tr{display:block;width:100%}
.ks-p-product #spec .spec{table-layout:auto}
.ks-p-product #spec .spec th,.ks-p-product #spec .spec td{display:block;width:100%;border-right:0}
.ks-p-product #spec .spec th{background:none;padding:16px 4px 2px;font-size:14px;color:var(--gold-ink);font-weight:600;letter-spacing:.08em;border-bottom:0}
.ks-p-product #spec .spec td{padding:0 4px 16px;border-bottom:1px solid var(--line)}}
@media (max-width:960px){.ks-p-product .pd-desc,.ks-p-product .rv-wrap{grid-template-columns:1fr;gap:32px}
.ks-p-product .pd{grid-template-areas:"gal" "info" "pts";grid-template-rows:auto}}
@media (max-width:600px){.ks-p-product .pd-links{grid-template-columns:1fr}
.ks-p-product .pd-points div{grid-template-columns:110px 1fr;padding:12px 2px}}
@media (max-width:600px){.ks-p-product .pd__name{font-size:23px}
.ks-p-product .pd__catch{font-size:15.5px}
.ks-p-product .pd-desc h2{font-size:21px}
.ks-p-product .pd-desc__txt p{font-size:15px}
.ks-p-product .setbox{padding:20px}}

/* ===== フリーページ ===== */
.ks-p-free .fp h2{font-weight:500;font-size:26px;letter-spacing:.16em}
.ks-p-free .fp h2::after{content:"";display:block;width:40px;height:1px;background:var(--gold);margin:18px auto 0}
.ks-p-free .smv .smv__in{height:340px;min-height:0;padding:0}
@media (max-width:600px){.ks-p-free .fp h2{font-size:21px}
.ks-p-free .smv .smv__in{height:260px;min-height:0}
.ks-p-free .fp-lead{text-align:left}
.ks-p-free .fp-lead br{display:none}}

/* ===== フリーページ（既存ページの本文用） ===== */
/* 吉雪 フリーページ用スタイル（Mighty用）元ファイル: freepage-mighty.css */
.l-main[class*="is-free"] .l-contents-side{display:none}.l-main[class*="is-free"] .l-contents-main{width:100%;max-width:960px;margin-left:auto;margin-right:auto}.l-main[class*="is-free"] .l-contents-main{color:#2d2d2d;line-height:2}.l-main[class*="is-free"] .l-contents-main img{max-width:100%;height:auto}.l-main[class*="is-free"] .l-contents-main p{margin:0 0 1.4em;line-height:2}.l-main[class*="is-free"] .l-contents-main>.c-ttl-second{margin:20px 0 56px;font-size:26px;font-weight:400;letter-spacing:.15em;text-align:center}.l-main[class*="is-free"] .l-contents-main>.c-ttl-second::after{content:"";display:block;width:40px;height:1px;margin:20px auto 0;background:#b3a37f}.l-main[class*="is-free"] h2.freepage-title{display:none}.l-main[class*="is-free"] h3.freepage-title{position:relative;margin:64px 0 28px;padding:0 0 14px;border:0;border-bottom:1px solid #e3ddd0;font-size:21px;font-weight:400;letter-spacing:.1em;background:none}.l-main[class*="is-free"] h3.freepage-title::after{content:"";position:absolute;left:0;bottom:-1px;width:56px;height:1px;background:#b3a37f}.l-main[class*="is-free"] #free-page h4{margin:32px 0 12px;font-size:17px;font-weight:600;letter-spacing:.05em}.l-main[class*="is-free"] #free-page h4.freepage-title{padding:12px 18px;border-left:3px solid #b3a37f;background:#f4f1ea;font-size:16px;line-height:1.7}.l-main[class*="is-free"] #free-page dl{margin:32px 0}.l-main[class*="is-free"] #free-page dl dt{text-align:center}.l-main[class*="is-free"] #free-page dl a img{transition:opacity .3s}.l-main[class*="is-free"] #free-page dl a:hover img{opacity:.8}.l-main[class*="is-free"] table.free-scroll-table{width:100%;margin:24px 0 40px;border-collapse:collapse;font-size:14px;line-height:1.8}.l-main[class*="is-free"] table.free-scroll-table th,.l-main[class*="is-free"] table.free-scroll-table td{padding:12px 14px;border:1px solid #e3ddd0;vertical-align:middle;text-align:left}.l-main[class*="is-free"] table.free-scroll-table th{background:#b3a37f;color:#fff;font-weight:500;letter-spacing:.1em;white-space:nowrap}.l-main[class*="is-free"] table.free-scroll-table td[rowspan="10"],.l-main[class*="is-free"] table.free-scroll-table td[rowspan="3"]:first-child{width:3em;background:#f4f1ea;text-align:center;font-weight:600;letter-spacing:.3em;writing-mode:vertical-rl}.l-main[class*="is-free"] .l-contents-main>.row{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 40px}.l-main[class*="is-free"] .l-contents-main>.row>.col{flex:1 1 0;min-width:200px;max-width:none;padding:0}.l-main[class*="is-free"] a.freepage-guide-btn{display:block;text-decoration:none}.l-main[class*="is-free"] .freepage-guide-btn p{position:relative;margin:0;padding:18px 40px 18px 20px;border:1px solid #b3a37f;background:#fff;color:#2d2d2d;font-size:15px;letter-spacing:.1em;text-align:center;transition:background .3s,color .3s}.l-main[class*="is-free"] .freepage-guide-btn p::after{content:"";position:absolute;top:50%;right:20px;width:7px;height:7px;margin-top:-6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg)}.l-main[class*="is-free"] .freepage-guide-btn:hover p{background:#b3a37f;color:#fff}.l-main[class*="is-free"] .l-contents-main>img{display:block;margin:0 auto 24px}.l-main[class*="is-free"] .u-contents{padding:72px 0 0}.l-main[class*="is-free"] .u-contents .c-ttl-second{margin:0 0 24px;padding-left:16px;border-left:3px solid #b3a37f;font-size:21px;font-weight:400;letter-spacing:.1em;line-height:1.5}.l-main[class*="is-free"] .c-tbl-list{border-top:1px solid #e3ddd0}.l-main[class*="is-free"] .c-tbl-list__tr{display:flex;padding:24px 0;border-bottom:1px solid #e3ddd0}.l-main[class*="is-free"] .c-tbl-list__th{width:240px;margin:0;padding-right:24px;font-size:16px;font-weight:600;line-height:1.8}.l-main[class*="is-free"] .c-tbl-list__td{flex:1;margin:0;font-size:15px;line-height:2}.l-main[class*="is-free"] ul.row{display:flex;gap:16px;margin:24px 0 0;padding:0;list-style:none}.l-main[class*="is-free"] .freepage-storageimg{flex:1;width:auto;margin:0;text-align:center}.l-main[class*="is-free"] .freepage-storageimg img{width:100%}.l-main[class*="is-free"] #free-page .col-title{position:relative;margin:0 0 56px;padding:120px 20px;background-position:center;background-size:cover}.l-main[class*="is-free"] #free-page .col-title::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.28)}.l-main[class*="is-free"] #free-page .about-us{background-image:url(https://img21.shop-pro.jp/PA01473/800/etc/about-us_bg1.jpg)}.l-main[class*="is-free"] #free-page .concept{background-image:url(https://img21.shop-pro.jp/PA01473/800/etc/concept_bg1.jpg)}.l-main[class*="is-free"] #free-page .col-title h2{position:relative;margin:0;color:#fff;font-size:28px;font-weight:400;letter-spacing:.2em;text-align:center;text-shadow:0 1px 12px rgba(0,0,0,.4)}.l-main[class*="is-free"] #free-page .col-story-text p{max-width:720px;margin:56px auto;font-size:16px;line-height:2.4;text-align:center}.l-main[class*="is-free"] #free-page .col-story{display:flex;align-items:center;gap:48px;margin:80px 0}.l-main[class*="is-free"] #free-page .col-story .col-story-img{flex:0 0 44%;width:auto}.l-main[class*="is-free"] #free-page .col-story .col-story-img img{width:100%}.l-main[class*="is-free"] #free-page .col-story .col-story-p{flex:1;width:auto}.l-main[class*="is-free"] #free-page .col-story .col-story-p p{padding:0;font-size:15px}.l-main[class*="is-free"] #free-page h3.col-story{display:block;margin:0 0 20px;padding:0;writing-mode:horizontal-tb;font-size:22px;font-weight:400;letter-spacing:.15em}.l-main[class*="is-free"] #free-page h3.col-story::before{content:"";display:block;width:32px;height:1px;margin-bottom:16px;background:#b3a37f}.l-main[class*="is-free"] #free-page>h2,.l-main[class*="is-free"] #free-page .col-concept-work h2{margin:72px 0 40px !important;font-size:24px;font-weight:400;letter-spacing:.2em;text-align:center}.l-main[class*="is-free"] #free-page .col-concept{display:flex;flex-wrap:wrap;justify-content:space-between;gap:40px;margin:0 0 40px}.l-main[class*="is-free"] #free-page .col-concept-box{flex:1 1 calc(50% - 20px);width:auto;padding:0;text-align:left}.l-main[class*="is-free"] #free-page .col-concept-box .col-concept-img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:0;margin:0 0 24px}.l-main[class*="is-free"] #free-page .col-concept-text{display:none}.l-main[class*="is-free"] #free-page h3.salmon{margin:0 0 8px;color:#2d2d2d;font-size:21px;font-weight:400;letter-spacing:.15em}.l-main[class*="is-free"] #free-page .col-concept-p{margin:0 0 16px;color:#8a7a52;font-size:15px;letter-spacing:.05em}.l-main[class*="is-free"] #free-page .col-concept-work{position:relative;min-height:0;margin:80px 0 0;padding:24px 0 64px;background:#f4f1ea;background-image:none;color:#2d2d2d}.l-main[class*="is-free"] #free-page .col-concept-work .u-container{width:auto;padding:0 40px}.l-main[class*="is-free"] #free-page .col-concept-work .col-concept{gap:24px}.l-main[class*="is-free"] #free-page .col-concept-work-box{flex:1 1 calc(50% - 12px);width:auto;margin:0;padding:32px 28px;border:0;border-radius:0;background:#fff;text-align:center}.l-main[class*="is-free"] #free-page .col-concept-work-box h3.col-story{text-align:center;margin-bottom:16px}.l-main[class*="is-free"] #free-page .col-concept-work-box h3.col-story::before{margin:0 auto 16px}.l-main[class*="is-free"] #free-page .col-concept-work-box .col-concept-img{width:160px;height:160px;object-fit:cover;border-radius:50%}.l-main[class*="is-free"] #free-page .col-concept-work-box span{display:block;margin:8px 0 12px;color:#8a7a52;font-size:15px;font-weight:600;line-height:1.8}.l-main[class*="is-free"] #free-page .col-concept-work-box p{margin:0;text-align:left;font-size:14px}.l-main[class*="is-free"] #free-page .col-concept-work-box p:has(img){margin:0 0 8px;text-align:center}@media screen and (max-width:767px){.l-main[class*="is-free"] .l-contents-main>.c-ttl-second{margin-bottom:36px;font-size:21px}.l-main[class*="is-free"] h3.freepage-title{margin-top:48px;font-size:18px}.l-main[class*="is-free"] table.free-scroll-table{display:block;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.l-main[class*="is-free"] .l-contents-main>.row{flex-direction:column;gap:8px}.l-main[class*="is-free"] .u-contents{padding-top:48px}.l-main[class*="is-free"] .u-contents .c-ttl-second{font-size:18px}.l-main[class*="is-free"] .c-tbl-list__tr{display:block;padding:20px 0}.l-main[class*="is-free"] .c-tbl-list__th{width:auto;margin-bottom:8px;padding:0}.l-main[class*="is-free"] ul.row{flex-direction:column}.l-main[class*="is-free"] #free-page .col-title{padding:72px 16px;margin-bottom:32px}.l-main[class*="is-free"] #free-page .col-title h2{font-size:20px}.l-main[class*="is-free"] #free-page .col-story-text p{margin:32px auto;font-size:15px;text-align:left}.l-main[class*="is-free"] #free-page .col-story{flex-direction:column;gap:24px;margin:48px 0}.l-main[class*="is-free"] #free-page .col-box-reverse{flex-direction:column-reverse}.l-main[class*="is-free"] #free-page .col-story .col-story-img{flex:none;width:100%}.l-main[class*="is-free"] #free-page>h2,.l-main[class*="is-free"] #free-page .col-concept-work h2{margin:48px 0 28px !important;font-size:19px}.l-main[class*="is-free"] #free-page .col-concept{flex-direction:column;gap:32px}.l-main[class*="is-free"] #free-page .col-concept-work{margin-left:-20px;margin-right:-20px}.l-main[class*="is-free"] #free-page .col-concept-work .u-container{padding:0 20px}.l-main[class*="is-free"] #free-page .col-concept-work .col-concept{gap:16px}}


/* ===== 本番テンプレート用の追加分 ===== */
body{padding-top:0!important;min-width:0!important;background:#fff}
#ks [hidden]{display:none!important}
#ks .ks-hide{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none;overflow:hidden}
.ks-noimg{display:block;flex:none;background:var(--paper-2);border:1px solid var(--line)}
.mega__cat>a .ks-noimg{width:48px;height:48px}
.drawer__grid a .ks-noimg{width:46px;height:46px}
.lineup a .ks-noimg{width:120px;aspect-ratio:1}
.other a .ks-noimg{width:56px;height:56px}
.csubs a .ks-noimg{width:64px;height:64px}
@media (max-width:1100px){.mega__cat>a .ks-noimg{width:40px;height:40px}}
@media (max-width:600px){.lineup a .ks-noimg{width:76px}
.csubs a .ks-noimg{width:56px;height:56px}}
.icons form{display:none}
.icons button.cart{display:block;background:none;border:0;padding:0;margin:0;cursor:pointer;line-height:0;font:inherit;color:inherit}
.top-bnr .free img,.free img{max-width:100%;height:auto}
.news a.is-nolink{cursor:default}
.news a.is-nolink::after{content:none!important}
.news__none{font-size:15px;color:var(--ink-2);padding:16px 0}
.cal .ks-cal table{width:100%}
.cal .legend p{margin:0}
.srh-form{display:flex;gap:8px;max-width:560px;margin:0 auto 40px}
.srh-form input[type="search"]{flex:1;height:48px;padding:0 16px;border:1px solid #cfc7bc;font:inherit;font-size:16px;border-radius:0;-webkit-appearance:none;appearance:none;background:#fff}
.srh-form button{height:48px;padding:0 24px;border:0;background:var(--ink);color:#fff;font:inherit;font-size:15px;letter-spacing:.12em;cursor:pointer}
.pd__regular{margin-top:6px;font-size:14px;color:var(--ink-2)}
.pd__unit{margin-left:8px;font-size:14px;color:var(--ink-2)}
.pd__stock{margin-top:8px;font-size:14px;color:var(--ink-2)}
.pd__links{list-style:none;margin:24px 0 0;padding:0;font-size:14px}
.pd__links a{color:var(--ink-2);border-bottom:1px solid var(--line)}
.btn-cart.is-soldout{background:#b9b3ab!important;border-color:#b9b3ab!important;cursor:not-allowed}
a.btn-cart{display:flex;align-items:center;justify-content:center;text-decoration:none}
.pd__row select{width:100%;height:46px;border:1px solid #cfc7bc;background:#fff;padding:0 14px;font:inherit;font-size:15px;border-radius:0}
.pd__row input[type="text"]{height:46px;border:1px solid #cfc7bc;padding:0 14px;font:inherit;font-size:15px;border-radius:0}
.pd__row.is-err .seg button{border-color:#b14f34}
.pd__row.is-err label::after{content:"お選びください";margin-left:8px;font-size:13px;color:#b14f34;font-weight:700}
.p-product-form__error-message:empty{display:none}
.rv__off{color:#d9d4cc}
.rv__reply{margin-top:12px;padding:12px 16px;background:var(--paper-2);font-size:14px}
.rv__reply b{display:block;margin-bottom:4px;font-size:13px;color:var(--ink-2)}
.sticky-buy{transition:transform .3s}
.sticky-buy.is-hide{transform:translateY(110%)}
.ks-p-free .l-main{padding-top:0}
.tag--box{background:#f6efe0;color:#7a5a1e;border:1px solid currentColor;font-weight:700}
.req{display:inline-block;background:#b14f34;color:#fff;font-size:12px;font-weight:700;letter-spacing:.12em;line-height:1.6;padding:1px 8px;margin-left:10px;vertical-align:2px;border-radius:2px}
.req-note{display:inline-block;margin-left:8px;font-size:13px;color:#b14f34;letter-spacing:.04em;font-weight:400}
#pdOpts .pd__row{grid-template-columns:1fr;gap:10px}
#pdOpts .pd__row label{display:flex;align-items:center;flex-wrap:wrap;gap:4px 0}
.ks-p-free .fp-toc{grid-template-columns:repeat(5,1fr)}
@media (max-width:600px){.ks-p-free .fp-toc{grid-template-columns:1fr 1fr}}
.pd__btns .disable_cartin{min-width:0}
.pd__btns .disable_cartin .btn-cart{width:100%}
.cal .ks-cal td[style]{background:none!important;color:var(--gold-ink)!important;position:relative;z-index:0}
.cal .ks-cal td[style]::before{content:"";position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;border-radius:50%;background:var(--gold-soft);z-index:-1}
.cal .ks-cal table+table{margin-top:20px}
.cal .legend{text-align:left}
.ks-p-free .l-contents-wrap{padding-top:56px}
@media (max-width:600px){.ks-p-free .l-contents-wrap{padding-top:32px}}
/* ===== 10/28 調整分（ヘッダー・リンク・TOPのメインビジュアル・フリーページ・文字の濃さ） ===== */

/* 薄いグレーの文字を少し濃く（年配の方にも読みやすく） */
:root{--ink-2:#57504a}

/* ---------- 上の帯（キャッチコピー＋会員メニュー） ---------- */
.ub{background:var(--gold-ink);color:#fff;font-size:13px;letter-spacing:.08em;line-height:1}
.ub__in{display:flex;align-items:center;gap:24px;height:32px}
.ub__copy{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--mincho);font-size:13.5px;letter-spacing:.14em;margin:0}
.ub__nav{display:flex;align-items:center;flex:none;list-style:none;margin:0;padding:0}
.ub__nav a{display:flex;align-items:center;padding:2px 14px;color:#fff;transition:opacity .2s}
.ub__nav a:hover,.ub__nav a:focus{color:#fff;opacity:.75}
.ub__nav li:not(.ub__li-login)+li:not(.ub__li-login){border-left:1px solid rgba(255,255,255,.3)}
.ub__li-login{margin-left:10px}
.ub__nav .ub__login{background:var(--ink);color:#fff;font-weight:700;padding:4px 20px;border:1px solid var(--ink);letter-spacing:.14em}
.ub__nav .ub__login:hover,.ub__nav .ub__login:focus{opacity:1;background:#fff;border-color:#fff;color:var(--ink)}
@media (max-width:960px){
  .ub__nav{display:none}
  .ub__in{justify-content:center;height:auto;padding-top:9px;padding-bottom:9px}
  .ub__copy{flex:none;text-align:center;font-size:12.5px;letter-spacing:.1em;white-space:normal}
}
@media (max-width:360px){.ub__copy{font-size:11.5px;letter-spacing:.04em}}

/* ---------- ヘッダー（PC）：高さを詰める・Gナビを明朝に・アイコンに文字 ---------- */
@media (min-width:961px){
  .hd{height:72px}
  .logo img{height:42px}
  .gnav{font-size:15px}
  .gnav .mega-btn,.gnav>a,.gnav .gnav__link{font-family:var(--mincho);font-weight:500;letter-spacing:.14em;font-size:15px}
  .icons{gap:22px}
  .icons>a,.icons>button.cart{display:flex;flex-direction:column;align-items:center;gap:4px;line-height:1}
  .ic-lbl{font-style:normal;font-size:11px;letter-spacing:.06em;color:var(--ink-2)}
}
@media (max-width:960px){.ic-lbl{display:none}}

/* ---------- TOPのメインビジュアル（PC・ノートPC）：画面の高さに合わせる ---------- */
@media (min-width:1025px){
  .ks-p-top .mv__slides{aspect-ratio:auto;height:clamp(480px,calc(100svh - 104px),860px)}
  .ks-p-top .sec.feature,.ks-p-top .top-bnr + .sec{padding-top:80px}
  .ks-p-top .top-bnr{padding-top:48px}
}

/* ---------- リンク：カラーミー標準の「青＋下線」を打ち消す ---------- */
/* （個別の色指定はこのあとに書かれたものが優先されます） */

/* フッターのリンク：下線なし・生成り色→白 */
.ft2__nav a,.ft2__legal a{border-bottom:0!important;color:rgba(255,255,255,.85);transition:color .2s}
.ft2__nav a:hover,.ft2__nav a:focus,.ft2__legal a:hover,.ft2__legal a:focus{color:#fff}

/* ---------- 特集：その他の特集は画像なし ---------- */
.ks-p-grp .other a{grid-template-columns:1fr 10px;padding:16px 18px}

/* 特集ごとの写真があるとき：写真が見えるよう白いもやを薄く */
.ks-sub .smv.is-photo{--mv-veil:rgba(247,244,239,.55)}

/* ---------- フリーページ（吉雪について・ご利用ガイド）：帯なし・明朝の見出し・サイト幅 ---------- */
.ks-ptl{padding:72px 0 0;text-align:center}
.ks-ptl .snow{display:inline-block;font-size:22px;color:var(--gold);margin-bottom:10px}
.ks-ptl h1{font-family:var(--mincho);font-weight:500;font-size:30px;letter-spacing:.18em;line-height:1.5;margin:0}
.ks-ptl h1::after{content:"";display:block;width:40px;height:1px;background:var(--gold);margin:20px auto 0}
.ks-p-free .l-contents-wrap{padding-top:48px}
.l-main[class*="is-free"] .l-contents-main{max-width:1112px}
.l-main[class*="is-free"] .l-contents-main h2,.l-main[class*="is-free"] .l-contents-main h3,.l-main[class*="is-free"] .l-contents-main h4,.l-main[class*="is-free"] .l-contents-main .c-ttl-second{font-family:var(--mincho);font-weight:500;color:var(--ink)}
.l-main[class*="is-free"] #free-page .col-title h2{color:#fff}
.l-main[class*="is-free"] h3.freepage-title{font-size:23px;letter-spacing:.12em}
.l-main[class*="is-free"] h3.freepage-title::after{background:var(--gold)}
.l-main[class*="is-free"] #free-page h4.freepage-title{border-left-color:var(--gold);background:var(--paper-2);font-size:17px}
.l-main[class*="is-free"] .freepage-guide-btn p{border-color:var(--gold);font-family:var(--mincho);font-size:15.5px}
.l-main[class*="is-free"] .freepage-guide-btn:hover p{background:var(--gold-ink);color:#fff}
.l-main[class*="is-free"] .l-contents-main{color:var(--ink)}

/* 特定商取引法・プライバシーポリシー */
.l-main.is-shopkeeper .l-contents-main,.l-main.is-privacy .l-contents-main{max-width:1112px;margin-left:auto;margin-right:auto;padding-top:48px;padding-bottom:80px;color:var(--ink)}
.ks-legal h1,.ks-legal h2,.ks-legal h3,.ks-legal h4{font-family:var(--mincho);font-weight:500;letter-spacing:.1em;color:var(--ink)}

@media (max-width:600px){
  .ks-ptl{padding-top:40px}
  .ks-ptl .snow{font-size:18px}
  .ks-ptl h1{font-size:22px;letter-spacing:.1em}
  .ks-ptl h1::after{margin-top:14px}
  .ks-p-free .l-contents-wrap{padding-top:28px}
  .l-main[class*="is-free"] h3.freepage-title{font-size:19px}
  .l-main.is-shopkeeper .l-contents-main,.l-main.is-privacy .l-contents-main{padding-top:28px}
}

/* ===== 10/28 午後の調整 ===== */
/* 大見出しの雪アイコンは使わない */
.ks-ptl .snow{display:none}

/* カテゴリー・特集の説明文：管理画面で改行したところで改行（PC）。スマホは自然に折り返す */
@media (min-width:601px){.ks-sub .smv__lead p{white-space:pre-line}}

/* 吉雪のこだわり：手作業へのこだわりの丸い写真を中央に */
.l-main[class*="is-free"] #free-page .col-concept-work-box .col-concept-img{margin-left:auto;margin-right:auto}

/* トップのご利用ガイド：説明文の折り返し */
.guide a{padding-left:18px;padding-right:18px}

/* ショッピングガイド（特定商取引）・プライバシーポリシー */
.ks-legal .c-ttl-main{font-family:var(--mincho);font-weight:500;font-size:30px;letter-spacing:.18em;line-height:1.5;text-align:center;margin:16px 0 64px;padding:0;border:0;background:none}
.ks-legal .c-ttl-main::before{content:none}
.ks-legal .c-ttl-main::after{content:"";display:block;width:40px;height:1px;background:var(--gold);margin:20px auto 0}
.ks-legal .c-ttl-second{position:relative;font-family:var(--mincho);font-weight:500;font-size:24px;letter-spacing:.12em;line-height:1.5;margin:72px 0 8px;padding:0 0 14px;border:0;border-bottom:1px solid var(--line);background:none}
.ks-legal .c-ttl-second::before{content:none}
.ks-legal .c-ttl-second::after{content:"";position:absolute;left:0;bottom:-1px;width:56px;height:1px;background:var(--gold)}
.ks-legal .p-info-contents{padding-top:72px}
.ks-legal .p-info-contents:first-of-type{padding-top:0}
.ks-legal .p-info-contents .c-ttl-second{margin-top:0}
.ks-legal .c-tbl-list{border-top:0}
.ks-legal .c-tbl-list__tr{display:flex;gap:24px;padding:24px 0;border:0;border-bottom:1px solid var(--line)}
.ks-legal .c-tbl-list__th{flex:none;width:280px;margin:0;padding:0;font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:.04em;line-height:1.9;color:var(--ink)}
.ks-legal .c-tbl-list__td{flex:1;min-width:0;margin:0;padding:0;font-size:16px;line-height:2;color:var(--ink)}
.ks-legal p{font-size:16px;line-height:2.1;color:var(--ink)}
.ks-legal a{color:var(--gold-ink);text-decoration:underline;text-underline-offset:3px}
.ks-legal .p-privacy-box{margin-top:56px}
.ks-legal .p-privacy-box .c-ttl-second{margin-top:0;margin-bottom:20px}
@media (max-width:600px){
  .ks-legal .c-ttl-main{font-size:22px;letter-spacing:.1em;margin-bottom:40px}
  .ks-legal .c-ttl-second{font-size:19px}
  .ks-legal .p-info-contents{padding-top:48px}
  .ks-legal .p-info-contents:first-of-type{padding-top:0}
  .ks-legal .c-tbl-list__tr{display:block;padding:20px 0}
  .ks-legal .c-tbl-list__th{width:auto;margin-bottom:8px}
  .ks-legal .c-tbl-list__td,.ks-legal p{font-size:15px}
  .ks-legal .p-privacy-box{margin-top:40px}
}

/* 読み込み中のチラつき防止（共通CSS欄で隠したものを、このCSSが届いたら表示） */
#ks{visibility:visible;animation:none}

/* クリックしたときの青い枠を出さない（キーボード操作のときだけ金色の枠） */
#ks a:focus,#ks button:focus{outline:none}
#ks a:focus-visible,#ks button:focus-visible,#ks select:focus-visible,#ks input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}

/* ===== 10/28 夕方：スマホの調整 ===== */
/* ご利用ガイド（f3）：上の3つのボタンが重なっていたのを修正 */
@media (max-width:767px){
  .l-main[class*="is-free"] .l-contents-main>.row{flex-direction:column;gap:8px}
  .l-main[class*="is-free"] .l-contents-main>.row>.col{flex:none;width:100%;max-width:none;min-width:0}
}
/* 商品詳細：数量はボタンの色を墨色に（スマホでは中央・少し大きく） */
.ks-sub .qty button{color:var(--ink)}
@media (max-width:600px){
  .ks-p-product .pd__row:has(.qty){justify-items:center;text-align:center}
  .ks-p-product .pd__row:has(.qty) label{justify-content:center}
  .ks-p-product .qty{grid-template-columns:54px 92px 54px;margin:0 auto}
  .ks-p-product .qty input{height:52px;font-size:17px}
  .ks-p-product .qty button{font-size:22px}
}
/* ご利用ガイド欄：スマホは説明文を出さず、見出しだけ */
@media (max-width:600px){
  .guide p{display:none}
  .guide a{padding:24px 10px}
  .guide svg{margin-bottom:12px}
  .guide h3{margin-bottom:0}
}

/* ===== メニュー（特集・吉雪について・ご利用ガイド）とフッターのロゴ：上下の中央にそろえる ===== */
.mega__in--row{align-items:stretch}
.row__head{display:flex;flex-direction:column;justify-content:center;min-height:0}
.row__list{align-self:center;padding-top:0}
.ft2__brand{align-items:center}

/* 商品名の前に付くカラーミーの「NEW」画像は使わない（商品名はJSで整えています） */
#ks .new_mark_img1{display:none!important}
