@charset "UTF-8";
/* 週末お出かけ特集 LP — randr基準（docs/randr-reference.md）/ SPファースト流体スケール */
.LS_weekend *, .LS_weekend *::before, .LS_weekend *::after { box-sizing: border-box; }
.LS_weekend {
  --accent: #C9A581; --accent-ink: #8F6B45;
  --pale-bg: #F3EDE6; --page-bg: #E9E2D8;
  --color-white: #fff; --color-text: #38383B; --color-black: #000;
  --font-century: "century-gothic", "Alte Haas Grotesk", "Helvetica Neue", sans-serif;
  --font-en: "avenir-lt-pro", "Alte Haas Grotesk", "Helvetica Neue", sans-serif;
  --font-ja: "hiragino-kaku-gothic-pron", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  --fw-light: 300; --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700;
  --pc-width: 1920; --sp-width: 375; --pc-artboard-width: 600; --sp-artboard-width: 375;
  --u: calc(var(--variable) * var(--ratio));
  font-family: var(--font-ja); font-feature-settings: "palt"; color: var(--color-text);
  background-color: var(--page-bg); overflow: clip; -webkit-font-smoothing: antialiased;
}
@media (min-width: 1920px) { .LS_weekend { --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); --variable: 1px; } }
@media (min-width: 768px) and (max-width: 1919px) { .LS_weekend { --ratio: calc(var(--pc-artboard-width) / var(--sp-artboard-width)); --variable: calc(100vw / var(--pc-width)); } }
@media (max-width: 767px) { .LS_weekend { --ratio: 1; --variable: calc(100vw / var(--sp-width)); } }
.LS_weekend img, .LS_weekend picture { display: block; width: 100%; height: auto; vertical-align: bottom; }
.LS_weekend a { color: inherit; text-decoration: none; }
.LS_weekend a:hover { opacity: .6; transition: opacity .3s; }
.LS_weekend h1, .LS_weekend h2, .LS_weekend h3, .LS_weekend p, .LS_weekend ul { margin: 0; padding: 0; }
.LS_weekend ul { list-style: none; }
.LS_weekend section { position: relative; }
.LS_weekend .u-en { font-family: var(--font-en); }
/* 骨格 — PC: 1fr/500/1fr 左右sticky */
.LS_weekend .lp_column { width: 100%; margin: 0 auto; background-color: var(--color-white); padding-bottom: calc(115 * var(--u)); }
.LS_weekend .lp_side { display: none; }
@media (min-width: 768px) {
  .LS_weekend { display: flex; }
  .LS_weekend .lp_column { width: 50%;}
  .LS_weekend .hidden-desktop { display: none !important; }
  .LS_weekend .lp_side { display: flex; flex-direction: column; align-items: center; justify-content: center; row-gap: calc(24 * var(--variable)); position: sticky; top: 0; width: 50%; height: 100vh; padding: calc(30 * var(--variable)); }
  .LS_weekend .lp_side__mark { font-family: var(--font-century); font-weight: var(--fw-bold); font-size: calc(60 * var(--variable)); letter-spacing: .02em; text-align: center; line-height: 1.2; }
  .LS_weekend .lp_side__sub { font-size: calc(20 * var(--variable)); letter-spacing: .12em; font-weight: var(--fw-semibold); }
  .LS_weekend .c-credit_area {justify-content: center; column-gap: calc(40 * var(--u)); }
}
@media (max-width: 767px) { .LS_weekend .hidden-mobile { display: none !important; } }
.LS_weekend .lp_inner { width: calc(335 * var(--u)); margin-top: calc(20 * var(--u)); margin-left: auto; margin-right: auto; }
/* HERO — 静止1カット（PC/SPクロップ切替） */
.LS_weekend .p-hero { position: relative; }
.LS_weekend .hero_mark { position: absolute; z-index: 3; left: 50%; bottom: calc(34 * var(--u)); width: 100%; transform: translateX(-50%); color: var(--color-white); text-align: center; filter: drop-shadow(0 calc(1 * var(--u)) calc(9 * var(--u)) rgba(0,0,0,.35)); }
.LS_weekend .hero_mark__brand { font-family: var(--font-century); font-weight: var(--fw-bold); font-size: calc(44 * var(--u)); letter-spacing: .04em; line-height: 1.1; }
.LS_weekend .hero_mark__theme { display: block; margin-top: calc(10 * var(--u)); font-size: calc(12 * var(--u)); letter-spacing: .2em; font-weight: var(--fw-semibold); }
/* タイポ役割（4段: 12/13 → 16 → 25 → 40） */
.LS_weekend .c-display { font-family: var(--font-century); font-weight: var(--fw-bold); font-size: calc(40 * var(--u)); line-height: 1; letter-spacing: .02em; text-align: center; }
.LS_weekend .c-sec-title { font-family: var(--font-century); font-weight: var(--fw-bold); font-size: calc(25 * var(--u)); line-height: 1.36; letter-spacing: .1em; text-align: center; }
.LS_weekend .c-lead-en { font-family: var(--font-en); font-weight: var(--fw-bold); font-size: calc(16 * var(--u)); line-height: 2.125; letter-spacing: .1em; text-align: center; }
.LS_weekend .c-lead-ja { font-size: calc(13 * var(--u)); line-height: 2.3076923077; letter-spacing: .05em; font-weight: var(--fw-light); font-feature-settings: normal; text-align: center; }
.LS_weekend .c-display + .c-lead-ja, .LS_weekend .c-sec-title + .c-lead-ja { margin-top: calc(37 * var(--u)); }
.LS_weekend .c-title-ja { margin-top: calc(14 * var(--u)); font-size: calc(13 * var(--u)); line-height: 1.8; letter-spacing: .2em; font-weight: var(--fw-semibold); text-align: center; }
.LS_weekend .c-title-ja + .c-lead-ja { margin-top: calc(30 * var(--u)); }
.LS_weekend .c-lead-ja + .c-lead-ja { margin-top: calc(18 * var(--u)); }
/* セクションリズム */
.LS_weekend .p-section { margin-top: calc(75 * var(--u)); }
.LS_weekend .p-section.-first { margin-top: calc(100 * var(--u)); }
/* シーン（CITY WALK等）— pin1枚 + 重ね1枚（randr product_fixed踏襲） */
/* シーン見出し — 英字は横流れ（nikoand参考）・和文サブは固定 */
.LS_weekend .scene_head { overflow: hidden; margin-bottom: 0; }
.LS_weekend .scene_head__track { display: flex; width: max-content; animation: LS_weekend_marquee 30s linear infinite; }
.LS_weekend .scene_head__track span { font-family: var(--font-century); font-weight: var(--fw-bold); font-size: calc(54 * var(--u)); line-height: 1.1; letter-spacing: .04em; white-space: nowrap; padding-right: calc(40 * var(--u)); }
@keyframes LS_weekend_marquee { to { transform: translateX(-50%); } }
.LS_weekend .scene_sub { margin-top: calc(12 * var(--u)); font-size: calc(20 * var(--u)); line-height: 1.8; letter-spacing: .2em; font-weight: var(--fw-semibold); text-align: center; }
.LS_weekend .scene_sub + .scene_stack { margin-top: calc(37 * var(--u)); }
/* 商品見出し — Weekend Bag キッカー＋和文名（少し斜め） */
.LS_weekend .item_head { width: calc(335 * var(--u)); margin: 0 auto calc(30 * var(--u)); transform: rotate(-3deg); }
.LS_weekend .item_head__kicker { font-family: var(--font-en); font-weight: var(--fw-semibold); font-size: calc(15 * var(--u)); line-height: 1.6; letter-spacing: .15em; }
.LS_weekend .item_head__name { font-size: calc(24 * var(--u)); line-height: 1.5; letter-spacing: .12em; font-weight: 900; font-family: "a-otf-ud-shin-go-pr6n", sans-serif;;}
.LS_weekend .scene_title { margin-bottom: calc(37 * var(--u)); }
.LS_weekend .scene_stack { position: relative; }
.LS_weekend .scene_pin { position: sticky; top: calc(80 * var(--u)); z-index: 1; }
.LS_weekend .scene_over { position: relative; z-index: 2; width: calc(315 * var(--u)); margin: calc(30 * var(--u)) auto 0; box-shadow: 0 0 0 calc(6 * var(--u)) var(--color-white); }
/* 商品ユニット */
.LS_weekend .product_main { margin-top: calc(37 * var(--u)); }
.LS_weekend .c-credit { margin-top: calc(30 * var(--u)); text-align: center; }
.LS_weekend .c-credit_area { display: flex; justify-content: space-around; }
.LS_weekend .c-credit__name { font-size: calc(14 * var(--u)); line-height: 1.86; letter-spacing: .15em; font-weight: var(--fw-semibold); }
.LS_weekend .c-credit__color { margin-top: calc(2 * var(--u)); font-size: calc(12 * var(--u)); line-height: 1.85; letter-spacing: .06em; font-weight: var(--fw-light); }
.LS_weekend .c-credit__price { display: inline-block; margin-top: calc(8 * var(--u)); font-family: var(--font-century); font-weight: var(--fw-bold); font-size: calc(18 * var(--u)); line-height: 1.33; letter-spacing: .05em; border-bottom: 2px solid var(--accent); padding-bottom: calc(2 * var(--u)); }
.LS_weekend .c-credit__lead { width: calc(335 * var(--u)); margin: calc(18 * var(--u)) auto 0; font-size: calc(13 * var(--u)); line-height: 2.3076923077; letter-spacing: .05em; font-weight: var(--fw-light); font-feature-settings: normal; text-align: left; }
/* カラバリ 2枚並び */
.LS_weekend .p-colors { width: calc(335 * var(--u)); margin: calc(40 * var(--u)) auto 0; display: grid; grid-template-columns: 1fr 1fr; gap: calc(30 * var(--u)) calc(15 * var(--u)); }
.LS_weekend .p-colors a { display: block; text-align: center; }
.LS_weekend .p-colors img { width: 100%; height: auto; }
.LS_weekend .c-colors__name { margin-top: calc(14 * var(--u)); font-size: calc(12 * var(--u)); line-height: 1.7; letter-spacing: .1em; font-weight: var(--fw-semibold); }
.LS_weekend .c-colors__color { font-size: calc(11 * var(--u)); line-height: 1.8; letter-spacing: .06em; font-weight: var(--fw-light); }
.LS_weekend .c-colors__price { display: inline-block; margin-top: calc(6 * var(--u)); font-family: var(--font-century); font-weight: var(--fw-bold); font-size: calc(14 * var(--u)); letter-spacing: .05em; border-bottom: 2px solid var(--accent); padding-bottom: calc(1 * var(--u)); }
/* CTA — 幅335 / 上60(クレジット直後35) */
.LS_weekend .c-btn { width: calc(335 * var(--u)); margin: calc(60 * var(--u)) auto 0; background-color: var(--color-black); color: var(--color-white); font-size: calc(15 * var(--u)); line-height: 2.125; letter-spacing: .05em; font-weight: var(--fw-semibold); border-radius: calc(30 * var(--u));}
.LS_weekend .c-btn > a { display: flex; justify-content: center; align-items: center; width: 100%; padding: calc(11 * var(--u)) calc(12 * var(--u)); white-space: nowrap; align-items: baseline; }
.LS_weekend .c-btn .u-en { font-size: calc(15 * var(--u)); letter-spacing: .04em; padding-right: .4em; font-weight: 600;}
.LS_weekend .c-credit + .c-btn { margin-top: calc(35 * var(--u)); }
.LS_weekend .p-colors + .c-btn { margin-top: calc(50 * var(--u)); }
/* エンディング マルキー */
.LS_weekend .p-marquee { margin-top: calc(100 * var(--u)); overflow: hidden; }
.LS_weekend .js-sliderImage .swiper-wrapper { transition-timing-function: linear !important; }
.LS_weekend .js-sliderImage .swiper-slide { width: 46%; margin-right: calc(10 * var(--u)); }
.LS_weekend .js-sliderImage .swiper-slide img { aspect-ratio: 3 / 4; object-fit: cover; height: auto; }
.LS_weekend .js-sliderImage:not(.swiper-initialized) .swiper-wrapper { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
.LS_weekend .js-sliderImage:not(.swiper-initialized) .swiper-slide { flex: 0 0 46%; scroll-snap-align: start; }
/* SNAP（LEEEP埋込） */
.LS_weekend .snap_embed { margin-top: calc(37 * var(--u)); }
/* フェード */
.LS_weekend .js-fade { opacity: 0; transform: translateY(calc(50 * var(--u))); transition: opacity .8s cubic-bezier(.42,0,.58,1), transform .8s cubic-bezier(.42,0,.58,1); }
.LS_weekend .js-fade.is-shown { opacity: 1; transform: translateY(0); }
.LS_weekend .item_head.js-fade { opacity: 0; transform: rotate(-3deg) translateY(calc(50 * var(--u))); transition: opacity .8s cubic-bezier(.42,0,.58,1), transform .8s cubic-bezier(.42,0,.58,1); }
.LS_weekend .item_head.js-fade.is-shown { opacity: 1; transform: rotate(-3deg) translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .LS_weekend .js-fade { opacity: 1; transform: none; transition: none; }
  .LS_weekend .scene_pin { position: static; }
  .LS_weekend .scene_head__track { animation: none; }
}
/* sticky不発火対策 — 共通ラッパーのoverflow上書き（docs/sticky-overlap-pattern.md §0） */
@media (max-width: 767px) { #Wrap, #Contents, .main-area { overflow: clip !important; } }

@media (min-width: 768px) {
  .LS_weekend .c-credit_area {justify-content: center; column-gap: calc(40 * var(--u)); }
  .LS_weekend .scene_over { width: calc(400 * var(--u));}
}
