@charset "UTF-8";
/* =========================================================
   リントンズ 日本販売15周年記念 特設ページ（ShopServe 掲載用）
   ・ヘッダー / フッターはサイト共通のものを使う
   ・LP のスタイルはすべて #rt15 の中だけに効かせ、サイトの CSS と混ざらないようにする
   ・フォント（Noto Sans JP / Noto Serif JP）はサイト側で読み込み済み
   ========================================================= */

/* ---------- ページ枠（about.css と同じ考え方で、横幅いっぱいに広げる） ---------- */
body { padding-top: 170px !important; }
@media screen and (max-width: 768px) {
  body { padding-top: 140px !important; }
}
#wrapper #contents { max-width: 100% !important; margin: 0 !important; padding: 0 !important; }
#wrapper #main-column { padding-left: 0 !important; padding-right: 0 !important; }  /* スマホ時の左右3%余白を消す */
/* サイト標準の見出し・パンくず・記事情報を隠す（カテゴリ #JournalList / 記事 #Journal のどちらでも） */
#main-column > #bread-crumb,
#JournalList > h1,
#JournalList article > h2,
#Journal > h1,
#Journal article > h2,
#Journal .state_r { display: none !important; }
#JournalList .journal-cont,
#Journal .journal-cont { margin: 0 !important; }

/* ---------- 変数 ---------- */
#rt15 {
  --c-ink: #202020;
  --c-text: #343434;
  --c-body: #505050;
  --c-sub: #707070;
  --c-mute: #909090;
  --c-faint: #ababab;
  --c-cream: #f6f4ef;
  --c-cream-text: #f7f5f0;
  --c-line: #e2e0db;
  --c-line-2: #d8d6d1;
  --c-line-3: #c9c7c2;
  --c-copper: #b87333;
  --c-gold: #c8a96e;
  --c-dark: #1e1e1e;
  --c-dark-card: #252525;
  --c-dark-line: #383838;
  --f-sans: "Noto Sans JP", sans-serif;
  --f-serif: "Noto Serif JP", serif;
  --pad-x: 88px;

  width: 100%;
  overflow: hidden;
  background: #fff;
  color: var(--c-ink);
  font-family: var(--f-sans);
  font-size: 16px;
  line-height: normal;
  letter-spacing: normal;
  text-align: left;
  -webkit-font-smoothing: antialiased;
}

/* ---------- サイト CSS の打ち消し（#rt15 の中だけ） ---------- */
#rt15 *,
#rt15 *::before,
#rt15 *::after { box-sizing: border-box; }
#rt15 h1, #rt15 h2, #rt15 h3, #rt15 p, #rt15 ul, #rt15 ol, #rt15 li, #rt15 figure, #rt15 figcaption, #rt15 section {
  margin: 0; padding: 0; border: 0; background: none;
  font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; color: inherit;
}
/* 記事内リストの「左右40px余白・四角の行頭記号」（#Journal .journal-cont ul 等）を打ち消す */
#rt15 ul, #rt15 ol { margin: 0 !important; }
#rt15 ul, #rt15 ol, #rt15 li { list-style: none !important; }
#rt15 img { display: block; max-width: 100%; height: auto; border: 0; }
#rt15 a,
#rt15 a:link,
#rt15 a:visited,
#rt15 a:hover,
#rt15 a:active { color: inherit; text-decoration: none; opacity: 1; }
#rt15 a:hover img { opacity: 1; }

/* ---------- 共通：セクション見出し ---------- */
#rt15 .rt15-head { display: flex; flex-direction: column; gap: 20px; }
#rt15 .rt15-head__num {
  display: flex; align-items: center; gap: 16px;
  font-size: 11px; font-weight: 700; letter-spacing: 1.4px; color: var(--c-mute);
  white-space: nowrap;
}
#rt15 .rt15-head__num::after { content: ""; flex: 1; height: 1px; background: var(--c-line-2); }
#rt15 .rt15-head__title {
  font-family: var(--f-serif); font-weight: 600;
  font-size: 36px; line-height: 1.4; letter-spacing: -0.6px; color: var(--c-ink);
}
#rt15 .rt15-head__lead { font-size: 14px; line-height: 1.9; color: var(--c-sub); }
#rt15 .rt15-head__lead--wide { line-height: 1.85; }

#rt15 .rt15-head--dark .rt15-head__num { color: #888; }
#rt15 .rt15-head--dark .rt15-head__num::after { background: #3a3a3a; }
#rt15 .rt15-head--dark .rt15-head__title { color: var(--c-cream-text); }
#rt15 .rt15-head--dark .rt15-head__lead { color: var(--c-faint); }

