/* 愛犬といっしょ 専用。デザイン案のCSSを .page-petphoto の中だけに効かせています */
.page-petphoto h1, .page-petphoto h2, .page-petphoto h3{font-family:var(--disp);font-weight:700;line-height:1.55;text-wrap:balance;margin:0}
.page-petphoto .crumb{margin-left:auto;font-size:13px;color:var(--ink-soft)}
.page-petphoto .crumb a{text-decoration:none}
.page-petphoto .top{padding-top:36px;padding-bottom:0}
.page-petphoto .top-grid{display:grid;gap:26px}
.page-petphoto .eyebrow{font-family:var(--num);font-size:11px;letter-spacing:.2em;color:var(--accent);
  text-transform:uppercase;margin-bottom:12px}
.page-petphoto .top h1{font-size:26px;line-height:1.6}
.page-petphoto .top .lead{margin-top:18px;color:var(--ink-soft);font-size:15px}
.page-petphoto .top figure{margin:0}
.page-petphoto .top figure img{border-radius:3px;box-shadow:var(--shadow)}
@media(min-width:840px){
.page-petphoto .top{padding-top:52px;padding-bottom:0}
.page-petphoto .top-grid{grid-template-columns:1.05fr 1fr;gap:48px;align-items:center}
.page-petphoto .top .text{order:-1}
.page-petphoto .top h1{font-size:36px}
}
.page-petphoto section{padding:56px 0}
@media(min-width:900px){
.page-petphoto section{padding:78px 0}
}
.page-petphoto .quiet{background:var(--surface);border-block:1px solid var(--rule)}
.page-petphoto .sec-head{margin-bottom:26px}
.page-petphoto .sec-head h2{font-size:22px}
.page-petphoto .sec-head .en{font-family:var(--num);font-size:11px;letter-spacing:.2em;color:var(--ink-soft);
  text-transform:uppercase;margin-top:8px}
.page-petphoto .sec-head::after{content:"";display:block;width:40px;height:2px;background:var(--accent);margin-top:16px}
@media(min-width:900px){
.page-petphoto .sec-head h2{font-size:27px}
}
.page-petphoto .body{display:grid;gap:18px;font-size:15.5px}
.page-petphoto .body strong{font-weight:500}
.page-petphoto .freeph{margin:26px 0 0}
.page-petphoto .freeph img{border-radius:3px;box-shadow:var(--shadow)}
.page-petphoto .freeph.tall{max-width:420px;margin-inline:auto}
.page-petphoto .freeph 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-petphoto .plans{display:grid;gap:2px;border-top:1px solid var(--rule)}
.page-petphoto .plans article{padding:26px 2px;border-bottom:1px solid var(--rule);display:grid;gap:8px}
.page-petphoto .plans h3{font-size:17.5px;display:flex;gap:11px;align-items:baseline}
.page-petphoto .plans h3 .n{font-family:var(--num);font-size:12px;color:var(--accent);letter-spacing:.1em}
.page-petphoto .plans p{font-size:15px;color:var(--ink-soft);line-height:1.9}
.page-petphoto .plans .opt{font-size:13px;color:var(--ink-soft);background:var(--accent-wash);
  border-radius:5px;padding:12px 14px;line-height:1.8}
.page-petphoto .price{border-top:1px solid var(--rule)}
.page-petphoto .price .r{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;
  padding:20px 2px;border-bottom:1px solid var(--rule)}
.page-petphoto .price .n{font-family:var(--disp);font-weight:700;font-size:16px;min-width:11em}
.page-petphoto .price .v{font-family:var(--num);font-weight:500;font-size:21px;color:var(--accent);
  font-variant-numeric:tabular-nums}
.page-petphoto .price .m{width:100%;font-size:13px;color:var(--ink-soft)}
@media(min-width:760px){
.page-petphoto .price .m{width:auto;margin-left:auto;text-align:right}
}
.page-petphoto .tax{margin-top:16px;font-size:13px;color:var(--ink-soft);line-height:1.85}
.page-petphoto .js-reveal .reveal{opacity:0;transform:translateY(12px) scale(1.01);filter:blur(5px)}
.page-petphoto .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}
