/* Shared Japanese composition, including labels and lists omitted by the old rules. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { line-break: strict; word-break: auto-phrase; overflow-wrap: normal; }
h1, h2, h3, p, blockquote, li, th, td, summary, figcaption, .cta-text {
  line-break: strict;
  word-break: auto-phrase;
  overflow-wrap: normal;
}
body span.jp-keep { display: inline; white-space: nowrap; }
main .section-text, main .testimonial-text, main li, main figcaption,
.preview-notice, .price-note { text-wrap: pretty; }
.jp-table-scroll { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
main .jp-table-scroll .offer-table { min-width: 640px; }
main .jp-table-scroll .offer-table th { white-space: nowrap; font-size: 13px; }
main .jp-table-scroll .offer-table td:first-child { font-size: 13px; }
.jp-table-hint { display: none; }
main .youtube-comments { background: #fff; border-top: 1px solid #dfd3ba; }
main .youtube-comments .section-title { font-size: 29px; }
main .youtube-comments .section-text { max-width: 800px; font-size: 15px; }
main .youtube-comments .yt-shot { max-width: 900px; padding: 0; border: 1px solid #dedbd4; background: white; }
main .youtube-comments .yt-shot img { width: 100%; height: auto; }
main .youtube-comments .yt-shot figcaption { padding: 17px 22px; background: #faf7f1; color: #625c50; font-size: 12px; line-height: 1.8; }
.yt-image-button { display: block; width: 100%; border: 0; padding: 0; background: #fff; color: #51422c; }
.yt-enlarge-label { display: block; padding: 12px; font: 700 13px/1.8 var(--sans); text-decoration: underline; text-underline-offset: 4px; }
dialog.youtube-preview { width: 960px; max-width: calc(100% - 24px); max-height: calc(100vh - 24px); padding: 30px 20px 20px; background: white; overflow: auto; }
dialog.youtube-preview h2 { margin: 5px 35px 10px 0; font: 700 20px/1.6 var(--sans); }
dialog.youtube-preview p { margin: 10px 0 18px; font-size: 12px; }
.youtube-image-scroll { overflow: auto; max-height: 70vh; overscroll-behavior: contain; }
.youtube-image-scroll img { display: block; width: 900px; min-width: 900px; max-width: none; height: auto; }
.offer-tracks span { white-space: nowrap; }
@media (max-width: 767px) {
  .jp-table-hint { display: block; font-size: 12px; text-align: right; margin: 0 0 12px; }
  .journal-note { flex-direction: column; align-items: stretch; }
  .journal-note img { width: 100%; }
  .journal-note figcaption { text-align: center; }
  .journal-note b { font-size: 24px; }
  .journal-note span { font-size: 11px; margin-top: 12px; }
  main .youtube-comments .section-title { font-size: 23px; }
  main .youtube-comments .section-text { font-size: 14px; }
  main .youtube-comments .yt-shot figcaption { padding: 14px; font-size: 11px; }
  dialog.youtube-preview { padding: 22px 14px 14px; }
  dialog.youtube-preview h2 { font-size: 17px; }
}
@media (max-width: 359px) {
  .offer-tracks { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 12px; }
  .offer-tracks a { width: calc((100% - 24px)/3); }
}
