/* Match the original standalone HTML typography before component overrides. */
#oseibo-gift-2026#oseibo-gift-2026 { font-weight: 400; }
#oseibo-gift-2026#oseibo-gift-2026 :where(h1,h2,h3,h4,h5,h6) { font-weight: bold; }
#oseibo-gift-2026#oseibo-gift-2026 :where(b,strong) { font-weight: bolder; }
#oseibo-gift-2026#oseibo-gift-2026 em { font-weight: inherit; }

/* Reset template-only decoration inside the LP before applying the original design. */
#oseibo-gift-2026#oseibo-gift-2026 :where(h1,h2,h3,p,ul,ol,li,figure,section,div,a) {
    border: 0;
    background-image: none;
}

#oseibo-gift-2026#oseibo-gift-2026 :where(h1,h2,h3) {
    background-color: transparent;
    width: auto;
    float: none;
}

#oseibo-gift-2026#oseibo-gift-2026 :where(h1,h2,h3)::before, #oseibo-gift-2026#oseibo-gift-2026 :where(h1,h2,h3)::after {
    content: none;
}

#oseibo-gift-2026#oseibo-gift-2026 li {
    list-style: none;
}

#oseibo-gift-2026#oseibo-gift-2026 .more {
    width: auto;
    height: auto;
    background: transparent;
    color: inherit;
    cursor: auto;
    font-size: inherit;
    padding: 0;
    border-radius: 0;
}

#oseibo-gift-2026#oseibo-gift-2026 {
    --sumi: #1d1a19;
    --ai: #1c2744;
    --ai2: #2b3a63;
    --gold: #b08d3c;
    --gold-l: #e6d29a;
    --shu: #b3322a;
    --washi: #f8f3e9;
    --kinari: #efe6d2;
    --line: #ddd2bb;
    --ink: #2a2523;
    --mute: #6f665e;
    --serif: "Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;
    --sans: "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
    --w: 1040px;
}

#oseibo-gift-2026#oseibo-gift-2026,#oseibo-gift-2026#oseibo-gift-2026 * {
    box-sizing: border-box;
    margin: 0;
    padding: 0
}

#oseibo-gift-2026#oseibo-gift-2026 {
    font-family: var(--sans);
    color: var(--ink);
    background: #fff;
    line-height: 1.85;
    font-size: 15px;
    -webkit-text-size-adjust: 100%
}

#oseibo-gift-2026#oseibo-gift-2026 img {
    max-width: 100%;
    display: block
}

#oseibo-gift-2026#oseibo-gift-2026 a {
    color: inherit;
    text-decoration: none
}

#oseibo-gift-2026#oseibo-gift-2026 ul {
    list-style: none
}

#oseibo-gift-2026#oseibo-gift-2026 .wrap {
    max-width: var(--w);
    margin: 0 auto;
    padding: 0 20px
}

#oseibo-gift-2026#oseibo-gift-2026 section {
    padding: 64px 0
}

#oseibo-gift-2026#oseibo-gift-2026 .sec-head {
    text-align: center;
    margin-bottom: 32px
}

#oseibo-gift-2026#oseibo-gift-2026 .sec-head .en {
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: .3em;
    color: var(--gold);
    display: block;
    margin-bottom: 6px
}

#oseibo-gift-2026#oseibo-gift-2026 .sec-head h2 {
    font-family: var(--serif);
    font-weight: 700;
    font-size: 26px;
    line-height: 1.5;
    color: var(--ai);
    letter-spacing: .06em
}

#oseibo-gift-2026#oseibo-gift-2026 .sec-head h2 small {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: var(--mute);
    letter-spacing: .04em;
    margin-top: 6px;
    font-family: var(--sans)
}

#oseibo-gift-2026#oseibo-gift-2026 .mizuhiki {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    margin: 14px auto 0;
    width: 150px
}

#oseibo-gift-2026#oseibo-gift-2026 .mizuhiki i {
    flex: 1;
    height: 2px;
    background: var(--shu)
}

#oseibo-gift-2026#oseibo-gift-2026 .mizuhiki b {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #fff;
    border: 2px solid var(--shu);
    margin: 0 4px
}

#oseibo-gift-2026#oseibo-gift-2026 .lead {
    max-width: 720px;
    margin: 0 auto 28px;
    text-align: center;
    color: #463f3a
}

#oseibo-gift-2026#oseibo-gift-2026 .announce {
    background: var(--ai);
    color: var(--gold-l);
    text-align: center;
    font-size: 12px;
    padding: 7px 12px;
    letter-spacing: .05em
}

#oseibo-gift-2026#oseibo-gift-2026 header.site {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255,255,255,.97);
    border-bottom: 1px solid var(--line)
}

#oseibo-gift-2026#oseibo-gift-2026 header.site .in {
    max-width: var(--w);
    margin: 0 auto;
    padding: 10px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

#oseibo-gift-2026#oseibo-gift-2026 .logo {
    display: flex;
    align-items: baseline;
    gap: 10px
}

