@charset "UTF-8";
:root{--paper:#f4f0e3;--ink:#25352a;--forest:#143b2d;--line:#b9c4ae;--berry:#8a4f53;--pale:#e4e9d6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.85}a{color:inherit}img,video{display:block;max-width:100%}button,input{font:inherit}:focus-visible{outline:3px solid #9c493e;outline-offset:3px}.skip{position:absolute;top:-100px;left:1rem;z-index:10;background:white;padding:.7rem}.skip:focus{top:1rem}.notice{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 3vw;border-bottom:1px solid var(--line);font:600 .65rem/1.4 Arial,sans-serif;letter-spacing:.16em}.header{display:flex;align-items:center;justify-content:space-between;gap:2rem;min-height:100px;padding:1rem 3vw;border-bottom:1px solid var(--line)}.wordmark{text-decoration:none;font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:.3em;white-space:nowrap}.wordmark>span{color:var(--berry)}.wordmark small{display:block;font:500 .43em Arial,sans-serif;letter-spacing:.38em}.header nav{display:flex;gap:3rem;font-size:.82rem}.header nav a,.back-link{text-decoration:none}.header nav a:hover,.back-link:hover{text-decoration:underline;text-underline-offset:6px}.back-link{font-size:.75rem;white-space:nowrap}.hero{min-height:770px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);border-bottom:1px solid var(--line)}.hero-words{position:relative;padding:3rem 6vw 2rem;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;overflow:hidden}.hero-words:before{content:'花';position:absolute;left:-.08em;bottom:-.3em;color:#e9e8d8;font-size:clamp(20rem,40vw,44rem);line-height:1;z-index:-1}.folio,.hero-english,.hero-foot,.text-link,.art-index,.running-caption,.chapter-title>span,.specimen-photo figcaption,.specimen-list small,.reasons-aside>span:first-child,.order-heading>span,.order-side>span,.order-side small,.last-page>span,footer{font-family:Arial,sans-serif;letter-spacing:.16em}.folio{font-size:.72rem;color:var(--berry);border-top:1px solid var(--ink);padding-top:.65rem}.hero-english{font-size:.68rem;margin-top:4rem}.hero h1{font-weight:400;font-size:clamp(5rem,7.3vw,8rem);line-height:1.16;letter-spacing:.09em;margin:0 0 2rem;white-space:nowrap}.hero h1 i,.order h2 i{font-style:normal;color:var(--berry)}.hero-lead{font-size:1.05rem;max-width:29rem}.text-link{font-size:.76rem;text-decoration:none;border-bottom:1px solid var(--ink);padding:.5rem .2rem;margin-top:2rem}.text-link span{margin-left:2rem}.hero-foot{position:absolute;bottom:2rem;left:6vw;right:6vw;display:flex;justify-content:space-between;gap:1rem;font-size:.57rem}.hero-art{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--forest);min-height:730px}.petal-film{position:relative;width:min(80%,540px);height:min(76%,680px);overflow:hidden;border-radius:48% 48% 8% 8% / 45% 45% 10% 10%;clip-path:circle(75% at 50% 50%);animation:unfold 1.9s cubic-bezier(.2,.6,.1,1) both;box-shadow:0 20px 90px #07170e}.petal-film video{width:100%;height:100%;object-fit:cover}.hero-art:before{content:'';position:absolute;width:94%;aspect-ratio:1;border:1px solid #a9c2a666;border-radius:50%;transform:rotate(-21deg)}.hero-art:after{content:'';position:absolute;width:66%;aspect-ratio:1;border:1px solid #a9c2a666;border-radius:50%;transform:rotate(24deg)}.art-index{position:absolute;bottom:2rem;left:3rem;color:#f6f3df;font-size:.61rem}.vertical-title{position:absolute;top:3rem;right:2rem;writing-mode:vertical-rl;color:#e5e9d7;font-size:1rem;letter-spacing:.35em}.outline-flower{position:absolute;left:2rem;top:1rem;color:#c8d9c570;font:400 6rem serif}@keyframes unfold{from{clip-path:circle(1% at 50% 55%);opacity:.25}to{clip-path:circle(75% at 50% 50%);opacity:1}}.running-caption{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 3vw;border-bottom:1px solid var(--line);font-size:.62rem}.atlas{padding:8rem 3vw 10rem}.chapter-title{max-width:900px;margin:0 auto 4rem;text-align:center}.chapter-title>span{font-size:.68rem;color:var(--berry)}.chapter-title h2{font-weight:400;font-size:clamp(4rem,7vw,8rem);line-height:1.2;margin:1.1rem 0}.chapter-title p{font-size:.95rem}.atlas-spread{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.72fr);gap:6vw;align-items:start;max-width:1500px;margin:auto}.specimen-photo{margin:0;background:#e1dfcf;padding:1rem;border:1px solid var(--line);transform:rotate(-2deg)}.specimen-photo img{width:100%;height:580px;object-fit:cover;filter:saturate(.8)}.specimen-photo figcaption{font-size:.62rem;margin-top:.5rem}.specimen-list{border-top:2px solid var(--ink)}.specimen-list article{display:grid;grid-template-columns:65px 1fr;column-gap:1rem;border-bottom:1px solid var(--line);padding:2rem 0}.specimen-n{font:italic 2.5rem Georgia,serif;color:var(--berry)}.specimen-list h3{font-weight:400;font-size:clamp(1.45rem,2vw,2rem);margin:0}.specimen-list p{font-size:.87rem;margin:.5rem 0}.specimen-list small{grid-column:2;font-size:.65rem;color:var(--berry)}.reasons{display:grid;grid-template-columns:29% 1fr;background:var(--pale);border-block:1px solid var(--line);min-height:720px}.reasons-aside{padding:4rem 3vw;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:space-between}.reasons-aside>span:first-child{font-size:.65rem}.big-flower{font:400 clamp(10rem,24vw,26rem)/1 Georgia,serif;color:#a9b898;transform:rotate(10deg)}.reasons-main{padding:6rem 6vw}.reasons h2{font-size:clamp(3rem,5.5vw,6rem);font-weight:400;line-height:1.4;margin:0 0 4rem}.reason-lines{border-top:1px solid var(--ink)}.reason-lines p{display:flex;gap:2rem;align-items:baseline;border-bottom:1px solid var(--ink);padding:1.1rem 0;margin:0;font-size:clamp(1.1rem,2vw,1.8rem)}.reason-lines span{font:700 .68rem Arial,sans-serif;color:var(--berry)}.small-note{font-size:.8rem;line-height:1.7;margin-top:4rem}.order{background:#ece7d7;padding:8rem 3vw}.order-heading{max-width:1100px;margin:0 auto 4rem;text-align:center}.order-heading>span{font-size:.68rem;color:var(--berry)}.order h2{font-size:clamp(3rem,6vw,6.2rem);font-weight:400;line-height:1.25;margin:1.2rem 0}.order-heading>p{max-width:720px;margin:1rem auto}.safety{display:inline-block;border-top:1px solid var(--ink);padding-top:.6rem;font-size:.83rem}.order-paper{display:grid;grid-template-columns:34% 1fr;max-width:1180px;margin:auto;background:#fbfaf3;border:1px solid var(--line);box-shadow:14px 17px 0 #d7d3c0}.order-side{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:3.5rem 3vw;border-right:1px solid var(--line);min-height:650px}.order-side>span,.order-side small{font-size:.61rem}.order-side-flower{font:400 clamp(9rem,15vw,17rem)/1 serif;color:#b7c6a5;align-self:center;animation:bloom 8s ease-in-out infinite alternate}@keyframes bloom{to{transform:rotate(24deg) scale(1.1)}}.order-side p{font-size:clamp(1.5rem,2.2vw,2.5rem);line-height:1.4}.order-paper form{padding:clamp(2rem,5vw,5rem);min-width:0}.progress{font:700 .74rem Arial,sans-serif;letter-spacing:.19em;color:var(--berry);border-bottom:1px solid var(--line);padding-bottom:1rem;margin:0 0 2rem}.step[hidden],.error[hidden],.back[hidden],.next[hidden],.progress[hidden]{display:none}.step fieldset{border:0;padding:0;margin:0;min-width:0}.step legend,.review h3,.done h3{font-size:clamp(1.6rem,3vw,2.5rem);font-weight:400;line-height:1.4}.hint{font-size:.85rem;color:#5c6856}.choice{display:block;position:relative;cursor:pointer;margin:.7rem 0}.choice input{position:absolute;opacity:0}.choice span{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);min-height:70px;padding:1rem .7rem;transition:background .25s,padding .25s}.choice input:checked+span{background:var(--pale);padding-left:1.5rem}.choice input:focus-visible+span{outline:3px solid var(--berry)}.choice b{font-weight:400;font-size:1.12rem}.choice small{text-align:right;color:#5b6858;font-size:.76rem}.choice em{font-style:normal;font-size:.68rem;color:var(--berry)}.review dl,.done dl{border-top:1px solid var(--ink)}.review dl div,.done dl div{display:grid;grid-template-columns:110px 1fr;gap:1rem;border-bottom:1px solid var(--line);padding:.8rem 0}.review dt,.done dt{font-size:.85rem}.review dd,.done dd{margin:0}.error{color:#8b3529;font-weight:bold}.controls{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:2rem}.controls button{border:1px solid var(--ink);background:none;color:var(--ink);padding:.65rem 1.1rem;min-height:47px;cursor:pointer}.controls .next{background:var(--forest);color:white}.controls .restart{border-color:transparent;text-decoration:underline;font-size:.82rem}.controls button:hover{background:var(--berry);color:white}.last-page{position:relative;min-height:650px;overflow:hidden;background:var(--forest);color:#f6f3e7;padding:7rem 6vw}.last-page>span{font-size:.65rem}.last-page h2{font-size:clamp(4rem,8vw,9rem);font-weight:400;line-height:1.2;max-width:1100px;margin:2rem 0}.last-page p{max-width:32rem}.last-page a{display:inline-block;margin-top:2rem;text-underline-offset:6px}.last-flower{position:absolute;right:-.2em;bottom:-.4em;font:400 clamp(15rem,35vw,38rem)/1 serif;color:#65866a45}footer{display:flex;justify-content:space-between;gap:1rem;padding:2rem 3vw;font-size:.65rem}footer a{text-decoration:none}
@media(max-width:900px){.header nav{display:none}.hero{grid-template-columns:1fr}.hero-words{min-height:620px}.hero-art{min-height:600px}.atlas-spread{grid-template-columns:1fr}.specimen-photo img{height:450px}.reasons{grid-template-columns:1fr}.reasons-aside{border-right:0;border-bottom:1px solid var(--line);min-height:150px}.big-flower{display:none}.order-paper{grid-template-columns:1fr}.order-side{min-height:auto;display:block;border-right:0;border-bottom:1px solid var(--line);padding:1.5rem}.order-side-flower,.order-side p,.order-side small{display:none}}
@media(max-width:600px){.notice{font-size:.52rem}.notice span:last-child,.running-caption span:nth-child(2){display:none}.header{min-height:75px}.back-link{font-size:.7rem}.hero-words{min-height:610px;padding:2rem 6vw 4rem}.hero-english{margin-top:3rem}.hero h1{font-size:clamp(4rem,17vw,6.5rem)}.hero-foot{bottom:1.2rem}.hero-foot span:last-child{display:none}.hero-art{min-height:550px}.petal-film{width:80%;height:450px}.vertical-title{right:.8rem;font-size:.8rem}.art-index{left:1rem}.atlas{padding:5rem 5vw}.chapter-title h2{font-size:clamp(3.3rem,13vw,5rem)}.specimen-photo img{height:300px}.specimen-list article{grid-template-columns:40px 1fr}.reasons-main{padding:5rem 5vw}.reasons h2{font-size:clamp(2.5rem,10vw,4rem)}.reason-lines p{font-size:1.12rem}.order{padding:5rem 5vw}.order h2{font-size:clamp(2.9rem,11vw,4.5rem)}.order-paper{box-shadow:7px 9px 0 #d7d3c0}.order-paper form{padding:2rem 1.3rem}.choice span{align-items:flex-start;flex-direction:column;gap:0}.choice small{text-align:left}.review dl div,.done dl div{grid-template-columns:1fr;gap:0}.last-page{padding:6rem 5vw}.last-page h2{font-size:clamp(3.7rem,12vw,6rem)}footer{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.petal-film,.order-side-flower{animation:none}.choice span{transition:none}.petal-film video{display:none}.petal-film{background:url('../assets/hanabiyori-hero-generated.jpg') center/cover}}
/* 日本語の句読点と行末を読みやすく整える */
h1,h2,h3,p{line-break:strict}
h1,h2,h3{text-wrap:balance}
p{text-wrap:pretty}

/* Flower-filled hero: the flowers stay visible before the headline on small screens. */
.hero{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)}
.hero-art{min-height:700px}
.petal-film{width:100%;height:100%;border-radius:0;clip-path:none;animation:none;box-shadow:none}
.petal-film img{width:100%;height:100%;object-fit:cover;object-position:55% center}
.hero-art:after{content:"";position:absolute;inset:auto 0 0;height:16%;background:linear-gradient(transparent,#102d2280);pointer-events:none}
.art-index{z-index:1;background:#143b2da8;padding:.35rem .55rem}
.vertical-title,.outline-flower{display:none}
@media(max-width:900px){
  .hero{display:flex;flex-direction:column}
  .hero-art{order:-1;min-height:clamp(320px,55vw,480px)}
  .hero-words{min-height:0;padding:2.3rem 6vw 3rem}
  .hero-english{margin-top:1.5rem}
  .hero-foot{position:static;margin-top:2rem}
}
@media(max-width:600px){
  .hero-art{min-height:320px;height:320px}
  .petal-film img{object-position:53% center}
  .hero-words{padding:1.7rem 6vw 2.4rem}
  .hero-english{margin-top:1rem}
  .hero h1{font-size:clamp(3.7rem,14vw,5.2rem);margin-bottom:1.1rem}
  .hero-lead{font-size:.94rem;line-height:1.65}
  .hero-foot{margin-top:1.5rem}
}
@media(min-width:601px) and (max-width:900px){
  .hero-art{min-height:350px;height:350px}
  .hero-words{padding:1.6rem 6vw 2.5rem}
  .hero-english{margin-top:.8rem}
  .hero h1{font-size:clamp(4rem,10vw,6rem);margin-bottom:1rem}
}

/* The flower shop name anchors the paper half of the opening spread. */
.hero-words{justify-content:center}
.hero h1{font-size:clamp(5.5rem,9vw,10rem);line-height:1;letter-spacing:.09em;margin:.45rem 0 0;white-space:normal}
.hero h1 span{display:block;color:var(--berry);font-size:clamp(1.8rem,3vw,3.3rem);letter-spacing:.08em;margin-top:.55rem;white-space:nowrap}
.hero-phrase{font-size:clamp(2.2rem,3.7vw,4.2rem);line-height:1.25;letter-spacing:.05em;color:var(--ink);margin:2.6rem 0 .5rem;padding-top:1rem;border-top:1px solid var(--line)}
@media(max-width:900px){.hero h1{font-size:clamp(5rem,16vw,8rem)}.hero h1 span{font-size:clamp(1.65rem,5.5vw,3rem)}.hero-phrase{font-size:clamp(2.2rem,7vw,3.5rem);margin-top:1.5rem}}
@media(max-width:600px){.hero h1{font-size:clamp(5rem,21vw,6.5rem);margin:.4rem 0 0}.hero h1 span{font-size:clamp(1.55rem,7.5vw,2.1rem)}.hero-phrase{font-size:clamp(2rem,8vw,2.8rem);margin:1.35rem 0 .3rem}.hero-lead{font-size:.9rem}}
