@charset "UTF-8";

/* =========================================================
   Awashima Coffee
   KNOWLEDGE / COMMON

   Shared stylesheet for Knowledge articles.

   Layout rule:
   HERO    : 1120px
   FRAME   :  960px
   WIDE    :  920px
   READING :  820px

   Load before each article-specific stylesheet:
   knowledge-discovery.css
   knowledge-spread.css
   knowledge-terroir.css
   knowledge-variety.css
========================================================= */


/* =========================================================
   ROOT
========================================================= */

.aw-ka {
  --ka-text: #2d2924;
  --ka-title: #1d1713;
  --ka-accent: #6e4f3c;
  --ka-accent-dark: #4a3326;

  --ka-line: #d8cfc4;
  --ka-line-dark: #bbae9e;

  --ka-soft: #f6f2eb;
  --ka-paper: #fbf8f2;
  --ka-paper-deep: #f1eadf;

  --ka-dark: #261b15;
  --ka-dark-soft: #36251c;

  --ka-frame: 960px;
  --ka-wide: 920px;
  --ka-reading: 820px;
  --ka-hero: 1120px;

  position: relative;
  width: 100%;
  overflow: hidden;

  background: #fff;
  color: var(--ka-text);

  font-family:
    "Noto Serif JP",
    "Hiragino Mincho ProN",
    "Yu Mincho",
    YuMincho,
    serif;

  font-weight: 400;
  line-height: 2.1;
  letter-spacing: .045em;
}

.aw-ka *,
.aw-ka *::before,
.aw-ka *::after {
  box-sizing: border-box;
}

.aw-ka img {
  display: block;
  max-width: 100%;
  height: auto;
}

.aw-ka a {
  color: inherit;
}

.aw-ka strong {
  font-weight: 500;
}


/* =========================================================
   WIDTH / ARTICLE GRID
========================================================= */

.aw-kaWidth--960 {
  --ka-content-width: var(--ka-frame);
}

.aw-ka__inner {
  width: min(
    calc(100% - 48px),
    var(--ka-content-width, var(--ka-frame))
  );
  margin-inline: auto;
}

/* reading axis */
.aw-kaHeading,
.aw-kaBody,
.aw-kaSpec,
.aw-kaNames,
.aw-kaStatement,
.aw-kaFigureLead {
  width: min(100%, var(--ka-reading));
  margin-inline: auto;
}

/* wide editorial axis */
.aw-kaNote,
.aw-kaMediaSlot,
.aw-kaTimelineFigure {
  width: min(100%, var(--ka-wide));
  margin-inline: auto;
}


/* =========================================================
   HERO
========================================================= */

.aw-kaHero {
  position: relative;
  height: 380px;
  min-height: 380px;
  overflow: hidden;
  background: #211712;
}

.aw-kaHero__image {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.aw-kaHero__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(22, 14, 10, .72) 0%,
      rgba(22, 14, 10, .54) 38%,
      rgba(22, 14, 10, .22) 68%,
      rgba(22, 14, 10, .06) 100%
    );
}

.aw-kaHero__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}

.aw-kaHero .aw-pageHero__inner {
  position: relative;
  z-index: 2;

  width: min(calc(100% - 64px), var(--ka-hero));
  height: 100%;
  margin: 0 auto;

  display: flex;
  align-items: center;
}

.aw-kaHero__copy {
  transform: translateY(-95px);
  max-width: 720px;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .aw-kaHero__copy {
    transform: translateY(-145px);
  }
}

.aw-kaHero .aw-pageHero__label {
  margin: 0 0 12px;
  color: rgba(255, 255, 255, .78);
  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .24em;
}

.aw-kaHero .aw-pageHero__title {
  margin: 0;

  color: #fff;

  font-size: clamp(34px, 4vw, 52px);
  font-weight: 400;
  line-height: 1.42;
  letter-spacing: .055em;
}

