@charset "UTF-8";
:root{--ivory:#faf7f1;--paper:#fffdf9;--rose:#80495b;--rose-dark:#5e3443;--ink:#352b2e;--muted:#786b6f;--line:#ddd2cf;--serif:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--ease:cubic-bezier(.2,.7,.2,1)}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:radial-gradient(ellipse at 0 0,#e7cfca70,transparent 48%),radial-gradient(ellipse at 100% 40%,#eedfcc60,transparent 55%),var(--ivory);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}
::selection{background:var(--rose);color:#fff}
h1,h2,p,figure,blockquote{margin:0}
.reading-page{width:min(1060px,88%);margin-inline:auto;padding:62px 0 92px}
.page-heading{text-align:center;position:relative;margin-bottom:52px;animation:heading-enter .8s var(--ease) both}
.page-flower{display:block;width:44px;height:44px;color:var(--rose);margin:0 auto 15px}
h1{font-family:var(--serif);font-size:clamp(34px,4.6vw,54px);font-weight:500;letter-spacing:.07em;line-height:1.5;color:var(--rose-dark);text-wrap:balance}
.heading-rule{display:block;width:76px;height:1px;margin:24px auto 0;background:linear-gradient(90deg,transparent,#b68079,transparent)}
.reading-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:stretch}
.qa-item,.review-item{min-width:0;position:relative;border:1px solid #d9c6c0;background:linear-gradient(140deg,#fffefa,#f7eee5);border-radius:4px 4px 4px 26px;box-shadow:0 14px 35px #5e344308;overflow:hidden;animation:entry-enter .65s var(--ease) both;animation-delay:calc(min(var(--order),3)*.075s + .1s)}
.qa-item{padding:30px 30px 32px;border-top:2px solid #b28087}
.qa-item h2{display:grid;grid-template-columns:32px 1fr;gap:14px;align-items:start;color:var(--rose-dark);font-family:var(--serif);font-weight:500;font-size:20px;line-height:1.75;letter-spacing:.015em;padding-bottom:22px;border-bottom:1px solid #ddccc5}
.question-symbol{font:italic 27px/1.45 Georgia,serif;color:#986472}
.answer{display:grid;grid-template-columns:32px 1fr;gap:14px;padding-top:21px}
.answer-symbol{font:italic 22px/1.8 Georgia,serif;color:#ac8586}
.answer p{font-size:15px;line-height:2;color:#57464e;overflow-wrap:anywhere;line-break:strict}
.review-item{padding:39px 35px 34px;display:flex;align-items:center;isolation:isolate}
.review-item::before{content:"";position:absolute;left:0;top:34px;bottom:34px;width:3px;background:linear-gradient(#b1858a,#d3b191)}
.review-item::after{content:"";position:absolute;width:160px;height:160px;right:-85px;bottom:-90px;border:1px solid #cfa99044;border-radius:50%;box-shadow:0 0 0 15px #cfa99008,0 0 0 30px #cfa99006;z-index:-1}
.quote-ornament{position:absolute;top:4px;left:28px;font:66px/1.2 Georgia,serif;color:#bc96913d;pointer-events:none;z-index:-1}
.review-item blockquote{position:relative}
.review-item p{font-family:var(--serif);font-size:17px;font-weight:500;line-height:2.05;letter-spacing:.025em;overflow-wrap:anywhere;line-break:strict}
@keyframes heading-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes entry-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(max-width:760px){
 .reading-page{width:89%;padding:38px 0 50px}
 .page-heading{margin-bottom:30px}
 .page-flower{width:35px;height:35px;margin-bottom:12px}
 h1{font-size:33px;letter-spacing:.035em}
 .questions-page h1{font-size:40px;letter-spacing:.05em}
 .heading-rule{margin-top:19px;width:60px}
 .reading-grid{grid-template-columns:1fr;gap:20px}
 .qa-item{padding:23px 20px 25px;border-bottom-left-radius:22px}
 .qa-item h2{font-size:18px;line-height:1.75;grid-template-columns:25px 1fr;gap:10px;padding-bottom:18px}
 .question-symbol{font-size:25px}
 .answer{grid-template-columns:25px 1fr;gap:10px;padding-top:17px}
 .answer-symbol{font-size:21px}
 .answer p{font-size:15px;line-height:1.95}
 .review-item{padding:31px 24px 28px;min-height:0}
 .review-item p{font-size:16px;line-height:2.05;letter-spacing:.015em}
 .quote-ornament{font-size:57px;left:17px;top:1px}
 .review-item::before{top:28px;bottom:28px}
}
@media(max-width:350px){.reading-page{width:90%;padding-top:30px}h1{font-size:29px}.qa-item{padding-inline:16px}.qa-item h2{font-size:17px;gap:8px}.answer{gap:8px}.answer p{font-size:14px}.review-item{padding-inline:22px}.review-item p{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:white}.reading-page{width:100%;padding:0}.reading-grid{display:block}.page-flower{display:none}.qa-item,.review-item{break-inside:avoid;box-shadow:none;margin-bottom:18px;animation:none}.page-heading{animation:none;margin-bottom:24px}}
