/* 自然な家族写真を大切にしている理由 専用。デザイン案のCSSを .page-shizen の中だけに効かせています */
.page-shizen h1, .page-shizen h2, .page-shizen h3{font-family:var(--disp);font-weight:700;line-height:1.55;text-wrap:balance;margin:0}
.page-shizen .crumb{margin-left:auto;font-size:13px;color:var(--ink-soft)}
.page-shizen .crumb a{text-decoration:none}
.page-shizen .top{padding-top:36px;padding-bottom:0}
.page-shizen .eyebrow{font-family:var(--num);font-size:11px;letter-spacing:.2em;color:var(--accent);
  text-transform:uppercase;margin-bottom:12px}
.page-shizen .top h1{font-size:26px;line-height:1.6}
.page-shizen .top .ask{margin-top:20px;font-size:15.5px;color:var(--ink-soft);background:var(--surface);
  border:1px solid var(--rule);border-radius:6px;padding:18px 20px;line-height:1.85}
.page-shizen .top .ask b{color:var(--ink);font-family:var(--disp);font-weight:500}
@media(min-width:900px){
.page-shizen .top h1{font-size:34px}
}
.page-shizen .hero-ph{margin-top:30px}
.page-shizen .hero-ph img{border-radius:3px;box-shadow:var(--shadow);aspect-ratio:3/2;object-fit:cover}
.page-shizen .hero-ph figcaption{margin-top:14px;border-left:2px solid var(--accent);padding-left:12px;
  font-family:var(--disp);font-weight:500;font-size:14px;color:var(--ink-soft);line-height:1.75}
.page-shizen section{padding:52px 0}
@media(min-width:900px){
.page-shizen section{padding:70px 0}
}
.page-shizen .quiet{background:var(--surface);border-block:1px solid var(--rule)}
.page-shizen .prose h2{font-size:21px;margin-bottom:20px}
@media(min-width:900px){
.page-shizen .prose h2{font-size:25px}
}
.page-shizen .prose .body{display:grid;gap:20px}
.page-shizen .prose .body strong{font-weight:500}
.page-shizen .pull{margin:0;padding:30px 24px;background:var(--accent-wash);border-radius:6px;
  font-family:var(--disp);font-weight:700;font-size:18px;line-height:1.95;letter-spacing:.03em}
@media(min-width:760px){
.page-shizen .pull{font-size:21px;padding:36px 32px}
}
.page-shizen .midph{margin:8px 0 0}
.page-shizen .midph img{border-radius:3px;box-shadow:var(--shadow);aspect-ratio:3/2;object-fit:cover}
.page-shizen .midph.tall{max-width:420px}
.page-shizen .midph.tall img{aspect-ratio:3/4}
.page-shizen .midph figcaption{margin-top:14px;border-left:2px solid var(--accent);padding-left:12px;
  font-size:14px;color:var(--ink-soft);line-height:1.8}
.page-shizen .closer{display:grid;max-width:480px;margin:40px auto 0}
.page-shizen .closer > *{grid-area:1/1}
.page-shizen .closer img{border-radius:3px;box-shadow:var(--shadow)}
.page-shizen .closer p{align-self:start;justify-self:start;margin:7% 0 0 8%;max-width:76%;
  color:#2E2A27;font-family:var(--disp);font-weight:700;
  font-size:clamp(16px,4.2vw,21px);line-height:1.95;letter-spacing:.03em}
.page-shizen .faqmini{border-top:1px solid var(--rule);margin-top:8px}
.page-shizen .faqmini details{border-bottom:1px solid var(--rule)}
.page-shizen .faqmini summary{cursor:pointer;list-style:none;padding:18px 32px 18px 28px;position:relative;
  font-family:var(--disp);font-weight:500;font-size:15px;line-height:1.7}
.page-shizen .faqmini summary::-webkit-details-marker{display:none}
.page-shizen .faqmini summary::before{content:"Q";position:absolute;left:0;top:18px;font-family:var(--num);
  color:var(--accent);font-size:15px}
.page-shizen .faqmini summary::after{content:"";position:absolute;right:4px;top:26px;width:8px;height:8px;
  border-right:1.5px solid var(--ink-soft);border-bottom:1.5px solid var(--ink-soft);
  transform:rotate(45deg);transition:transform .2s}
.page-shizen .faqmini details[open] summary::after{transform:rotate(-135deg)}
.page-shizen .faqmini .a{padding:0 8px 22px 28px;color:var(--ink-soft);font-size:14.5px;line-height:1.9;position:relative}
.page-shizen .faqmini .a::before{content:"A";position:absolute;left:0;top:0;font-family:var(--num);
  color:var(--ink-soft);font-size:15px}
.page-shizen .next{display:grid;gap:12px;margin-top:10px}
.page-shizen .next a{display:flex;align-items:baseline;gap:12px;padding:18px 20px;border:1px solid var(--rule);
  border-radius:6px;text-decoration:none;background:var(--surface);transition:border-color .2s}
.page-shizen .next a:hover{border-color:var(--accent)}
.page-shizen .next .t{font-family:var(--disp);font-weight:700;font-size:15px}
.page-shizen .next .d{font-size:13px;color:var(--ink-soft)}
.page-shizen .next .arrow{margin-left:auto;color:var(--accent);font-family:var(--num)}
.page-shizen .js-reveal .reveal{opacity:0;transform:translateY(12px) scale(1.01);filter:blur(5px)}
.page-shizen .js-reveal .reveal.is-in{opacity:1;transform:none;filter:none;
  transition:opacity .72s cubic-bezier(.22,.61,.36,1),transform .72s cubic-bezier(.22,.61,.36,1),
             filter .62s ease-out}