.aw-kaHero .aw-pageHero__lead {
  margin: 24px 0 0;

  color: rgba(255, 255, 255, .88);

  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  letter-spacing: .06em;
}



/* =========================================================
   SECTION
========================================================= */

.aw-kaSection {
  position: relative;
  padding: 118px 0 124px;
  background: #fff;
}

.aw-kaSection--soft {
  background: var(--ka-soft);
}

.aw-kaSection--paper {
  background:
    linear-gradient(
      180deg,
      #faf7f1 0%,
      #f7f2ea 100%
    );
}

.aw-kaSection--accent {
  background: var(--ka-paper-deep);
}


/* =========================================================
   HEADING
========================================================= */

.aw-kaHeading {
  margin: 0 auto 54px;
}

.aw-kaHeading__en {
  position: relative;

  display: flex;
  align-items: center;
  gap: 16px;

  margin: 0 0 14px;

  color: var(--ka-accent);

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;

  font-size: 11px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .23em;
}

.aw-kaHeading__en::after {
  content: "";

  display: block;
  width: 54px;
  height: 1px;

  background: var(--ka-line-dark);
}

.aw-kaHeading__title {
  margin: 0;

  color: var(--ka-title);

  font-size: clamp(28px, 3.2vw, 40px);
  font-weight: 400;
  line-height: 1.58;
  letter-spacing: .045em;
}



/* =========================================================
   BODY
========================================================= */

.aw-kaBody p:not(.aw-kaStatement) {
  margin: 0 0 1.45em;
  font-size: 16.5px;
  line-height: 2.15;
}

.aw-kaBody p:not(.aw-kaStatement):last-child {
  margin-bottom: 0;
}

.aw-kaBody strong {
  color: #241913;
  font-weight: 500;
}

.aw-kaBody--closing {
  margin-top: 58px;
}


/* =========================================================
   EMPHASIS
========================================================= */

.aw-kaEmphasis {
  color: var(--ka-title);

  font-size: 18px !important;
  font-weight: 500;
  line-height: 2 !important;
  letter-spacing: .055em;
}

.aw-kaEmphasis--large {
  font-size: clamp(19px, 2vw, 23px) !important;
}


/* =========================================================
   STATEMENT
   Vertical rule = one editorial meaning
========================================================= */

.aw-kaStatement,
.aw-kaStatement--large {
  position: relative;

  margin: 68px auto;
  padding: 7px 0 7px 32px;

  border-left: 1px solid var(--ka-accent);

  color: var(--ka-title);

  font-size: clamp(23px, 2.45vw, 28px);
  font-weight: 400;
  line-height: 1.92;
  letter-spacing: .06em;
}

/* compact label is intentionally NOT a vertical-rule statement */
.aw-kaStatement--compact {
  display: inline-block;

  width: auto;
  margin: 36px 0 42px;
  padding: 8px 24px;

  border-left: 0;
  border-top: 1px solid var(--ka-line-dark);
  border-bottom: 1px solid var(--ka-line-dark);

  font-size: 20px;
  line-height: 1.7;
}



/* =========================================================
   PRODUCT-SPEC STYLE
========================================================= */

.aw-kaSpec {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));

  margin: 52px auto 58px;

  border-top: 1px solid var(--ka-line);
  border-bottom: 1px solid var(--ka-line);
}

.aw-kaSpec p {
  margin: 0;
  padding: 24px 26px;
  text-align: center;
}

.aw-kaSpec p + p {
  border-left: 1px solid var(--ka-line);
}

.aw-kaSpec span {
  display: block;
  margin-bottom: 7px;

  color: #837365;

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;

  font-size: 10px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .2em;
}

.aw-kaSpec strong {
  display: block;

  color: var(--ka-title);

  font-size: 18px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .075em;
}

.aw-kaSpec--closing {
  margin-top: 56px;
  background: rgba(255, 255, 255, .44);
}


/* =========================================================
   NAMES / TERMS
========================================================= */