#rt15 .rt15-arrow { font-weight: 400; }

/* ページ内リンクで飛んだとき、サイトの固定ヘッダーに隠れないようにする */
#rt15 section { scroll-margin-top: 118px; }
@media screen and (max-width: 768px) {
  #rt15 section { scroll-margin-top: 129px; }
}

/* ---------- ヒーロー ---------- */
#rt15 .rt15-hero {
  display: flex; align-items: stretch; gap: 64px;
  padding: 80px 72px 80px 88px;
  background: var(--c-cream);
}
#rt15 .rt15-hero__copy { display: flex; flex-direction: column; gap: 40px; flex: 0 0 520px; }
#rt15 .rt15-hero__title-group { display: flex; flex-direction: column; gap: 20px; }
#rt15 .rt15-hero__label {
  display: flex; align-items: center; gap: 12px;
  font-size: 11px; font-weight: 700; letter-spacing: 2px; color: var(--c-sub);
}
#rt15 .rt15-hero__label-line { width: 36px; height: 1px; background: var(--c-ink); }
#rt15 .rt15-hero__num { display: flex; align-items: flex-end; gap: 12px; color: var(--c-ink); }
#rt15 .rt15-hero__num-big {
  font-family: var(--f-serif); font-weight: 400;
  font-size: 160px; line-height: .88; letter-spacing: -6px;
}
#rt15 .rt15-hero__num-unit { font-family: var(--f-serif); font-weight: 500; font-size: 30px; line-height: 1.45; }
#rt15 .rt15-hero__heading {
  font-family: var(--f-serif); font-weight: 400;
  font-size: 64px; line-height: 1.35; letter-spacing: -1.5px; color: var(--c-ink);
}
#rt15 .rt15-hero__desc { display: flex; flex-direction: column; gap: 20px; }
#rt15 .rt15-hero__lead { font-size: 15px; line-height: 1.9; color: var(--c-sub); }
#rt15 a.rt15-hero__scroll { font-size: 11px; letter-spacing: 1.4px; color: var(--c-faint); }
#rt15 a.rt15-hero__scroll:hover { color: var(--c-sub); }

#rt15 .rt15-hero__visual { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
#rt15 .rt15-hero__img { flex: 1; min-height: 474px; border-radius: 4px; overflow: hidden; }
#rt15 .rt15-hero__img img { width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: right center; }
#rt15 .rt15-hero__caption { font-family: var(--f-serif); font-size: 11px; color: var(--c-mute); }

/* ---------- 01 歴史 ---------- */
#rt15 .rt15-history {
  display: flex; flex-direction: column; gap: 56px;
  padding: 96px var(--pad-x);
  background: #fff;
}
#rt15 .rt15-history__intro { display: flex; gap: 80px; align-items: flex-start; }
#rt15 .rt15-history__head { flex: 0 0 463px; gap: 24px; }

#rt15 .rt15-collage {
  flex: 1; min-width: 0; height: 340px;
  display: flex; gap: 4px; border-radius: 4px; overflow: hidden;
}
#rt15 .rt15-collage__col { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
#rt15 .rt15-collage__col img { flex: 1; min-height: 0; width: 100%; height: auto; object-fit: cover; }
/* 馬車・人物の顔が切れないよう、写真ごとに見せる位置を指定 */
#rt15 .rt15-collage__col:nth-child(1) img:nth-child(1) { flex: 1.25; object-position: 50% 80%; }
#rt15 .rt15-collage__col:nth-child(2) img { object-position: 50% 20%; }

#rt15 .rt15-timeline {
  display: flex;
  padding: 24px 28px 28px;
  background: var(--c-cream); border: 1px solid var(--c-line); border-radius: 4px;
}
#rt15 .rt15-timeline__item { flex: 1; min-width: 0; }
#rt15 .rt15-timeline__year {
  display: flex; align-items: center; gap: 8px;
  font-family: var(--f-serif); font-weight: 700; font-size: 22px; color: var(--c-ink);
}
/* 年の後ろの線と矢印（最後の項目以外） */
#rt15 .rt15-timeline__item:not(:last-child) .rt15-timeline__year::after {
  content: "→";
  flex: 1; display: flex; align-items: center; justify-content: flex-end;
  font-family: var(--f-sans); font-weight: 400; font-size: 14px; color: var(--c-mute);
  background: linear-gradient(var(--c-line-3), var(--c-line-3)) left center / calc(100% - 22px) 1px no-repeat;
}
#rt15 .rt15-timeline__text {
  padding: 16px 16px 0 0;
  font-size: 12px; line-height: 1.75; color: var(--c-body);
}
#rt15 .rt15-timeline__item--now .rt15-timeline__year { color: var(--c-copper); }
#rt15 .rt15-timeline__item--now .rt15-timeline__text { padding-right: 0; font-weight: 500; color: var(--c-copper); }

