/* cafe nora 15周年イベント告知専用。
   既存ヒーロー・イベント・ギャラリー用のCSSとは分離。
   写真と装飾は別レイヤー。提供された画像の内容は変更しない。 */
.nora15-home {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(140deg, #fffaf5, #faf4ec 55%, #f8f1e6);
  border-block: 1px solid rgba(118,79,61,.11);
  padding: clamp(48px,7vw,98px) 22px clamp(48px,7vw,86px);
}
.nora15-home::before, .nora15-home::after {
  content:"";position:absolute;z-index:-1;pointer-events:none;
  width:clamp(160px,25vw,380px);height:clamp(160px,25vw,380px);
  border-radius:46% 54% 50% 50%;
  background:radial-gradient(ellipse at center,rgba(178,111,88,.075),transparent 72%);
}
.nora15-home::before {left:-10%;top:-20%}
.nora15-home::after {right:-7%;bottom:-25%}
.nora15-inner{max-width:1120px;margin:0 auto}
.nora15-kicker {
  display:flex;align-items:center;gap:13px;
  font-family:var(--sans-en,'Montserrat',sans-serif);
  font-size:.74rem;letter-spacing:.18em;color:#9d5849;font-weight:600;
  margin:0 0 14px;
}
.nora15-kicker::before{content:"";height:1px;width:30px;background:#b98369}
.nora15-headline {
  font-family:var(--serif-jp,'Yu Mincho',serif);font-size:clamp(1.75rem,3.8vw,3rem);
  font-weight:400;line-height:1.55;margin:0 0 16px;color:#49392f;
  letter-spacing:.035em;
}
.nora15-lead {
  font-size:clamp(.89rem,1.25vw,.98rem);
  color:#68554d;line-height:2.05;max-width:720px;margin:0 0 clamp(23px,4vw,39px);
}
.nora15-content {
  display:grid;grid-template-columns:minmax(260px,.88fr) minmax(0,1.12fr);
  gap:clamp(28px,4.5vw,68px);align-items:center;
}
.nora15-poster {
  position:relative;
  margin:0;min-width:0;
  filter:drop-shadow(0 14px 20px rgba(80,42,32,.10));
}
.nora15-poster img{width:100%;height:auto;display:block;border-radius:4px}
.nora15-poster figcaption{margin-top:10px;color:#897b70;font-size:.7rem;text-align:center}
.nora15-detail{min-width:0}
.nora15-detail h3 {
  margin:0 0 11px;font:400 clamp(1.1rem,1.9vw,1.5rem)/1.55 var(--serif-jp,serif);
  color:#4c3d37;
}
.nora15-date{display:flex;align-items:baseline;gap:10px;margin:0 0 7px;color:#bf5b53}
.nora15-date strong{font:600 clamp(2.5rem,5vw,4.4rem)/1 var(--serif-en,Georgia,serif);letter-spacing:-.05em}
.nora15-date small{font:600 .9rem/1 var(--sans-en,'Montserrat',sans-serif);letter-spacing:.1em}
.nora15-location{font-size:.85rem;color:#76685c;margin:0 0 16px}
.nora15-rule{height:1px;background:linear-gradient(90deg,#d7bcb2,transparent);margin:19px 0}
.nora15-dl{display:grid;grid-template-columns:120px 1fr;row-gap:13px;font-size:.9rem;line-height:1.7;margin:0}
.nora15-dl dt{font-weight:700;color:#6d5750}
.nora15-dl dd{margin:0;color:#423a34}
.nora15-price-note{display:block;margin:8px 0 0;color:#75695d;line-height:1.7;font-size:.78rem}
.nora15-spotlight{
  font-size:.88rem;color:#755e55;line-height:1.95;margin:19px 0 20px;
}
.nora15-actions{display:flex;flex-wrap:wrap;gap:9px}
.nora15-actions a{
  display:inline-flex;align-items:center;justify-content:center;min-height:46px;
  border-radius:40px;padding:10px 22px;text-decoration:none;font-size:.85rem;
  font-weight:600;letter-spacing:.03em;transition:background .2s,transform .2s;
}
.nora15-actions a:focus-visible{outline:3px solid #48633f;outline-offset:3px}
.nora15-actions a.primary{background:#a84a48;color:white}
.nora15-actions a.primary:hover{background:#8e3d3d}
.nora15-actions a.secondary{border:1px solid #ae9a8e;background:#fffbf7;color:#55473e}
.nora15-actions a.secondary:hover{background:#f3e8e2}
.nora15-reserve{font-size:.78rem;color:#7b6e62;line-height:1.8;margin:13px 0 0}
@media(max-width:760px){
  .nora15-home{padding:38px 16px 49px}
  .nora15-headline{font-size:clamp(1.6rem,6vw,2.15rem)}
  .nora15-lead{margin-bottom:21px}
  .nora15-content{display:flex;flex-direction:column;gap:27px;align-items:stretch}
  .nora15-poster{width:min(100%,450px);margin:0 auto}
  .nora15-detail{max-width:550px;width:100%;margin:0 auto}
  .nora15-dl{grid-template-columns:100px 1fr;gap:11px;font-size:.86rem}
  .nora15-actions a{flex:1 1 180px}
}
@media(prefers-reduced-motion:reduce){.nora15-actions a{transition:none}}
