/* モバイルの文字サイズと余白 */
@media (max-width: 767px) {
 body { font-size: 15px; }
 main { line-break: strict; }
 main :is(h1,h2,h3,p,li,dt,dd) { overflow-wrap: break-word; }
 main :is(h1,h2,h3) { text-wrap: balance; word-break: normal; }
 main p { text-wrap: pretty; }
 html[lang=ko] main :is(h1,h2,h3,p,li,dt,dd) { word-break: keep-all; }
 .home-section { padding-block: 52px; }
 .home-section h2 { font-size: 24px; line-height: 1.55; margin-bottom: 18px; }
 .home-section p { font-size: 15px; line-height: 1.9; }
 .home-section-heading { margin-bottom: 26px; }
 .home-service h3, .home-benefit h3 { font-size: 21px; line-height: 1.6; margin-bottom: 16px; }
 .home-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
 .home-metrics > div { padding: 24px 10px; justify-content: flex-start; border-radius: 12px; }
 .home-metric-icon { width: 28px; height: 28px; margin-bottom: 18px; }
 .home-metrics dd { font-size: clamp(16px,4.6vw,19px); line-height: 1.45; margin-bottom: 10px; letter-spacing: -.025em; }
 .home-metrics dt { font-size: 12px; line-height: 1.8; text-wrap: balance; }
 main .mobile-heading-phrase { display: inline-block; white-space: nowrap; }
 .home-trust .mobile-phrase { display: inline-block; white-space: nowrap; }
 .metric-phrase { white-space: nowrap; }
 html[lang=ja] .home-metrics dd, html[lang=zh-cn] .home-metrics dd { white-space: nowrap; }
 html[lang=ja] .home-metrics > div:last-child dd { font-size: clamp(14px,4.1vw,17px); }
 .home-inline-link, .home-start-steps li, .home-refund-flow li { font-size: 14px; }
 .detail-page { --detail-h1: 28px; --detail-h2: 23px; --detail-h3: 20px; --detail-body: 15px; --detail-space: 48px; }
 .detail-page .page-hero h1, .detail-page .article-header h1 { line-height: 1.5; }
 .detail-page .page-lead, .detail-page .article-lead { font-size: 15px; line-height: 1.9; margin-top: 20px; }
 .detail-page .content-block p + p { margin-top: 18px; }
 .detail-page .profile-facts :is(th,td) { font-size: 14px; line-height: 1.8; }
 .detail-page :is(.refund-content,.eref-content,.taxfree-content,.marketing-content) p { font-size: 15px; line-height: 1.9; }
 .detail-page :is(.refund-content,.eref-content,.taxfree-content,.marketing-content) h2 { font-size: 23px; line-height: 1.55; }
 .detail-page :is(.taxfree-steps,.taxfree-deadline,.taxfree-operations-grid,.eref-integration-card) h3,
 .detail-page .eref-integration-card h2 { font-size: 20px; line-height: 1.6; }
 .taxfree-hero-date { font-size: 21px; }
 .detail-page .taxfree-deadline .deadline-value { font-size: 30px; }
 .detail-page .article-body :is(p,li) { font-size: 15px; line-height: 1.9; }
 .news-title { font-size: 15px; line-height: 1.8; }
 .web-faq-heading h1 { font-size: 26px; line-height: 1.5; }
 .web-faq-heading p, .web-faq-list summary, .web-faq-answer { font-size: 15px; line-height: 1.85; }
 .web-faq-tabs a { font-size: 14px; padding: 12px 18px; }
 .inquiry-intro, .inquiry-context p, .inquiry-consent { font-size: 15px; line-height: 1.85; }
 .inquiry-context h2, .inquiry-review h2 { font-size: 23px; line-height: 1.6; }
 .inquiry-field label { font-size: 14px; }
 .contact-band h2 { font-size: 24px; line-height: 1.6; }
 .contact-band p { font-size: 15px; line-height: 1.85; }
 /* 入力時の自動ズームを防ぐ */
 .inquiry-field :is(input,select,textarea), .web-faq-search input { font-size: 16px; }
}
@media (max-width: 360px) {
 .home-section h2, .contact-band h2 { font-size: 22px; }
 .detail-page { --detail-h1: 25px; --detail-h2: 21px; --detail-h3: 19px; }
 .home-metrics dd { font-size: 16px; }
 .home-metrics > div { padding-inline: 8px; }
}