#rt15 .rt15-history__more {
  display: flex; align-items: center; justify-content: space-between; gap: 24px;
  padding-top: 8px;
}
#rt15 .rt15-history__note { font-size: 13px; color: var(--c-mute); }
#rt15 a.rt15-btn {
  display: inline-flex; align-items: center; gap: 12px;
  height: 44px; padding: 0 20px;
  border: 1px solid var(--c-text); border-radius: 2px;
  font-size: 13px; font-weight: 500; color: var(--c-ink); white-space: nowrap;
  transition: background .2s, color .2s;
}
#rt15 .rt15-btn .rt15-arrow { font-size: 14px; transition: transform .2s; }
#rt15 a.rt15-btn:hover { background: var(--c-ink); color: #fff; }
#rt15 .rt15-btn:hover .rt15-arrow { transform: translateX(4px); }

/* ---------- 02 記念商品 ---------- */
#rt15 .rt15-products {
  display: flex; flex-direction: column; gap: 48px;
  padding: 96px var(--pad-x);
  background: var(--c-cream);
}
#rt15 .rt15-products__head { width: 600px; max-width: 100%; }
#rt15 .rt15-products__list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
#rt15 .rt15-pcard {
  background: #fff; border: 1px solid var(--c-line); border-radius: 6px; overflow: hidden;
  transition: box-shadow .25s, transform .25s;
}
#rt15 .rt15-pcard:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, .08); transform: translateY(-2px); }
#rt15 .rt15-pcard__link { display: flex; flex-direction: column; height: 100%; }
#rt15 .rt15-pcard__img { height: 220px; overflow: hidden; }
#rt15 .rt15-pcard__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
#rt15 .rt15-pcard:hover .rt15-pcard__img img { transform: scale(1.04); }
#rt15 .rt15-pcard__body { display: flex; flex-direction: column; gap: 10px; padding: 16px; flex: 1; }
#rt15 .rt15-pcard__num { font-size: 10px; font-weight: 700; letter-spacing: 1.2px; color: var(--c-mute); }
#rt15 .rt15-pcard__name { font-family: var(--f-serif); font-weight: 600; font-size: 15px; line-height: 1.5; color: var(--c-ink); }
#rt15 .rt15-pcard__price { font-size: 14px; font-weight: 700; color: var(--c-ink); }
#rt15 .rt15-pcard__more {
  display: flex; align-items: center; gap: 8px;
  height: 40px; margin-top: auto;
  border-top: 1px solid #d0cec9;
  font-size: 12px; font-weight: 500; color: var(--c-text);
}
#rt15 .rt15-pcard__more .rt15-arrow { font-size: 13px; transition: transform .2s; }
#rt15 .rt15-pcard:hover .rt15-pcard__more .rt15-arrow { transform: translateX(4px); }
#rt15 .rt15-products__foot { height: 42px; border-top: 1px solid var(--c-line-2); }

