/* 2026-10-04: supplied photography; existing brand palette and type retained. */
.lovable-home .home-hero { min-height: 700px; }
.lovable-home .hero-slide { object-position: 62% center; transform: none; }
.lovable-home .hero-shade { background: linear-gradient(90deg,rgba(4, 32, 31,.90),rgba(4, 32, 31,.62) 38%,rgba(4, 32, 31,.05) 76%); }
.lovable-home .hero-content { padding-inline: 7vw; }
.lovable-home .hero-content h1 { font-size: clamp(34px,3.5vw,55px); line-height: 1.6; max-width: 780px; }
.lovable-home .hero-title-sub { display: block; font-size: .43em; margin-top: 24px; letter-spacing: .09em; }
.lovable-home .hero-lead { margin-top: 22px; }
.owner-section { background: #f6f2ec; }
.owner-layout { display:grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: clamp(38px,8vw,130px); }
.owner-layout figure { margin:0; max-width:420px; }
.owner-layout img { width:100%; height:auto; display:block; }
.owner-eyebrow { font:400 14px/1.5 var(--font-en); letter-spacing:.14em; color:var(--teal-text, #6e6248); }
.owner-layout h2 { font:400 clamp(26px,3vw,40px)/1.8 var(--font-display); margin:24px 0; }
.owner-layout p:not(.owner-eyebrow) { max-width:36em; line-height:2.2; font-size:15px; }
.owner-layout .section-link { text-align:left; margin-top:30px; }
@media(max-width:760px) {
  .lovable-home .home-hero { height:auto; min-height:850px; padding-top:350px; }
  .lovable-home .hero-slides { height:410px; top:0; }
  .lovable-home .hero-slide { object-position:65% center; }
  .lovable-home .hero-shade { background:linear-gradient(0deg,#094c4a 0%,#094c4a 42%,transparent 76%); }
  .lovable-home .hero-content { padding:48px 24px 90px; height:auto; }
  .lovable-home .hero-content h1 { font-size:clamp(29px,7.7vw,40px); margin-top:24px; letter-spacing:.02em; }
  .lovable-home .hero-title-sub { font-size:14px; margin-top:22px; }
  .lovable-home .hero-lead { font-size:12px; line-height:1.8; }
  .lovable-home .hero-actions { margin-top:28px; }
  .lovable-home .scroll-cue { bottom:20px; }
  .owner-layout { grid-template-columns:1fr; gap:32px; }
  .owner-layout figure { width:100%; max-width:none; }
  .owner-layout img { aspect-ratio:4/5; object-fit:cover; object-position:center 22%; }
}

/* 2026-10-16 トップ写真: S-003を今井様に寄せた切り抜き。画面いっぱいの自然な形 */
.lovable-home .hero-slide { object-position: 50% 40%; }
@media (max-width: 760px) {
  .lovable-home .hero-slide { object-position: 87% 35%; }
}
@media (min-width: 761px) and (max-width: 1100px) {
  .lovable-home .scroll-cue { display: none; }
}

/* 2026-10-16 トップ: TIPSの最新3本と、仕立て手欄のオーナーズボイス */
.latest-lead { text-align: center; margin: -8px auto 40px; max-width: 36em; }
.latest-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.latest-grid > .journal-channel-card:only-child { grid-column: 2; }
.latest-card h3 { font-size: 17px; line-height: 1.7; margin: 0 0 10px; }
.latest-card .journal-channel-description { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; min-height: 0; margin-bottom: 14px; }
.latest-card b { font-weight: 400; font-size: 12px; letter-spacing: .1em; }
.latest-card-noimage { background: #094c4a; }
.latest-more { justify-content: center; margin-top: 44px; }
.owner-voice { margin: 30px 0 26px; padding: 20px 0; border-top: 1px solid rgba(43, 45, 40, .14); border-bottom: 1px solid rgba(43, 45, 40, .14); }
.owner-voice-label { margin: 0 0 10px; font: 400 12px/1.4 var(--font-en); letter-spacing: .14em; color: var(--teal-text, #6e6248); }
.owner-voice .latest-line { display: block; color: var(--ink, #2b2d28); text-decoration: none; font-family: var(--font-display); font-size: 17px; line-height: 1.8; }
.owner-voice .latest-line:hover .latest-line-title { text-decoration: underline; text-underline-offset: 4px; }
.owner-voice-more { display: inline-block; margin-top: 8px; font-size: 12px; letter-spacing: .1em; color: var(--teal-text, #6e6248); }
@media (max-width: 900px) {
  .latest-grid { grid-template-columns: 1fr; }
  .latest-grid > .journal-channel-card:only-child { grid-column: auto; }
}
/* 2026-10-16 仕立て手欄: 本文→詳しく見る→今井の言葉 の順 */
.owner-layout .owner-more { margin-top: 28px; }
.owner-layout .owner-voice { margin: 40px 0 0; }

/* 2026-10-16 相談欄を外し、拠点情報を横いっぱいに（左に写真・右に文字） */
.contact-split.access-only { grid-template-columns: 1fr; min-height: 0; }
.access-only .access-panel { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); align-items: center; }
.access-only .access-panel > img { height: 100%; min-height: 420px; object-fit: cover; }
.access-only .access-panel > div { width: min(560px, 100%); margin: 0; padding: 80px clamp(28px, 6vw, 96px); }
@media (max-width: 900px) {
  .access-only .access-panel { grid-template-columns: 1fr; }
  .access-only .access-panel > img { min-height: 0; height: auto; aspect-ratio: 3 / 2; }
  .access-only .access-panel > div { padding: 56px 24px 64px; }
}
.access-only .access-panel > div { align-self: center; }
/* 2026-10-29 修正依頼: SERVICEを5つに。見出しを外したProfile欄の本文に余白を残す */
.service-home-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.owner-layout .owner-eyebrow + p { margin-top: 22px; }
.access-only .access-panel li small { font-size: 12px; opacity: .78; letter-spacing: .04em; }
@media (max-width: 1120px) { .service-home-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .service-home-grid { grid-template-columns: 1fr; } }
/* 5列のSERVICEカードで「パーソナルスタイリング」が1文字だけ折り返さないよう、見出しを少し小さく */
@media (min-width: 1121px) { .service-home-grid .service-home-card h3 { font-size: clamp(16px, 1.3vw, 19px); } }
/* 2026-11-01: ATELIER の欄をなくし、その写真4枚（ご相談・生地選び・仕様選び・採寸）を FLOW の欄に入れた */
.flow-intro .flow-home-scenes { width: 100%; margin-top: 50px; gap: 18px 14px; }
.flow-intro .flow-home-scenes img { width: 100%; margin-top: 0; aspect-ratio: 3 / 2; object-fit: cover; }
.flow-intro .flow-home-scenes span { margin-top: 8px; font-size: 13px; letter-spacing: .12em; color: rgba(43, 45, 40, .78); }
@media (max-width: 760px) { .flow-intro .flow-home-scenes { width: 100%; } }
/* 2026-11-01: トップの写真を映像に差し替え（PCの幅のときだけ）。スマホは写真（S-003）のまま。
   PCでは映像の最初のコマを静止画として先に出し、再生が始まったら映像を重ねる */
.lovable-home .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; opacity: 0; transition: opacity .8s ease; }
.lovable-home .hero-video.is-playing { opacity: 1; }
@media (min-width: 761px) { .lovable-home .hero-slide { object-position: center; } }
@media (max-width: 760px) { .lovable-home .hero-video { display: none; } }
/* 2026-11-01 トップをメニューの順に並べ替え（社長依頼）。REVIEWS（お客様の声）・BLOG（TIPS と OWNER'S VOICE）・WEB STORE の欄 */
.reviews-home-section { background: #fbfaf8; }
.reviews-home-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; margin-top: 40px; }
.reviews-home-grid .review-card { margin: 0; text-align: center; }
.reviews-home-grid figure { margin: 0 0 14px; aspect-ratio: 3 / 4; overflow: hidden; background: #ece6dc; }
.reviews-home-grid img { display: block; width: 100%; height: 100%; object-fit: cover; }
.reviews-home-grid .review-role { margin: 0 0 4px; font-size: 11px; line-height: 1.6; letter-spacing: .04em; color: rgba(43, 45, 40, .7); }
.reviews-home-grid h3 { margin: 0; font: 400 15px/1.6 var(--font-display); letter-spacing: .06em; }
.reviews-home-grid h3 span { margin-left: 2px; font-size: 12px; }
.blog-home-label { margin: 0 0 18px; font: 400 13px/1.4 var(--font-en); letter-spacing: .16em; color: var(--teal-text, #6e6248); }
.journal-section .blog-home-block.owner-voice { max-width: 760px; margin: 64px auto 0; }
@media (max-width: 1100px) { .reviews-home-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 760px) { .reviews-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; } }
/* 2026-11-01 欄の背景を白とクリーム色の交互に（同じ色が続いて区切りが見えにくかったため）。想い（PHILOSOPHY & ABOUT US）とプロフィールは1つの欄として白でつなげる */
.lovable-home .service-section { background: var(--beige); }
.lovable-home .philosophy-section, .lovable-home .owner-section { background: #fbfaf8; }
.lovable-home .philosophy-section { padding-bottom: 48px; }
.lovable-home .owner-section { padding-top: 48px; }
.lovable-home .reviews-home-section { background: var(--beige); }
.lovable-home .journal-section { background: #fbfaf8; }
.lovable-home .webstore-home-section { background: var(--beige); }
/* 2026-11-01 拠点情報の屋号にカタカナの読み（社長依頼）。屋号のすぐ後ろに、少し小さく */
.access-panel .access-kana { display: inline-block; font-size: .86em; letter-spacing: .04em; opacity: .85; }
/* 2026-11-01 スマホにもトップの映像（スマホ用の切り抜き）を出す。静止画もスマホ用の切り抜きなので中央に合わせる */
@media (max-width: 760px) {
  .lovable-home .hero-video { display: block; }
  .lovable-home .hero-slide { object-position: center; }
}
/* 2026-11-01 BLOG 欄の TIPS とオーナーの言葉を、サムネイルなしの一覧に（社長の参考画像に合わせた形。色はサイトの真鍮色と深い青緑） */
.blog-list-block { max-width: 1100px; margin: 48px auto 0; }
.blog-list-block + .blog-list-block { margin-top: 96px; }
.blog-list-head { display: flex; justify-content: center; align-items: flex-end; gap: 18px; margin: 0 0 30px; font-weight: 400; }
.blog-list-head .en { font: 400 clamp(36px, 4vw, 54px)/1 var(--font-en); letter-spacing: .12em; color: var(--teal); }
.blog-list-head .ja { position: relative; padding-bottom: 12px; font: 400 15px/1.4 var(--font-display); letter-spacing: .1em; color: var(--navy); }
.blog-list-head .ja::after { content: ""; position: absolute; left: 50%; bottom: 0; width: 56px; height: 2px; margin-left: -28px; background: var(--teal); }
.latest-row { display: block; padding: 26px 4px; border-bottom: 1px solid rgba(9, 76, 74, .45); color: #2b2d28; text-decoration: none; }
.latest-row-date { display: block; margin-bottom: 10px; font: 400 18px/1.2 var(--font-en); letter-spacing: .06em; font-variant-numeric: lining-nums; }
.latest-row-title { display: block; font: 400 16px/1.7 var(--font-display); letter-spacing: .06em; color: var(--navy); }
.latest-row:hover .latest-row-title { text-decoration: underline; text-underline-offset: 4px; }
.blog-list-more { margin: 32px 0 0; text-align: center; }
.blog-list-more a { display: inline-block; min-width: 280px; padding: 15px 28px; border: 1px solid var(--teal); color: var(--navy); font: 500 14px/1.4 var(--font-display); letter-spacing: .12em; text-decoration: none; }
.blog-list-more a:hover { background: rgba(110, 98, 72, .08); }
@media (max-width: 760px) {
  .blog-list-head { flex-direction: column; align-items: center; gap: 10px; }
  .latest-row { padding: 20px 2px; }
  .blog-list-more a { min-width: 0; width: 100%; }
}
/* 区切り線を少し濃く、題名は文節で折り返す（Sonnet 確認の指摘） */
.latest-row { border-bottom-color: rgba(9, 76, 74, .72); }
.latest-row-title { word-break: auto-phrase; text-wrap: pretty; }
/* 2026-11-01 BLOG 欄の見出し「BLOG ブログ」と説明文を外した（社長依頼）。最初の一覧の上の余白を詰める */
.journal-section .blog-list-block:first-child { margin-top: 0; }
/* 2026-11-01 拠点情報を店ごとにまとめる（社長依頼）。店名（読み）を見出しにして、その下に住所 */
.access-panel .access-shop { margin: 26px 0 0; font: 400 15px/1.7 var(--font-display); letter-spacing: .06em; color: var(--beige, #f6f2ec); }
.access-panel .access-shop + ul { margin-top: 4px; }
.access-panel .access-note { margin-top: 18px; }
/* 2026-11-12 修正依頼（行85）: 映像の上の「LINEで相談する」を外した。スマホは見出しの下に余白が残りすぎないよう高さの下限を下げる（中身が長ければ自然に伸びる） */
@media (max-width: 760px) { .lovable-home .home-hero { min-height: 760px; } }
/* 2026-11-12 修正依頼（行104〜109）: REVIEWS のカードに種別の小さなラベル（/reviews と同じ class 名 review-kind） */
.reviews-home-grid .review-kind { display: inline-block; margin: 8px 0 0; padding: 1px 10px; border: 1px solid rgba(9, 76, 74, .35); color: #094c4a; font-size: 10px; line-height: 1.8; letter-spacing: .08em; }

/* 2026-11-12 SERVICE のオーダースーツの写真（S-153）は、トルソーの首元が入るよう上寄せ */
.service-home-card img[src*="S-153"] { object-position: center 12%; }