#oseibo-gift-2026#oseibo-gift-2026 .logo b {
    font-family: var(--serif);
    font-size: 26px;
    letter-spacing: .12em;
    color: var(--sumi);
    font-weight: 800
}

#oseibo-gift-2026#oseibo-gift-2026 .logo span {
    font-size: 10px;
    letter-spacing: .18em;
    color: var(--mute)
}

#oseibo-gift-2026#oseibo-gift-2026 header.site a.shop {
    font-size: 12px;
    border: 1px solid var(--ai);
    color: var(--ai);
    padding: 6px 14px;
    border-radius: 30px
}

#oseibo-gift-2026#oseibo-gift-2026 .hero {
    position: relative;
    background: var(--ai);
    color: #fff;
    padding: 0;
    overflow: hidden
}

#oseibo-gift-2026#oseibo-gift-2026 .hero::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: .22;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='30' viewBox='0 0 60 30'><g fill='none' stroke='%23e6d29a' stroke-width='1'><path d='M0 30a30 30 0 0 1 60 0M10 30a20 20 0 0 1 40 0M20 30a10 10 0 0 1 20 0'/></g></svg>");
    background-size: 60px 30px
}

#oseibo-gift-2026#oseibo-gift-2026 .hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse at 75% 40%,rgba(43,58,99,0) 0%,rgba(20,28,52,.85) 80%)
}

#oseibo-gift-2026#oseibo-gift-2026 .hero .in {
    position: relative;
    z-index: 2;
    max-width: var(--w);
    margin: 0 auto;
    padding: 44px 20px 52px;
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr
}

#oseibo-gift-2026#oseibo-gift-2026 .hero .tag {
    display: inline-block;
    background: var(--shu);
    color: #fff;
    font-size: 12px;
    letter-spacing: .3em;
    padding: 4px 14px 4px 17px;
    border-radius: 2px;
    margin-bottom: 16px
}

#oseibo-gift-2026#oseibo-gift-2026 .hero h1 {
    font-family: var(--serif);
    font-weight: 800;
    font-size: 32px;
    line-height: 1.5;
    letter-spacing: .08em;
    color: #FFF;
}

#oseibo-gift-2026#oseibo-gift-2026 .hero h1 em {
    font-style: normal;
    color: var(--gold-l)
}

#oseibo-gift-2026#oseibo-gift-2026 .hero .sub {
    margin-top: 14px;
    font-size: 14px;
    color: #e8e4da;
    max-width: 480px
}

#oseibo-gift-2026#oseibo-gift-2026 .hero .sub strong {
    color: var(--gold-l);
    font-weight: 700
}

#oseibo-gift-2026#oseibo-gift-2026 .hero .vt {
    position: absolute;
    right: 14px;
    top: 30px;
    z-index: 3;
    writing-mode: vertical-rl;
    font-family: var(--serif);
    font-weight: 700;
    font-size: 15px;
    letter-spacing: .4em;
    color: var(--gold-l);
    opacity: .9
}

#oseibo-gift-2026#oseibo-gift-2026 .hero-cta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px
}

#oseibo-gift-2026#oseibo-gift-2026 .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-weight: 700;
    border-radius: 4px;
    padding: 13px 26px;
    font-size: 15px;
    letter-spacing: .06em;
    transition: .2s
}

#oseibo-gift-2026#oseibo-gift-2026 .btn.gold {
    background: var(--gold);
    color: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 .btn.gold:hover {
    background: #9a7a30
}

#oseibo-gift-2026#oseibo-gift-2026 .btn.line {
    border: 1px solid var(--gold-l);
    color: var(--gold-l)
}

#oseibo-gift-2026#oseibo-gift-2026 .btn.line:hover {
    background: rgba(230,210,154,.12)
}

#oseibo-gift-2026#oseibo-gift-2026 .collage {
    position: relative;
    display: grid;
    grid-template-columns: 1.25fr 1fr;
    grid-template-rows: auto auto;
    gap: 10px;
    align-items: stretch
}

#oseibo-gift-2026#oseibo-gift-2026 .collage .ph {
    background: var(--washi)
}

#oseibo-gift-2026#oseibo-gift-2026 .collage .main {
    grid-row: 1/3;
    border: 2px solid var(--gold);
    aspect-ratio: 1/1.12
}

#oseibo-gift-2026#oseibo-gift-2026 .collage .s1,#oseibo-gift-2026#oseibo-gift-2026 .collage .s2 {
    aspect-ratio: 1/.8;
    border: 1px solid var(--gold-l)
}

#oseibo-gift-2026#oseibo-gift-2026 .ph {
    position: relative;
    overflow: hidden;
    border-radius: 3px;
    display: block
}

#oseibo-gift-2026#oseibo-gift-2026 .ph img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

#oseibo-gift-2026#oseibo-gift-2026 .ph::before {
    content: attr(data-label);
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 12px;
    font-family: var(--serif);
    font-size: 13px;
    color: var(--mute);
    background: linear-gradient(135deg,var(--washi),var(--kinari));
    z-index: 0
}