/* ---------- 03 購入者プレゼント ---------- */
#rt15 .rt15-gift {
  display: flex; flex-direction: column; gap: 64px;
  padding: 96px var(--pad-x);
  background: var(--c-dark);
}
#rt15 .rt15-gift__list { display: flex; flex-direction: column; gap: 32px; }
#rt15 .rt15-gcard {
  display: flex; align-items: flex-start;
  background: var(--c-dark-card); border: 1px solid var(--c-dark-line); border-radius: 4px; overflow: hidden;
}
#rt15 .rt15-gcard__img { flex: 0 0 320px; height: 320px; }
#rt15 .rt15-gcard__img img { width: 100%; height: 100%; object-fit: contain; }
#rt15 .rt15-gcard__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 20px; padding: 36px 40px; }
#rt15 .rt15-gcard--2 .rt15-gcard__body { gap: 16px; }
#rt15 .rt15-gcard__step {
  display: flex; align-items: center; gap: 10px;
  font-size: 13px; font-weight: 700; letter-spacing: .5px; color: var(--c-gold);
}
#rt15 .rt15-gcard__badge {
  padding: 4px 10px; border-radius: 2px;
  background: var(--c-gold); color: var(--c-dark);
  font-size: 10px; letter-spacing: 1px; line-height: 1.2;
}
#rt15 .rt15-gcard__name { font-family: var(--f-serif); font-weight: 600; font-size: 22px; line-height: 1.45; color: var(--c-cream-text); }
#rt15 .rt15-gcard__text { font-size: 13px; line-height: 1.85; color: var(--c-faint); }
#rt15 .rt15-gcard__bundle {
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
  padding: 10px 14px;
  background: rgba(255, 255, 255, .03); border: 1px solid #3a3a3a; border-radius: 3px;
  font-size: 12px; line-height: 1.6; color: var(--c-faint);
}
#rt15 .rt15-gcard__bundle-label { font-size: 11px; font-weight: 700; letter-spacing: .6px; color: var(--c-gold); }
#rt15 .rt15-gcard__rule { width: 100%; height: 1px; background: var(--c-dark-line); }
#rt15 .rt15-gcard__price {
  display: flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 500; color: #e8e6e1;
}
#rt15 .rt15-gcard__price::before { content: ""; width: 3px; height: 14px; border-radius: 2px; background: var(--c-gold); }
#rt15 .rt15-gcard__price-label { font-size: 11px; font-weight: 700; letter-spacing: .8px; color: #888; }
#rt15 .rt15-gcard__kinds { display: flex; flex-wrap: wrap; gap: 6px; font-size: 11px; line-height: 1.7; color: #666; }
#rt15 .rt15-gcard__kinds-label { font-weight: 700; letter-spacing: .8px; color: #888; }

/* ---------- 04 感謝のメッセージ ---------- */
#rt15 .rt15-message {
  display: flex; flex-direction: column; gap: 52px;
  padding: 104px var(--pad-x);
  background: #fff;
}
#rt15 .rt15-message__head { width: 600px; max-width: 100%; }
#rt15 .rt15-message__box {
  display: flex; gap: 56px; align-items: flex-start;
  width: 100%; padding: 48px;
  background: var(--c-cream); border-radius: 6px;
}
#rt15 .rt15-message__img { flex: 0 0 260px; height: 300px; border-radius: 4px; overflow: hidden; }
#rt15 .rt15-message__img img { width: 100%; height: 100%; object-fit: cover; }
#rt15 .rt15-message__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
#rt15 .rt15-message__title { font-family: var(--f-serif); font-weight: 600; font-size: 26px; line-height: 1.6; color: var(--c-ink); }
#rt15 .rt15-message__text { font-size: 14px; line-height: 2; color: var(--c-sub); }
#rt15 .rt15-message__sign { padding-top: 16px; font-family: var(--f-serif); font-weight: 600; font-size: 17px; color: var(--c-ink); }

/* ---------- 関連コンテンツ ---------- */
#rt15 .rt15-related {
  display: flex; flex-direction: column; gap: 36px;
  padding: 88px var(--pad-x);
  background: var(--c-cream);
}
#rt15 .rt15-related__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
#rt15 .rt15-related__en { margin-bottom: 10px; font-size: 11px; font-weight: 700; letter-spacing: 1.5px; color: var(--c-mute); }
#rt15 .rt15-related__title { font-family: var(--f-serif); font-weight: 600; font-size: 30px; line-height: 1.45; color: var(--c-ink); }
#rt15 .rt15-related__note { font-size: 13px; color: var(--c-mute); }
#rt15 .rt15-related__list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
#rt15 a.rt15-rcard {
  display: flex; align-items: center; gap: 20px;
  padding: 20px;
  background: #fff; border: 1px solid var(--c-line); border-radius: 6px;
  transition: box-shadow .25s;
}
#rt15 a.rt15-rcard:hover { box-shadow: 0 8px 24px rgba(0, 0, 0, .08); }
#rt15 .rt15-rcard__img { flex: 0 0 160px; height: 110px; border-radius: 4px; overflow: hidden; }
#rt15 .rt15-rcard__img img { width: 100%; height: 100%; object-fit: cover; }
#rt15 .rt15-rcard__body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
#rt15 .rt15-rcard__type { font-size: 10px; letter-spacing: 1px; color: var(--c-mute); }
#rt15 .rt15-rcard__title { font-family: var(--f-serif); font-weight: 600; font-size: 18px; line-height: 1.5; color: var(--c-ink); }
#rt15 .rt15-rcard__link { font-size: 13px; font-weight: 500; color: var(--c-body); }