.aw-kaNames {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;

  margin: 42px auto 50px;
}

.aw-kaNames span {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 44px;
  padding: 8px 18px;

  border: 1px solid var(--ka-line);
  background: rgba(255, 255, 255, .72);

  color: #49382e;

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;

  font-size: 12px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .06em;
}

.aw-kaNames--large span {
  min-height: 48px;
  padding-inline: 22px;
}


/* =========================================================
   COFFEE NOTE
========================================================= */

.aw-kaNote {
  position: relative;

  margin: 86px auto 10px;
  padding: 54px 56px 58px;

  border-top: 1px solid #c9bba9;
  border-bottom: 1px solid #c9bba9;

  background:
    linear-gradient(
      135deg,
      rgba(255, 255, 255, .60),
      rgba(240, 232, 220, .66)
    );
}

.aw-kaNote__header {
  width: min(100%, var(--ka-reading));
  margin: 0 auto 36px;
}

.aw-kaNote__label {
  margin: 0 0 10px;

  color: var(--ka-accent);

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;

  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .24em;
}

.aw-kaNote__title {
  margin: 0;

  color: var(--ka-title);

  font-size: clamp(22px, 2.5vw, 30px);
  font-weight: 400;
  line-height: 1.65;
  letter-spacing: .045em;
}

.aw-kaNote__body {
  width: min(100%, var(--ka-reading));
  margin-inline: auto;
}

.aw-kaNote__body p {
  margin: 0 0 1.45em;

  font-size: 15.5px;
  line-height: 2.1;
}

.aw-kaNote__body p:last-child {
  margin-bottom: 0;
}

.aw-kaNote__emphasis {
  margin-top: 38px !important;
  margin-bottom: 38px !important;

  color: var(--ka-title);

  font-size: 18px !important;
  font-weight: 500;
  line-height: 1.95 !important;
  letter-spacing: .055em;
}



/* =========================================================
   MEDIA SLOT
   Temporary placeholders show the intended editorial rhythm.
   Replace .aw-kaMediaSlot__canvas with <img> when assets are ready.
========================================================= */

.aw-kaMediaSlot {
  margin: 72px auto 78px;
}

.aw-kaMediaSlot__canvas {
  position: relative;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;

  min-height: 260px;
  padding: 36px;

  overflow: hidden;

  border-top: 1px solid var(--ka-line);
  border-bottom: 1px solid var(--ka-line);

  background:
    linear-gradient(135deg, rgba(246,242,235,.72), rgba(251,248,242,.96));
  text-align: center;
}

.aw-kaMediaSlot__canvas::before,
.aw-kaMediaSlot__canvas::after {
  content: "";
  position: absolute;
  background: rgba(184, 169, 153, .38);
}

.aw-kaMediaSlot__canvas::before {
  width: 1px;
  height: 54px;
  top: 22px;
  left: 50%;
}

.aw-kaMediaSlot__canvas::after {
  width: 54px;
  height: 1px;
  top: 49px;
  left: calc(50% - 27px);
}

.aw-kaMediaSlot__canvas--wide {
  aspect-ratio: 16 / 9;
  min-height: 0;
}

.aw-kaMediaSlot__canvas--cinema {
  aspect-ratio: 2 / 1;
  min-height: 0;
}

.aw-kaMediaSlot__canvas--small {
  width: min(100%, 440px);
  aspect-ratio: 4 / 3;
  min-height: 0;
  margin-inline: auto;
}

.aw-kaMediaSlot__eyebrow {
  margin-top: 40px;
  margin-bottom: 10px;

  color: #8a7868;

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;

  font-size: 9px;
  font-weight: 600;
  letter-spacing: .18em;
}

.aw-kaMediaSlot__canvas strong {
  color: var(--ka-title);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: .08em;
}

.aw-kaMediaSlot__canvas p {
  max-width: 560px;
  margin: 12px 0 0;

  color: #756960;
  font-size: 12px;
  line-height: 1.85;
}

