/* とびら三部作 共通表紙 v1.0.0 */
*{box-sizing:border-box}
html{color-scheme:light;background:#faf6f1}
body{margin:0;color:#453b45;background:radial-gradient(ellipse at 0 0,#eee2e8 0,transparent 43%),radial-gradient(ellipse at 100% 32%,#e8eee4 0,transparent 48%),#faf6f1;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
a{color:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
a:focus-visible{outline:2px solid #735477;outline-offset:5px}
.skip{position:absolute;left:12px;top:-100px;padding:10px;background:#fff;z-index:30}.skip:focus{top:10px}
.cover{width:min(100% - 24px,800px);min-height:100vh;min-height:100dvh;margin:0 auto;padding:38px 24px max(125px,calc(46px + env(safe-area-inset-bottom)));outline:none}
.cover-heading{text-align:center;margin-bottom:31px}
.eyebrow{margin:0 0 9px;color:#857685;font-size:11px;letter-spacing:.14em}
h1{margin:0;font-size:clamp(27px,5vw,38px);font-weight:500;line-height:1.55;letter-spacing:.08em;text-wrap:balance}
.lead{margin:15px 0 0;color:#756a75;font-size:14px;line-height:2;letter-spacing:.035em}
.mobile-break{display:none}
.doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.door-card{min-width:0;margin:0}
.door-card a{display:flex;height:100%;flex-direction:column;padding:19px 12px 14px;border:1px solid rgba(115,84,119,.14);border-radius:21px;background:rgba(255,253,250,.74);box-shadow:0 13px 38px rgba(91,70,84,.07);text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}
.door-card a:hover,.door-card a:focus-visible{transform:translateY(-3px);box-shadow:0 18px 42px rgba(91,70,84,.12);background:#fffdfa}
.door-card h2{min-height:5.6em;margin:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:clamp(16px,2.25vw,19px);font-weight:500;line-height:1.8;letter-spacing:.035em;text-wrap:balance}
.door-card figure{position:relative;overflow:hidden;width:100%;aspect-ratio:4/5;margin:6px 0 16px;border-radius:70px 70px 14px 14px;background:#f5eee8}
.door-card figure::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:color}
.door-card img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:scale(1.16)}
.door-past figure::after{background:rgba(132,99,136,.08)}
.door-another figure::after{background:rgba(194,139,117,.07)}
.door-future figure::after{background:rgba(103,140,143,.08)}
.door-button{display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;margin-top:auto;border-radius:14px;color:#fff;background:#735477;font-size:14px;letter-spacing:.035em}
.door-another .door-button{background:#9a6875}
.door-future .door-button{background:#637a7c}
.corner-links{position:fixed;right:max(10px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:20;display:grid;gap:7px}
.corner-links.is-yielding{visibility:hidden;opacity:0;pointer-events:none}
.corner-links a{display:flex;align-items:center;justify-content:center;min-width:104px;min-height:44px;padding:9px 13px;border:1px solid rgba(115,84,119,.16);border-radius:14px;color:#655568;background:rgba(255,253,250,.94);text-align:center;text-decoration:none;font-size:11px;font-weight:500;letter-spacing:.02em;box-shadow:0 5px 16px rgba(64,54,68,.1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
@media(max-width:680px){
 .cover{width:min(100% - 16px,520px);padding:28px 10px max(122px,calc(40px + env(safe-area-inset-bottom)))}
 .cover-heading{margin-bottom:24px}
 .doors{grid-template-columns:1fr;gap:14px}
 .door-card a{display:grid;grid-template-columns:minmax(0,1fr) 124px;grid-template-rows:auto auto;column-gap:14px;padding:16px;align-items:center}
 .door-card h2{min-height:0;justify-content:flex-start;text-align:left;font-size:18px;line-height:1.8}
 .door-card figure{grid-column:2;grid-row:1/3;width:124px;height:154px;margin:0;border-radius:58px 58px 12px 12px}
 .door-button{grid-column:1;grid-row:2;width:100%;margin-top:12px}
}
@media(max-width:390px){
 .cover{padding-inline:6px}
 .mobile-break{display:block}
 .lead{font-size:13px}
 .door-card a{grid-template-columns:minmax(0,1fr) 106px;column-gap:10px;padding:14px 12px}
 .door-card h2{font-size:16px}
 .door-card figure{width:106px;height:137px}
 .door-button{font-size:13px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