/* ---------- スクロールで表示（JS で .is-visible を付与） ---------- */
#rt15.is-js .rt15-fade { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s ease; }
#rt15.is-js .rt15-fade.is-visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  #rt15.is-js .rt15-fade { opacity: 1; transform: none; transition: none; }
}

/* =========================================================
   レスポンシブ（Figma は PC 1440px のみのため、以下は補完）
   ========================================================= */
@media screen and (max-width: 1200px) {
  #rt15 { --pad-x: 48px; }
  #rt15 .rt15-hero { padding: 64px 40px 64px 48px; gap: 40px; }
  #rt15 .rt15-hero__copy { flex-basis: 440px; }
  #rt15 .rt15-hero__num-big { font-size: 128px; }
  #rt15 .rt15-hero__heading { font-size: 52px; }
  #rt15 .rt15-history__intro { gap: 48px; }
  #rt15 .rt15-history__head { flex-basis: 360px; }
  #rt15 .rt15-products__list { grid-template-columns: repeat(2, 1fr); }
  #rt15 .rt15-message { padding: 88px var(--pad-x); }
}

@media screen and (max-width: 900px) {
  #rt15 .rt15-hero { flex-direction: column; padding: 48px 24px; }
  #rt15 .rt15-hero__copy { flex-basis: auto; }
  #rt15 .rt15-hero__img { flex: none; min-height: 0; aspect-ratio: 696 / 474; }

  #rt15 .rt15-history__intro { flex-direction: column; }
  #rt15 .rt15-history__head { flex-basis: auto; width: 100%; }
  #rt15 .rt15-collage { width: 100%; flex: none; }

  #rt15 .rt15-timeline { flex-direction: column; gap: 20px; }
  #rt15 .rt15-timeline__item:not(:last-child) .rt15-timeline__year::after { content: none; }
  #rt15 .rt15-timeline__item { padding-left: 16px; border-left: 1px solid var(--c-line-3); }
  #rt15 .rt15-timeline__text { padding: 6px 0 0; }

  #rt15 .rt15-history__more { flex-direction: column; align-items: flex-start; }

  #rt15 .rt15-gcard { flex-direction: column; }
  #rt15 .rt15-gcard__img { flex-basis: auto; width: 100%; height: auto; aspect-ratio: 1; max-height: 360px; }
  #rt15 .rt15-gcard__body { padding: 28px 24px; }

  #rt15 .rt15-message__box { flex-direction: column; gap: 32px; padding: 32px 24px; }
  #rt15 .rt15-message__img { flex-basis: auto; width: 100%; max-width: 320px; }

  #rt15 .rt15-related__head { flex-direction: column; align-items: flex-start; }
  #rt15 .rt15-related__list { grid-template-columns: 1fr; }
}

@media screen and (max-width: 600px) {
  #rt15 { --pad-x: 20px; }
  #rt15 .rt15-hero { padding: 40px 20px; gap: 32px; }
  #rt15 .rt15-hero__num-big { font-size: 104px; letter-spacing: -4px; }
  #rt15 .rt15-hero__num-unit { font-size: 22px; }
  #rt15 .rt15-hero__heading { font-size: 38px; letter-spacing: -1px; }
  #rt15 .rt15-hero__lead { font-size: 14px; }
  #rt15 .rt15-hero__lead br { display: none; }
  #rt15 .rt15-history,
  #rt15 .rt15-products,
  #rt15 .rt15-gift { padding-top: 64px; padding-bottom: 64px; }
  #rt15 .rt15-gift { gap: 40px; }
  #rt15 .rt15-head__title { font-size: 28px; }
  #rt15 .rt15-head__lead br { display: none; }
  #rt15 .rt15-collage { height: 220px; }
  #rt15 .rt15-products__list { grid-template-columns: 1fr; }
  #rt15 .rt15-gcard__name { font-size: 19px; }
  #rt15 .rt15-message { padding: 64px 20px; gap: 36px; }
  #rt15 .rt15-message__title { font-size: 21px; }
  #rt15 .rt15-related { padding: 64px 20px; }
  #rt15 a.rt15-rcard { gap: 14px; padding: 14px; }
  #rt15 .rt15-rcard__img { flex-basis: 110px; height: 80px; }
  #rt15 .rt15-rcard__title { font-size: 16px; }
}
