/* 2026-10-11 トップv0.4。トップページ（body.top-v04）でのみ読み込む */
body.top-v04 { background: #141312; }
.v4 { background: #fff; color: #141312; font-family: "Zen Kaku Gothic New", sans-serif; font-size: 15px; line-height: 2.1; letter-spacing: .05em; }
.v4 img { max-width: 100%; }
.v4 a { color: inherit; text-decoration: none; transition: opacity .3s; }
.v4 a:hover { opacity: .72; }
.v4 p, .v4 h2, .v4 dl, .v4 dd, .v4 ol, .v4 ul, .v4 figure { margin: 0; }
/* テーマ全体の p / span 等の色・サイズ指定を打ち消す（:where で詳細度を上げすぎない） */
/* main.css の * { color:#303030 } が継承を断つため、v4配下は親の色を継承させる */
.v4 * { color: inherit; }
.v4 :where(p, span, h2, dt, dd, li, a, figcaption) { font-size: inherit; line-height: inherit; letter-spacing: inherit; }
.v4 ol, .v4 ul { list-style: none; padding: 0; }
.v4-en { font-family: "Josefin Sans", sans-serif; font-weight: 300; }
.v4-mc { font-family: "Shippori Mincho", serif; font-weight: 400; }
.v4-lbl { font-family: "Josefin Sans", sans-serif; font-weight: 300; font-size: 12px; letter-spacing: .32em; text-transform: uppercase; color: #8C877F; line-height: 1.6; }
.v4-lbl--light { color: #A8A39B; }
.v4-wrap { max-width: 1280px; margin: 0 auto; }
.v4-h2 { margin-top: 28px !important; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.9; letter-spacing: .1em; }
.v4-h2--l { font-size: clamp(24px, 2.6vw, 36px); }
.v4-note { font-size: 12px; line-height: 1.8; }
.v4-note--light { color: #A8A39B; }
.v4-link { display: inline-block; margin-top: 32px; font-size: 13px; letter-spacing: .12em; border-bottom: 1px solid #141312; padding-bottom: 6px; line-height: 1.6; }
.v4-link--light { margin-top: 0; border-bottom-color: rgba(255,255,255,.6); color: #fff !important; }

/* Hero */
/* 2026-10-11 トップの冒頭は画面の高さに収め、スクロールせずにキャッチまで見えるように（Miou指示） */
.v4-hero { position: relative; height: clamp(480px, 100vh, 920px); height: clamp(480px, 100svh, 920px); overflow: hidden; background: #141312; color: #fff; }
.v4-hero__slides, .v4-hero__slide, .v4-hero__slide img { position: absolute; inset: 0; width: 100%; height: 100%; }
.v4-hero__slide img { object-fit: cover; object-position: 50% 55%; transform: scale(1.08); transition: transform 9s linear; }
.v4-hero__slide { opacity: 0; transition: opacity 1.8s ease; }
.v4-hero__slide.is-active { opacity: 1; }
.v4-hero__slide.is-active img { transform: scale(1); }
.v4-hero__shade { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(20,19,18,.45) 0%, rgba(20,19,18,0) 22%, rgba(20,19,18,0) 42%, rgba(20,19,18,.72) 100%), linear-gradient(to right, rgba(20,19,18,.35) 0%, rgba(20,19,18,0) 55%); }
.v4-hero__body { position: absolute; left: clamp(20px,4vw,64px); right: clamp(20px,4vw,64px); bottom: clamp(40px,5vw,72px); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 32px; }
.v4-hero__body { color: #fff; text-shadow: 0 1px 24px rgba(0,0,0,.35); }
.v4-hero__catch { font-size: clamp(24px, 2.7vw, 42px); line-height: 1.65; letter-spacing: .16em; } /* 2026-10-11 車に掛からないよう小さく（Miou指摘） */
.v4-hero__tag { margin-top: 20px !important; font-size: 14px; letter-spacing: .36em; }
.v4-hero__nav { display: flex; align-items: center; gap: 20px; }
.v4-hero__count { font-size: 13px; letter-spacing: .2em; }
.v4-hero__bars { display: flex; }
.v4-hero__bar { width: 44px; height: 44px; padding: 0; background: transparent; border: 0; cursor: pointer; display: flex; align-items: center; }
.v4-hero__bar span { display: block; width: 36px; height: 1px; background: #fff; opacity: .35; transition: opacity .8s; }
.v4-hero__bar.is-active span { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .v4-hero__slide img { transition: none; transform: none; } }

/* Concept */
.v4-concept { padding: clamp(120px,14vw,220px) clamp(20px,4vw,64px) clamp(96px,10vw,160px); max-width: 880px; margin: 0 auto; text-align: center; }
.v4-vline { width: 1px; height: 64px; background: #C8BEBB; margin: 32px auto; }
.v4-concept__title { font-size: clamp(22px, 2.6vw, 36px); line-height: 2; letter-spacing: .12em; }
.v4-concept__text { margin: 48px auto 0 !important; max-width: 560px; color: #4A4642; }

/* Models */
.v4-models { background: #fff; color: #141312; padding: 0 clamp(20px,4vw,64px) clamp(120px,12vw,200px); }
.v4-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 64px; }
.v4-models__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 480px), 1fr)); gap: clamp(32px,4vw,64px); }
.v4-model { display: flex; flex-direction: column; gap: 28px; color: #141312 !important; }
.v4-model__img { overflow: hidden; }
.v4-model__img img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 50% 60%; transition: transform 1.2s ease; }
.v4-model:hover { opacity: 1 !important; }
.v4-model:hover .v4-model__img img { transform: scale(1.03); }
.v4-model__name { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; border-bottom: 1px solid #141312; padding-bottom: 20px; }
.v4-model__name .v4-en { font-size: clamp(34px, 3.4vw, 48px); font-weight: 200; letter-spacing: .12em; line-height: 1.2; }
.v4-model__copy { font-size: 18px; letter-spacing: .1em; line-height: 1.8; }
.v4-model__spec { font-size: 13px; color: #6B6660; letter-spacing: .08em; }

/* Garage First */
.v4-garage { background: #F2EBE9; padding: clamp(120px,12vw,200px) clamp(20px,4vw,64px); }
.v4-garage__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: clamp(48px,6vw,96px); align-items: end; }
.v4-garage .v4-lbl { color: #6B6660; }
.v4-garage__text { margin-top: 40px !important; color: #3D3A37; max-width: 460px; }
.v4-dims > div { display: flex; justify-content: space-between; align-items: baseline; gap: 24px; border-top: 1px solid #C8BEBB; padding: 24px 0; }
.v4-dims > div:first-child { border-top-color: #141312; }
.v4-dims > div:last-child { border-bottom: 1px solid #141312; }
.v4-dims dd { font-size: clamp(48px, 5.4vw, 80px); font-weight: 200; line-height: 1; }
.v4-dims dd span { font-size: 14px; margin-left: 8px; letter-spacing: .1em; }

/* Space */
/* 2026-10-11 ガレージと居室：見出しを先に、写真3枚を隙間の細い1枚の面に（主写真が2段分、右に2枚） */
.v4-space { padding: clamp(120px,12vw,200px) clamp(20px,4vw,64px); }
.v4-space__head { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,420px); gap: 48px; align-items: end; margin-bottom: clamp(40px,5vw,72px); }
.v4-space__head p:not(.v4-lbl) { color: #4A4642; line-height: 2; }
.v4-space__grid { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); grid-template-rows: repeat(2, minmax(0,1fr)); gap: 12px; }
.v4-space__fig { position: relative; margin: 0; overflow: hidden; min-height: 0; background: #E9E3DF; }
.v4-space__fig--main { grid-row: 1 / span 2; aspect-ratio: 3/2; }
.v4-space__fig img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s cubic-bezier(.2,.6,.2,1); }
.v4-space__fig:hover img { transform: scale(1.025); }
.v4-space__fig::after { content: ""; position: absolute; inset: auto 0 0 0; height: 38%; background: linear-gradient(to top, rgba(20,19,18,.42), rgba(20,19,18,0)); pointer-events: none; }
.v4-space__fig figcaption { position: absolute; left: 18px; bottom: 14px; z-index: 1; margin: 0; color: #fff !important; font-size: 11px; letter-spacing: .32em; text-transform: uppercase; }
@media (max-width: 767px) {
  .v4-space__head { grid-template-columns: 1fr; gap: 20px; }
  .v4-space__grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; gap: 8px; }
  .v4-space__fig--main { grid-column: 1 / span 2; grid-row: auto; }
  .v4-space__fig:not(.v4-space__fig--main) { aspect-ratio: 4/5; }
  .v4-space__fig figcaption { left: 12px; bottom: 10px; font-size: 10px; letter-spacing: .24em; }
}

/* Message */
.v4-message { background: #141312; color: #fff; padding: clamp(120px,12vw,200px) clamp(20px,4vw,64px); }
.v4-message__inner { max-width: 1120px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: clamp(48px,7vw,112px); align-items: flex-end; }
.v4-message__body { flex: 3 1 520px; min-width: 0; }
.v4-message__title { margin-top: 40px !important; font-size: clamp(24px, 2.8vw, 40px); line-height: 1.9; letter-spacing: .1em; }
.v4-message__text { margin-top: 48px !important; color: #C9C4BD; max-width: 600px; }
.v4-message__sign { margin-top: 56px; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; border-top: 1px solid rgba(255,255,255,.25); padding-top: 24px; }
.v4-message__role { font-size: 12px; color: #A8A39B; letter-spacing: .12em; line-height: 1.6; }
.v4-message__name { margin-top: 8px !important; font-size: 22px; letter-spacing: .24em; line-height: 1.6; }
.v4-message__photo { flex: 1 1 240px; max-width: 300px; min-width: 0; }
.v4-message__photo img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 46% 30%; filter: grayscale(1) contrast(1.12) brightness(.92); }

/* Flow / Journal */
.v4-flow { padding: clamp(100px,10vw,160px) clamp(20px,4vw,64px); }
.v4-journal { background: #F2EBE9; padding: clamp(100px,10vw,160px) clamp(20px,4vw,64px); }
.v4-split { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: clamp(48px,6vw,96px); }
.v4-flow__note { margin-top: 24px !important; color: #4A4642; font-size: 14px; }
.v4-list { border-top: 1px solid #141312; }
.v4-list li { display: flex; gap: 32px; align-items: baseline; padding: 20px 0; border-bottom: 1px solid #D6CDCA; }
.v4-list li:last-child { border-bottom-color: #141312; }
.v4-list li > .v4-en { font-size: 13px; letter-spacing: .2em; color: #8C877F; flex: 0 0 32px; }
.v4-list--news li { padding: 0; border-bottom-color: #C8BEBB; }
.v4-list--news a { display: flex; gap: 32px; padding: 22px 0; width: 100%; }
.v4-list--news .v4-en { flex: 0 0 96px; font-size: 13px; letter-spacing: .12em; color: #6B6660; }

/* Contact */
.v4-contact { position: relative; color: #fff; overflow: hidden; }
.v4-contact__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.v4-contact__shade { position: absolute; inset: 0; background: rgba(20,19,18,.72); }
.v4-contact__body { position: relative; padding: clamp(120px,12vw,200px) clamp(20px,4vw,64px); max-width: 880px; margin: 0 auto; text-align: center; }
.v4-contact .v4-lbl { color: #D8D3CC; }
.v4-contact__title { margin-top: 32px !important; font-size: clamp(22px, 2.6vw, 36px); letter-spacing: .12em; line-height: 1.8; }
.v4-contact__text { margin-top: 24px !important; color: #D8D3CC; font-size: 14px; }
.v4-contact__btns { display: flex; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 56px; }
.v4-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 18px 48px; font-size: 14px; letter-spacing: .16em; border: 1px solid rgba(255,255,255,.7); color: #fff !important; line-height: 1.4; }
.v4-btn--fill { background: #F2EBE9; color: #141312 !important; border-color: #F2EBE9; }


/* ===== 下層ページ共通（2026-10-11） ===== */
.v4-hero--page { height: clamp(560px, 56vw, 820px); }
.v4-hero__name { font-size: clamp(48px, 7vw, 104px); font-weight: 200; letter-spacing: .1em; line-height: 1.1; margin-top: 16px !important; }
.v4-hero__sub { margin-top: 20px !important; font-size: clamp(16px, 1.6vw, 22px); letter-spacing: .12em; line-height: 1.8; }
.v4-hero__bar--text { width: auto; padding: 0 14px; font-size: 13px; letter-spacing: .12em; color: rgba(255,255,255,.55) !important; border-bottom: 1px solid transparent; font-family: "Zen Kaku Gothic New", sans-serif; }
.v4-hero__bar--text.is-active { color: #fff !important; border-bottom-color: #fff; }

.v4-intro { padding: clamp(100px,12vw,180px) clamp(20px,4vw,64px) clamp(100px,10vw,160px); }
.v4-intro__title { margin-top: 0 !important; font-size: clamp(22px, 2.4vw, 32px); }
.v4-intro__text { color: #4A4642; }
.v4-intro__text p + p { margin-top: 1.4em !important; }
.v4-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); border-top: 1px solid #141312; border-bottom: 1px solid #141312; margin-top: clamp(64px,8vw,112px) !important; }
.v4-facts > div { padding: 32px 24px; border-right: 1px solid #D6CDCA; }
.v4-facts > div:last-child { border-right: 0; }
.v4-facts dd { margin-top: 12px !important; font-size: clamp(32px, 3vw, 44px); font-weight: 200; line-height: 1.1; }
.v4-facts dd span { font-size: 13px; margin-left: 6px; letter-spacing: .08em; font-family: "Zen Kaku Gothic New", sans-serif; }

.v4-plan { background: #F2EBE9; padding: clamp(100px,10vw,160px) clamp(20px,4vw,64px); }
.v4-plan .v4-lbl { color: #6B6660; }
.v4-plan__floors { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 460px), 1fr)); gap: 32px; background: #fff; padding: clamp(24px,4vw,56px); }
.v4-plan__floors--3 { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); }
.v4-plan__floors img { display: block; width: 100%; height: auto; }
.v4-plan figcaption { margin-top: 16px; font-size: 13px; color: #3D3A37; display: flex; gap: 16px; align-items: baseline; }
.v4-plan figcaption .v4-en { font-size: 22px; letter-spacing: .1em; }
.v4-plan__lower { margin-top: 64px; align-items: start; }
.v4-plan__section img { display: block; width: 100%; height: auto; background: #fff; }
.v4-spec { border-top: 1px solid #141312; font-size: 14px; }
.v4-spec > div { display: flex; gap: 24px; padding: 14px 0; border-bottom: 1px solid #C8BEBB; }
.v4-spec > div:last-child { border-bottom-color: #141312; }
.v4-spec dt { flex: 0 0 104px; color: #6B6660; }
.v4-spec small { font-size: 12px; color: #6B6660; }

.v4-grade { padding: clamp(120px,12vw,200px) clamp(20px,4vw,64px); }
.v4-grade__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: clamp(32px,3vw,48px); }
.v4-grade__item { display: flex; flex-direction: column; gap: 18px; }
.v4-grade__item:hover { opacity: 1 !important; }
.v4-grade__img { overflow: hidden; }
.v4-grade__img img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform 1.2s ease; }
.v4-grade__item:hover .v4-grade__img img { transform: scale(1.03); }
.v4-grade__name { display: flex; justify-content: space-between; align-items: baseline; border-bottom: 1px solid #141312; padding-bottom: 12px; font-size: 15px; }
.v4-grade__name .v4-en { font-size: 30px; font-weight: 200; letter-spacing: .1em; }
.v4-grade__copy { font-size: 16px; letter-spacing: .08em; line-height: 1.8; }
.v4-grade__text { font-size: 14px; color: #4A4642; line-height: 2; }
.v4-grade__more { font-size: 13px; letter-spacing: .12em; border-bottom: 1px solid #141312; padding-bottom: 4px; align-self: flex-start; margin-top: 4px; }
.v4-grade__item.is-soon .v4-grade__img img { filter: grayscale(.35); }
.v4-grade__soon { font-family: "Josefin Sans", sans-serif; font-size: 12px; letter-spacing: .28em; text-transform: uppercase; color: #8C877F; margin-top: 4px; }
.v4-grade__links { display: flex; flex-wrap: wrap; gap: 16px 48px; margin-top: 56px; }

.v4-faq { background: #F2EBE9; padding: clamp(100px,10vw,160px) clamp(20px,4vw,64px); }
.v4-faq__inner { max-width: 880px; margin: 0 auto; }
.v4-faq__head { margin-bottom: 48px; }
.v4-faq .v4-lbl { color: #6B6660; }
.v4-faq__item { border-top: 1px solid #C8BEBB; }
.v4-faq__item:first-of-type { border-top-color: #141312; }
.v4-faq__item:last-of-type { border-bottom: 1px solid #141312; }
.v4-faq__item summary { display: flex; gap: 24px; align-items: baseline; padding: 22px 40px 22px 0; cursor: pointer; list-style: none; position: relative; min-height: 44px; font-size: 15px; }
.v4-faq__item summary::-webkit-details-marker { display: none; }
.v4-faq__item summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 9px; height: 9px; border-right: 1px solid #141312; border-bottom: 1px solid #141312; transform: translateY(-70%) rotate(45deg); transition: transform .3s; }
.v4-faq__item[open] summary::after { transform: translateY(-30%) rotate(225deg); }
.v4-faq__item summary .v4-en { font-size: 18px; color: #8C877F; }
.v4-faq__item > p { padding: 0 0 24px 40px; color: #3D3A37; font-size: 14px; }
.v4-faq__item > p a { border-bottom: 1px solid #141312; }

/* モデルページの冒頭：名前が先、写真が後（2026-10-11） */
.v4-phead { padding-top: 80px; background: #fff; }
.v4-phead__top { padding: clamp(64px,8vw,120px) clamp(20px,4vw,64px) clamp(40px,5vw,64px); max-width: 1280px; box-sizing: content-box; }
.v4-phead__name { margin-top: 20px !important; font-size: clamp(40px, 5.6vw, 88px); font-weight: 200; letter-spacing: .16em; line-height: 1.1; }
/* 開いた時だけの動き：1文字ずつ下からせり上がり、字間が締まる。続いて罫線が左から伸び、サブコピーが現れる（1回のみ） */
.v4-phead__name .ch { display: inline-block; overflow: hidden; vertical-align: bottom; padding-bottom: .14em; margin-bottom: -.14em; }
.v4-phead__name .ch > span { display: inline-block; transform: translateY(105%); opacity: 0; animation: v4ChUp 1.1s cubic-bezier(.2,.7,.1,1) forwards; animation-delay: calc(.25s + var(--i) * .07s); }
.v4-phead__name { animation: v4Track 1.8s cubic-bezier(.2,.7,.1,1) .2s both; }
@keyframes v4ChUp { to { transform: none; opacity: 1; } }
@keyframes v4Track { from { letter-spacing: .32em; } to { letter-spacing: .16em; } }
.v4-phead__top > .v4-lbl, .v4-phead__sub, .v4-phead__spec { animation: v4Fade 1s ease 1.1s both; }
.v4-phead__top > .v4-lbl { animation-delay: .1s; }
.v4-phead__spec { animation-delay: 1.3s; }
@keyframes v4Fade { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.v4-phead__row::before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 1px; background: #141312; transform-origin: left; transform: scaleX(0); animation: v4Line 1.2s cubic-bezier(.6,0,.2,1) .8s forwards; }
@keyframes v4Line { to { transform: scaleX(1); } }
@media (prefers-reduced-motion: reduce) {
  .v4-phead__name, .v4-phead__name .ch > span, .v4-phead__top > .v4-lbl, .v4-phead__sub, .v4-phead__spec, .v4-phead__row::before { animation: none; opacity: 1; transform: none; }
}
.v4-phead__row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 16px 48px; margin-top: 32px; padding-top: 20px; position: relative; }
.v4-phead__sub { font-size: clamp(16px, 1.6vw, 22px); letter-spacing: .1em; line-height: 1.8; }
.v4-phead__spec { font-size: 13px; color: #6B6660; letter-spacing: .08em; }
.v4-hero--band { height: auto; overflow: visible; background: transparent; color: #141312; padding: 0 clamp(20px,4vw,64px); }
.v4-hero--band .v4-hero__frame { position: relative; height: clamp(420px, 48vw, 760px); overflow: hidden; background: #EDE7E4; }
.v4-phead__tabs { display: flex; gap: 8px; max-width: 1280px; margin: 0 auto; padding-top: 12px; }
.v4-hero--band .v4-hero__bar--text { color: #8C877F !important; border-bottom: 1px solid transparent; padding: 0 4px; margin-right: 16px; }
.v4-hero--band .v4-hero__bar--text.is-active { color: #141312 !important; border-bottom-color: #141312; }

/* Footer（v4ページは黒） */
body.top-v04 footer { background: #141312; padding-top: 96px !important; }
body.top-v04 footer .footer_inner_upper { background: transparent !important; }
body.top-v04 footer .footer_inner_upper a, body.top-v04 footer .footer_inner_upper .black01 { color: #C9C4BD !important; }
body.top-v04 .footer_inner_lower { background: #141312; border-top: 1px solid rgba(255,255,255,.12); }

@media (max-width: 767px) {
  .v4 { font-size: 14px; }
  .v4-hero { height: 92vh; min-height: 560px; }
  .v4-hero__nav { width: 100%; justify-content: space-between; }
  .v4-list--news a { flex-direction: column; gap: 4px; }
}

/* ===== 下層ページ追加分（About・Function・グレード・News・記事・ポリシー・お問い合わせ、2026-10-11） ===== */
.v4-phead--plain .v4-phead__top { padding-bottom: clamp(56px,6vw,96px); }
.v4-hero--band-s .v4-hero__frame { height: clamp(300px, 34vw, 540px); }
.v4-sec { padding: clamp(100px,10vw,160px) clamp(20px,4vw,64px); }
.v4-sec--cream { background: #F2EBE9; }
.v4-sec--cream .v4-lbl { color: #6B6660; }
.v4-sec--tight { padding-top: clamp(64px,6vw,96px); }
.v4-intro--short { padding-bottom: clamp(48px,5vw,80px); }
.v4-body { color: #4A4642; }
.v4-body p + p { margin-top: 1.4em !important; }
.v4-h2 + .v4-body, .v4-h3 + .v4-body { margin-top: 32px; }
.v4-h3 { margin-top: 20px !important; font-size: clamp(20px, 1.9vw, 26px); line-height: 1.8; letter-spacing: .1em; }
.v4-sec__lead { margin-top: 32px !important; max-width: 460px; }
.v4-sec__note { margin-top: 20px !important; color: #6B6660; }
.v4-sec__links { display: flex; flex-wrap: wrap; gap: 0 40px; }
.v4-spec--wide dt { flex-basis: 168px; }
.v4-feature { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: clamp(40px,6vw,96px); align-items: center; }
.v4-feature__img img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
@media (min-width: 960px) { .v4-feature--rev .v4-feature__img { order: 2; } }
.v4-stack { display: flex; flex-direction: column; gap: clamp(80px,9vw,140px); }
.v4-tags { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #141312; border-left: 1px solid #C8BEBB; }
.v4-tags li { padding: 28px 8px; text-align: center; font-size: 16px; letter-spacing: .12em; border-right: 1px solid #C8BEBB; border-bottom: 1px solid #C8BEBB; background: rgba(255,255,255,.5); }
.v4-sec__aside { align-self: end; }

/* Function：工期と流れ */
.v4-term { display: flex; align-items: flex-end; gap: 32px; }
.v4-term dl { display: flex; gap: 32px; }
.v4-term dd { font-size: 13px; }
.v4-term dd .v4-en { font-size: 40px; font-weight: 200; margin-right: 6px; line-height: 1.1; }
.v4-term .v4-note { color: #6B6660; padding-bottom: 8px; }
.v4-steps { border-top: 1px solid #141312; counter-reset: none; }
.v4-steps li { display: grid; grid-template-columns: 80px minmax(0, 320px) minmax(0, 1fr); gap: 8px 40px; padding: 36px 0; border-bottom: 1px solid #C8BEBB; align-items: baseline; }
.v4-steps li:last-child { border-bottom-color: #141312; }
.v4-steps__no { font-size: 28px; font-weight: 200; color: #8C877F; letter-spacing: .1em; }
.v4-steps h3 { font-size: 18px; letter-spacing: .1em; line-height: 1.8; }
.v4-steps p { grid-column: 3; color: #3D3A37; font-size: 14px; }
.v4-steps p + p { margin-top: 8px !important; }
.v4-steps .v4-link { margin: 8px 32px 0 0; }

/* グレード詳細 */
.v4-wall picture img { display: block; width: 100%; height: auto; }
.v4-gspec { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: clamp(40px,5vw,80px); align-items: start; }
@media (min-width: 960px) { .v4-gspec--rev .v4-gspec__imgs { order: 2; } }
.v4-gspec__imgs { display: grid; gap: 16px; }
.v4-gspec__imgs--2, .v4-gspec__imgs--3 { grid-template-columns: 1fr 1fr; }
.v4-gspec__imgs--3 figure:first-child { grid-column: 1 / -1; }
.v4-gspec__imgs img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.v4-gspec__imgs--1 img { aspect-ratio: 3/2; }
.v4-gspec__dl { margin-top: 16px !important; border-top: 1px solid #141312; }
.v4-gspec__dl > div { display: flex; gap: 24px; padding: 18px 0; border-bottom: 1px solid #C8BEBB; }
.v4-gspec__dl > div:last-child { border-bottom-color: #141312; }
.v4-gspec__dl dt { flex: 0 0 88px; font-size: 13px; letter-spacing: .14em; color: #6B6660; padding-top: 2px; }
.v4-gspec__dl li { font-size: 14px; line-height: 2; }
.v4-gspec__note { margin-top: 12px !important; color: #6B6660; }
.v4-gspec__optlbl { margin-top: 32px !important; }
.v4-gspec__panel .v4-spec { margin-top: 16px; }
.v4-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px !important; }
.v4-chips li { font-size: 13px; padding: 6px 14px; border: 1px solid #C8BEBB; letter-spacing: .06em; line-height: 1.6; }
.v4-wet { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 24px; }
.v4-wet img { display: block; width: 100%; aspect-ratio: 3/4; object-fit: cover; }
.v4-wet figcaption { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; border-bottom: 1px solid #141312; padding: 14px 0 10px; font-size: 13px; }
.v4-wet figcaption .v4-en { font-size: 20px; letter-spacing: .08em; }
.v4-gnav { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); border-top: 1px solid #141312; }
.v4-gnav li > * { display: flex; justify-content: space-between; align-items: baseline; padding: 24px 4px; border-bottom: 1px solid #141312; margin-right: 24px; }
.v4-gnav .v4-en { font-size: 30px; font-weight: 200; letter-spacing: .1em; }
.v4-gnav__price { font-size: 13px; color: #6B6660; }
.v4-gnav .is-current .v4-en { color: #8C877F; }
.v4-gnav .is-soon .v4-en { color: #A8A39B; }

/* News 一覧 */
.v4-catnav { display: flex; flex-wrap: wrap; gap: 8px 32px; border-bottom: 1px solid #C8BEBB; padding-bottom: 16px; margin-bottom: clamp(48px,5vw,72px) !important; font-size: 13px; letter-spacing: .1em; }
.v4-catnav a { display: inline-block; padding: 8px 0; }
.v4-catnav a[aria-current] { border-bottom: 1px solid #141312; }
.v4-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr)); gap: 56px clamp(24px,3vw,40px); }
.v4-card { display: flex; flex-direction: column; gap: 14px; }
.v4-card:hover { opacity: 1 !important; }
.v4-card__img { overflow: hidden; background: #EDE7E4; aspect-ratio: 16/10; display: flex; align-items: center; justify-content: center; }
.v4-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.v4-card:hover .v4-card__img img { transform: scale(1.03); }
.v4-card__noimg { font-size: 18px; letter-spacing: .4em; color: #A8A39B; }
.v4-card__meta { display: flex; gap: 16px; font-size: 12px; color: #6B6660; letter-spacing: .08em; }
.v4-card__title { font-size: 16px; line-height: 1.8; letter-spacing: .06em; font-weight: 400; }
.v4-pager { margin-top: 72px; display: flex; justify-content: center; gap: 8px; font-size: 13px; }
.v4-pager .page-numbers { display: inline-flex; min-width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0 8px; }
.v4-pager .current { border-bottom: 1px solid #141312; }

/* 記事ページ */
.v4-post article { padding: calc(80px + clamp(64px,8vw,120px)) clamp(20px,4vw,64px) clamp(80px,8vw,120px); }
.v4-post__head, .v4-post__body, .v4-post__nav { max-width: 760px; margin: 0 auto; }
.v4-post__meta { display: flex; gap: 20px; font-size: 13px; color: #6B6660; letter-spacing: .1em; }
.v4-post__meta a { border-bottom: 1px solid #C8BEBB; }
.v4-post__title { margin-top: 20px; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.7; letter-spacing: .08em; font-weight: 400; padding-bottom: 40px; border-bottom: 1px solid #141312; }
.v4-post__body { margin-top: 56px; font-size: 16px; line-height: 2.1; color: #2B2926; }
.v4-post .news_s_box_txt p { margin: 0 0 1.6em !important; }
.v4-post .news_s_box_txt p::after { content: none; }
.v4-post .news_s_box_txt h2 { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 24px; line-height: 1.7; letter-spacing: .08em; margin: 2.6em 0 1.2em !important; padding-bottom: 14px; border-bottom: 1px solid #141312; background: none; color: #141312; }
.v4-post .news_s_box_txt h3 { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 20px; line-height: 1.7; letter-spacing: .06em; margin: 2.2em 0 1em !important; padding-left: 14px; border-left: 1px solid #141312; background: none; color: #141312; }
.v4-post .news_s_box_txt h4 { font-size: 17px; font-weight: 500; margin: 2em 0 .8em !important; }
.v4-post .news_s_box_txt img { max-width: 100%; height: auto; }
.v4-post .news_s_box_txt figure { margin: 2em 0 !important; }
.v4-post .news_s_box_txt ul, .v4-post .news_s_box_txt ol { margin: 0 0 1.6em 1.4em !important; padding: 0; }
.v4-post .news_s_box_txt ul { list-style: disc; }
.v4-post .news_s_box_txt ol { list-style: decimal; }
.v4-post .news_s_box_txt a { border-bottom: 1px solid #141312; }
.v4-post .news_s_box_txt table { width: 100%; border-collapse: collapse; font-size: 14px; margin: 2em 0; }
.v4-post .news_s_box_txt th, .v4-post .news_s_box_txt td { border-bottom: 1px solid #C8BEBB; padding: 12px 8px; text-align: left; vertical-align: top; }
.v4-post__nav { margin-top: 80px; padding-top: 32px; border-top: 1px solid #141312; display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; font-size: 13px; }
.v4-post__nav .v4-link { margin-top: 0; }
.v4-post__nav a:not(.v4-link) { display: flex; flex-direction: column; gap: 6px; line-height: 1.7; }
.v4-post__next { text-align: right; }

/* ポリシー（本文の文言は旧版のまま） */
.v4-doc { max-width: 820px; margin: 0 auto; font-size: 14px; color: #3D3A37; }
.v4-doc h4 { font-family: "Shippori Mincho", serif; font-weight: 400; font-size: 22px; line-height: 1.8; letter-spacing: .08em; color: #141312; padding-bottom: 24px; border-bottom: 1px solid #141312; margin-bottom: 24px; }
.v4-doc h5 { font-size: 16px; font-weight: 500; letter-spacing: .06em; color: #141312; margin: 56px 0 16px; padding-bottom: 10px; border-bottom: 1px solid #C8BEBB; }
.v4-doc p + p { margin-top: 1em !important; }
.v4-doc ul, .v4-doc ol { margin: 12px 0 0 !important; padding-left: 1.4em !important; }
.v4-doc ul { list-style: disc; }
.v4-doc ol { list-style: decimal; }
.v4-doc a { border-bottom: 1px solid #141312; }

/* お問い合わせ */
.v4-ways { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 24px; }
.v4-way { display: flex; flex-direction: column; padding: clamp(32px,4vw,56px); border: 1px solid #C8BEBB; }
.v4-way .v4-body { margin-top: 28px; flex: 1; }
.v4-way .v4-btn { margin-top: 40px; align-self: flex-start; }
.v4-btn--dark { background: #141312; border-color: #141312; color: #fff !important; }
.v4-btn--line { border-color: #141312; color: #141312 !important; }
.v4-ways__note { margin-top: 32px !important; color: #6B6660; }
.v4-ways__note a { border-bottom: 1px solid #6B6660; }

@media (max-width: 959px) {
  .v4-gspec { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .v4-tags { grid-template-columns: repeat(2, 1fr); }
  .v4-steps li { grid-template-columns: 56px 1fr; }
  .v4-steps p { grid-column: 2; }
  .v4-spec > div, .v4-gspec__dl > div { flex-direction: column; gap: 4px; }
  .v4-spec dt, .v4-gspec__dl dt { flex-basis: auto; }
  .v4-term { flex-wrap: wrap; gap: 8px 24px; }
  .v4-post__nav { grid-template-columns: 1fr 1fr; }
  .v4-post__nav .v4-link { grid-column: 1 / -1; grid-row: 2; justify-self: center; }
}

/* グレード詳細：冒頭の縦長画像を3枚並べる（2026-10-11） */
.v4-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; max-width: 1280px; margin: 0 auto; padding: 0 clamp(20px,4vw,64px); box-sizing: content-box; }
.v4-strip img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; }
@media (max-width: 767px) {
  .v4-strip { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; }
  .v4-strip figure { flex: 0 0 78%; scroll-snap-align: start; }
}

/* ===== 冒頭の3つの型（2026-10-11 Miou決定） ===== */
/* 読み物：明朝の一文が主役。名前は小さな英字ラベル。一文だけがゆっくり現れる */
.v4-phead--editorial .v4-phead__title { margin-top: 28px !important; font-size: clamp(30px, 4vw, 60px); line-height: 1.6; letter-spacing: .12em; animation: v4Rise 1.6s cubic-bezier(.2,.7,.1,1) .2s both; }
.v4-phead__lead { margin-top: 32px !important; max-width: 560px; color: #4A4642; animation: v4Fade 1.2s ease .9s both; }
.v4-phead--editorial .v4-phead__row { margin-top: 48px; }
.v4-phead--editorial .v4-phead__sub { font-size: 14px; letter-spacing: .1em; color: #3D3A37; }
@keyframes v4Rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
/* 手続き：小さな見出しだけ。動きなし */
.v4-phead--quiet .v4-phead__top { padding-top: clamp(56px,6vw,88px); padding-bottom: clamp(40px,4vw,64px); }
.v4-phead__qname { margin-top: 16px !important; font-size: clamp(28px, 2.8vw, 40px); font-weight: 200; letter-spacing: .14em; line-height: 1.3; }
.v4-phead--quiet .v4-phead__row { margin-top: 24px; padding-top: 16px; border-top: 1px solid #C8BEBB; }
.v4-phead--quiet .v4-phead__row::before { content: none; }
.v4-phead--quiet .v4-phead__sub { font-size: 15px; }
.v4-phead--quiet .v4-lbl, .v4-phead--quiet .v4-phead__sub, .v4-phead--quiet .v4-phead__spec { animation: none; }
/* About：代表を冒頭に */
.v4-founder .v4-phead__top { display: none; }
.v4-founder__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(40px,6vw,112px); align-items: end; padding: clamp(56px,6vw,96px) clamp(20px,4vw,64px) clamp(96px,10vw,160px); max-width: 1280px; box-sizing: content-box; }
.v4-founder__photo img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; object-position: 46% 30%; filter: grayscale(1) contrast(1.1) brightness(.95); animation: v4Fade 1.6s ease .1s both; }
.v4-founder__title { font-size: clamp(28px, 3.4vw, 50px) !important; }
.v4-founder__text { margin-top: 40px; color: #3D3A37; max-width: 520px; animation: v4Fade 1.2s ease 1s both; }
.v4-founder__text p + p { margin-top: 1.4em !important; }
.v4-founder__sign { margin-top: 48px; padding-top: 20px; border-top: 1px solid #141312; max-width: 520px; animation: v4Fade 1.2s ease 1.2s both; }
.v4-founder__name { margin-top: 6px !important; font-size: 20px; letter-spacing: .24em; line-height: 1.6; }
@media (max-width: 767px) {
  .v4-founder__grid { grid-template-columns: 1fr; }
  .v4-founder__photo { max-width: 360px; }
}
@media (prefers-reduced-motion: reduce) {
  .v4-phead--editorial .v4-phead__title, .v4-phead__lead, .v4-founder__photo img, .v4-founder__text, .v4-founder__sign { animation: none; }
}
.v4-phead--quiet + .v4-sec { padding-top: clamp(24px,3vw,40px); }

/* About：代表の写真を小さく、文章を主役に（2026-10-11 Miou指示） */
.v4-founder__grid { grid-template-columns: minmax(0, 1fr) clamp(180px, 18vw, 260px); align-items: end; }
.v4-founder__photo { order: 2; }
.v4-founder__body { order: 1; }
@media (max-width: 767px) {
  .v4-founder__grid { grid-template-columns: 1fr; }
  .v4-founder__photo { order: 2; max-width: 200px; }
}

/* ヘッダー：価格と打合せ予約を常に表示（2026-10-11 Miou了承） */
.v4-hcta { display: flex; align-items: center; gap: 20px; font-family: "Josefin Sans", "Zen Kaku Gothic New", sans-serif; }
.v4-hcta__price { display: flex; align-items: baseline; gap: 8px; font-size: 14px; letter-spacing: .06em; line-height: 1.3; margin: 0; white-space: nowrap; }
.v4-hcta__model { font-size: 11px; letter-spacing: .16em; opacity: .7; }
.v4-hcta__tax { font-size: 10px; letter-spacing: .04em; opacity: .7; }
.v4-hcta__link { font-size: 14px; letter-spacing: .1em; border-bottom: 1px solid currentColor; padding-bottom: 2px; white-space: nowrap; }
.v4-hcta__btn { display: inline-flex; align-items: center; min-height: 44px; padding: 0 22px; background: #141312; color: #fff !important; font-size: 13px; letter-spacing: .12em; white-space: nowrap; font-family: "Zen Kaku Gothic New", sans-serif; }
.v4-hcta__btn:hover { opacity: .8; }
body.home-overlay:not(.scrolled) .v4-hcta__btn { background: #F2EBE9; color: #141312 !important; }
@media (max-width: 1199px) { .v4-hcta__tax, .v4-hcta__model { display: none; } }
@media (max-width: 1023px) { .v4-hcta__price { display: none; } }
.v4-hcta__price span { color: inherit; }

/* About：代表の章のバランス調整（2026-10-11 Miou指摘「バランスが悪い」）。文章と写真を中央に寄せ、ひとかたまりで見せる */
.v4-founder__grid { grid-template-columns: minmax(0, 600px) clamp(200px, 17vw, 250px); justify-content: center; column-gap: clamp(56px, 7vw, 120px); align-items: end; max-width: 1080px; margin: 0 auto; }
.v4-founder__title { font-size: clamp(26px, 2.8vw, 40px) !important; line-height: 1.75 !important; letter-spacing: .14em !important; }
.v4-founder__text, .v4-founder__sign { max-width: none; }
.v4-founder__photo img { aspect-ratio: 3/4; }
.v4-founder__photo figcaption { margin-top: 12px; }
@media (max-width: 767px) {
  .v4-founder__grid { grid-template-columns: 1fr; }
  .v4-founder__photo { max-width: 200px; }
}

/* ===== ChatGPT評価を受けた調整（2026-10-11） ===== */
/* 長めの一文は明朝をやめ、読みやすいゴシックに（見出しの短い一文は明朝のまま） */
.v4-phead:not(.v4-phead--editorial):not(.v4-phead--quiet) .v4-phead__sub, .v4-model__copy, .v4-grade__copy { font-family: "Zen Kaku Gothic New", sans-serif; font-weight: 500; letter-spacing: .08em; }
.v4-phead:not(.v4-phead--editorial):not(.v4-phead--quiet) .v4-phead__sub { font-size: clamp(15px, 1.3vw, 18px); }
.v4-model__copy { font-size: 16px; }
.v4-grade__copy { font-size: 15px; }
/* 寸法の意味を明記 */
.v4-dims dt { display: flex; flex-direction: column; gap: 4px; }
.v4-dims__ja { font-size: 12px; letter-spacing: .08em; color: #3D3A37; }
/* 余白を詰める（読み物・手続きの冒頭） */
.v4-phead--editorial .v4-phead__top { padding-top: clamp(48px,5vw,80px); padding-bottom: clamp(32px,4vw,56px); }
.v4-phead--quiet .v4-phead__top { padding-top: clamp(32px,4vw,56px); padding-bottom: clamp(24px,3vw,40px); }
.v4-way { padding: clamp(28px,3vw,44px); }
.v4-way .v4-body { margin-top: 20px; }
.v4-way .v4-btn { margin-top: 28px; }
/* 冒頭の動きは初回表示だけ */
html.v4-seen .v4-phead *, html.v4-seen .v4-phead *::before, html.v4-seen .v4-phead { animation: none !important; }
html.v4-seen .v4-phead .ch > span, html.v4-seen .v4-phead__row::before { opacity: 1 !important; transform: none !important; }
.v4-dims__ja { white-space: nowrap; } .v4-dims > div { gap: 32px; }

/* Function & Flow：性能の3項目を横に並べる（2026-10-11） */
.v4-perf__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 3vw, 48px); border-top: 1px solid #141312; padding-top: clamp(32px, 3vw, 48px) !important; }
.v4-perf__item { display: flex; flex-direction: column; }
.v4-perf__img { overflow: hidden; }
.v4-perf__img img { display: block; width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: saturate(.85); transition: transform 1.2s ease; }
.v4-perf__item:hover .v4-perf__img img { transform: scale(1.03); }
.v4-perf__head { display: flex; align-items: baseline; gap: 14px; margin-top: 28px !important; }
.v4-perf__no { font-size: 13px; letter-spacing: .2em; color: #8C877F; }
.v4-perf__fact { margin-top: 14px !important; font-size: clamp(22px, 2vw, 28px); letter-spacing: .08em; line-height: 1.4; padding-bottom: 18px; border-bottom: 1px solid #C8BEBB; }
.v4-perf__fact .v4-en { font-size: 1.5em; font-weight: 200; margin-left: 4px; line-height: 1; }
.v4-perf__x { margin: 0 4px; color: #8C877F; }
.v4-perf__opt { font-size: 12px; letter-spacing: .1em; color: #6B6660; margin-left: 10px; border: 1px solid #C8BEBB; padding: 2px 8px; vertical-align: middle; }
.v4-perf__title { margin-top: 20px !important; font-size: 16px; font-weight: 500; letter-spacing: .08em; line-height: 1.7; }
.v4-perf__text { margin-top: 10px !important; font-size: 14px; color: #4A4642; line-height: 2; }
@media (max-width: 959px) {
  .v4-perf__grid { grid-template-columns: 1fr; gap: 56px; }
  .v4-perf__img img { aspect-ratio: 16/10; }
}

/* 2026-10-11 外壁の色見本チップ */
.v4-swatch { display: flex; flex-direction: column; align-items: center; gap: 22px; margin-top: 8px; }
.v4-swatch__row { display: flex; flex-wrap: wrap; justify-content: center; gap: clamp(16px, 2.4vw, 36px); }
.v4-swatch__chip { margin: 0; width: clamp(92px, 9vw, 124px); }
.v4-swatch__chip img { display: block; width: 100%; aspect-ratio: 3/2; object-fit: cover; box-shadow: 0 0 0 1px rgba(20,19,18,.10); }
.v4-swatch__chip figcaption { margin-top: 10px; font-size: 12px; letter-spacing: .1em; line-height: 1.5; text-align: center; color: #141312; }
.v4-swatch__amp { margin: 0 !important; font-size: 16px; line-height: 1; color: #6B6660; }
/* 2026-10-11 インテリア：写真を全幅で大きく、仕様は下 */
.v4-gshow .v4-gspec__imgs { display: grid; gap: 16px; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); grid-auto-rows: clamp(280px, 36vw, 560px); }
.v4-gshow .v4-gspec__imgs--1 { grid-template-columns: 1fr; }
.v4-gshow .v4-gspec__imgs--3 { grid-auto-rows: clamp(140px, 18vw, 280px); }
.v4-gshow .v4-gspec__imgs--3 figure:first-child { grid-column: auto; grid-row: span 2; }
.v4-gshow .v4-gspec__imgs figure { margin: 0; min-height: 0; }
.v4-gshow .v4-gspec__imgs img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.v4-gshow .v4-gspec__panel { margin-top: clamp(40px, 5vw, 64px); }
.v4-gshow .v4-gspec__dl { display: grid; grid-template-columns: 1fr 1fr; column-gap: clamp(32px, 5vw, 80px); }
.v4-gshow .v4-gspec__dl > div, .v4-gshow .v4-gspec__dl > div:last-child { border-bottom: 0; }
.v4-gshow .v4-gspec__dl { border-bottom: 1px solid #141312; }
@media (max-width: 767px) {
  .v4-gshow .v4-gspec__imgs, .v4-gshow .v4-gspec__imgs--3 { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .v4-gshow .v4-gspec__imgs--3 figure:first-child { grid-row: auto; }
  .v4-gshow .v4-gspec__imgs img { aspect-ratio: 4/3; height: auto; }
  .v4-gshow .v4-gspec__dl { grid-template-columns: 1fr; }
  .v4-swatch__chip { width: 84px; }
}

/* 2026-10-11 外壁：配色ごとのマテリアル構成（ChatGPT案Aを採用） */
.v4-scheme__lead { margin: 0 0 clamp(32px,4vw,48px) !important; font-size: 15px; line-height: 2; color: #141312; }
.v4-scheme { border-top: 1px solid #141312; }
.v4-scheme__row { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(0, 4fr); gap: clamp(24px,4vw,64px); padding: clamp(28px,3.5vw,44px) 0; border-bottom: 1px solid #C8BEBB; align-items: start; }
.v4-scheme__row:last-child { border-bottom-color: #141312; }
.v4-scheme__no { margin: 0 0 6px !important; font-size: 12px; letter-spacing: .2em; color: #6B6660; }
.v4-scheme__name { margin: 0 !important; font-size: clamp(18px,1.6vw,22px); letter-spacing: .08em; color: #141312; }
.v4-scheme__mats { display: flex; gap: 2px; }
.v4-scheme__mat { margin: 0; flex: 1 1 0; min-width: 0; }
.v4-scheme__mat.is-base { flex: 2.4 1 0; }
.v4-scheme__mats .v4-scheme__mat:only-child { flex: 1 1 100%; }
.v4-scheme__tex { height: clamp(120px, 14vw, 184px); background-size: cover; background-position: center; }
.v4-scheme__mat figcaption { margin-top: 12px; font-size: 12px; letter-spacing: .12em; color: #141312; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 767px) {
  .v4-scheme__row { grid-template-columns: 1fr; gap: 16px; }
  .v4-scheme__mat.is-base { flex-grow: 1.6; }
  .v4-scheme__tex { height: 96px; }
  .v4-scheme__mat figcaption { font-size: 11px; letter-spacing: .06em; white-space: normal; }
}
/* 2026-10-11 ChatGPT再評価（8.5/10）の3点を反映：名称と見本の距離、罫線を弱く、文字の階層 */
.v4-scheme { border-top: 0; }
.v4-scheme__row { grid-template-columns: 220px minmax(0, 1fr); column-gap: 48px; padding: 36px 0; border-bottom: 1px solid rgba(20,19,18,.12); }
.v4-scheme__row:first-child { padding-top: 8px; }
.v4-scheme__row:last-child { border-bottom: 0; }
.v4-scheme__no { font-size: 11px; letter-spacing: .16em; color: #8A8180; }
.v4-scheme__name { font-size: 23px; line-height: 1.4; letter-spacing: .04em; font-weight: 400; }
.v4-scheme__mat figcaption { margin-top: 10px; font-size: 11px; letter-spacing: .06em; line-height: 1.6; color: #6B6660; }
@media (max-width: 767px) {
  .v4-scheme__row { grid-template-columns: 1fr; gap: 14px; padding: 28px 0; }
  .v4-scheme__name { font-size: 20px; }
}

/* 2026-10-11 ガレージも .v4-gshow に。1枚のときは横長で大きく */
.v4-gshow .v4-gspec__imgs--1 { grid-auto-rows: auto; }
.v4-gshow .v4-gspec__imgs--1 img { height: auto; aspect-ratio: 16/9; object-position: center 42%; }
@media (max-width: 767px) { .v4-gshow .v4-gspec__imgs--1 img { aspect-ratio: 4/3; } }

/* 2026-10-11 グレードカード：外壁の色違いを自動で切り替える（現サイトのスライドを踏襲） */
.v4-grade__img--fade { position: relative; }
.v4-grade__img--fade img + img { position: absolute; inset: 0; height: 100%; opacity: 0; animation: v4GradeFade 10s ease-in-out infinite; }
@keyframes v4GradeFade { 0%, 40% { opacity: 0; } 50%, 90% { opacity: 1; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .v4-grade__img--fade img + img { animation: none; } }

/* 2026-10-11 不自然な改行を防ぐ（Miou指摘）。見出しは文節で折り返して行の長さをそろえ、本文は最後の行に1〜2文字だけ残らないようにする */
h1, h2, h3, .v4-mc, .v4-contact__title, .v4-grade__copy, .v4-phead__sub, .v4-perf__title { text-wrap: balance; word-break: auto-phrase; }
p, li, dd, figcaption { text-wrap: pretty; word-break: auto-phrase; }

/* 2026-10-11 スマホの見え方の調整 */
.v4-nw { display: inline-block; }
.v4-sep { margin: 0 .9em; color: #B5ACA8; }
@media (max-width: 767px) {
  .v4-sep { display: none; }
  .v4-model__spec .v4-nw, .v4-phead__spec .v4-nw { margin-right: 1.1em; }
  .v4-spec dt, .v4-gspec__dl dt { white-space: nowrap; flex: none; }
  .v4-contact__title { font-size: 20px; letter-spacing: .1em; }
}
@media (max-width: 767px) {
  /* 2026-10-11 下層ページの写真の帯に、トップ用の高さ（92vh）が掛かって下に大きな空白が出ていたのを解消 */
  .v4-hero--band { height: auto; min-height: 0; }
}
@media (max-width: 767px) {
  /* 2026-10-11 ボタンの文言が「…開/く」のように折り返さないように */
  .v4-btn { white-space: nowrap; padding: 16px 28px; letter-spacing: .12em; }
}

/* 2026-10-12 価格をヘッダーからトップ冒頭へ（Miou決定） */
.v4-hero__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 24px; margin-top: 28px !important; font-family: "Zen Kaku Gothic New", sans-serif; font-size: 14px; letter-spacing: .08em; color: #fff; }
.v4-hero__price a { color: #fff !important; display: inline-flex; align-items: baseline; gap: 10px; padding-bottom: 3px; border-bottom: 1px solid rgba(255,255,255,.45); }
.v4-hero__price a:hover { border-bottom-color: #fff; }
.v4-hero__price .v4-en { font-size: 11px; letter-spacing: .2em; opacity: .85; }
.v4-hero__tax { font-size: 11px; letter-spacing: .06em; opacity: .8; }
@media (max-width: 767px) { .v4-hero__price { margin-top: 18px !important; font-size: 13px; gap: 6px 18px; } }

/* ===== 2026-10-12 スマホ表示の見直し（Miou実機確認＋ChatGPTプロ目線レビューを統合） ===== */
@media (max-width: 767px) {
  /* 余白のリズム：セクション上下は72px前後に。見出し周りの余白は残す */
  .v4-sec { padding-top: 72px; padding-bottom: 72px; }
  .v4-sec--tight { padding-top: 48px; }
  .v4-intro { padding-top: 72px; padding-bottom: 72px; }
  .v4-concept { padding-top: 88px; padding-bottom: 72px; }
  .v4-message { padding-top: 88px; padding-bottom: 88px; }
  .v4-flow { padding-top: 72px; padding-bottom: 72px; }
  .v4-phead__top { padding-top: 48px; padding-bottom: 32px; }
  .v4-phead--plain .v4-phead__top { padding-bottom: 8px; }
  .v4-phead--editorial .v4-phead__row { margin-top: 32px; }
  .v4-phead--editorial .v4-phead__title { font-size: 28px; line-height: 1.6; letter-spacing: .1em; }
  .v4-phead__spec { font-size: 13px; }

  /* 商品ページ冒頭の写真：縦長に切り抜かず4:3で。主題（建物）に寄せる */
  .v4-hero--band .v4-hero__frame { height: auto; aspect-ratio: 4 / 3; }
  .v4-hero--band-s .v4-hero__frame { height: auto; aspect-ratio: 4 / 3; }
  .v4-hero--band img[src*="cg_mono_s1"] { object-position: 84% 50%; }
  .v4-phead__tabs { padding-top: 4px; }
  .v4-hero--band .v4-hero__bar--text { min-height: 44px; border-bottom-width: 2px; margin-right: 20px; }

  /* グレード詳細：写真の帯からCONCEPTへの間を詰める */
  .v4-strip + .v4-intro, .v4-phead + .v4-intro { padding-top: 56px; }

  /* 性能の写真：4:3、車のフロントが切れないよう下寄せ */
  .v4-perf__img img { aspect-ratio: 4 / 3; object-position: 50% 70%; }
  .v4-perf__no { font-size: 12px; }
  .v4-perf__opt { font-size: 12px; }

  /* お問い合わせ帯：内容に合わせた高さ。ボタンは押しやすい高さに */
  .v4-contact__body { padding-top: 72px; padding-bottom: 72px; }
  .v4-contact__btns { margin-top: 36px; flex-direction: column; align-items: center; gap: 12px; }
  .v4-contact__btns .v4-btn { min-height: 50px; min-width: 240px; justify-content: center; }
  /* フッター：上へ戻るボタンと注記が重ならないように */
  body .footer_inner_lower { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }

  /* トップ冒頭：情報を絞る（英字の副題はロゴにもあるので隠す）。写真ごとに主題へ寄せる */
  .v4-hero__tag { display: none; }
  .v4-hero__price { margin-top: 22px !important; }
  .v4-hero:not(.v4-hero--band) { height: 100svh; min-height: 560px; max-height: 900px; }
}
@media (max-width: 767px) {
  /* 2026-10-12 スマホ専用の縦長画像に合わせて中央基準に（PC用の上寄せ指定を打ち消す） */
  .v4-hero:not(.v4-hero--band) .v4-hero__slide img { object-position: 50% 50% !important; transform-origin: 50% 60% !important; }
  .v4-hero:not(.v4-hero--band) .v4-hero__slide:first-child img { object-position: 56% 50% !important; }
}
@media (max-width: 767px) {
  /* 2026-10-12 フッター：ロゴ上の黒い余白が大きすぎる（Miou指摘）。約140px→56px */
  body.top-v04 footer { padding-top: 80px !important; }
  body.top-v04 footer .footer_inner, body.top-v04 footer .footer_sp { margin-top: 0 !important; padding-top: 0 !important; }
}
@media (max-width: 767px) {
  /* 2026-10-12 iPhone：下のツールバー分の余白が残るのを防ぐ（Miou指摘）。画像はツールバーの裏まで敷き、文字は見える範囲に収める */
  .v4-hero:not(.v4-hero--band) { height: 100vh; height: 100lvh; min-height: 560px; max-height: none; }
  .v4-hero:not(.v4-hero--band) .v4-hero__body { bottom: 40px; bottom: calc(40px + (100lvh - 100svh)); }
}

/* r74: iOS Safari bottom gap under hero */
@media (max-width: 767px) {
  html:has(body.top-v04) { background: #141312; }
  .v4-hero:not(.v4-hero--band) { height: calc(100lvh + env(safe-area-inset-bottom)); }
  .v4-hero:not(.v4-hero--band) .v4-hero__body { bottom: calc(40px + (100lvh - 100svh) + env(safe-area-inset-bottom)); }
}

/* r77: iOS 26 Safari reports 100lvh without the area behind its floating toolbar, so the next
   section showed through at the bottom. Overextend the hero by 96px and keep the copy where it was. */
@media (max-width: 767px) {
  .v4-hero:not(.v4-hero--band) { height: calc(100lvh + env(safe-area-inset-bottom) + 96px); }
  .v4-hero:not(.v4-hero--band) .v4-hero__body { bottom: calc(136px + (100lvh - 100svh) + env(safe-area-inset-bottom)); }
}

/* 2026-10-12 外壁：配色を選ぶと外観が切り替わる */
.v4-config__hint { display: block; margin-top: 4px; font-size: 13px; color: #6B6660; }
.v4-config { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); align-items: center; }
.v4-config__view { position: relative; margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: #141312; }
.v4-config__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transition: opacity 1s ease; }
.v4-config__img.is-on { opacity: 1; }
.v4-config__cap { position: absolute; left: 20px; bottom: 16px; margin: 0 !important; color: #fff; font-size: 12px; letter-spacing: .2em; text-shadow: 0 1px 10px rgba(0,0,0,.45); }
.v4-config .v4-scheme__row { grid-template-columns: 1fr; row-gap: 14px; padding: 24px 0 24px 22px; position: relative; cursor: pointer; opacity: .42; transition: opacity .4s ease; outline: none; }
.v4-config .v4-scheme__row:first-child { padding-top: 24px; }
.v4-config .v4-scheme__row::before { content: ""; position: absolute; left: 0; top: 24px; bottom: 24px; width: 2px; background: #141312; transform: scaleY(0); transform-origin: top; transition: transform .4s ease; }
.v4-config .v4-scheme__row.is-on { opacity: 1; cursor: default; }
.v4-config .v4-scheme__row.is-on::before { transform: scaleY(1); }
.v4-config .v4-scheme__row:not(.is-on):hover { opacity: .75; }
.v4-config .v4-scheme__row:focus-visible { box-shadow: 0 0 0 2px #141312 inset; }
.v4-config .v4-scheme__tex { height: clamp(72px, 7vw, 104px); }
.v4-config .v4-scheme__name { font-size: 20px; }
@media (max-width: 767px) {
  .v4-config { grid-template-columns: 1fr; gap: 20px; }
  .v4-config__view { aspect-ratio: 4 / 3; }
  .v4-config .v4-scheme__row { padding: 18px 0 18px 16px; }
  .v4-config .v4-scheme__row::before { top: 18px; bottom: 18px; }
  .v4-config .v4-scheme__tex { height: 72px; }
}

/* 2026-10-12 About：代表写真は追従させず、一回り小さくして本文ブロックの上下中央に置く（Miou指示） */
@media (min-width: 768px) {
  .v4-founder__grid { grid-template-columns: minmax(0, 600px) clamp(220px, 21vw, 300px); align-items: center; }
  .v4-founder__photo { position: static; margin-top: 0; }
}

/* 2026-10-12 代表写真を差し替え（Miou提供のモノクロ、トーン調整済み）。画像側で調整したのでCSSの白黒化・コントラストは外す */
.v4-founder__photo img, .v4-message__photo img { filter: none; object-position: 58% 30%; }

/* r85 2026-10-12 トップ代表メッセージの文言変更に合わせ、1文目が1行に収まる幅に。PCのみ意味の区切りで改行 */
.v4-message__text { max-width: 680px; }
@media (max-width: 767px) { .v4-br-pc { display: none; } }

/* r86 2026-10-12 About（スマホ）：写真が署名の後ろに左寄せで取り残されていた（Miou指摘「違和感」）。
   見出しの直後に本文幅いっぱいで置き、写真→本文→署名の順で読ませる */
@media (max-width: 767px) {
  .v4-founder__grid { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .v4-founder__body { display: contents; }
  .v4-founder__body > .v4-lbl { order: 1; }
  .v4-founder__title { order: 2; }
  .v4-founder__photo { order: 3; max-width: none; width: 100%; margin: 36px 0 0 !important; }
  .v4-founder__photo img { aspect-ratio: 1 / 1; object-position: 55% 28%; }
  .v4-founder__text { order: 4; margin-top: 36px !important; }
  .v4-founder__sign { order: 5; }
}

/* r88 2026-10-12 トップ代表メッセージ（スマホ）：キャッチを一回り小さくし、写真をキャッチの右に（Miou提案）。
   本文は文節の塊（.v4-nw）で折り返し、Safariでの「預けてい／た」のような割れを防ぐ */
@media (max-width: 767px) {
  .v4-message__inner { display: grid; grid-template-columns: minmax(0, 1fr) 30%; column-gap: 20px; row-gap: 0; align-items: center; }
  .v4-message__body { display: contents; }
  .v4-message__body > .v4-lbl { grid-column: 1 / -1; grid-row: 1; }
  .v4-message__title { grid-column: 1; grid-row: 2; margin-top: 28px !important; font-size: 21px; line-height: 1.85; letter-spacing: .06em; }
  .v4-message__photo { grid-column: 2; grid-row: 2; align-self: end; max-width: none; width: 100%; margin: 28px 0 0 !important; }
  .v4-message__photo img { aspect-ratio: 3 / 4; object-position: 58% 30%; }
  .v4-message__text { grid-column: 1 / -1; grid-row: 3; margin-top: 36px !important; }
  .v4-message__sign { grid-column: 1 / -1; grid-row: 4; }
}

/* r89 2026-10-12 PCヘッダーにお問い合わせボタン（Miou指示）。予約より控えめな線のボタン */
.v4-hcta { gap: 12px; }
.v4-hcta__btn--ghost { background: transparent; color: #141312 !important; box-shadow: inset 0 0 0 1px #141312; }
body.home-overlay:not(.scrolled) .v4-hcta__btn--ghost { background: transparent; color: #fff !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.85); }
/* タブレット幅（1023px以下）はヘッダーに2つ並ばないため、お問い合わせは隠す（メニューとフッターから到達可） */
@media (max-width: 1023px) { .v4-hcta__btn--ghost { display: none; } }

/* r90 2026-10-12 和文書体の統一：main.css の「* { font-family: Noto Sans JP }」を打ち消し、
   v0.4のページはゴシックを Zen Kaku Gothic New、見出しの明朝（.v4-mc）と英字（Josefin Sans）はそのまま */
:where(body.top-v04) * { font-family: inherit; }
body.top-v04 { font-family: "Zen Kaku Gothic New", sans-serif; }
body.top-v04 :is(.zen_300, .zen_400, .zen_500, .zen_700, .zen_900, .faq_toggle_text) { font-family: "Zen Kaku Gothic New", sans-serif; }

/* r90 2026-10-12 完成予想図の表示を主な画像の近くに（ChatGPT指摘・Miou了承）。フッターの注記は残す */
.v4-hero__note { margin-top: 10px !important; font-size: 11px; letter-spacing: .06em; line-height: 1.6; color: rgba(255,255,255,.72) !important; }
.v4-band__note, .v4-strip__note { margin: 10px 0 0 !important; padding: 0 clamp(20px,4vw,64px); text-align: right; color: #8A847C !important; font-size: 11px; letter-spacing: .04em; }
.v4-strip__note { max-width: none; }
@media (max-width: 767px) { .v4-band__note, .v4-strip__note { text-align: left; } }
/* r90 Concept本文が増えたため幅を広げ、PCでは2行＋2行に収める */
.v4-concept__text { max-width: 640px; }

/* r92 2026-10-12 記事一覧：横長のブログバナーは左寄せで切り抜く（見出しが左にあるため） */
.v4-card__img--wide img { object-position: left center; }

/* r93 2026-10-12 記事一覧のページ送り：旧CSSの黒い背景で数字が見えなかった（記事が13件になり2ページ目が出て判明） */
.v4-pager .page-numbers { background: transparent !important; border: 0 !important; color: #141312 !important; border-radius: 0 !important; width: auto !important; letter-spacing: .08em; }
.v4-pager a.page-numbers:hover { opacity: .6; }
.v4-pager .current { border: 0 !important; border-bottom: 1px solid #141312 !important; }
/* r93 トップJournal（スマホ）：日付の幅指定（flex 96px）が縦並びで高さになり、日付と記事名の間が大きく空いていた */
@media (max-width: 767px) { .v4-list--news .v4-en { flex: none !important; } }

/* r94 2026-10-12 価格比較PDFへのリンクを帯状に（グレードカードの下） */
.v4-compare { display: flex; align-items: center; gap: 8px 28px; margin-top: 56px; padding: 26px 32px; border: 1px solid #141312; background: #fff; color: #141312 !important; transition: background .35s ease, color .35s ease; }
.v4-compare * { color: inherit !important; }
.v4-compare__lbl { font-size: 11px; letter-spacing: .24em; text-transform: uppercase; opacity: .6; }
.v4-compare__txt { font-family: "Shippori Mincho", serif !important; font-size: 19px; letter-spacing: .08em; line-height: 1.6; }
.v4-compare__go { margin-left: auto; font-size: 13px; letter-spacing: .12em; white-space: nowrap; }
.v4-compare__arw { display: inline-block; margin-left: 10px; transition: transform .35s ease; }
.v4-compare:hover { background: #141312; color: #fff !important; }
.v4-compare:hover .v4-compare__arw { transform: translateX(4px); }
.v4-compare + .v4-grade__links .v4-link { margin-top: 20px; }
@media (max-width: 767px) {
  .v4-compare { flex-wrap: wrap; padding: 20px; margin-top: 40px; }
  .v4-compare__txt { flex: 1 1 100%; font-size: 17px; order: 2; }
  .v4-compare__lbl { order: 1; }
  .v4-compare__go { order: 3; margin-left: 0; }
}

/* r95 2026-10-12 グレード冒頭の写真（スマホの横スワイプ）：枚数「01 / 03」と位置の線。ブラウザのスクロールバーは隠す */
.v4-strip__nav { display: none; }
@media (max-width: 767px) {
  .v4-strip { scrollbar-width: none; -ms-overflow-style: none; }
  .v4-strip::-webkit-scrollbar { display: none; }
  .v4-strip__nav { display: flex; align-items: center; gap: 16px; margin: 14px 0 0; padding: 0 clamp(20px,4vw,64px); }
  .v4-strip__count { font-size: 12px; letter-spacing: .16em; color: #141312; white-space: nowrap; }
  .v4-strip__bar { position: relative; flex: 1; height: 1px; background: #D9D3CF; overflow: hidden; }
  .v4-strip__bar > span { position: absolute; left: 0; top: 0; height: 1px; background: #141312; transition: transform .35s ease; }
  .v4-strip__nav + .v4-strip__note { margin-top: 8px !important; }
}

/* r96 2026-10-12 オープニング（トップのみ・セッションにつき1回。クリック／キー／スクロール／タップで省略。Miou指示「WillcideのHPのように」） */
.au-opening { display: none; }
html.au-intro body { overflow: hidden; }
html.au-intro .au-opening { display: flex; position: fixed; inset: 0; z-index: 10000; background: #F2EBE9; align-items: center; justify-content: center; transition: opacity .9s cubic-bezier(.22,.61,.36,1), visibility 0s linear .9s; }
.au-opening.is-out { opacity: 0; visibility: hidden; pointer-events: none; }
.au-opening__in { display: flex; flex-direction: column; align-items: center; gap: 28px; padding: 0 24px; }
.au-opening__logo { width: min(340px, 66vw); height: auto; opacity: 0; transform: translateY(12px); transition: opacity 1s, transform 1.1s cubic-bezier(.2,.7,.2,1); }
.au-opening__line { display: block; width: 96px; height: 1px; background: #141312; transform: scaleX(0); transition: transform .9s cubic-bezier(.2,.7,.2,1); }
.au-opening__tag { margin: 0 !important; font-family: "Josefin Sans", sans-serif !important; font-weight: 300; font-size: clamp(12px, 1.1vw, 14px); letter-spacing: .42em; color: #6B6660 !important; opacity: 0; transform: translateY(8px); transition: opacity .9s, transform 1s cubic-bezier(.2,.7,.2,1); }
.au-opening.s1 .au-opening__logo { opacity: 1; transform: none; }
.au-opening.s2 .au-opening__line { transform: scaleX(1); }
.au-opening.s3 .au-opening__tag { opacity: 1; transform: none; }
/* 冒頭の文字はオープニングの後に浮かび上がる */
html.au-intro .v4-hero__body { opacity: 0; transform: translateY(14px); }
html.au-reveal .v4-hero__body { opacity: 1; transform: none; transition: opacity 1s cubic-bezier(.22,.61,.36,1) .2s, transform 1.1s cubic-bezier(.2,.7,.2,1) .2s; }
html.au-rm .au-opening__logo, html.au-rm .au-opening__tag, html.au-intro.au-rm .v4-hero__body { transform: none !important; }

/* r97 2026-10-12 オープニング：メインキャッチとサブキャッチ（Miou指定）、背景に七宝の幾何学模様を薄く（ロゴの重なる円に呼応） */
html.au-intro .au-opening { overflow: hidden; }
.au-opening::before { content: ""; position: absolute; inset: -64px; opacity: 0; transition: opacity 1.6s ease;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cg fill='none' stroke='%23141312' stroke-width='.6'%3E%3Ccircle cx='0' cy='0' r='36'/%3E%3Ccircle cx='72' cy='0' r='36'/%3E%3Ccircle cx='0' cy='72' r='36'/%3E%3Ccircle cx='72' cy='72' r='36'/%3E%3Ccircle cx='36' cy='36' r='36'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 72px 72px;
  -webkit-mask-image: radial-gradient(ellipse at center, transparent 0%, transparent 26%, #000 72%);
          mask-image: radial-gradient(ellipse at center, transparent 0%, transparent 26%, #000 72%);
  animation: auPattern 14s linear both; }
.au-opening.s1::before { opacity: .085; }
@keyframes auPattern { from { transform: scale(1.04); } to { transform: scale(1); } }
.au-opening__in { position: relative; gap: 0; }
.au-opening__line { margin: 30px 0 34px; }
.au-opening__tag { display: none; }
.au-opening__catch { margin: 0 !important; font-family: "Shippori Mincho", serif !important; font-weight: 400; font-size: clamp(22px, 2.3vw, 30px); letter-spacing: .22em; line-height: 1.6; color: #141312 !important; opacity: 0; transform: translateY(8px); transition: opacity 1s, transform 1.1s cubic-bezier(.2,.7,.2,1); text-align: center; }
.au-opening__sub { margin: 14px 0 0 !important; font-size: clamp(12px, 1vw, 14px); letter-spacing: .2em; line-height: 1.8; color: #6B6660 !important; opacity: 0; transform: translateY(6px); transition: opacity .9s, transform 1s cubic-bezier(.2,.7,.2,1); text-align: center; }
.au-opening.s3 .au-opening__catch { opacity: 1; transform: none; }
.au-opening.s4 .au-opening__sub { opacity: 1; transform: none; }
html.au-rm .au-opening__catch, html.au-rm .au-opening__sub { transform: none !important; }
html.au-rm .au-opening::before { animation: none; }
@media (max-width: 767px) { .au-opening__catch { letter-spacing: .16em; } .au-opening__sub { letter-spacing: .12em; } }

/* r98 2026-10-12 オープニングの模様が見えない（Miou指摘）→ 線を太く・濃く、中央の透明部分を狭く */
.au-opening::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72'%3E%3Cg fill='none' stroke='%23141312' stroke-width='1'%3E%3Ccircle cx='0' cy='0' r='36'/%3E%3Ccircle cx='72' cy='0' r='36'/%3E%3Ccircle cx='0' cy='72' r='36'/%3E%3Ccircle cx='72' cy='72' r='36'/%3E%3Ccircle cx='36' cy='36' r='36'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: radial-gradient(ellipse at center, rgba(0,0,0,.18) 0%, rgba(0,0,0,.35) 22%, #000 58%);
          mask-image: radial-gradient(ellipse at center, rgba(0,0,0,.18) 0%, rgba(0,0,0,.35) 22%, #000 58%); }
.au-opening.s1::before { opacity: .16; }

/* r99 2026-10-12 オープニングの模様：七宝は和のテイストで合わない（Miou指摘）→ ロゴの重なる2つの円を大きく細線で（案B）。A＝製図の方眼、C＝細い斜線は比較用 */
.au-opening::before { inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='900' viewBox='0 0 1600 900'%3E%3Cg fill='none' stroke='%23141312'%3E%3Ccircle cx='650' cy='450' r='330' stroke-width='1'/%3E%3Ccircle cx='950' cy='450' r='330' stroke-width='1'/%3E%3Ccircle cx='650' cy='450' r='372' stroke-width='.6' opacity='.55'/%3E%3Ccircle cx='950' cy='450' r='372' stroke-width='.6' opacity='.55'/%3E%3Ccircle cx='650' cy='450' r='414' stroke-width='.4' opacity='.35'/%3E%3Ccircle cx='950' cy='450' r='414' stroke-width='.4' opacity='.35'/%3E%3C/g%3E%3C/svg%3E");
  background-size: cover; background-position: center; background-repeat: no-repeat;
  -webkit-mask-image: none; mask-image: none; }
.au-opening.s1::before { opacity: .2; }
@media (max-width: 767px) { .au-opening::before { background-size: 230% auto; } }

/* r100 オープニング背景：夜のガレージ（992・スモールライト）＋ゆっくりズーム（2026-10-12） */
html.au-intro .au-opening { background: #070605; }
.au-opening::before { display: none !important; animation: none !important; }
.au-opening__bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; opacity: 0; transform: scale(1); transform-origin: 50% 58%; transition: opacity 1.4s ease; will-change: transform, opacity; }
.au-opening.s1 .au-opening__bg { opacity: 1; animation: auZoom 7s cubic-bezier(.25,.5,.3,1) both; }
@keyframes auZoom { from { transform: scale(1); } to { transform: scale(1.12); } }
.au-opening::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, rgba(7,6,5,.55) 0%, rgba(7,6,5,.15) 45%, rgba(7,6,5,0) 70%); }
.au-opening__in { z-index: 1; margin-top: -22vh; }
.au-opening__line { background: rgba(242,235,233,.6); }
.au-opening__catch { color: #F2EBE9 !important; }
.au-opening__sub { color: #B9AFA7 !important; }
html.au-rm .au-opening.s1 .au-opening__bg { animation: none; }
@media (max-width: 767px) { .au-opening__in { margin-top: -26vh; } }
/* r101 オープニング：ズームで車が文字に重ならないよう、文字を上寄せ・ズームの中心を床側へ */
html.au-intro .au-opening { align-items: flex-start; }
.au-opening__in { margin-top: max(56px, 9vh); }
.au-opening__logo { width: min(300px, 62vw); }
.au-opening__line { margin: 24px 0 26px; }
.au-opening__bg { transform-origin: 50% 74%; }
@keyframes auZoom { from { transform: scale(1); } to { transform: scale(1.08); } }
@media (max-width: 767px) { .au-opening__in { margin-top: max(56px, 9vh); } }
/* r102 オープニング：車の主張を弱める（全体を暗く・車まわりに影・ズームを控えめに） */
.au-opening__bg { filter: brightness(.68) saturate(.8); }
.au-opening::after { background:
  radial-gradient(ellipse 30% 22% at 50% 58%, rgba(7,6,5,.45) 0%, rgba(7,6,5,0) 100%),
  linear-gradient(180deg, rgba(7,6,5,.55) 0%, rgba(7,6,5,.15) 45%, rgba(7,6,5,0) 70%); }
@keyframes auZoom { from { transform: scale(1); } to { transform: scale(1.05); } }
/* r103 運営会社（株式会社Willcide）のサイトへのリンク（About会社概要・フッター、2026-10-13） */
a.v4-extlink { color: inherit !important; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; transition: opacity .2s; }
a.v4-extlink:hover { opacity: .65; }