.aw-kaMediaSlot figcaption {
  width: min(100%, var(--ka-reading));
  margin: 12px auto 0;

  color: #86776b;
  font-size: 11px;
  line-height: 1.8;
}


/* =========================================================
   FIGURE COMMON
========================================================= */

.aw-kaFigure {
  padding: 118px 0 124px;
  background: #fff;
}

.aw-kaHeading--figure {
  margin-bottom: 32px;
}

.aw-kaFigureLead {
  margin: 0 auto 44px;

  color: var(--ka-text);

  font-size: 16px;
  line-height: 2.05;
  letter-spacing: .045em;
}



/* =========================================================
   MEDIA / REAL IMAGE
========================================================= */

.aw-kaMediaSlot__image {
  width: 100%;
  overflow: hidden;
}

.aw-kaMediaSlot__image img {
  display: block;
  width: 100%;
  height: auto;
}


/* =========================================================
   INLINE EDITORIAL VISUAL
========================================================= */

.aw-kaBody--withFloat {
  display: flow-root;
}

.aw-kaInlineVisual {
  margin: 8px 0 28px 34px;
}

.aw-kaInlineVisual img {
  display: block;
  width: 100%;
  height: auto;
}

.aw-kaInlineVisual figcaption {
  margin: 10px 0 0;
  color: #86776b;
  font-size: 10.5px;
  line-height: 1.75;
  letter-spacing: .025em;
}


/* =========================================================
   TIMELINE / COMMON
   Shared horizontal / vertical timeline pattern.
========================================================= */

.aw-kaTimeline {
  position: relative;
  width: 100%;
  margin: 52px 0 58px;
}

.aw-kaTimeline__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.aw-kaTimeline__list::before {
  content: "";
  position: absolute;
  top: 0;
  left: 12.5%;
  right: 12.5%;
  height: 1px;
  background: var(--ka-line-dark);
}

.aw-kaTimeline__item {
  position: relative;
  min-width: 0;
  padding: 24px 16px 0;
  text-align: center;
}

.aw-kaTimeline__item::before {
  content: "";

  position: absolute;
  top: 0;
  left: 50%;
  z-index: 1;
  width: 9px;
  height: 9px;
  border: 1px solid var(--ka-accent);
  border-radius: 50%;
  background: var(--ka-paper);
  transform: translate(-50%, -50%);
}

.aw-kaTimeline__meta {
  display: block;
  margin: 0 0 8px;
  color: #8a7868;
  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .15em;
}

.aw-kaTimeline__name {
  display: block;
  color: var(--ka-title);
  font-size: 15px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: .04em;
}

.aw-kaTimeline__description {
  margin: 8px 0 0;
  color: #6f635a;
  font-size: 12px;
  line-height: 1.75;
}


/* =========================================================
   TIMELINE FIGURE
========================================================= */

.aw-kaTimelineFigure {
  width: min(100%, var(--ka-wide));
  margin: 76px auto 82px;
  padding: 42px 30px 34px;
  border-top: 1px solid var(--ka-line);
  border-bottom: 1px solid var(--ka-line);
  background: rgba(255, 255, 255, .62);
}

.aw-kaTimelineFigure__head {
  width: min(100%, var(--ka-reading));
  margin: 0 auto 36px;
}

.aw-kaTimelineFigure__label {
  margin: 0 0 8px;

  color: var(--ka-accent);

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;
  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .18em;
}

.aw-kaTimelineFigure__title {
  margin: 0;
  color: var(--ka-title);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .045em;
}

.aw-kaTimelineFigure .aw-kaTimeline {
  margin: 0;
}



/* =========================================================
   TIMELINE / SP
========================================================= */

