/* meoto /meo — サービス説明を中心に、本文幅を統一 */
.zz-meoto{--meoto-line:rgba(38,38,39,.14);--meoto-gap:clamp(3rem,5.5556vw,5rem);color:#262627;background:#fff;padding-top:var(--hh);padding-bottom:clamp(3rem,5.5556vw,5rem);font-family:var(--ja_sans);font-size:clamp(.875rem,1.1111vw,1rem);line-height:2.2;letter-spacing:.02em}
.zz-meoto *{box-sizing:border-box}
.zz-meoto-reading{width:min(55vw,60rem);margin-inline:auto}
@media(min-width:769px){.zz-meoto-reading{width:75vw;max-width:none}}
.zz-meoto-section{margin-top:var(--meoto-gap);scroll-margin-top:calc(var(--hh) + 2rem)}
.zz-meoto h1,.zz-meoto h2,.zz-meoto h3{font-family:var(--mds_sans);font-weight:700;color:#000;letter-spacing:.02em;opacity:1!important;visibility:visible!important}
.zz-meoto h1{font-size:clamp(1.75rem,2.2222vw,2rem);line-height:2;margin:1.5rem 0}
.zz-meoto h2{font-size:clamp(1.25rem,1.6667vw,1.5rem);line-height:2.2;margin:0 0 1.5rem}
.zz-meoto h3{font-size:clamp(1rem,1.25vw,1.125rem);line-height:2.2;margin:0 0 .75rem}
.zz-meoto p+p{margin-top:1.25em}
.zz-meoto a{color:inherit}
.zz-meoto a:focus-visible,.zz-meoto summary:focus-visible{outline:2px solid #1c1d21;outline-offset:5px}
.zz-meoto-name{font-family:var(--en_sans);font-size:clamp(1.75rem,2.2222vw,2rem);font-weight:700;line-height:1.3;letter-spacing:-.04em}
.zz-meoto-hero{padding-top:clamp(2rem,3.3333vw,3rem);padding-bottom:2rem}
.zz-meoto-hero-note{font-weight:700;font-size:1rem}
.zz-meoto-hero-note span{font-weight:400;font-size:.8125rem;display:inline-block}
.zz-meoto-hero-photo{margin-top:2.5rem}
.zz-meoto-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:2/1;object-fit:cover;object-position:center}
.zz-meoto-hero-photo figcaption{margin-top:.75rem;font-size:.75rem;line-height:2;color:#626267}
.zz-meoto-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-top:1.5rem}
.zz-meoto .zz-meoto-button{display:inline-flex;justify-content:center;align-items:center;min-height:3.25rem;max-width:100%;padding:.75rem 1.75rem;background:#1c1d21;color:#fff;border-radius:999px;text-decoration:none;font-size:.875rem;font-weight:700;line-height:2;text-align:center;transition:opacity .3s ease}
.zz-meoto-button:hover{opacity:.82}
.zz-meoto .zz-meoto-link{text-decoration:underline;text-underline-offset:.3em;text-decoration-color:rgba(38,38,39,.3);transition:text-decoration-color .3s ease}
.zz-meoto .zz-meoto-link:hover{text-decoration-color:currentColor}
.zz-meoto-actions .zz-meoto-link{font-size:.875rem}
.zz-meoto-toc{display:flex;flex-wrap:wrap;gap:1rem 2rem;padding:1rem 0;border-top:1px solid var(--meoto-line);border-bottom:1px solid var(--meoto-line);font-size:.875rem}
.zz-meoto-toc a{text-decoration:underline;text-underline-offset:.3em;text-decoration-color:rgba(38,38,39,.3)}
.zz-meoto-issues{list-style:disc;padding-left:1.25em;margin:0 0 1.5rem}
.zz-meoto-issues li{padding-block:.2rem}
.zz-meoto .zz-meoto-small{font-size:.8125rem;line-height:2.2;color:#626267}
.zz-meoto-support>div{display:grid;grid-template-columns:1fr 2.2fr;gap:2rem;border-top:1px solid var(--meoto-line);padding-block:1.5rem}
.zz-meoto-support>div:last-child{border-bottom:1px solid var(--meoto-line)}
.zz-meoto-support h3{font-size:1rem;margin:0}
.zz-meoto-case-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:2rem;align-items:start}
.zz-meoto-case-photo img{width:100%;height:auto;aspect-ratio:4/5;display:block;object-fit:cover}
.zz-meoto-case-copy h3{margin-bottom:.25rem}
.zz-meoto-case-copy>.zz-meoto-link{display:inline-block;margin-top:1.25rem;font-size:.875rem}
.zz-meoto-price{margin-top:2rem;padding:clamp(1.5rem,2.7778vw,2.5rem);background:#f4f4f2}
.zz-meoto .zz-meoto-price-number{display:flex;align-items:baseline;flex-wrap:wrap;gap:.65rem;margin-top:.5rem;line-height:2}
.zz-meoto-price-number strong{font-family:var(--en_sans);font-size:clamp(2.5rem,3.3333vw,3rem);font-weight:700;letter-spacing:-.03em}
.zz-meoto-price-number span{font-size:.875rem}
.zz-meoto .zz-meoto-price-number+.zz-meoto-small{margin-top:0}
.zz-meoto-includes{margin:1.5rem 0}
.zz-meoto-includes>div{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid var(--meoto-line)}
.zz-meoto-includes>div:last-child{border-bottom:1px solid var(--meoto-line)}
.zz-meoto-includes dt{font-weight:700;font-size:.875rem}
.zz-meoto-includes dd{font-size:.875rem}
.zz-meoto-price-notes{margin-top:1.25rem}
.zz-meoto-area{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--meoto-line)}
.zz-meoto-faq details{border-top:1px solid var(--meoto-line)}
.zz-meoto-faq details:last-child{border-bottom:1px solid var(--meoto-line)}
.zz-meoto-faq summary{display:list-item;padding:1.25rem 0;cursor:pointer;font-weight:700;font-size:.9375rem;list-style-position:inside}
.zz-meoto-faq details>p{padding:0 0 1.5rem;font-size:.875rem}
.zz-meoto-contact{border-top:1px solid var(--meoto-line);padding-top:2rem}
.zz-meoto-contact>.zz-meoto-button{margin-top:1.5rem}
.zz-meoto-contact>.zz-meoto-small{margin-top:1rem}
.zz-meoto-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:768px){
 .zz-meoto{font-size:clamp(.9375rem,4.2667vw,1rem);--meoto-gap:3.5rem}
 .zz-meoto-reading{width:calc(100% - 3rem)}
 .zz-meoto-hero{padding-top:2rem}
 .zz-meoto h1{font-size:clamp(1.375rem,6.4vw,1.625rem);line-height:2}
 .zz-meoto h2{font-size:clamp(1.125rem,4.8vw,1.25rem);line-height:2.2}
 .zz-meoto h3{font-size:1rem}
 .zz-meoto-hero-note{font-size:.9375rem}
 .zz-meoto-hero-photo{margin-top:2rem}
 .zz-meoto-hero-photo img{aspect-ratio:3/2}
 .zz-meoto-hero-photo figcaption{font-size:.6875rem}
 .zz-meoto-actions{gap:.75rem 1.25rem}
 .zz-meoto-toc{gap:.5rem 1.25rem;font-size:.8125rem}
 .zz-meoto-support>div{grid-template-columns:1fr;gap:.5rem;padding-block:1.25rem}
 .zz-meoto-case-grid{grid-template-columns:1fr;gap:1.5rem}
 .zz-meoto-case-photo img{aspect-ratio:3/2}
 .zz-meoto-price{padding:1.5rem}
 .zz-meoto-includes>div{grid-template-columns:1fr;gap:.25rem}
 .zz-meoto .zz-meoto-button{padding-inline:1.5rem;font-size:.8125rem}
 .zz-meoto-price .zz-meoto-button{width:100%;padding-inline:1rem}
 .zz-meoto-faq summary{font-size:.875rem}
 .zz-meoto-pc{display:none}
}
@media(prefers-reduced-motion:reduce){.zz-meoto *{transition:none!important;scroll-behavior:auto!important}}