#oseibo-gift-2026#oseibo-gift-2026 .ph img {
    position: relative;
    z-index: 1
}

#oseibo-gift-2026#oseibo-gift-2026 .cap {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    background: rgba(28,39,68,.88);
    color: var(--gold-l);
    font-size: 11px;
    padding: 4px 10px;
    letter-spacing: .06em
}

#oseibo-gift-2026#oseibo-gift-2026 .anchor {
    background: var(--washi);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 40
}

#oseibo-gift-2026#oseibo-gift-2026 .anchor ul {
    max-width: var(--w);
    margin: 0 auto;
    display: flex;
    overflow-x: auto;
    scrollbar-width: none
}

#oseibo-gift-2026#oseibo-gift-2026 .anchor ul::-webkit-scrollbar {
    display: none
}

#oseibo-gift-2026#oseibo-gift-2026 .anchor a {
    display: block;
    white-space: nowrap;
    padding: 12px 16px;
    font-size: 13px;
    font-weight: 500;
    color: var(--ai);
    border-bottom: 2px solid transparent
}

#oseibo-gift-2026#oseibo-gift-2026 .anchor a:hover {
    border-color: var(--shu)
}

#oseibo-gift-2026#oseibo-gift-2026 .define {
    background: var(--washi);
    padding: 44px 0
}

#oseibo-gift-2026#oseibo-gift-2026 .define .box {
    max-width: 760px;
    margin: 0 auto;
    border: 1px solid var(--gold);
    background: #fff;
    padding: 24px 24px 22px;
    position: relative
}

#oseibo-gift-2026#oseibo-gift-2026 .define .box::before {
    content: "お歳暮とは";
    position: absolute;
    top: -13px;
    left: 20px;
    background: var(--shu);
    color: #fff;
    font-size: 12px;
    letter-spacing: .2em;
    padding: 2px 14px
}

#oseibo-gift-2026#oseibo-gift-2026 .define .box p {
    margin-top: 4px
}

#oseibo-gift-2026#oseibo-gift-2026 .define .box p b {
    color: var(--ai)
}

#oseibo-gift-2026#oseibo-gift-2026 .reasons {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr 1fr
}

#oseibo-gift-2026#oseibo-gift-2026 .reason {
    background: var(--washi);
    border-radius: 10px;
    padding: 22px 16px;
    text-align: center;
    border: 1px solid var(--line)
}

#oseibo-gift-2026#oseibo-gift-2026 .reason svg {
    width: 54px;
    height: 54px;
    margin: 0 auto 10px;
    display: block
}

#oseibo-gift-2026#oseibo-gift-2026 .reason h3 {
    font-family: var(--serif);
    font-size: 16px;
    color: var(--ai);
    line-height: 1.5;
    margin-bottom: 8px
}

#oseibo-gift-2026#oseibo-gift-2026 .reason p {
    font-size: 12.5px;
    line-height: 1.75;
    color: #4b433e;
    text-align: left
}

#oseibo-gift-2026#oseibo-gift-2026 .note {
    font-size: 12px;
    color: var(--mute);
    margin-top: 14px;
    line-height: 1.7
}

#oseibo-gift-2026#oseibo-gift-2026 .note.c {
    text-align: center
}

#oseibo-gift-2026#oseibo-gift-2026 .budget {
    background: var(--ai);
    color: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 .budget .sec-head h2 {
    color: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 .budget .sec-head .en {
    color: var(--gold-l)
}

#oseibo-gift-2026#oseibo-gift-2026 .budget .sec-head h2 small {
    color: #cfd3e0
}

#oseibo-gift-2026#oseibo-gift-2026 .bgrid {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr
}

#oseibo-gift-2026#oseibo-gift-2026 .bbtn {
    display: block;
    width: 100%;
    text-align: left;
    border: 1px solid var(--gold);
    background: rgba(255,255,255,.06);
    color: #fff;
    padding: 18px 16px;
    border-radius: 6px;
    cursor: pointer;
    font-family: inherit;
    transition: .2s
}

#oseibo-gift-2026#oseibo-gift-2026 .bbtn:hover {
    background: rgba(230,210,154,.16)
}

#oseibo-gift-2026#oseibo-gift-2026 .bbtn .r {
    font-family: var(--serif);
    font-size: 19px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.3
}

#oseibo-gift-2026#oseibo-gift-2026 .bbtn .r small {
    font-size: 12px;
    font-weight: 500;
    margin-left: 2px
}

#oseibo-gift-2026#oseibo-gift-2026 .bbtn .d {
    font-size: 12px;
    color: var(--gold-l);
    margin-top: 6px;
    line-height: 1.6
}

#oseibo-gift-2026#oseibo-gift-2026 .bbtn .go {
    display: block;
    text-align: right;
    color: var(--gold-l);
    font-size: 12px;
    margin-top: 6px
}

#oseibo-gift-2026#oseibo-gift-2026 .aud {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr
}