@media screen and (max-width: 767px) {

  .aw-kaTimeline {
    margin: 40px 0 46px;
  }

  .aw-kaTimeline__list {
    display: block;

    padding: 0 0 0 34px;
  }

  .aw-kaTimeline__list::before {
    top: 5px;
    bottom: 5px;
    left: 6px;
    right: auto;

    width: 1px;
    height: auto;
  }

  .aw-kaTimeline__item {
    min-height: 78px;

    padding: 0 0 30px 16px;

    text-align: left;
  }

  .aw-kaTimeline__item:last-child {
    min-height: 0;
    padding-bottom: 0;
  }

  .aw-kaTimeline__item::before {
    top: 5px;
    left: -27px;

    transform: translate(-50%, -50%);
  }

  .aw-kaTimeline__meta {
    margin-bottom: 5px;

    font-size: 9px;
  }

  .aw-kaTimeline__name {
    font-size: 17px;
  }

  .aw-kaTimeline__description {
    margin-top: 6px;

    font-size: 12px;
  }

  .aw-kaTimelineFigure {
    margin: 54px 0 60px;
    padding: 32px 20px 28px;
  }

  .aw-kaTimelineFigure__head {
    margin-bottom: 34px;
  }

  .aw-kaTimelineFigure__title {
    font-size: 21px;
  }

}



/* =========================================================
   NEXT ARTICLE
========================================================= */

.aw-kaNext {
  padding: 108px 0 112px;

  background:
    linear-gradient(
      135deg,
      var(--ka-dark) 0%,
      var(--ka-dark-soft) 100%
    );

  color: #f6f0e8;
}

.aw-kaNext .aw-ka__inner {
  max-width: var(--ka-frame);
}

.aw-kaNext__label {
  margin: 0 0 10px;

  color: rgba(255, 255, 255, .58);

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;

  font-size: 10px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: .24em;
}

.aw-kaNext__number {
  margin: 0 0 20px;

  color: rgba(255, 255, 255, .34);

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 56px;
  line-height: 1;
}

.aw-kaNext__title {
  margin: 0;

  color: #fff;

  font-size: clamp(30px, 3.4vw, 42px);
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: .055em;
}

.aw-kaNext__body {
  max-width: 720px;
  margin-top: 44px;
}

.aw-kaNext__body p {
  margin: 0 0 1.4em;

  color: rgba(255, 255, 255, .82);

  font-size: 15.5px;
  line-height: 2.05;
}

.aw-kaNext__body p:last-child {
  margin-bottom: 0;
}

.aw-kaNext__body strong {
  color: #fff;
  font-weight: 500;
}

.aw-kaNext__links {
  display: flex;
  align-items: stretch;
  justify-content: space-between;

  gap: 20px;

  margin-top: 64px;
  padding-top: 32px;

  border-top: 1px solid rgba(255, 255, 255, .16);
}

.aw-kaNext__back,
.aw-kaNext__forward {
  display: flex;
  align-items: center;

  min-height: 72px;

  color: #fff;
  text-decoration: none;

  transition:
    background-color .25s ease,
    border-color .25s ease,
    opacity .25s ease;
}

.aw-kaNext__back {
  gap: 12px;
  padding: 12px 4px;
  font-size: 14px;
}

.aw-kaNext__forward {
  justify-content: space-between;
  gap: 34px;

  min-width: 320px;
  padding: 16px 20px;

  border: 1px solid rgba(255, 255, 255, .28);
}

.aw-kaNext__forward span:first-child {
  font-size: 11px;
  line-height: 1.8;
}

.aw-kaNext__forward strong {
  font-size: 16px;
  font-weight: 400;
}

@media (hover: hover) {
  .aw-kaNext__back:hover {
    opacity: .72;
  }

  .aw-kaNext__forward:hover {
    border-color: rgba(255, 255, 255, .65);
    background: rgba(255, 255, 255, .06);
  }
}


/* =========================================================
   REFERENCES
========================================================= */

.aw-kaReferences {
  --ka-content-width: var(--ka-frame);

  padding: 116px 0 124px;

  background: #f4f1eb;
}

