/* Kenraku 1.3.1: responsive Japanese typography. */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
.kenraku-growth-theme :where(main,header,footer) :where(div,section,article,aside,nav,figure,li,dl,dd) { min-width:0; }
.kenraku-growth-theme main :where(h1,h2,h3,h4),
.kenraku-growth-theme .kr-cta h2 {
  word-break:normal; overflow-wrap:break-word; line-break:strict;
  text-wrap:balance;
}
.kenraku-growth-theme main :where(p,li,dd,figcaption) {
  word-break:normal; line-break:strict; overflow-wrap:break-word;
}
.kenraku-growth-theme main :where(p,figcaption) { text-wrap:pretty; }
.kenraku-growth-theme :where(.kr-source,.kr-guide-source,.kr-oxygen-references,.kr-breadcrumbs) a { overflow-wrap:anywhere; }
.kenraku-growth-theme .kr-natural-wrap br:not(.kr-hard-break) { display:none; }
.kenraku-growth-theme .kr-type-tail { white-space:nowrap; }
.kenraku-growth-theme :is(h1,h2,h3,h4) .kr-type-unit { display:inline-block; max-width:100%; white-space:normal; overflow-wrap:break-word; text-wrap:balance; font:inherit; letter-spacing:inherit; vertical-align:baseline; }
/* The approved home copy is always two lines, not three. */
.kenraku-growth-theme .kr-hero--full .kr-hero-copy--benefit { width:100%; max-width:650px; }
.kenraku-growth-theme .kr-hero--full #kr-hero-title {
  font-size:clamp(30px,6.1vw,76px); line-height:1.45; letter-spacing:.01em;
  word-break:normal; overflow-wrap:normal; text-wrap:wrap;
}
.kenraku-growth-theme #kr-hero-title .kr-home-title-line { display:block; white-space:nowrap; }
.kenraku-growth-theme #kr-hero-title em { display:inline; white-space:nowrap; }
.kenraku-growth-theme .kr-btn { max-width:100%; text-wrap:balance; }
.kenraku-growth-theme .kr-kicker:before { flex-shrink:0; }
@media(min-width:1181px) { .kr-desktop-menu>li.kr-has-mega { position:static; } }
@media(max-width:1024px) {
  .kenraku-growth-theme .kr-greeting-copy br:not(.kr-hard-break),
  .kenraku-growth-theme .kr-greeting-story p br:not(.kr-hard-break) { display:none; }
}
@media(max-width:782px) {
  .kenraku-growth-theme .kr-hero--full .kr-hero-copy--benefit { max-width:100%; }
  .kenraku-growth-theme .kr-hero--full #kr-hero-title { font-size:clamp(24px,10.1vw,56px); }
  .kenraku-growth-theme :is(.kr-first-hero,.kr-reason-hero,.kr-lp-hero,.kr-guide-hero,.kr-review-hero,.kr-oxygen-hero,.kr-women-hero-copy,.kr-precaution-hero-copy) h1 {
    font-size:clamp(28px,8vw,44px); line-height:1.5; letter-spacing:.01em;
  }
  .kenraku-growth-theme .kr-page-title { font-size:clamp(26px,7.5vw,38px); }
  .kenraku-growth-theme .kr-blog-hero h1 { font-size:clamp(30px,8.8vw,48px); }
  .kenraku-growth-theme .kr-article-title { font-size:clamp(25px,6.9vw,35px); }
  .kenraku-growth-theme .kr-header-main-inner { gap:8px; }
  .kenraku-growth-theme .kr-header-actions { margin-left:auto; flex-shrink:0; }
  .kenraku-growth-theme .kr-brand { min-width:0; flex-shrink:1; }
  .kenraku-growth-theme .kr-brand-logo { width:34px; height:34px; flex-basis:34px; }
  .kenraku-growth-theme .kr-brand-name { white-space:nowrap; letter-spacing:.025em; }
  .kenraku-growth-theme .kr-header-book { white-space:nowrap; }
  .kenraku-growth-theme .kr-menu-toggle { flex:0 0 44px; }
  .kenraku-growth-theme input[type=search] { font-size:16px; }
  .kenraku-growth-theme .kr-hero-desc { max-width:100%; }
}
@media(max-width:359px) {
  .kenraku-growth-theme .kr-brand-name { font-size:16px; }
  .kenraku-growth-theme .kr-brand-sub { display:none; }
  .kenraku-growth-theme .kr-header-book { padding-inline:8px; }
  .kenraku-growth-theme .kr-header-book span { font-size:10px; }
  .kenraku-growth-theme .kr-header-actions { gap:5px; }
  .kenraku-growth-theme :is(.kr-first-hero,.kr-reason-hero,.kr-lp-hero,.kr-guide-hero,.kr-review-hero,.kr-oxygen-hero,.kr-women-hero-copy,.kr-precaution-hero-copy) h1 { font-size:26px; }
  .kenraku-growth-theme main :is(.kr-heading,.kr-lp-copy h2,.kr-lp-section-head h2,.kr-first-final h2,.kr-reason-copy h2,.kr-lp-final h2,.kr-oxygen-final h2,.kr-women-final h2,.kr-reason-final h2) { font-size:25px; }
  .kenraku-growth-theme .kr-mobile-cta .kr-btn { font-size:11px; gap:5px; padding-inline:6px; }
}
@media(max-width:319px) {
  .kenraku-growth-theme main :is(.kr-heading,.kr-lp-copy h2,.kr-lp-section-head h2) { font-size:23px; }
  .kenraku-growth-theme .kr-header-book { display:none; }
  .kenraku-growth-theme .kr-social-panel,
  .kenraku-growth-theme .kr-info-box { padding-inline:18px; }
}