#oseibo-gift-2026#oseibo-gift-2026 .acard {
    display: flex;
    gap: 14px;
    align-items: center;
    text-align: left;
    background: #fff;
    border: 1px solid var(--line);
    border-left: 4px solid var(--shu);
    border-radius: 4px;
    padding: 16px 16px;
    cursor: pointer;
    font-family: inherit;
    width: 100%;
    transition: .2s
}

#oseibo-gift-2026#oseibo-gift-2026 .acard:hover {
    box-shadow: 0 6px 18px rgba(0,0,0,.08);
    transform: translateY(-1px)
}

#oseibo-gift-2026#oseibo-gift-2026 .acard .ic {
    flex: 0 0 auto;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--washi);
    display: grid;
    place-items: center;
    font-family: var(--serif);
    font-weight: 800;
    color: var(--shu);
    font-size: 17px;
    border: 1px solid var(--line)
}

#oseibo-gift-2026#oseibo-gift-2026 .acard h3 {
    font-family: var(--serif);
    font-size: 16px;
    color: var(--ai);
    line-height: 1.5
}

#oseibo-gift-2026#oseibo-gift-2026 .acard p {
    font-size: 12.5px;
    color: #5a514b;
    line-height: 1.7;
    margin-top: 2px
}

#oseibo-gift-2026#oseibo-gift-2026 .acard .ar {
    margin-left: auto;
    color: var(--shu);
    font-size: 18px
}

#oseibo-gift-2026#oseibo-gift-2026 .corp {
    margin-top: 16px;
    display: block;
    background: var(--washi);
    border: 1px dashed var(--gold);
    padding: 18px;
    border-radius: 4px;
    text-align: center
}

#oseibo-gift-2026#oseibo-gift-2026 .corp b {
    font-family: var(--serif);
    font-size: 16px;
    color: var(--ai);
    display: block;
    margin-bottom: 2px
}

#oseibo-gift-2026#oseibo-gift-2026 .corp span {
    font-size: 12.5px;
    color: #5a514b
}

#oseibo-gift-2026#oseibo-gift-2026 .products {
    background: var(--washi)
}

#oseibo-gift-2026#oseibo-gift-2026 .tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 2px 2px 12px;
    scrollbar-width: none;
    justify-content: flex-start
}

#oseibo-gift-2026#oseibo-gift-2026 .tabs::-webkit-scrollbar {
    display: none
}

#oseibo-gift-2026#oseibo-gift-2026 .tab {
    flex: 0 0 auto;
    border: 1px solid var(--ai);
    background: #fff;
    color: var(--ai);
    padding: 8px 16px;
    border-radius: 30px;
    font-size: 13px;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap
}

#oseibo-gift-2026#oseibo-gift-2026 .tab.on {
    background: var(--ai);
    color: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 .tabs-wrap {
    max-width: 760px;
    margin: 0 auto 18px
}

#oseibo-gift-2026#oseibo-gift-2026 .pgrid {
    display: grid;
    gap: 14px;
    grid-template-columns: 1fr 1fr
}

#oseibo-gift-2026#oseibo-gift-2026 .card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 6px;
    overflow: hidden;
    display: flex;
    flex-direction: column
}

#oseibo-gift-2026#oseibo-gift-2026 .card .ph {
    aspect-ratio: 1/1;
    border-radius: 0;
    background: var(--washi)
}

#oseibo-gift-2026#oseibo-gift-2026 .card .body {
    padding: 12px 12px 14px;
    display: flex;
    flex-direction: column;
    flex: 1
}

#oseibo-gift-2026#oseibo-gift-2026 .badges {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 6px
}

#oseibo-gift-2026#oseibo-gift-2026 .badges span {
    font-size: 10.5px;
    line-height: 1;
    padding: 4px 6px;
    border-radius: 2px;
    background: var(--kinari);
    color: #5b4b2b;
    font-weight: 500
}

#oseibo-gift-2026#oseibo-gift-2026 .badges span.hot {
    background: var(--shu);
    color: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 .badges span.gold {
    background: var(--gold);
    color: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 .card h3 {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--sumi)
}

#oseibo-gift-2026#oseibo-gift-2026 .card .copy {
    font-size: 12px;
    color: var(--mute);
    line-height: 1.7;
    margin-top: 6px;
    flex: 1
}

#oseibo-gift-2026#oseibo-gift-2026 .price {
    margin-top: 10px;
    font-weight: 700;
    font-size: 18px;
    color: var(--sumi)
}

#oseibo-gift-2026#oseibo-gift-2026 .price small {
    font-size: 11px;
    font-weight: 500;
    color: var(--mute);
    margin-left: 3px
}

#oseibo-gift-2026#oseibo-gift-2026 .card .buy {
    display: block;
    margin-top: 10px;
    text-align: center;
    border: 1px solid var(--ai);
    color: var(--ai);
    font-weight: 700;
    font-size: 13px;
    padding: 9px 0;
    border-radius: 4px
}