.aw-kaReferences__heading {
  width: min(100%, var(--ka-reading));

  margin: 76px auto 32px;

  color: var(--ka-title);

  font-size: 20px;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .05em;
}

.aw-kaReferenceList {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));

  width: min(100%, var(--ka-wide));
  margin-inline: auto;
  gap: 0 42px;

  border-top: 1px solid var(--ka-line-dark);
}

.aw-kaReference {
  padding: 30px 0 32px;

  border-bottom: 1px solid var(--ka-line);
}

.aw-kaReference p {
  margin: 0 0 10px;

  font-size: 13px;
  line-height: 1.85;
}

.aw-kaReference p:last-child {
  margin-bottom: 0;
}

.aw-kaReference__author {
  color: var(--ka-accent);

  font-family:
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    sans-serif;

  font-size: 10px !important;
  font-weight: 600;
  letter-spacing: .08em;
}

.aw-kaReference cite {
  color: var(--ka-title);

  font-style: italic;
  font-weight: 500;
}

.aw-kaReference__description {
  margin-top: 14px !important;

  color: #71645b;

  font-size: 12.5px !important;
}

.aw-kaReferenceNote {
  width: min(100%, var(--ka-reading));
  margin: 42px auto 0;

  color: #756960;

  font-size: 11.5px;
  line-height: 1.9;
}


/* =========================================================
   ACCESSIBILITY / FOCUS
========================================================= */

.aw-ka a:focus-visible {
  outline: 2px solid #a47e61;
  outline-offset: 4px;
}



/* =========================================================
   TABLET
========================================================= */

@media screen and (max-width: 980px) {

  .aw-kaHero .aw-pageHero__inner {
    width: min(calc(100% - 48px), var(--ka-frame));
  }

}


/* =========================================================
   SP
========================================================= */

