/* VERION: sunrise transition and workshop. DAWN/HERO's original rules remain intact. */
:root { --vw-sunrise:0; --vw-upper:0; --vw-daylight:0; --vw-hero:1; --vw-content:1; --vw-rise:0px; }
body { overflow-y:auto; }
html { scroll-behavior:auto; }
.vw-sunrise,.vw-daylight { position:fixed; inset:0; z-index:5; pointer-events:none; }
.vw-sunrise { opacity:var(--vw-sunrise); background:radial-gradient(ellipse 110% 145% at 50% 108%,#ff360e 0%,#ff5527 24%,#ff956b 48%,#ffd1b5 72%,#fff0e3 91%,#fff9f3 100%); mask-image:linear-gradient(180deg,rgba(0,0,0,var(--vw-upper)) 0%,#000 78%); }
.vw-daylight { opacity:var(--vw-daylight); background:#fff; }
.h-copy { opacity:var(--vw-hero); }
.d-anchor { opacity:var(--vw-hero); }
.vwr { position:relative; z-index:10; margin-top:145svh; padding:120px 40px; color:#242321; background:transparent; }
.vwr__layout { width:100%; max-width:1200px; margin:auto; display:grid; grid-template-columns:minmax(0,540px) minmax(0,580px); justify-content:space-between; gap:56px; align-items:center; opacity:var(--vw-content); transform:translateY(var(--vw-rise)); }
.vwr__label { color:#a64a32; font-size:12px; font-weight:600; letter-spacing:.14em; line-height:1.5; }
.vwr__heading { font-size:48px; line-height:1.3; font-weight:500; letter-spacing:-.045em; margin:24px 0 28px; }
.vwr__heading span { display:block; }
.vwr__intro { max-width:460px; font-size:16px; line-height:1.9; color:#615b56; word-break:auto-phrase; }
.vwr__phrase { display:inline-block; max-width:100%; }
.vwr__intro p + p { margin-top:12px; }
.vwr__cities { list-style:none; display:flex; flex-wrap:wrap; gap:10px 16px; margin:32px 0; padding:0; }
.vwr__cities li { display:flex; flex-wrap:wrap; align-items:center; column-gap:7px; padding:8px 0; font-size:12px; font-weight:500; letter-spacing:.035em; line-height:1.4; }
.vwr__cities small { font-size:10px; color:#80746b; font-weight:400; letter-spacing:.02em; }
.vwr__cta { display:inline-flex; align-items:center; gap:28px; min-height:52px; padding:14px 24px; border-radius:12px; color:#fff; background:#292724; text-decoration:none; font-size:16px; font-weight:500; line-height:1.5; transition:background .2s; }
.vwr__cta:hover { background:#a64a32; }
.vwr__cta:focus-visible { outline:3px solid #a64a32; outline-offset:5px; }
.vwr__stage { position:relative; width:100%; min-height:580px; padding:48px 0; display:grid; place-items:center; border-radius:64px; overflow:hidden; background:linear-gradient(180deg,#FFF9EC 0%,#FFD8AE 55%,#FFA889 100%); }
.vwr__signal { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-around; pointer-events:none; opacity:.78; overflow:hidden; }
.vwr__signal i { display:block; flex:0 0 clamp(3px,.42vw,6px); height:100%; background:linear-gradient(180deg,transparent 0%,rgba(255,253,241,.3) 12%,#fffdf1 32%,#fffdf1 68%,rgba(255,253,241,.3) 88%,transparent 100%); transform-origin:center; will-change:transform; }
.vwr__card { position:relative; width:66.2%; padding:12px; border-radius:24px; background:#fff; box-shadow:0 16px 40px #813a211b; }
.vwr__photo { display:block; width:100%; height:auto; border-radius:14px; }
.vwr__card-body { padding:12px 10px 6px; }
.vwr__card .vwr__label { font-size:10px; letter-spacing:.12em; }
.vwr__card-title { margin:6px 0 8px; font-size:18px; line-height:1.5; letter-spacing:-.035em; font-weight:500; }
.vwr__card-title span { display:block; }
.vwr__description { font-size:12px; line-height:1.7; color:#6a625c; word-break:auto-phrase; }
.vwr__description p + p { margin-top:2px; }
.vwr__facts { margin-top:12px; border-top:1px solid #e9e2dc; }
.vwr__fact { display:grid; grid-template-columns:74px minmax(0,1fr); gap:8px; padding:5px 0; border-bottom:1px solid #e9e2dc; font-size:10px; letter-spacing:.02em; line-height:1.5; }
.vwr__fact:last-child {border-bottom:0;}
.vwr__fact dt { color:#8a7769; }
.vwr__fact dd { color:#443c35; margin:0; font-weight:500; }
@media(max-width:1199px) {
 .vwr {padding:96px 40px;}
 .vwr__layout {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;}
 .vwr__heading {font-size:40px;}
 .vwr__stage {min-height:560px;padding:48px 0;border-radius:56px;}
 .vwr__card {width:78%;}
}
@media(max-width:900px) {
 .vwr__layout {max-width:672px;grid-template-columns:minmax(0,1fr);gap:48px;}
 .vwr__intro {max-width:540px;}
 .vwr__stage {min-height:580px;}
 .vwr__card {width:66.2%;max-width:384px;}
}
@media(max-width:760px) {
 .vwr {margin-top:135svh;padding:72px 24px 80px;}
 .vwr__layout {gap:40px;}
 .vwr__heading {font-size:28px;line-height:1.4;margin:20px 0 24px;}
 .vwr__intro {font-size:14px;line-height:1.9;}
 .vwr__cities {gap:8px 14px;margin:24px 0 28px;}
 .vwr__cities li {font-size:11px;}
 .vwr__cities small {font-size:9px;}
 .vwr__cta {font-size:14px;min-height:48px;padding:13px 20px;}
 .vwr__stage {min-height:0;padding:52px 0;border-radius:48px;}
 .vwr__card {width:78%;padding:10px;border-radius:20px;}
 .vwr__photo {border-radius:11px;}
 .vwr__card-body {padding:14px 6px 4px;}
 .vwr__card-title {font-size:15px;line-height:1.6;margin:8px 0 12px;}
 .vwr__description {font-size:11px;line-height:1.8;}
 .vwr__fact {grid-template-columns:65px minmax(0,1fr);gap:6px;font-size:9px;padding:9px 0;letter-spacing:0;}
 .vwr__signal i {flex-basis:3px;}
}
@media(prefers-reduced-motion:reduce) {
 .vwr__signal i {will-change:auto;}
 .vwr__layout {transform:none;}
 .vwr__cta {transition:none;}
}

/* 2026-09-13: 1カラムになる幅では、左の「Workshopを見る」がカード内の
   「この回に申し込む」とリンク先も並びも重複するため出さない。
   このサイト内で申し込みが完結するようになったら、または風景写真が
   溜まって別ページを持つようになったら戻す。PC（901px以上）は従来どおり。 */
@media(max-width:900px){.vwr__cta{display:none}}