#oseibo-gift-2026#oseibo-gift-2026 .card .buy:hover {
    background: var(--ai);
    color: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 .card.hide {
    display: none
}

#oseibo-gift-2026#oseibo-gift-2026 .empty {
    display: none;
    text-align: center;
    color: var(--mute);
    padding: 30px 0
}

#oseibo-gift-2026#oseibo-gift-2026 .more {
    text-align: center;
    margin-top: 28px
}

#oseibo-gift-2026#oseibo-gift-2026 .btn.ai {
    background: var(--ai);
    color: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 .btn.ai:hover {
    background: var(--ai2)
}

#oseibo-gift-2026#oseibo-gift-2026 .noshi-sec {
    background: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 .noshi-hero {
    display: grid;
    gap: 22px;
    grid-template-columns: 1fr;
    align-items: center;
    margin-bottom: 34px
}

#oseibo-gift-2026#oseibo-gift-2026 .noshi-hero .txt h3 {
    font-family: var(--serif);
    font-size: 20px;
    color: var(--ai);
    line-height: 1.6;
    margin-bottom: 8px
}

#oseibo-gift-2026#oseibo-gift-2026 .sample {
    max-width: 520px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 150px 1fr;
    gap: 8px;
    align-items: center
}

#oseibo-gift-2026#oseibo-gift-2026 .paper {
    position: relative;
    width: 150px;
    height: 212px;
    background: #fff;
    border: 1px solid #cfc6b3;
    box-shadow: 0 4px 14px rgba(0,0,0,.08)
}

#oseibo-gift-2026#oseibo-gift-2026 .paper .omote {
    position: absolute;
    left: 50%;
    top: 24px;
    transform: translateX(-50%);
    writing-mode: vertical-rl;
    font-family: var(--serif);
    font-weight: 800;
    font-size: 25px;
    letter-spacing: .18em;
    color: var(--sumi);
    line-height: 1
}

#oseibo-gift-2026#oseibo-gift-2026 .paper .nm {
    position: absolute;
    left: 50%;
    top: 150px;
    transform: translateX(-50%);
    writing-mode: vertical-rl;
    font-family: var(--serif);
    font-weight: 700;
    font-size: 14px;
    letter-spacing: .15em;
    color: var(--sumi);
    white-space: nowrap
}

#oseibo-gift-2026#oseibo-gift-2026 .paper svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

#oseibo-gift-2026#oseibo-gift-2026 .lab {
    font-size: 11.5px;
    line-height: 1.6;
    color: #4a423d
}

#oseibo-gift-2026#oseibo-gift-2026 .lab b {
    display: block;
    font-size: 14px;
    color: var(--ai);
    font-family: var(--serif)
}

#oseibo-gift-2026#oseibo-gift-2026 .lab.l {
    text-align: right
}

#oseibo-gift-2026#oseibo-gift-2026 .lab rt {
    font-size: 7px
}

#oseibo-gift-2026#oseibo-gift-2026 .steps {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
    max-width: 760px;
    margin: 0 auto
}

#oseibo-gift-2026#oseibo-gift-2026 .step {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    background: var(--washi);
    padding: 14px 16px;
    border-radius: 6px
}

#oseibo-gift-2026#oseibo-gift-2026 .step .n {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--ai);
    color: #fff;
    display: grid;
    place-items: center;
    font-weight: 700;
    font-size: 14px
}

#oseibo-gift-2026#oseibo-gift-2026 .step b {
    color: var(--ai)
}

#oseibo-gift-2026#oseibo-gift-2026 .step p {
    font-size: 13px;
    line-height: 1.7
}

#oseibo-gift-2026#oseibo-gift-2026 .season {
    background: var(--washi)
}

#oseibo-gift-2026#oseibo-gift-2026 .tbl {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
    border-collapse: collapse;
    background: #fff;
    font-size: 13.5px
}

#oseibo-gift-2026#oseibo-gift-2026 .tbl th,#oseibo-gift-2026#oseibo-gift-2026 .tbl td {
    border: 1px solid var(--line);
    padding: 12px 14px;
    text-align: left;
    vertical-align: top
}

#oseibo-gift-2026#oseibo-gift-2026 .tbl th {
    background: var(--ai);
    color: #fff;
    font-weight: 500;
    font-size: 13px
}

#oseibo-gift-2026#oseibo-gift-2026 .tbl td:first-child {
    background: #f2eadb;
    font-weight: 700;
    color: var(--ai);
    width: 32%
}

#oseibo-gift-2026#oseibo-gift-2026 .story {
    background: var(--sumi);
    color: #f1ece3
}

#oseibo-gift-2026#oseibo-gift-2026 .story .sec-head h2 {
    color: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 .story .sec-head .en {
    color: var(--gold-l)
}

#oseibo-gift-2026#oseibo-gift-2026 .story .sec-head h2 small {
    color: #b9b1a5
}

#oseibo-gift-2026#oseibo-gift-2026 .story-img {
    display: grid;
    gap: 10px;
    grid-template-columns: 1fr;
    margin-bottom: 26px
}