@media screen and (max-width: 767px) {

  .aw-ka {
    line-height: 2.05;
  }

  .aw-ka__inner {
    width: calc(100% - 40px);
  }

  .aw-kaHero {
    height: 250px;
    min-height: 250px;
  }

  .aw-kaHero__image::after {
    background:
      linear-gradient(
        90deg,
        rgba(22, 14, 10, .74) 0%,
        rgba(22, 14, 10, .52) 65%,
        rgba(22, 14, 10, .24) 100%
      );
  }

  .aw-kaHero .aw-pageHero__inner {
    width: calc(100% - 40px);
  }

  .aw-kaHero .aw-pageHero__label {
    margin-bottom: 10px;

    font-size: 9px;
    letter-spacing: .2em;
  }

  .aw-kaHero .aw-pageHero__title {
    font-size: 28px;
    line-height: 1.45;
  }

  .aw-kaHero .aw-pageHero__lead {
    margin-top: 13px;

    font-size: 13.5px;
    line-height: 1.8;
  }

  .aw-kaSection,
  .aw-kaFigure {
    padding: 78px 0 84px;
  }

  .aw-kaHeading {
    margin-bottom: 38px;
  }

  .aw-kaHeading__en {
    gap: 12px;

    margin-bottom: 10px;

    font-size: 9px;
    letter-spacing: .19em;
  }

  .aw-kaHeading__en::after {
    width: 40px;
  }

  .aw-kaHeading__title {
    font-size: 27px;
    line-height: 1.58;
    letter-spacing: .035em;
  }

  .aw-kaBody p:not(.aw-kaStatement) {
    margin-bottom: 1.4em;

    font-size: 15.5px;
    line-height: 2.08;
    letter-spacing: .035em;
  }

  .aw-kaBody--closing {
    margin-top: 42px;
  }

  .aw-kaEmphasis {
    font-size: 16.5px !important;
    line-height: 1.95 !important;
  }

  .aw-kaEmphasis--large {
    font-size: 18px !important;
  }

  .aw-kaStatement,
  .aw-kaStatement--large {
    margin: 48px 0;
    padding-left: 20px;

    font-size: 20px;
    line-height: 1.9;
  }

  .aw-kaStatement--compact {
    margin: 28px 0 34px;
    padding: 7px 16px;

    font-size: 18px;
  }

  .aw-kaSpec {
    grid-template-columns: 1fr;

    margin: 38px 0 44px;
  }

  .aw-kaSpec p {
    display: flex;
    align-items: baseline;
    justify-content: space-between;

    gap: 16px;

    padding: 16px 6px;

    text-align: left;
  }

  .aw-kaSpec p + p {
    border-left: 0;
    border-top: 1px solid var(--ka-line);
  }

  .aw-kaSpec span {
    margin-bottom: 0;
    font-size: 9px;
  }

  .aw-kaSpec strong {
    font-size: 16px;
    text-align: right;
  }

  .aw-kaNames {
    gap: 8px;
    margin: 32px 0 38px;
  }

  .aw-kaNames span {
    min-height: 40px;
    padding: 7px 13px;
    font-size: 11px;
  }

  .aw-kaNote {
    margin-top: 58px;
    padding: 38px 22px 42px;
  }

  .aw-kaNote__header {
    margin-bottom: 28px;
  }

  .aw-kaNote__label {
    font-size: 9px;
  }

  .aw-kaNote__title {
    font-size: 22px;
  }

  .aw-kaNote__body p {
    font-size: 14.5px;
    line-height: 2.05;
  }

  .aw-kaNote__emphasis {
    margin-top: 30px !important;
    margin-bottom: 30px !important;

    font-size: 16.5px !important;
  }

  .aw-kaMediaSlot {
    margin: 50px 0 54px;
  }

  .aw-kaMediaSlot__canvas {
    min-height: 210px;
    padding: 24px 20px;
  }

  .aw-kaMediaSlot__canvas--wide,
  .aw-kaMediaSlot__canvas--cinema,
  .aw-kaMediaSlot__canvas--small {
    width: 100%;
    aspect-ratio: 4 / 3;
  }
.aw-kaFigureLead {
    margin-bottom: 32px;

    font-size: 15px;
    line-height: 2;
  }
.aw-kaNext {
    padding: 76px 0 82px;
  }

  .aw-kaNext__number {
    margin-bottom: 14px;
    font-size: 44px;
  }

  .aw-kaNext__title {
    font-size: 28px;
  }

  .aw-kaNext__body {
    margin-top: 32px;
  }

  .aw-kaNext__body p {
    font-size: 14.5px;
    line-height: 2;
  }

  .aw-kaNext__links {
    flex-direction: column;

    gap: 12px;

    margin-top: 46px;
  }

  .aw-kaNext__back,
  .aw-kaNext__forward {
    width: 100%;
  }

  .aw-kaNext__forward {
    min-width: 0;
  }

  .aw-kaReferences {
    padding: 78px 0 86px;
  }

  .aw-kaReferences__heading {
    margin-top: 54px;
    margin-bottom: 24px;

    font-size: 18px;
  }

  .aw-kaReferenceList {
    grid-template-columns: 1fr;
  }

  .aw-kaReference {
    padding: 22px 0 24px;
  }

  .aw-kaReference p {
    font-size: 12.5px;
  }

  .aw-kaReference__description {
    font-size: 12px !important;
  }

  .aw-kaReferenceNote {
    margin-top: 32px;
    font-size: 11px;
  }

}



/* =========================================================
   VERY SMALL SP
========================================================= */

@media screen and (max-width: 380px) {

  .aw-ka__inner {
    width: calc(100% - 32px);
  }

  .aw-kaHero .aw-pageHero__inner {
    width: calc(100% - 32px);
  }

  .aw-kaHeading__title {
    font-size: 25px;
  }

  .aw-kaBody p:not(.aw-kaStatement) {
    font-size: 15px;
  }

  .aw-kaNames span {
    padding-inline: 11px;
  }

  .aw-kaNote {
    padding-inline: 18px;
  }

}
