/* youtown.jp 全ページ共通のリニューアル層（2026-09-17）。site-unified-20260915.css の後に読む。
   公開ページ（.pt-nav のあるページ）だけに効く。戻すときは base_head.html の link 1行を外す。 */
body:has(.pt-nav),body.mm-page{font-family:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;--yt-radius:18px}
body:has(.pt-nav) :is(h1,h2,h3){text-wrap:balance;word-break:auto-phrase;font-weight:900}
body:has(.pt-nav) :is(.pt-h1,.seo-title,.seo-detail-title,.case-detail-title,.guide-title,.guide-detail-title,.glossary-title,.term-title,.industry-detail-title,.service-detail-title){font-size:clamp(30px,4.2vw,54px);line-height:1.34;letter-spacing:.005em;font-weight:900}
body:has(.pt-nav) .pt-h2{font-size:clamp(26px,3.2vw,40px);line-height:1.4}
/* ボタンは丸く、少し浮く */
body:has(.pt-nav) :is(.pt-nav-cta,.pt-btn,.seo-primary,.case-primary,.guide-primary,.industry-primary,.service-primary,.btn-brand-primary,.btn-primary,.btn-success,.btn-outline-light,.btn-outline-secondary),body.mm-page .mm-btn{border-radius:999px;padding-left:24px;padding-right:24px;transition:transform .25s,box-shadow .25s,background .2s}
body:has(.pt-nav) :is(.pt-nav-cta,.pt-btn-primary,.seo-primary,.case-primary,.guide-primary,.industry-primary,.service-primary):hover{transform:translateY(-2px);box-shadow:0 14px 26px -14px #a84b28}
/* カードは大きな角丸、乗せると浮く */
body:has(.pt-nav) :is(.pt-card,.pt-price-card,.pt-note,.seo-panel,.seo-card,.guide-card,.guide-panel,.guide-side,.glossary-card,.term-panel,.term-side,.industry-panel,.industry-side,.industry-related-card,.service-panel,.case-card,.seo-gallery figure,.seo-flow li){border-radius:18px;transition:transform .3s,box-shadow .3s,border-color .3s}
body:has(.pt-nav) :is(a.pt-card,.seo-card,.guide-card,.glossary-card,.industry-related-card,.case-card,.seo-flow li):hover{transform:translateY(-4px);box-shadow:0 24px 40px -28px #12211f66}
/* 上の帯：写真を重ねる */
body:has(.pt-nav) .pt-hero{padding:92px 0;background:linear-gradient(100deg,#173f3c 42%,#173f3ce0 60%,#173f3c8c),url(../img/site/hero-parts.jpg) right center/cover no-repeat}
body:has(.pt-nav) :is(.guide-hero,.guide-detail-hero,.glossary-hero,.term-hero,.industry-hero,.industry-detail-hero,.case-hero,.case-detail-hero,.seo-hero){background:linear-gradient(100deg,#173f3c 42%,#173f3ce0 60%,#173f3c8c),url(../img/site/hero-parts.jpg) right center/cover no-repeat;padding-top:84px;padding-bottom:72px}
body:has(.pt-nav) :is(.seo-detail-hero,.service-hero,.service-detail-hero){background:linear-gradient(120deg,#0f2b29,#173f3c 55%,#28594e)}
body:has(.pt-nav) .seo-hero-img{border-radius:22px}
body:has(.pt-nav) .pt-section{padding:96px 0}
body:has(.pt-nav) :is(.pt-kicker,.seo-kicker,.seo-mini-label,.guide-kicker,.glossary-kicker,.term-kicker,.industry-kicker){font-family:"Space Grotesk","Zen Kaku Gothic New",sans-serif;letter-spacing:.12em}
body:has(.pt-nav) .pt-cta-band{border-radius:40px;margin:0 24px 24px;background:linear-gradient(120deg,#173f3c,#28594e)}
body:has(.pt-nav) :is(.seo-final-cta,.guide-cta,.industry-final-cta){border-radius:28px;background:linear-gradient(120deg,#173f3c,#28594e)}
body:has(.pt-nav) .pt-footer{border-radius:40px 40px 0 0}
body:has(.pt-nav) main :is(.form-control,.form-select){border-radius:12px}
@media(max-width:680px){body:has(.pt-nav) .pt-hero{padding:56px 0;background:linear-gradient(180deg,#173f3c 55%,#173f3cd9),url(../img/site/hero-parts.jpg) center bottom/cover no-repeat}body:has(.pt-nav) :is(.guide-hero,.guide-detail-hero,.glossary-hero,.term-hero,.industry-hero,.industry-detail-hero,.case-hero,.case-detail-hero,.seo-hero){background:linear-gradient(180deg,#173f3c 60%,#173f3cd9),url(../img/site/hero-parts.jpg) center bottom/cover no-repeat;padding-top:48px;padding-bottom:44px}body:has(.pt-nav) .pt-section{padding:60px 0}body:has(.pt-nav) .pt-cta-band{border-radius:26px;margin:0 10px 10px}body:has(.pt-nav) .pt-footer{border-radius:26px 26px 0 0}}
@media(prefers-reduced-motion:reduce){body:has(.pt-nav) :is(.pt-btn,.pt-card,.seo-card,.guide-card,.case-card){transition:none}}

/* 記事の中の写真と図 */
body:has(.pt-nav) .yt-fig{margin:18px 0 22px}
body:has(.pt-nav) .yt-fig img{width:100%;height:auto;display:block;border-radius:16px;border:1px solid #e0dccf}
body:has(.pt-nav) .yt-fig figcaption{font-size:.86rem;color:#526764;margin-top:8px;line-height:1.7}

/* スマホ：入力欄は16px以上（iOSの自動拡大を防ぐ） */
@media(max-width:680px){body:has(.pt-nav) .pt-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea),body:has(.pt-nav) main :is(.form-control,.form-select){font-size:16px}}

/* ガイド・用語集の下に出す、関係するサービスの写真つきカード */
body:has(.pt-nav) .yt-svc-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
body:has(.pt-nav) .yt-svc-card{display:block;text-decoration:none;color:inherit;border:1px solid #dbe7e4;border-radius:16px;overflow:hidden;background:#fff;transition:transform .3s,box-shadow .3s}
body:has(.pt-nav) .yt-svc-card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -28px #12211f66}
body:has(.pt-nav) .yt-svc-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block}
body:has(.pt-nav) .yt-svc-card strong{display:block;padding:12px 14px 2px;font-weight:900}
body:has(.pt-nav) .yt-svc-card span{display:block;padding:0 14px 14px;font-size:.86rem;color:#526764;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body:has(.pt-nav) .yt-svc-note{margin:14px 0 0;font-size:.9rem;font-weight:700;color:#173f3c}
@media(max-width:680px){body:has(.pt-nav) .yt-svc-cards{grid-template-columns:minmax(0,1fr)}}