#oseibo-gift-2026#oseibo-gift-2026 .story-img .ph {
    aspect-ratio: 16/9;
    background: #2b2725
}

#oseibo-gift-2026#oseibo-gift-2026 .story-img .ph::before {
    background: linear-gradient(135deg,#2b2725,#3a3330);
    color: #8d8478
}

#oseibo-gift-2026#oseibo-gift-2026 .story h3 {
    font-family: var(--serif);
    font-size: 18px;
    color: var(--gold-l);
    line-height: 1.6;
    margin-bottom: 6px
}

#oseibo-gift-2026#oseibo-gift-2026 .story .pt {
    display: grid;
    gap: 14px
}

#oseibo-gift-2026#oseibo-gift-2026 .story .pt > div {
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(230,210,154,.3);
    border-radius: 6px;
    padding: 18px 18px 16px
}

#oseibo-gift-2026#oseibo-gift-2026 .story .pt p {
    font-size: 13.5px;
    line-height: 1.85;
    color: #e6e0d4
}

#oseibo-gift-2026#oseibo-gift-2026 .story .pt .no {
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: .25em;
    color: var(--gold)
}

#oseibo-gift-2026#oseibo-gift-2026 .awards {
    margin-top: 30px;
    background: #fff;
    color: var(--ink);
    border-radius: 6px;
    padding: 22px 20px
}

#oseibo-gift-2026#oseibo-gift-2026 .awards h3 {
    font-family: var(--serif);
    color: var(--ai);
    font-size: 17px;
    margin-bottom: 10px;
    text-align: center
}

#oseibo-gift-2026#oseibo-gift-2026 .awards ul {
    display: grid;
    gap: 8px
}

#oseibo-gift-2026#oseibo-gift-2026 .awards li {
    display: flex;
    gap: 10px;
    font-size: 13px;
    line-height: 1.65;
    align-items: flex-start;
    border-bottom: 1px dotted var(--line);
    padding-bottom: 8px
}

#oseibo-gift-2026#oseibo-gift-2026 .awards li:last-child {
    border: 0;
    padding: 0
}

#oseibo-gift-2026#oseibo-gift-2026 .awards li i {
    flex: 0 0 auto;
    font-style: normal;
    background: var(--gold);
    color: #fff;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 2px;
    margin-top: 2px;
    white-space: nowrap
}

#oseibo-gift-2026#oseibo-gift-2026 .motto {
    margin-top: 26px;
    text-align: center;
    font-family: var(--serif);
    color: var(--gold-l);
    font-size: 18px;
    letter-spacing: .12em;
    line-height: 1.9
}

#oseibo-gift-2026#oseibo-gift-2026 .motto small {
    display: block;
    font-size: 11.5px;
    letter-spacing: .1em;
    color: #b9b1a5;
    margin-top: 4px;
    font-family: var(--sans)
}

#oseibo-gift-2026#oseibo-gift-2026 .museum {
    background: var(--kinari)
}

#oseibo-gift-2026#oseibo-gift-2026 .museum .box {
    display: grid;
    gap: 18px;
    background: #fff;
    border: 1px solid var(--line);
    padding: 22px;
    max-width: 860px;
    margin: 0 auto
}

#oseibo-gift-2026#oseibo-gift-2026 .museum h3 {
    font-family: var(--serif);
    font-size: 19px;
    color: var(--ai)
}

#oseibo-gift-2026#oseibo-gift-2026 .museum dl {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 6px 14px;
    font-size: 13px
}

#oseibo-gift-2026#oseibo-gift-2026 .museum dt {
    color: var(--shu);
    font-weight: 700
}

#oseibo-gift-2026#oseibo-gift-2026 .voice-slot {
    max-width: 760px;
    margin: 0 auto;
    border: 1px dashed var(--gold);
    background: #fff;
    padding: 22px;
    text-align: center;
    border-radius: 6px
}

#oseibo-gift-2026#oseibo-gift-2026 .voice-slot b {
    font-family: var(--serif);
    color: var(--ai);
    font-size: 16px
}

#oseibo-gift-2026#oseibo-gift-2026 .voice-slot p {
    font-size: 12.5px;
    color: var(--mute);
    margin-top: 6px
}

#oseibo-gift-2026#oseibo-gift-2026 .acc {
    max-width: 780px;
    margin: 0 auto;
    display: grid;
    gap: 12px
}

#oseibo-gift-2026#oseibo-gift-2026 .acc details {
    background: #e8dfd0;
    border-radius: 6px;
    overflow: hidden
}

#oseibo-gift-2026#oseibo-gift-2026 .acc summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    font-weight: 700;
    color: #4a3a2b;
    font-size: 14.5px;
    line-height: 1.55
}

#oseibo-gift-2026#oseibo-gift-2026 .acc summary::-webkit-details-marker {
    display: none
}

