@font-face{font-family:EventSerif;src:url("assets/event-serif.woff2") format("woff2");font-style:normal;font-weight:400 700;font-display:swap}
:root{--navy:#0b2d42;--ivory:#f7f4ed;--gold:#b28c4f;--lp-width:500px;--serif:EventSerif,"Noto Serif JP","Yu Mincho",YuMincho,serif;--sans:"Noto Sans JP","Yu Gothic",YuGothic,Meiryo,sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:12px}body{margin:0;background:var(--ivory);color:var(--navy);font-family:var(--sans);-webkit-text-size-adjust:100%}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--gold);outline-offset:5px}img{display:block;width:100%;height:auto}main{position:relative;width:min(100%,var(--lp-width));margin-inline:auto;background:var(--ivory);z-index:2;padding-bottom:110px}.image-section{margin:0;scroll-margin-top:12px}.image-section:focus{outline:none}.image-section:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;background:var(--navy);color:#fff;padding:12px 20px;z-index:20;transform:translateY(-180%);text-decoration:none}.skip-link:focus{transform:none}

.cta-block{padding:28px 28px 38px;text-align:center;background:var(--ivory)}.cta-caption{margin:0 0 14px;font-family:var(--serif);font-size:clamp(14px,3.9vw,18px);font-weight:600;line-height:1.65}.cta{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:64px;padding:16px 40px 16px 24px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:6px;text-decoration:none;font-family:var(--serif);font-size:20px;line-height:1.5;font-weight:600;transition:background .2s,transform .2s}.cta::after{content:"";position:absolute;right:22px;width:10px;height:10px;border-top:2px solid #d0ab69;border-right:2px solid #d0ab69;transform:rotate(45deg)}.cta:hover{background:#17445d;transform:translateY(-2px)}.cta-meta{margin:10px 0 0;font-size:12px;line-height:1.5;letter-spacing:.04em}
.desktop-aside{display:none}.desktop-backdrop{display:none}
.mobile-sticky{position:fixed;z-index:10;left:50%;bottom:0;transform:translateX(-50%);width:min(100%,var(--lp-width));display:flex;align-items:center;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(247,244,237,.98);box-shadow:0 -4px 22px rgba(11,45,66,.16);border-top:1px solid #d4c8ae}.sticky-copy{flex:1;min-width:0}.sticky-copy strong{display:block;font-family:var(--serif);font-size:16px;line-height:1.5;white-space:nowrap}.sticky-copy span{display:block;font-size:11px;line-height:1.6;letter-spacing:.02em}.mobile-sticky .cta{white-space:nowrap;flex:0 0 46%;min-height:52px;font-size:15px;padding:12px 22px 12px 10px}.mobile-sticky .cta::after{right:13px;width:7px;height:7px}
@media(min-width:600px) and (max-width:1099px){main{box-shadow:0 0 35px rgba(11,45,66,.06)}}
@media(min-width:1100px){:root{--lp-width:480px}main{padding-bottom:0;box-shadow:0 0 32px rgba(30,31,26,.05)}.mobile-sticky{display:none}.desktop-backdrop{display:block;position:fixed;inset:0;z-index:0;background:var(--ivory) url("assets/pc-background.webp") center center/cover no-repeat;pointer-events:none}.desktop-aside{position:fixed;top:0;bottom:0;display:flex;align-items:center;z-index:1;width:calc((100% - var(--lp-width))/2);padding:clamp(30px,6vh,85px) clamp(24px,3.7vw,92px);overflow-y:auto;scrollbar-width:thin}.aside-left{left:0}.aside-right{right:0}.aside-inner{width:100%;margin-block:auto}.aside-kicker{margin:0 0 24px;padding-bottom:14px;border-bottom:1px solid var(--gold);color:#aa803e;font-family:var(--serif);font-size:clamp(14px,1.4vw,22px);letter-spacing:.12em;line-height:1.6;white-space:nowrap}.aside-label{margin:0 0 22px;font-family:var(--serif);font-size:clamp(14px,1.42vw,22px);font-weight:600;line-height:1.7}.concept-copy{margin:0;font-family:var(--serif);font-size:clamp(21px,2.45vw,39px);font-weight:600;line-height:1.65;letter-spacing:-.045em}.concept-copy span{display:block;white-space:nowrap}.concept-note{margin:28px 0 0;font-family:var(--serif);font-size:clamp(15px,1.65vw,24px);line-height:1.7}.concept-note::before{content:"";display:block;width:62px;border-top:1px solid var(--gold);margin-bottom:24px}.event-copy{font-family:var(--serif);font-size:clamp(23px,2.7vw,42px);font-weight:600;line-height:1.55;letter-spacing:-.04em;margin:0 0 26px}.event-copy span{display:block;white-space:nowrap}.event-year{font-family:var(--serif);font-size:19px;margin:0 0 0}.event-date{font-family:var(--serif);font-size:clamp(30px,3.4vw,54px);font-weight:600;line-height:1.3;letter-spacing:-.05em;margin:0 0 12px;white-space:nowrap}.event-date small{font-size:.46em;letter-spacing:0}.sat{color:#195ca4}.sun{color:#a63530}.event-time,.event-place{font-family:var(--serif);font-size:clamp(15px,1.57vw,23px);line-height:1.7;margin:5px 0;white-space:nowrap}.event-time::before{content:"◷";font-family:serif;margin-right:8px}.event-place::before{content:"◇";margin-right:8px}.event-tags{display:flex;gap:8px;padding-top:19px;border-top:1px solid var(--navy);margin-top:22px;margin-bottom:24px}.event-tags span{flex:1;text-align:center;padding:9px 5px;border:1px solid var(--gold);font-family:var(--serif);font-size:clamp(14px,1.45vw,21px);color:#9d763e;line-height:1.5;white-space:nowrap}.event-tags span:first-child{background:#ad8b50;color:#fff}.aside-right .cta{font-size:clamp(16px,1.75vw,25px);min-height:68px}.gold-arc{position:fixed;z-index:0;width:440px;height:440px;right:-370px;top:-135px;border:1px solid #b79354;border-radius:50%;pointer-events:none}.gold-arc.bottom{width:660px;height:660px;top:auto;bottom:-520px;right:-280px}}
@media(min-width:1600px){:root{--lp-width:500px}.desktop-aside{padding-inline:clamp(60px,5vw,130px)}.concept-copy{font-size:39px}.event-copy{font-size:42px}}
@media(min-width:1100px){.aside-left{align-items:flex-start;padding-top:clamp(38px,10vh,94px)}.aside-left .aside-inner{margin-block:0}.desktop-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,244,237,.20),rgba(247,244,237,.26) 64%,transparent)}}
@media(max-width:350px){.sticky-copy strong{font-size:13px}.sticky-copy span{font-size:10px}.mobile-sticky{gap:7px;padding-inline:10px}.mobile-sticky .cta{font-size:13px;flex-basis:49%;padding-left:8px;padding-right:21px}.cta-block{padding-inline:22px}.cta-caption{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cta{transition:none}.cta:hover{transform:none}}


/* Case 02: Beforeのみ新規写真を表示し、採用済みAfterと見出しを保持する */
.case02-comparison{position:relative;container-type:inline-size}
.case02-comparison .case02-base{position:relative}
.case02-comparison .case02-before{position:absolute;left:0;top:18.270572%;width:100%;height:41.701534%;object-fit:cover;object-position:center;clip-path:polygon(0 0,100% 0,100% 100%,0 79.93311%)}
.case02-before-label{position:absolute;left:2.917%;top:19.386%;width:16.408%;height:4.184%;display:flex;align-items:center;justify-content:center;background:var(--navy);color:#fff;font-family:var(--serif);font-weight:500;font-size:4cqw;line-height:1;white-space:nowrap}

/* 右写真と見出しを維持し、左写真と3項目の文言を新規生成画像で表示 */
.visit-detail-frame{position:relative;scroll-margin-top:12px}
.visit-detail-visual{position:relative;aspect-ratio:1254/954;overflow:hidden}
.visit-detail-visual .visit-detail-base{width:100%;height:auto}
.visit-detail-visual .visit-detail-kitchen{position:absolute;left:1.754385965%;top:9.958071279%;width:47.68740032%;height:70.12578616%;object-fit:cover;object-position:center}
.visit-detail-frame .visit-detail-copy{display:block;width:100%;height:auto}

/* クライアント修正：イメージ画像の注記を指定の2箇所に表示 */
.image-disclaimer{margin:0;padding:7px 14px 10px;color:#6e6b63;background:var(--ivory);font-size:10.5px;font-weight:400;line-height:1.7;text-align:right;overflow-wrap:anywhere}

/* 写真を保持し、面積の数字だけを64に統一する。位置は元画像の実寸に対応。 */
.property-area{position:relative;container-type:inline-size}.property-area-number{position:absolute;display:block;overflow:visible;pointer-events:none;font-family:var(--serif);font-size:44px;font-weight:700;fill:#0b2d42}
.property-area-intro .property-area-number{left:27.555248619%;top:54.419889503cqw;width:3.314917127%;height:2.693370166cqw}
.property-area-main .property-area-number{left:26.93877551%;top:64.489795918cqw;width:3.265306122%;height:2.653061224cqw}