#oseibo-gift-2026#oseibo-gift-2026 .acc summary .q {
    flex: 0 0 auto;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #85705e;
    color: #fff;
    display: grid;
    place-items: center;
    font-family: var(--serif);
    font-size: 14px
}

#oseibo-gift-2026#oseibo-gift-2026 .acc summary::after {
    content: "";
    margin-left: auto;
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    border-right: 2px solid #85705e;
    border-bottom: 2px solid #85705e;
    transform: rotate(45deg);
    transition: .2s;
    margin-top: -4px
}

#oseibo-gift-2026#oseibo-gift-2026 .acc details[open] summary::after {
    transform: rotate(-135deg);
    margin-top: 4px
}

#oseibo-gift-2026#oseibo-gift-2026 .acc .a {
    background: #fffdf9;
    margin: 0 6px 6px;
    padding: 16px 18px;
    font-size: 13.5px;
    line-height: 1.9;
    border-radius: 0 0 4px 4px
}

#oseibo-gift-2026#oseibo-gift-2026 .guide-sec {
    background: var(--washi)
}

#oseibo-gift-2026#oseibo-gift-2026 .guide-sec .acc details {
    background: #dfe3ee
}

#oseibo-gift-2026#oseibo-gift-2026 .guide-sec .acc summary {
    color: var(--ai)
}

#oseibo-gift-2026#oseibo-gift-2026 .guide-sec .acc summary .q {
    background: var(--ai)
}

#oseibo-gift-2026#oseibo-gift-2026 .guide-sec .acc summary::after {
    border-color: var(--ai)
}

#oseibo-gift-2026#oseibo-gift-2026 .safe {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr;
    max-width: 760px;
    margin: 0 auto
}

#oseibo-gift-2026#oseibo-gift-2026 .rel {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr 1fr
}

#oseibo-gift-2026#oseibo-gift-2026 .rel a {
    display: block;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0,0,0,.05);
    overflow: hidden
}

#oseibo-gift-2026#oseibo-gift-2026 .rel a .ph {
    aspect-ratio: 16/10;
    border-radius: 0
}

#oseibo-gift-2026#oseibo-gift-2026 .rel a span {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 12px;
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ai);
    line-height: 1.5
}

#oseibo-gift-2026#oseibo-gift-2026 .rel a span::after {
    content: "›";
    color: var(--shu);
    font-size: 18px
}

#oseibo-gift-2026#oseibo-gift-2026 footer {
    background: var(--sumi);
    color: #cfc8bb;
    padding: 40px 0 100px;
    font-size: 12.5px
}

#oseibo-gift-2026#oseibo-gift-2026 footer .logo b {
    color: #fff
}

#oseibo-gift-2026#oseibo-gift-2026 footer p {
    margin-top: 8px;
    line-height: 1.8
}

#oseibo-gift-2026#oseibo-gift-2026 footer .warn {
    margin-top: 16px;
    border-top: 1px solid #4b4440;
    padding-top: 14px;
    color: #a79f93;
    font-size: 11.5px
}

#oseibo-gift-2026#oseibo-gift-2026 footer .copy {
    margin-top: 14px;
    font-size: 11px;
    color: #8d8478
}

#oseibo-gift-2026#oseibo-gift-2026 .fcta {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    background: rgba(28,39,68,.97);
    padding: 9px 14px;
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: center;
    border-top: 1px solid var(--gold)
}

#oseibo-gift-2026#oseibo-gift-2026 .fcta span {
    color: var(--gold-l);
    font-size: 11.5px;
    line-height: 1.45;
    letter-spacing: .03em
}

#oseibo-gift-2026#oseibo-gift-2026 .fcta .btn {
    padding: 10px 20px;
    font-size: 13.5px;
    white-space: nowrap
}

@media(min-width: 760px) {
    #oseibo-gift-2026#oseibo-gift-2026 .bbtn .r {
        font-size:22px
    }

    #oseibo-gift-2026#oseibo-gift-2026 {
        font-size: 16px
    }

    #oseibo-gift-2026#oseibo-gift-2026 section {
        padding: 88px 0
    }

    #oseibo-gift-2026#oseibo-gift-2026 .sec-head h2 {
        font-size: 32px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .hero .in {
        grid-template-columns: 1.05fr 1fr;
        align-items: center;
        padding: 72px 20px 80px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .hero h1 {
        font-size: 44px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .hero .sub {
        font-size: 15.5px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .hero .vt {
        right: 34px;
        top: 40px;
        font-size: 18px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .reasons {
        grid-template-columns: repeat(4,1fr);
        gap: 18px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .reason p {
        font-size: 13px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .bgrid {
        grid-template-columns: repeat(4,1fr)
    }

    #oseibo-gift-2026#oseibo-gift-2026 .aud {
        grid-template-columns: 1fr 1fr
    }

    #oseibo-gift-2026#oseibo-gift-2026 .pgrid {
        grid-template-columns: repeat(4,1fr);
        gap: 18px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .card h3 {
        font-size: 13.5px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .noshi-hero {
        grid-template-columns: 1fr 1fr;
        gap: 44px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .sample {
        max-width: none;
        grid-template-columns: 1fr 170px 1fr;
        gap: 14px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .paper {
        width: 170px;
        height: 240px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .paper .omote {
        font-size: 29px;
        top: 28px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .paper .nm {
        font-size: 16px;
        top: 170px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .steps {
        grid-template-columns: 1fr 1fr
    }

    #oseibo-gift-2026#oseibo-gift-2026 .story-img {
        grid-template-columns: 1fr 1fr
    }

    #oseibo-gift-2026#oseibo-gift-2026 .story .pt {
        grid-template-columns: repeat(3,1fr)
    }

    #oseibo-gift-2026#oseibo-gift-2026 .museum .box {
        grid-template-columns: 1fr 1fr;
        align-items: center;
        padding: 30px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .safe {
        grid-template-columns: repeat(3,1fr);
        max-width: none
    }

    #oseibo-gift-2026#oseibo-gift-2026 .rel {
        grid-template-columns: repeat(4,1fr)
    }

    #oseibo-gift-2026#oseibo-gift-2026 .fcta {
        display: none
    }

    #oseibo-gift-2026#oseibo-gift-2026 footer {
        padding-bottom: 40px
    }

    #oseibo-gift-2026#oseibo-gift-2026 .anchor ul {
        justify-content: center
    }
}

@media(prefers-reduced-motion:reduce) {
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-01.lp-inline-01.lp-inline-01 {
    font-size: .52em;
    letter-spacing: .1em;
    display: inline-block;
    margin-top: 8px;
    line-height: 1.7
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-02.lp-inline-02.lp-inline-02 {
    margin-top: 10px
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-03.lp-inline-03.lp-inline-03 {
    margin-top: 18px
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-04.lp-inline-04.lp-inline-04 {
    top: 26px;
    left: 42%
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-05.lp-inline-05.lp-inline-05 {
    margin-top: 8px
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-06.lp-inline-06.lp-inline-06 {
    font-family: var(--serif);
    font-size: 12px;
    letter-spacing: .3em;
    color: var(--gold)
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-07.lp-inline-07.lp-inline-07 {
    font-size: 13.5px;
    margin-top: 8px
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-08.lp-inline-08.lp-inline-08 {
    background: var(--washi)
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-09.lp-inline-09.lp-inline-09 {
    padding: 44px 0 56px
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-10.lp-inline-10.lp-inline-10 {
    text-align: center
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-11.lp-inline-11.lp-inline-11 {
    text-align: center
}

#oseibo-gift-2026#oseibo-gift-2026 .lp-inline-12.lp-inline-12.lp-inline-12 {
    text-align: center
}

#oseibo-gift-2026#oseibo-gift-2026 [id] {
    scroll-margin-top: calc(var(--lp-header-height, 0px) + var(--lp-anchor-height, 60px) + 16px)
}

/* Only the ShopServe page containing this LP gets full-width content. */
#contents:has(#oseibo-gift-2026), #contents > article:has(#oseibo-gift-2026), #main-column:has(#oseibo-gift-2026), #Journal:has(#oseibo-gift-2026), #Journal > article:has(#oseibo-gift-2026), #Journal .journal-cont:has(#oseibo-gift-2026) {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
    float: none;
    overflow: visible;
}

#main-column:has(#oseibo-gift-2026) > #bread-crumb, #Journal:has(#oseibo-gift-2026) > h1, #Journal:has(#oseibo-gift-2026) > article > h2, #Journal:has(#oseibo-gift-2026) > article > .state_r, #Journal:has(#oseibo-gift-2026) .journal-cont > p:empty, #main-column:has(#oseibo-gift-2026) > section:has(.header_area) {
    display: none;
}

/* FV: single banner, retaining its full aspect ratio. */
#oseibo-gift-2026#oseibo-gift-2026 .hero-banner {
    width: 100%;
    min-width: 0;
    align-self: center;
}
#oseibo-gift-2026#oseibo-gift-2026 .hero-banner img {
    display: block;
    width: 100%;
    height: auto;
}

/* Keep the LP navigation below the store's sticky header. */
#oseibo-gift-2026#oseibo-gift-2026 .anchor {
    top: var(--lp-header-height, 0px);
    z-index: 10;
}

/* Store recommendation badge on the upper right of the product image. */
#oseibo-gift-2026#oseibo-gift-2026 .card .store-recommend {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 2;
    display: grid;
    place-content: center;
    width: 74px;
    height: 74px;
    padding: 5px;
    /* border: 1px solid var(--gold-l); */
    border-radius: 50%;
    background: var(--shu);
    color: #fff;
    font-family: var(--sans);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    pointer-events: none;
}

/* Do not reveal the fallback label through product thumbnails on hover. */
#oseibo-gift-2026#oseibo-gift-2026 a:hover .ph img,
#oseibo-gift-2026#oseibo-gift-2026 a:focus-visible .ph img {
    opacity: 1;
    filter: none;
}
