@charset "UTF-8";
/* Existing visual design stays in style.css. Add future components here. */
:root {
  --kaoh-red: #bf0a2d;
  --kaoh-gold: #c7a159;
  --kaoh-text: #242424;
  --kaoh-content-width: 1044px;
}
.drawer_button { font-family: inherit; cursor: pointer; }
.drawer_button .hamburger { display: block; }
.order_btn:link, .order_btn:visited, .order_btn:hover { color: #fff; }
a:focus-visible, button:focus-visible, [role="button"]:focus-visible {
  outline: 2px solid var(--kaoh-gold);
  outline-offset: 4px;
}
/* Content remains available when JavaScript or animation initialization fails. */
.fadein:not(.reveal-pending) { opacity: 1; }
.toggle_body[hidden] { display: none !important; }
.toggle_body:not([hidden]) { display: block; }
.toggle_head { padding-right: 44px; }
/* Original hero uses a 1120px inner box, causing overflow on narrow desktops. */
@media (min-width: 768px) and (max-width: 1119px) {
  .front-fv-sec .inner { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  body, .fadein, .swipe-guide__arrow { animation: none !important; transition: none !important; }
}

/* First view: reuse the original photography and brand typography. */
.kaoh-hero { height: auto; min-height: 480px; }
.kaoh-hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,250,244,.94), rgba(255,250,244,.76) 46%, rgba(255,250,244,0) 80%); }
.kaoh-hero .inner { width: 100%; max-width: 1120px; position: relative; padding: 60px 32px 48px; }
.kaoh-hero__content { max-width: 660px; }
.kaoh-hero__eyebrow { color: #78552d; font-size: 1.4rem; letter-spacing: .12em; margin-bottom: 22px; }
.kaoh-hero__title { font-family: "Noto Serif JP", serif; font-size: clamp(3.2rem, 3.4vw, 4.6rem); font-weight: 500; line-height: 1.6; letter-spacing: .06em; }
.kaoh-hero__title span { color: var(--kaoh-red); }
.kaoh-hero__description { margin-top: 22px; font-size: 1.5rem; line-height: 2; letter-spacing: .04em; }
.kaoh-hero__actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
.kaoh-hero__link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 13px 20px; min-height: 50px; border: 1px solid var(--kaoh-red); background: rgba(255,255,255,.85); font-size: 1.4rem; letter-spacing: .02em; }
.kaoh-hero__link:link, .kaoh-hero__link:visited { color: var(--kaoh-red); }
.kaoh-hero__link--primary { background: linear-gradient(180deg, #bf0a2d, #850625); }
.kaoh-hero__link--primary:link, .kaoh-hero__link--primary:visited { color: #fff; }
.kaoh-hero__note { margin-top: 15px; color: #655649; font-size: 1.2rem; letter-spacing: .03em; }
#case-examples { scroll-margin-top: 90px; }
@media (max-width: 767px) {
  .kaoh-hero { min-height: 560px; background-position: center; }
  .kaoh-hero::before { background: linear-gradient(180deg, rgba(255,250,244,.25), rgba(255,250,244,.92) 30%, rgba(255,250,244,.97)); }
  .kaoh-hero .inner { padding: 135px 24px 36px; }
  .kaoh-hero__eyebrow { font-size: 1.1rem; letter-spacing: .03em; margin-bottom: 16px; }
  .kaoh-hero__title { font-size: clamp(2.4rem, 6.7vw, 3.6rem); letter-spacing: .01em; }
  .kaoh-hero__description { font-size: 1.3rem; margin-top: 18px; }
  .kaoh-hero__description br { display: none; }
  .kaoh-hero__actions { flex-direction: column; gap: 10px; margin-top: 22px; }
  .kaoh-hero__link { width: 100%; }
  .kaoh-hero__note { text-align: center; font-size: 1.1rem; }
}

/* Usage entrances: existing photographs, serif headings and red accents. */
.kaoh-uses { padding: 72px 0 64px; background: #faf7f2; }
.kaoh-uses .sec__inner { max-width: var(--kaoh-content-width); margin: 0 auto; padding: 0 10px; }
.kaoh-uses__title { text-align: center; font-family: "Noto Serif JP", serif; font-size: 2.8rem; line-height: 1.6; }
.kaoh-uses__intro { text-align: center; margin: 16px 0 36px; color: #655649; font-size: 1.4rem; }
.kaoh-uses__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; align-items: start; }
.kaoh-use { background: #fff; border-bottom: 2px solid var(--kaoh-gold); scroll-margin-top: 100px; }
.kaoh-use summary { cursor: pointer; list-style: none; }
.kaoh-use summary::-webkit-details-marker { display: none; }
.kaoh-use summary:focus-visible { outline: 2px solid var(--kaoh-red); outline-offset: 4px; }
.kaoh-use__image { width: 100%; aspect-ratio: 182 / 120; object-fit: cover; }
.kaoh-use__heading { display: block; margin: 22px 18px 12px; font-family: "Noto Serif JP", serif; font-size: 1.9rem; letter-spacing: .02em; }
.kaoh-use__description { display: block; margin: 0 18px; min-height: 56px; font-size: 1.4rem; line-height: 1.9; letter-spacing: .03em; }
.kaoh-use__more { display: flex; justify-content: space-between; margin: 20px 18px; padding-top: 14px; border-top: 1px solid #e9e1d5; color: var(--kaoh-red); font-size: 1.3rem; }
.kaoh-use[open] .kaoh-use__more span { transform: rotate(45deg); }
.kaoh-use__body { padding: 0 18px 24px; font-size: 1.3rem; letter-spacing: .03em; line-height: 1.9; }
.kaoh-use__products { margin-top: 16px; color: #78552d; }
.kaoh-use__note { margin-top: 10px; font-size: 1.1rem; color: #666; }
.kaoh-use__body a { margin-top: 16px; text-decoration: underline; text-underline-offset: 4px; }
.kaoh-use__body a:link, .kaoh-use__body a:visited { color: var(--kaoh-red); }
.kaoh-uses__footer { margin-top: 30px; text-align: center; font-size: 1.3rem; color: #655649; }
#kaoh-uses { scroll-margin-top: 80px; }
@media (max-width: 767px) {
  .kaoh-uses { padding: 48px 0; }
  .kaoh-uses__title { font-size: 2.2rem; }
  .kaoh-uses__intro { font-size: 1.3rem; margin-bottom: 26px; }
  .kaoh-uses__grid { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .kaoh-use__image { aspect-ratio: 16 / 9; }
  .kaoh-use__description { min-height: 0; }
  .kaoh-uses__footer { text-align: left; }
}

@media (max-width: 767px) { .kaoh-uses .sec__inner { padding-left: 24px; padding-right: 24px; } }

/* Typography matches existing section headings and 15px body copy. */
.kaoh-uses__title { font-size: 3.6rem; }
.kaoh-use__heading { font-size: 2rem; font-weight: 700; line-height: 1.8; letter-spacing: .05em; }
.kaoh-uses__intro, .kaoh-use__description, .kaoh-use__more, .kaoh-use__body, .kaoh-uses__footer { font-size: 1.5rem; line-height: 1.867; }
.kaoh-use__description { min-height: 84px; }
.kaoh-use__note { font-size: 1.4rem; line-height: 1.8; }
@media (max-width: 767px) {
  .kaoh-uses__title { font-size: 2.2rem; }
  .kaoh-use__heading { font-size: 2rem; }
  .kaoh-use__description { min-height: 0; }
}
/* Independent usage sections. Cards are navigation links, not accordions. */
.kaoh-use__entrance { display: block; }
.kaoh-use__entrance:link, .kaoh-use__entrance:visited { color: var(--kaoh-text); }
.kaoh-use-detail { padding: 80px 0; scroll-margin-top: 100px; }
.kaoh-use-detail:nth-of-type(even) { background: #faf7f2; }
.kaoh-use-detail .sec__inner { max-width: var(--kaoh-content-width); margin: 0 auto; padding: 0 10px; }
.kaoh-use-detail__title { margin-bottom: 48px; }
.kaoh-use-detail__layout { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
.kaoh-use-detail__photos img { width: 100%; }
.kaoh-use-detail__photos figcaption { font-size: 1.4rem; color: #655649; margin-top: 10px; }
.kaoh-use-detail__secondary { width: 70%; margin-top: 28px; }
.kaoh-use-detail__content { font-size: 1.5rem; line-height: 1.867; }
.kaoh-use-detail__content h3 { font-family: "Noto Serif JP", serif; font-size: 2.4rem; margin-bottom: 20px; }
.kaoh-use-detail__tips { margin-top: 28px; }
.kaoh-use-detail__tips li { padding: 18px 0; border-top: 1px solid #e9e1d5; }
.kaoh-use-detail__tips h4 { color: var(--kaoh-red); font-size: 2rem; margin-bottom: 8px; }
.kaoh-use-detail__products { margin: 22px 0; padding: 18px; background: #f4eee4; }
.kaoh-use-detail__products strong { font-weight: 700; }
.kaoh-use-detail__note { font-size: 1.4rem; margin-bottom: 22px; }
.kaoh-use-detail__back { display: block; margin-top: 18px; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 767px) {
  .kaoh-use-detail { padding: 48px 0; scroll-margin-top: 90px; }
  .kaoh-use-detail .sec__inner { padding: 0 24px; }
  .kaoh-use-detail__layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .kaoh-use-detail__title { font-size: 2.2rem; margin-bottom: 30px; }
  .kaoh-use-detail__content h3 { font-size: 2.2rem; }
  .kaoh-use-detail__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
  .kaoh-use-detail__secondary { width: 100%; margin-top: 0; }
  .kaoh-use-detail__photos figcaption { font-size: 1.4rem; }
}

.kaoh-use-detail__audience, .kaoh-use-detail__support { margin-top: 26px; }
.kaoh-use-detail__audience h4, .kaoh-use-detail__support h4, .kaoh-use-detail__evidence h4 { font-size: 1.7rem; font-weight: 700; margin-bottom: 10px; }
.kaoh-use-detail__examples { margin-top: 12px; color: #655649; }
.kaoh-use-detail__evidence { margin-top: 26px; padding: 20px; background: #faf7f2; border-left: 3px solid var(--kaoh-gold); }
.kaoh-use-detail__source { font-size: 1.4rem; color: #655649; margin-top: 12px; }

/* Quiet section titles and concise usage content. */
.kaoh-use-detail { padding: 64px 0; }
.kaoh-use-detail__title { display: block; width: auto; height: auto; background: none; color: var(--kaoh-text); font-family: "Noto Serif JP", serif; font-size: 3.6rem; font-weight: 400; text-align: center; letter-spacing: .08em; margin: 0 auto 40px; line-height: 1.6; }
.kaoh-use-detail__title::after { content: ""; display: block; width: 56px; height: 1px; background: var(--kaoh-gold); margin: 18px auto 0; }
.kaoh-use-detail__layout { gap: 40px; align-items: center; }
.kaoh-use-detail__photos img { aspect-ratio: 4 / 3; object-fit: cover; }
.kaoh-use-detail__photos figcaption { margin-top: 8px; }
.kaoh-use-detail__content h3 { font-size: 2.2rem; margin-bottom: 14px; }
.kaoh-use-detail__audience { margin-top: 20px; }
.kaoh-use-detail__audience h4, .kaoh-use-detail__evidence h4 { font-size: 1.5rem; color: #78552d; margin-bottom: 6px; }
.kaoh-use-detail__examples { margin-top: 8px; }
.kaoh-use-detail__evidence { margin-top: 18px; padding: 14px 18px; background: #f4eee4; }
.kaoh-use-detail__source { margin-top: 8px; }
.kaoh-use-detail__note { margin: 14px 0; }
.kaoh-use-detail__content > .kaoh-hero__link { margin-top: 20px; }
.kaoh-use-detail__back { font-size: 1.4rem; margin-top: 12px; }
@media (max-width: 767px) {
  .kaoh-use-detail { padding: 44px 0; }
  .kaoh-use-detail__title { font-size: 2.2rem; margin-bottom: 28px; }
  .kaoh-use-detail__title::after { margin-top: 12px; }
  .kaoh-use-detail__layout { gap: 24px; }
  .kaoh-use-detail__photos { display: block; }
  .kaoh-use-detail__photos img { aspect-ratio: 16 / 9; }
  .kaoh-use-detail__content h3 { font-size: 2rem; }
}

/* Sumi background: retain warm gold and vermilion brand accents. */
.kaoh-use-detail { background: #242321; color: #f5f0e7; }
.kaoh-use-detail:nth-of-type(even) { background: #302923; }
.kaoh-use-detail__title { color: #e6d0a5; }
.kaoh-use-detail__title::after { background: #c7a159; }
.kaoh-use-detail__content h3 { color: #fff8ec; }
.kaoh-use-detail__audience h4, .kaoh-use-detail__evidence h4 { color: #e6d0a5; }
.kaoh-use-detail__examples, .kaoh-use-detail__photos figcaption, .kaoh-use-detail__note, .kaoh-use-detail__source { color: #d8cfc1; }
.kaoh-use-detail__evidence { background: rgba(255,255,255,.06); border-left-color: #c7a159; }
.kaoh-use-detail__back:link, .kaoh-use-detail__back:visited { color: #e6d0a5; }
.kaoh-use-detail .kaoh-hero__link--primary { border-color: #c7a159; background: linear-gradient(180deg,#bf0a2d,#850625); }
/* Gallery: one main photograph, two supporting photographs below. */
.kaoh-use-detail__layout { align-items: start; }
.kaoh-use-detail__photos { display: block; }
.kaoh-use-detail__subphotos { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-top: 22px; }
.kaoh-use-detail__subphotos img { aspect-ratio: 4 / 3; object-fit: contain; background: #fff; }
.kaoh-use-detail__subphotos figcaption { font-size: 1.4rem; line-height: 1.8; }
@media (max-width: 767px) {
  .kaoh-use-detail__subphotos { gap: 12px; margin-top: 18px; }
}

/* Visible boundaries between the three usage sections. */
.kaoh-use-detail + .kaoh-use-detail { border-top: 1px solid #9d8051; }
.kaoh-use-detail + .kaoh-use-detail::before { content: ""; display: block; width: 8px; height: 8px; margin: -69px auto 61px; background: #c7a159; transform: rotate(45deg); }
@media (max-width: 767px) {
  .kaoh-use-detail + .kaoh-use-detail::before { margin-top: -49px; margin-bottom: 41px; }
}
/* Connect the usage entrances to the content below, with breathing room. */
.kaoh-uses__connector { width: 1px; height: 64px; margin: 40px auto -64px; background: linear-gradient(#c7a159, #9d8051); position: relative; z-index: 1; }
.kaoh-uses__connector::after { content: ""; position: absolute; bottom: -4px; left: -3px; width: 7px; height: 7px; background: #c7a159; transform: rotate(45deg); }
@media (max-width: 767px) {
  .kaoh-hero .inner { padding: 88px 24px 36px; }
  .kaoh-hero__eyebrow { font-size: 1.4rem; line-height: 1.8; letter-spacing: .02em; }
  .kaoh-hero__title { font-size: clamp(2.8rem, 7.3vw, 3.6rem); line-height: 1.55; letter-spacing: 0; }
  .kaoh-hero__description { font-size: 1.6rem; line-height: 1.9; }
  .kaoh-hero__link { font-size: 1.6rem; min-height: 56px; padding: 15px 12px; }
  .kaoh-hero__note { font-size: 1.4rem; line-height: 1.8; }
  .kaoh-uses__connector { height: 48px; margin-top: 32px; margin-bottom: -48px; }
}
/* Existing kaoh designs form a quiet visual layer within the first view. */
.kaoh-hero { overflow: hidden; isolation: isolate; }
.kaoh-hero__title { font-weight: 400; }
@media (max-width: 767px) {
  .kaoh-hero__description br { display: inline; }
}
.kaoh-uses__title { margin-bottom: 64px; }
@media (max-width: 767px) { .kaoh-uses__title { margin-bottom: 44px; } }

.kaoh-use__description { min-height: 140px; }
@media (max-width: 767px) { .kaoh-use__description { min-height: 0; } }

/* Clear transition from the photographic hero to the usage entrances. */
.kaoh-uses { background: #fff; }
.kaoh-use { background: #faf7f2; }

/* Enlarge the subject without changing the card geometry. */

.kaoh-uses { padding-top: 112px; }
@media (max-width: 767px) { .kaoh-uses { padding-top: 72px; } }

/* Generous spacing at transitions and around each usage heading. */
.kaoh-uses { padding-bottom: 104px; }
.kaoh-uses__connector { height: 80px; margin-top: 56px; margin-bottom: -104px; }
.kaoh-use-detail { padding-top: 104px; padding-bottom: 88px; }
.kaoh-use-detail__title { margin-bottom: 64px; }
.kaoh-use-detail__title::after { margin-top: 24px; }
.kaoh-use-detail + .kaoh-use-detail::before { margin-top: -109px; margin-bottom: 101px; }
@media (max-width: 767px) {
  .kaoh-uses { padding-bottom: 80px; }
  .kaoh-uses__connector { height: 64px; margin-top: 44px; margin-bottom: -80px; }
  .kaoh-use-detail { padding-top: 72px; padding-bottom: 64px; }
  .kaoh-use-detail__title { margin-bottom: 44px; }
  .kaoh-use-detail__title::after { margin-top: 18px; }
  .kaoh-use-detail + .kaoh-use-detail::before { margin-top: -77px; margin-bottom: 69px; }
}
/* Understated gold line icons distinguish the reading groups. */
.kaoh-icon-heading { display: flex; align-items: center; gap: 10px; }
.kaoh-line-icon { width: 20px; height: 20px; flex: 0 0 20px; color: #d6b778; }
.kaoh-use-detail__examples { margin-top: 22px; }
.kaoh-use-detail__audience > p, .kaoh-use-detail__examples > p { padding-left: 30px; }
.kaoh-use-detail__evidence { margin-top: 26px; }
@media (max-width: 767px) {
  .kaoh-icon-heading { gap: 8px; }
  .kaoh-use-detail__audience > p, .kaoh-use-detail__examples > p { padding-left: 28px; }
}

/* Base creation follows usage. Keep the established delivery card layouts. */
.kaoh-base { padding-top: 104px; background: #fff; scroll-margin-top: 90px; }
.kaoh-base .kaoh-base__title { display: block; width: auto; max-width: none; height: auto; background: none; color: var(--kaoh-text); font-size: 3.6rem; line-height: 1.6; margin-bottom: 22px; }
.kaoh-base__title::after { content: ""; display: block; width: 56px; height: 1px; background: var(--kaoh-gold); margin: 22px auto 0; }
.kaoh-base__intro { text-align: center; font-size: 1.5rem; line-height: 1.9; margin-bottom: 56px; }
@media (max-width: 767px) {
  .kaoh-base { padding-top: 72px; }
  .kaoh-base .kaoh-base__title { font-size: 2.2rem; margin-bottom: 22px; }
  .kaoh-base__intro { padding: 0 24px; text-align: left; font-size: 1.6rem; margin-bottom: 40px; }
}

/* Numbered delivery headings: quiet gold accents instead of ribbons. */
.kaoh-base .block .list-item .item__title { width: 100%; height: auto; min-height: 54px; padding: 0 0 16px; margin: 0 0 20px; transform: none; background: transparent; color: #242424; border-bottom: 1px solid #dfcba6; gap: 12px; font-size: 2rem; line-height: 1.6; }
.kaoh-base .block .item__title::after { display: none; }
.kaoh-base .block .item__title .num { color: #98743c; font-size: 2.6rem; font-weight: 400; }
.kaoh-base .kaoh-base__title { text-align: center; }
@media (max-width: 767px) {
  .kaoh-base .block .list-item .item__title { width: calc(100% - 48px); margin: 4px 24px 20px; padding-bottom: 16px; }
}
/* Filled delivery headings in warm dark brown. */
.kaoh-base .block .list-item .item__title { background: #403127; color: #fff8ec; border-bottom: 0; padding: 16px 18px; min-height: 64px; border-radius: 3px; }
.kaoh-base .block .item__title .num { color: #e1c48e; }
@media (max-width: 767px) {
  .kaoh-base .block .list-item .item__title { padding: 16px; min-height: 60px; }
}
/* Projecting burgundy labels with a gold edge and folded end. */
.kaoh-base .block .list-item .item__title { width: calc(100% + 64px); margin-left: -42px; padding: 17px 24px; min-height: 66px; background: linear-gradient(110deg,#880b29,#b30b32); border-radius: 0; border-top: 1px solid #d4b47b; border-bottom: 1px solid #d4b47b; box-shadow: 0 6px 14px rgba(71,17,29,.18); letter-spacing: .08em; }
.kaoh-base .block .item__title::after { display: block; content: ""; position: absolute; left: 0; top: 100%; width: 0; height: 0; border: 0; border-top: 12px solid #520b1e; border-left: 12px solid transparent; }
@media (max-width: 767px) {
  .kaoh-base .block .list-item .item__title { width: calc(100% + 12px); margin: 4px 0 20px -12px; padding: 16px 24px; font-size: 2rem; }
}
/* Optional product labels match the projecting base labels in muted gold. */
.kaoh-base .block2 .list-item .item__title { width: calc(100% + 64px); height: auto; min-height: 66px; margin: 0 0 20px -42px; padding: 17px 24px; transform: none; background: linear-gradient(110deg,#a78548,#c3a05b); color: #fffdf7; border-radius: 0; border-top: 1px solid #e4c990; border-bottom: 1px solid #e4c990; box-shadow: 0 6px 14px rgba(99,76,32,.16); letter-spacing: .08em; font-size: 2rem; line-height: 1.6; }
.kaoh-base .block2 .item__title::after { content: ""; position: absolute; left: 0; top: 100%; width: 0; height: 0; border: 0; border-top: 12px solid #73572c; border-left: 12px solid transparent; }
@media (max-width: 767px) {
  .kaoh-base .block2 .list-item .item__title { width: calc(100% + 12px); margin: 4px 0 20px -12px; padding: 16px 24px; }
}
.kaoh-base .block .list-item { row-gap: 48px; }
@media (max-width: 767px) {
  .kaoh-base .block .list-item { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 14px; }
  .kaoh-base .block .list-item > li { width: auto; min-width: 0; margin-top: 0; padding: 16px 0 20px; border-radius: 6px; }
  .kaoh-base .block .list-item > li::before { display: none; }
  .kaoh-base .block .list-item .item__title { width: calc(100% + 6px); min-height: 52px; margin: 0 0 14px -6px; padding: 12px 8px; font-size: 1.6rem; letter-spacing: 0; }
  .kaoh-base .block .item__title::after { border-top-width: 6px; border-left-width: 6px; }
  .kaoh-base .block .list-item .item__fig { width: 100%; padding: 8px 12px 12px; }
  .kaoh-base .block .list-item .item__text { padding: 4px 12px 0; font-size: 1.5rem; line-height: 1.85; letter-spacing: .02em; }
}
/* Optional products use the same mobile two-column rhythm. */
.kaoh-base .block2 .list-item { row-gap: 48px; }
@media (max-width: 767px) {
  .kaoh-base .block2 .list-item { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 14px; }
  .kaoh-base .block2 .list-item > li { width: auto; min-width: 0; margin-top: 0; padding: 16px 0 20px; border-radius: 6px; }
  .kaoh-base .block2 .list-item > li::before { display: none; }
  .kaoh-base .block2 .list-item .item__title { width: calc(100% + 6px); min-height: 52px; margin: 0 0 14px -6px; padding: 12px 8px; font-size: 1.6rem; letter-spacing: 0; }
  .kaoh-base .block2 .item__title::after { border-top-width: 6px; border-left-width: 6px; }
  .kaoh-base .block2 .list-item .item__fig { width: 100%; padding: 8px 12px 12px; }
  .kaoh-base .block2 .list-item .item__text { padding: 4px 12px 0; font-size: 1.5rem; line-height: 1.85; letter-spacing: .02em; }
  .kaoh-base .block2 .list-item .meta { padding: 0 12px; overflow-wrap: anywhere; }
  .kaoh-base .block2 .list-item .meta th, .kaoh-base .block2 .list-item .meta td { font-size: 1.3rem; }
  .kaoh-base .block2 .list-item .meta table { width: 100%; }
  .kaoh-base .block2 .item__fee { font-size: 1.5rem; }
}
.kaoh-base .block2 .item__fig img { aspect-ratio: 1 / 1; object-fit: contain; }
@media (max-width: 767px) { .kaoh-base .block2 .item__title { overflow-wrap: anywhere; } }

.kaoh-introduction { scroll-margin-top: 90px; }

@media (min-width: 768px) {
  .kaoh-hero .inner { padding-top: 100px; padding-bottom: 96px; }
  .kaoh-hero { min-height: 560px; }
}

/* Historic reference marks reused from the gift page. */
.kaoh-history-examples { padding: 24px 0 80px; background: #fff; }
.kaoh-history-examples .sec__inner { max-width: 1044px; margin: auto; padding: 0 10px; }
.kaoh-history-examples h2 { text-align: center; font-family: "Noto Serif JP",serif; font-size: 2.8rem; margin-bottom: 40px; }
.kaoh-history-examples__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.kaoh-history-examples__grid figure { padding: 20px; background: #faf7f2; }
.kaoh-history-examples__grid img { width: 100%; height: 128px; object-fit: contain; mix-blend-mode: multiply; }
.kaoh-history-examples__grid figcaption { text-align: center; margin-top: 18px; font-family: "Noto Serif JP",serif; font-size: 1.6rem; }
@media (max-width: 767px) {
  .kaoh-history-examples { padding: 16px 24px 48px; }
  .kaoh-history-examples .sec__inner { padding: 0; }
  .kaoh-history-examples h2 { font-size: 2.2rem; margin-bottom: 28px; }
  .kaoh-history-examples__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
  .kaoh-history-examples__grid figure { padding: 16px 12px; }
  .kaoh-history-examples__grid img { height: 100px; }
}
@media (min-width: 768px) { .kaoh-history-examples__grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width: 767px) { .kaoh-history-examples__pc-only { display: none; } }

/* Warm transitional background between introduction and modern uses. */
.kaoh-history-examples { background: #e9e0d2; padding-top: 64px; padding-bottom: 72px; }
.kaoh-history-examples h2 { color: #403127; }
.kaoh-history-examples__grid figure { background: #f8f4ed; }
@media (max-width: 767px) { .kaoh-history-examples { padding-top: 48px; padding-bottom: 48px; } }

/* Editable typographic replacement for the introductory title image. */
.kaoh-introduction .kaoh-intro-title { display: flex; align-items: flex-start; justify-content: flex-end; gap: 14px; width: auto; background: none; }
.kaoh-intro-title__en { color: #bf0a2d; font-family: "Noto Serif JP",serif; font-size: 1.8rem; line-height: 1.4; margin-top: 20px; padding-right: 12px; border-right: 1px solid #bf0a2d; }
.kaoh-intro-title__jp { writing-mode: vertical-rl; font-family: "Noto Serif JP",serif; font-size: 6rem; font-weight: 400; line-height: 1; letter-spacing: .12em; }
@media (max-width: 767px) {
  .kaoh-intro-title__jp { font-size: 4.6rem; }
  .kaoh-intro-title__en { font-size: 1.5rem; margin-top: 14px; }
}
/* Right-side vertical heading, echoing the introductory kaoh title. */
.kaoh-history-examples .sec__inner { display: grid; grid-template-columns: minmax(0,1fr) 60px; gap: 40px; align-items: start; }
.kaoh-history-examples h2 { grid-column: 2; grid-row: 1; writing-mode: vertical-rl; text-align: left; font-size: 3.2rem; line-height: 1.5; letter-spacing: .12em; margin: 0; justify-self: end; }
.kaoh-history-examples__grid { grid-column: 1; grid-row: 1; }
@media (max-width: 767px) {
  .kaoh-history-examples .sec__inner { grid-template-columns: minmax(0,1fr) 30px; gap: 16px; }
  .kaoh-history-examples h2 { font-size: 2.2rem; line-height: 1.3; }
  .kaoh-history-examples__grid figure { padding: 12px 8px; }
  .kaoh-history-examples__grid img { height: 90px; }
  .kaoh-history-examples__grid figcaption { font-size: 1.5rem; }
}
/* Keep the vertical heading outside the reference-card grid. */
.kaoh-history-examples .sec__inner { display: block; position: relative; padding-right: 10px; }
.kaoh-history-examples h2 { position: absolute; right: -52px; top: 0; margin: 0; }
@media (min-width: 768px) and (max-width: 1180px) {
  .kaoh-history-examples .sec__inner { margin-left: 24px; margin-right: 76px; }
}
@media (max-width: 767px) {
  .kaoh-history-examples .sec__inner { padding-right: 44px; }
  .kaoh-history-examples h2 { right: 0; }
}
.kaoh-history-examples h2 { display: flex; align-items: flex-start; gap: 12px; writing-mode: horizontal-tb; }
.kaoh-history-title__jp { writing-mode: vertical-rl; }
.kaoh-history-title__en { color: #bf0a2d; font-size: 1.5rem; letter-spacing: .03em; line-height: 1.4; margin-top: 12px; padding-right: 10px; border-right: 1px solid #bf0a2d; writing-mode: vertical-rl; }
@media (max-width: 767px) {
  .kaoh-history-examples .sec__inner { padding-right: 62px; }
  .kaoh-history-examples h2 { gap: 8px; }
  .kaoh-history-title__en { font-size: 1.2rem; padding-right: 6px; margin-top: 8px; }
}
/* Shared right edge and typography for the two vertical headings. */
.kaoh-introduction .block1 { max-width: 1044px; }
.kaoh-introduction .block1 .txt { max-width: 720px; margin-left: auto; margin-right: auto; }
.kaoh-history-examples .sec__inner { margin-left: auto; margin-right: auto; padding-right: 140px; }
.kaoh-history-examples h2 { right: 24px; font-size: 6rem; line-height: 1; gap: 14px; letter-spacing: .12em; }
.kaoh-history-title__jp { font-size: 6rem; line-height: 1; letter-spacing: .12em; }
.kaoh-history-title__en { font-size: 1.8rem; margin-top: 20px; padding-right: 12px; line-height: 1.4; }
@media (min-width: 768px) and (max-width: 1080px) {
  .kaoh-introduction .block1, .kaoh-history-examples .sec__inner { margin-left: 24px; margin-right: 24px; }
}
@media (max-width: 767px) {
  .kaoh-introduction .block1 { margin-left: auto; margin-right: auto; }
  .kaoh-history-examples .sec__inner { padding-right: 94px; }
  .kaoh-history-examples h2 { right: 0; gap: 10px; }
  .kaoh-history-title__jp { font-size: 4.6rem; }
  .kaoh-history-title__en { font-size: 1.5rem; margin-top: 14px; padding-right: 8px; }
}
.kaoh-history-title__jp { font-size: 3.2rem; }
@media (max-width: 767px) { .kaoh-history-title__jp { font-size: 2.4rem; } }

/* Usage heading follows the shared right-side vertical layout. */
.kaoh-uses .sec__inner { position: relative; padding-right: 140px; }
.kaoh-uses__title { position: absolute; top: 0; right: 24px; display: flex; align-items: flex-start; gap: 14px; margin: 0; text-align: left; }
.kaoh-uses-title__jp { writing-mode: vertical-rl; font-family: "Noto Serif JP",serif; font-size: 3.2rem; line-height: 1; letter-spacing: .12em; }
.kaoh-uses-title__en { writing-mode: vertical-rl; color: #bf0a2d; font-family: "Noto Serif JP",serif; font-size: 1.8rem; line-height: 1.4; letter-spacing: .03em; margin-top: 20px; padding-right: 12px; border-right: 1px solid #bf0a2d; }
.kaoh-uses__connector { left: 65px; }
@media (min-width: 768px) and (max-width: 1080px) {
  .kaoh-uses .sec__inner { margin-left: 24px; margin-right: 24px; }
}
@media (max-width: 767px) {
  .kaoh-uses .sec__inner { padding-left: 24px; padding-right: 98px; }
  .kaoh-uses__title { right: 24px; gap: 10px; }
  .kaoh-uses-title__jp { font-size: 2.4rem; }
  .kaoh-uses-title__en { font-size: 1.5rem; margin-top: 14px; padding-right: 8px; }
  .kaoh-uses__connector { left: 37px; }
}
/* Mobile: vertical titles above content, without a persistent side gutter. */
@media (max-width: 767px) {
  .kaoh-uses .sec__inner { padding-left: 24px; padding-right: 24px; }
  .kaoh-uses__title { position: static; justify-content: flex-end; margin-bottom: 40px; }
  .kaoh-uses__connector { left: 0; }
  .kaoh-history-examples .sec__inner { padding-right: 0; }
  .kaoh-history-examples h2 { position: static; justify-content: flex-end; margin-bottom: 36px; }
}

/* Historical title remains beside the examples on mobile, as on desktop. */
@media (max-width: 767px) {
  .kaoh-history-examples .sec__inner { position: relative; padding-right: 62px; }
  .kaoh-history-examples h2 { position: absolute; top: 0; right: 0; display: flex; flex-direction: row; align-items: flex-start; gap: 10px; margin: 0; text-align: left; }
  .kaoh-history-title__jp { writing-mode: vertical-rl; font-size: 2.4rem; line-height: 1; }
  .kaoh-history-title__en { display: inline; writing-mode: vertical-rl; font-size: 1.5rem; }
}
/* Compact mobile side title leaves room for the six historic marks. */
@media (max-width: 767px) {
  .kaoh-history-examples { padding-left: 18px; padding-right: 18px; }
  .kaoh-history-examples .sec__inner { padding-right: 54px; }
  .kaoh-history-examples h2 { gap: 7px; }
  .kaoh-history-title__jp { font-size: 2.2rem; line-height: 1.15; letter-spacing: .08em; }
  .kaoh-history-title__en { font-size: 1.2rem; padding-right: 6px; margin-top: 8px; }
  .kaoh-history-examples__grid { gap: 14px 10px; }
  .kaoh-history-examples__grid figure { padding: 14px 8px; }
  .kaoh-history-examples__grid img { height: 86px; }
  .kaoh-history-examples__grid figcaption { margin-top: 12px; font-size: 1.4rem; line-height: 1.5; letter-spacing: .02em; }
}
@media (max-width: 767px) { .kaoh-history-examples .sec__inner { padding-right: 68px; } }

.kaoh-history-examples { padding-top: 104px; }
@media (max-width: 767px) { .kaoh-history-examples { padding-top: 72px; } }

.kaoh-history-examples { padding-bottom: 104px; }
@media (max-width: 767px) { .kaoh-history-examples { padding-bottom: 72px; } }

/* Mobile usage heading: horizontal and centered above the cards. */
@media (max-width: 767px) {
  .kaoh-uses__title { flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center; margin-bottom: 40px; }
  .kaoh-uses-title__jp { writing-mode: horizontal-tb; order: 0; font-size: 2.4rem; line-height: 1.5; letter-spacing: .06em; }
  .kaoh-uses-title__en { writing-mode: horizontal-tb; order: 1; margin-top: 0; padding-right: 0; border-right: 0; font-size: 1.3rem; line-height: 1.5; letter-spacing: .08em; }
}
@media (max-width: 767px) {
  .kaoh-uses-title__en { position: relative; padding-top: 16px; }
  .kaoh-uses-title__en::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 48px; height: 1px; background: #c7a159; }
}
/* Reuse the gift page's historical kaoh background assets. */
.kaoh-history-examples { background-color: #f3eddf; background-image: url('../img/gift/celebrity-bg.jpg'); background-position: center top; background-repeat: repeat-x; }
@media (max-width: 767px) {
  .kaoh-history-examples { background-image: url('../img/gift/celebrity-bg_sp.jpg'); background-repeat: no-repeat; background-size: 100% auto; }
}
/* Historic marks sit directly on the shared washi background. */
.kaoh-history-examples__grid figure { background: transparent; }

/* Give the values section balanced breathing room. */
.kaoh-values { padding-top: 120px; padding-bottom: 120px; }
.kaoh-values .block2 { margin-bottom: 0; }
@media (max-width: 767px) {
  .kaoh-values { padding-top: 80px; padding-bottom: 80px; }
  .kaoh-values .block2 .list li:last-child { margin-bottom: 0; }
}

/* Values: a two-column vertical title beside the four values. */
.kaoh-values .block2 { position: relative; max-width: 1044px; padding: 0 180px 0 10px; }
.kaoh-values__title { position: absolute; top: 0; right: 24px; display: flex; align-items: flex-start; gap: 14px; margin: 0; font-weight: 400; }
.kaoh-values-title__jp { writing-mode: vertical-rl; font-family: "Noto Serif JP",serif; font-size: 3.2rem; line-height: 1.65; letter-spacing: .12em; }
.kaoh-values-title__jp em { color: #bf0a2d; font-style: normal; }
.kaoh-values-title__en { writing-mode: vertical-rl; color: #bf0a2d; font-family: "Noto Serif JP",serif; font-size: 1.8rem; line-height: 1.4; letter-spacing: .03em; margin-top: 20px; padding-right: 12px; border-right: 1px solid #bf0a2d; }
.kaoh-values .block2 .list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; width: auto; }
.kaoh-values .block2 .list li { width: auto; margin-bottom: 0; }
.kaoh-values .block2 .list .img { height: 280px; font-size: 2.2rem; margin-bottom: 18px; }
.kaoh-values .block2 .list .txt { line-height: 1.9; }
@media (min-width: 768px) and (max-width: 1080px) {
  .kaoh-values .block2 { margin-left: 24px; margin-right: 24px; }
}
@media (max-width: 767px) {
  .kaoh-values .block2 { padding: 0 24px; }
  .kaoh-values__title { position: static; justify-content: flex-end; gap: 10px; margin-bottom: 40px; }
  .kaoh-values-title__jp { font-size: 2.4rem; line-height: 1.6; letter-spacing: .08em; }
  .kaoh-values-title__en { font-size: 1.3rem; margin-top: 12px; padding-right: 8px; }
  .kaoh-values .block2 .list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px 16px; }
  .kaoh-values .block2 .list .img { height: 190px; font-size: 1.9rem; margin-bottom: 12px; }
  .kaoh-values .block2 .list .txt { font-size: 1.4rem; line-height: 1.85; }
}
@media (min-width: 768px) {
  .kaoh-values-title__jp br { display: none; }
  .kaoh-values .block2 { padding-right: 140px; }
}

.kaoh-intro-title__en { writing-mode: vertical-rl; letter-spacing: .03em; }

.front-sec2 .kaoh-about-title { display: flex; align-items: flex-start; gap: 14px; width: auto; margin: 0 0 40px; padding: 0; background: none; font-family: "Noto Serif JP",serif; font-weight: 400; }
.kaoh-about-title__jp { writing-mode: vertical-rl; color: #fff; font-size: 6rem; line-height: 1; letter-spacing: .12em; }
.kaoh-about-title__en { writing-mode: vertical-rl; color: #c7a159; font-size: 1.8rem; line-height: 1.4; letter-spacing: .03em; margin-top: 20px; padding-left: 12px; border-left: 1px solid #c7a159; }
@media (max-width: 767px) {
  .front-sec2 .kaoh-about-title { gap: 10px; margin-bottom: 36px; }
  .kaoh-about-title__jp { font-size: 3.2rem; }
  .kaoh-about-title__en { font-size: 1.3rem; margin-top: 12px; padding-left: 8px; }
}
/* Design examples: generous image and a clearly separated explanation. */
.front-sec3 .block { margin-bottom: 100px; }
.front-sec3 .block:last-child { margin-bottom: 0; }
.front-sec3 { padding-bottom: 120px; }
.front-sec3 .head { background: none; width: auto; height: auto; align-items: center; gap: 24px; margin-bottom: 36px; text-align: left; }
.front-sec3 .head .head__txt1 { background: none; color: #a78548; width: auto; height: auto; font-size: 1.6rem; letter-spacing: .12em; }
.front-sec3 .head .head__txt1::after { display: none; }
.front-sec3 .head .head__in { display: flex; align-items: center; gap: 16px; min-width: 0; }
.front-sec3 .head .head__txt2 { display: block; width: auto; height: auto; color: #66574d; font-size: 1.4rem; }
.front-sec3 .head .head__txt3 { display: block; width: auto; height: auto; font-size: 3.6rem; }
.kaoh-design-layout { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 48px; align-items: center; }
.front-sec3 .box__img { margin: 0; padding: 0; }
.front-sec3 .box__img img { width: 100%; height: auto; }
.front-sec3 .box__ttl { text-align: left; font-family: "Noto Serif JP",serif; font-weight: 400; font-size: 2rem; color: #66503b; border-left: 2px solid #c7a159; padding-left: 14px; }
.front-sec3 .box__txt1 { max-width: none; margin: 16px 0 32px; padding: 0; font-size: 1.6rem; line-height: 2; }
.front-sec3 .box__txt1:last-child { margin-bottom: 0; }
@media (max-width: 767px) {
  .front-sec3 { padding-bottom: 80px; }
  .front-sec3 .block { padding: 0 24px; margin-bottom: 72px; }
  .front-sec3 .head { gap: 18px; margin-bottom: 24px; }
  .front-sec3 .head .head__txt1 { font-size: 1.3rem; }
  .front-sec3 .head .head__txt2 { font-size: 1.2rem; }
  .front-sec3 .head .head__txt3 { font-size: 3rem; }
  .kaoh-design-layout { grid-template-columns: minmax(0,1fr); gap: 28px; }
  .front-sec3 .box__ttl { font-size: 1.8rem; }
  .front-sec3 .box__txt1 { font-size: 1.5rem; line-height: 1.95; }
}
/* Align the image and explanation as equally tall panels on desktop. */
@media (min-width: 768px) {
  .kaoh-design-layout { align-items: stretch; }
  .kaoh-design-visual { display: grid; background: #faf8f4; }
  .kaoh-design-visual .box__img.pc { display: flex; align-items: center; justify-content: center; height: 100%; }
  .kaoh-design-visual .box__img img { max-height: 100%; object-fit: contain; }
  .kaoh-design-copy { display: flex; flex-direction: column; justify-content: center; padding: 28px 30px; background: #faf8f4; border-top: 1px solid #c7a159; border-bottom: 1px solid #c7a159; }
}
.front-sec3 .kaoh-design-copy .head { margin-bottom: 28px; gap: 18px; flex-wrap: wrap; }
@media (max-width: 767px) { .front-sec3 .kaoh-design-copy .head { margin-bottom: 24px; } }

/* Balance the artwork's scale with the explanation, without tall panels. */
@media (min-width: 768px) {
  .kaoh-design-layout { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); align-items: center; }
  .kaoh-design-visual { display: block; background: none; }
  .kaoh-design-visual .box__img.pc { display: block; height: auto; }
  .kaoh-design-visual .box__img img { width: 88%; max-height: none; height: auto; }
  .kaoh-design-copy { display: block; padding: 0; background: none; border: 0; }
}
/* Section title uses the shared vertical Japanese and English arrangement. */
.front-sec3 > .sec__inner { position: relative; max-width: 1044px; margin-left: auto; margin-right: auto; padding: 0 140px 0 10px; }
.kaoh-design-title { position: absolute; top: 0; right: 24px; display: flex; align-items: flex-start; gap: 14px; margin: 0; font-family: "Noto Serif JP",serif; font-weight: 400; }
.kaoh-design-title__jp { writing-mode: vertical-rl; font-size: 3.2rem; line-height: 1; letter-spacing: .12em; }
.kaoh-design-title__en { writing-mode: vertical-rl; color: #bf0a2d; font-size: 1.8rem; line-height: 1.4; letter-spacing: .03em; margin-top: 20px; padding-right: 12px; border-right: 1px solid #bf0a2d; }
@media (min-width: 768px) and (max-width: 1080px) { .front-sec3 > .sec__inner { margin-left: 24px; margin-right: 24px; } }
@media (max-width: 767px) {
  .front-sec3 > .sec__inner { padding: 0 24px; }
  .kaoh-design-title { position: static; justify-content: flex-end; gap: 10px; margin-bottom: 40px; }
  .kaoh-design-title__jp { font-size: 2.4rem; }
  .kaoh-design-title__en { font-size: 1.3rem; margin-top: 12px; padding-right: 8px; }
  .front-sec3 .block { padding: 0; }
}
/* Size the artwork from the copy height after reserving the title gutter. */
@media (min-width: 768px) {
  .kaoh-design-layout { align-items: stretch; }
  .kaoh-design-visual { position: relative; min-height: 0; }
  .kaoh-design-visual .box__img.pc { position: absolute; inset: 0; height: 100%; }
  .kaoh-design-visual .box__img img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
}
/* One artwork asset on all screens; give the artwork more visual weight. */
.kaoh-design-visual .kaoh-design-image { position: static; height: auto; display: block; }
.kaoh-design-visual .kaoh-design-image img { display: block; width: 100%; height: auto; max-height: none; }
@media (min-width: 768px) {
  .kaoh-design-layout { grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 36px; align-items: center; }
  .front-sec3 .box__txt1 { font-size: 1.5rem; line-height: 1.95; margin-top: 12px; margin-bottom: 26px; }
}
/* Create rhythm with warm backgrounds, fine icons and spacing. */
.front-sec3 { background: #f7f4ef; }
.front-sec3 .kaoh-design-copy { padding: 28px; background: #fff; border: 0; }
.front-sec3 .kaoh-design-copy .head { margin-bottom: 32px; padding-bottom: 20px; border-bottom: 1px solid #e7ded0; }
.front-sec3 .box__ttl { display: flex; align-items: center; gap: 10px; border-left: 0; padding-left: 0; }
.front-sec3 .box__ttl::before { content: ""; flex: 0 0 14px; width: 14px; height: 14px; border: 1px solid #b38c4e; transform: rotate(45deg); }
.front-sec3 .box__ttl ~ .box__ttl::before { border-radius: 50%; transform: none; box-shadow: inset 0 0 0 3px #fff; background: #d8c39e; }
.front-sec3 .box__txt1 { font-size: 1.6rem; line-height: 2; margin-top: 16px; margin-bottom: 36px; }
.front-sec3 .box__txt1:last-child { margin-bottom: 0; }
@media (min-width: 768px) {
  .kaoh-design-layout { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: 40px; align-items: stretch; }
  .kaoh-design-visual { position: relative; }
  .kaoh-design-visual .kaoh-design-image { position: absolute; inset: 0; height: 100%; }
  .kaoh-design-visual .kaoh-design-image img { width: 100%; height: 100%; object-fit: contain; }
}
@media (max-width: 767px) {
  .front-sec3 .kaoh-design-copy { padding: 24px 20px; }
  .front-sec3 .box__txt1 { font-size: 1.5rem; line-height: 2; margin-bottom: 30px; }
  .kaoh-design-layout { gap: 24px; }
}
.kaoh-design-visual { background: #fff; }
@media (min-width: 768px) { .kaoh-design-visual { align-self: stretch; } }

@media (min-width: 768px) {
  .kaoh-design-layout { grid-template-columns: minmax(0,1.08fr) minmax(0,1fr); gap: 36px; }
  .kaoh-design-visual .kaoh-design-image { inset: 0 20px; }
}
@media (max-width: 767px) { .kaoh-design-visual .kaoh-design-image { padding-left: 14px; padding-right: 14px; } }

@media (max-width: 767px) { .kaoh-design-visual { background: transparent; } }

@media (max-width: 767px) {
  .kaoh-design-visual .kaoh-design-image img { mix-blend-mode: multiply; }
}

/* Subtle tonal distinction between artwork and explanation. */
.kaoh-design-visual { background: #eee8df; }
.front-sec3 .kaoh-design-copy { background: #fffdf9; }
.kaoh-design-visual .kaoh-design-image img { mix-blend-mode: multiply; }
@media (max-width: 767px) {
  .kaoh-design-visual { background: transparent; }
}
.kaoh-design-visual { background: #fffdf9; }
.front-sec3 .kaoh-design-copy { background: #fff; }
@media (max-width: 767px) { .kaoh-design-visual { background: transparent; } }

/* Keep each name with its artwork. */
.front-sec3 .kaoh-design-visual .head { justify-content: center; margin: 0; padding: 24px 16px 20px; gap: 0; }
@media (min-width: 768px) {
  .kaoh-design-visual .kaoh-design-image { inset: 92px 20px 20px; height: auto; }
}
@media (max-width: 767px) {
  .front-sec3 .kaoh-design-visual .head { padding: 0 0 20px; }
}
.kaoh-design-method { font-weight: 700; color: #493628; }

.front-sec3 .kaoh-design-visual .head { padding: 24px 16px; }
.front-sec3 .kaoh-design-visual .head__in { flex-direction: column; gap: 12px; }
.kaoh-design-name-en { position: relative; padding-top: 12px; color: #a78548; font-family: "Noto Serif JP",serif; font-size: 1.2rem; line-height: 1.4; letter-spacing: .18em; }
.kaoh-design-name-en::before { content: ""; position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 40px; height: 1px; background: #c7a159; }
@media (min-width: 768px) { .kaoh-design-visual .kaoh-design-image { inset: 132px 20px 20px; } }
@media (max-width: 767px) { .front-sec3 .kaoh-design-visual .head { padding: 0 0 24px; } }

/* Generous space before the usage section. */
.kaoh-uses { padding-top: 160px; }
@media (max-width: 767px) { .kaoh-uses { padding-top: 104px; } }

/* Subpage opening title matches the top page's introductory title. */
.kaoh-use-page .kaoh-uses-title__jp { font-size: 6rem; }
.kaoh-use-page .kaoh-uses .sec__inner { padding-right: 170px; }
@media (max-width: 767px) {
  .kaoh-use-page .kaoh-uses__title { flex-direction: row; align-items: flex-start; justify-content: flex-end; text-align: left; gap: 10px; margin-bottom: 40px; }
  .kaoh-use-page .kaoh-uses-title__jp { writing-mode: vertical-rl; order: 1; font-size: 3.2rem; line-height: 1.15; letter-spacing: .08em; }
  .kaoh-use-page .kaoh-uses-title__en { writing-mode: vertical-rl; order: 0; font-size: 1.5rem; margin-top: 14px; padding-top: 0; padding-right: 8px; border-right: 1px solid #bf0a2d; letter-spacing: .03em; }
  .kaoh-use-page .kaoh-uses-title__en::before { display: none; }
  .kaoh-use-page .kaoh-uses .sec__inner { padding-right: 24px; }
}
.kaoh-use-page .kaoh-uses__title { position: static; justify-content: flex-end; margin-bottom: 80px; }
.kaoh-use-page .kaoh-uses-title__jp { font-size: 3.2rem; }
.kaoh-use-page .kaoh-uses .sec__inner { padding-right: 24px; }
@media (max-width: 767px) { .kaoh-use-page .kaoh-uses__title { margin-bottom: 40px; } .kaoh-use-page .kaoh-uses-title__jp { font-size: 2.4rem; } }

/* Space before the shared site footer. */
#footer { margin-top: 120px; }
@media (max-width: 767px) { #footer { margin-top: 80px; } }

/* Introductory copy fills the space beside the subpage title. */
.kaoh-use-page__opening { display: flex; justify-content: space-between; align-items: center; gap: 48px; margin-bottom: 80px; }
.kaoh-use-page .kaoh-use-page__opening .kaoh-uses__title { flex: 0 0 auto; margin-bottom: 0; }
.kaoh-use-page__intro { max-width: 720px; }
.kaoh-use-page__lead { font-family: "Noto Serif JP",serif; font-size: 3rem; line-height: 1.7; letter-spacing: .05em; margin-bottom: 24px; }
.kaoh-use-page__text { font-size: 1.7rem; line-height: 2.1; color: #595048; }
.kaoh-use-page__links { display: flex; flex-wrap: wrap; gap: 16px 28px; margin-top: 32px; }
.kaoh-use-page__links a { color: #806440; font-size: 1.5rem; padding-bottom: 8px; border-bottom: 1px solid #d5c3a3; }
.kaoh-use-page__links a:hover { color: #bf0a2d; }
.kaoh-use-page__links a:focus-visible { outline: 2px solid #bf0a2d; outline-offset: 5px; }
@media (max-width: 767px) {
  .kaoh-use-page__opening { display: flex; flex-direction: column; align-items: stretch; gap: 32px; margin-bottom: 40px; }
  .kaoh-use-page .kaoh-use-page__opening .kaoh-uses__title { order: -1; }
  .kaoh-use-page__lead { font-size: 2.2rem; margin-bottom: 16px; }
  .kaoh-use-page__text { font-size: 1.5rem; line-height: 2; }
  .kaoh-use-page__text br { display: none; }
  .kaoh-use-page__links { gap: 14px 20px; margin-top: 24px; }
  .kaoh-use-page__links a { font-size: 1.3rem; }
}
/* The usage page opens directly with its introduction. */
.kaoh-use-page .kaoh-uses { padding-top: 220px; }
@media (max-width: 767px) { .kaoh-use-page .kaoh-uses { padding-top: 140px; } }

/* A quiet subpage FV with balanced spacing around the opening. */
.kaoh-use-page .kaoh-uses { padding-top: 0; }
.kaoh-use-page .kaoh-uses .sec__inner { padding-top: 0; }
.kaoh-use-page__opening { position: relative; isolation: isolate; padding-top: 156px; padding-bottom: 72px; margin-bottom: 72px; }
.kaoh-use-page__opening::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: calc((100% - 100vw) / 2); width: 100vw; background: #f3eee6; }
@media (max-width: 767px) {
  .kaoh-use-page__opening { padding-top: 112px; padding-bottom: 48px; margin-bottom: 48px; }
}
.kaoh-use-page__opening::before { background: transparent; }

/* Pale ink accents around the opening, clear of the main copy. */
.kaoh-use-page__opening::before { background: url('../img/uses/ink-opening.svg') center / cover no-repeat; }
@media (max-width: 767px) {
  .kaoh-use-page__opening::before { background-size: auto 100%; background-position: center; opacity: .7; }
}
@media (max-width: 767px) { .kaoh-use-page .kaoh-use-page__opening .kaoh-uses__title { justify-content: center; } }

@media (max-width: 767px) { .kaoh-use-page__opening { padding-top: 64px; } }

/* Light scene sections blend into the shared footer. */
.kaoh-use-page .kaoh-use-detail { background: #f5f2ed; color: #3f3933; }
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) { background: #eee9e1; }
.kaoh-use-page .kaoh-use-detail__title { color: #66503b; }
.kaoh-use-page .kaoh-use-detail__content h3 { color: #3f3933; }
.kaoh-use-page .kaoh-use-detail__audience h4,
.kaoh-use-page .kaoh-use-detail__examples h4,
.kaoh-use-page .kaoh-use-detail__evidence h4 { color: #806440; }
.kaoh-use-page .kaoh-use-detail__examples,
.kaoh-use-page .kaoh-use-detail__note,
.kaoh-use-page .kaoh-use-detail__source { color: #655e55; }
.kaoh-use-page .kaoh-use-detail__evidence { background: rgba(255,255,255,.7); }
.kaoh-use-page .kaoh-line-icon { color: #a78548; }
/* Alternate the earlier dark treatment with the current light treatment. */
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) { background: #242321; color: #f5f0e7; }
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-use-detail__title { color: #e6d0a5; }
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-use-detail__content h3 { color: #fff8ec; }
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-use-detail__content h4 { color: #e6d0a5; }
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-use-detail__examples,
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-use-detail__note,
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-use-detail__source { color: #d8cfc1; }
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-use-detail__evidence { background: rgba(255,255,255,.06); }
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-line-icon { color: #d6b778; }
.kaoh-use-page .kaoh-use-detail:nth-of-type(odd) { background: #fff; }

/* Quiet outlined buttons complement the kaoh cards. */
.kaoh-use-page .kaoh-use__more { display: flex; align-items: center; justify-content: space-between; margin: 24px 20px 20px; padding: 13px 18px; border: 1px solid #b89963; background: #fffdf9; color: #725735; font-family: "Noto Serif JP",serif; font-size: 1.5rem; letter-spacing: .06em; transition: background .2s,color .2s; }
.kaoh-use-page .kaoh-use__entrance:hover .kaoh-use__more,
.kaoh-use-page .kaoh-use__entrance:focus-visible .kaoh-use__more { background: #806440; color: #fff; }
@media (max-width: 767px) { .kaoh-use-page .kaoh-use__more { margin: 20px 18px 18px; padding: 12px 16px; } }
@media (min-width: 768px) { .kaoh-use-page .kaoh-uses__grid { row-gap: 64px; } }

/* More breathing room between the scene overview and the first detail. */
.kaoh-use-page .kaoh-uses { padding-bottom: 152px; }
.kaoh-use-page .kaoh-uses__connector { height: 96px; margin-top: 80px; margin-bottom: -152px; }
.kaoh-use-page #use-work { padding-top: 144px; }
@media (max-width: 767px) {
  .kaoh-use-page .kaoh-uses { padding-bottom: 112px; }
  .kaoh-use-page .kaoh-uses__connector { height: 80px; margin-top: 64px; margin-bottom: -112px; }
  .kaoh-use-page #use-work { padding-top: 104px; }
}
/* Anchor scene actions to the bottom of the adjacent photo group. */
@media (min-width: 768px) {
  .kaoh-use-page .kaoh-use-detail__layout { align-items: stretch; }
  .kaoh-use-page .kaoh-use-detail__content { display: flex; flex-direction: column; align-items: flex-start; }
  .kaoh-use-page .kaoh-use-detail__content > .kaoh-hero__link { margin-top: auto; align-self: flex-start; }
  .kaoh-use-page .kaoh-use-detail__content > aside { margin-bottom: 28px; width: 100%; }
}
/* Keep full-width ink decoration from extending the page's scroll width. */
.kaoh-use-page .kaoh-uses { overflow-x: clip; }

/* Compact product combinations beneath each scene image. */
.kaoh-recommend { margin-top: 28px; padding-top: 22px; border-top: 1px solid #cbb68e; }
.kaoh-recommend h3 { font-size: 1.5rem; font-weight: 500; letter-spacing: .08em; margin: 0 0 20px; color: #806440; }
.kaoh-recommend__items { display: flex; align-items: center; justify-content: center; gap: 14px; }
.kaoh-recommend__item { flex: 1; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 12px; padding: 8px 2px 12px; color: #806440; text-align: center; }
.kaoh-recommend__item svg { width: 48px; height: 48px; }
.kaoh-recommend__item span { font-size: 1.35rem; line-height: 1.6; }
.kaoh-recommend__item:hover { color: #bf0a2d; }
.kaoh-recommend__item:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
.kaoh-recommend__plus { flex: 0 0 auto; color: #b89963; font-size: 1.7rem; font-weight: 300; }
.kaoh-use-detail:nth-of-type(even) .kaoh-recommend h3,
.kaoh-use-detail:nth-of-type(even) .kaoh-recommend__item { color: #e6d0a5; }
.kaoh-use-detail:nth-of-type(even) .kaoh-recommend__item:hover { color: #fff8ec; }
@media (max-width: 767px) {
 .kaoh-recommend { margin-top: 22px; padding-top: 20px; }
 .kaoh-recommend__items { gap: 6px; }
 .kaoh-recommend__item svg { width: 40px; height: 40px; }
 .kaoh-recommend__item span { font-size: 1.2rem; }
}
/* Framed product choices in scene recommendations. */
.kaoh-recommend__item { border: 1px solid #cbb68e; padding: 18px 6px; border-radius: 0; transition: border-color .2s, color .2s; }
.kaoh-recommend__item:hover { border-color: currentColor; }
.kaoh-use-detail:nth-of-type(even) .kaoh-recommend__item { border-color: #8f7b56; }
.kaoh-use-detail:nth-of-type(even) .kaoh-recommend__item:hover { border-color: #e6d0a5; }
@media (max-width: 767px) { .kaoh-recommend__item { padding: 15px 4px; } }
/* Product frames are used on mobile only. */
@media (min-width: 768px) { .kaoh-recommend__item { border: 0; } }

/* Shared subpage opening and product page spacing. */
.kaoh-products-page .kaoh-uses { padding-bottom: 0; }
.kaoh-products-page .kaoh-use-page__opening { margin-bottom: 0; }
.kaoh-products-page #sec5 { padding-top: 80px; }
.kaoh-products-page [id^="product-"], .kaoh-products-page #products { scroll-margin-top: 130px; }
.kaoh-products-page__action { text-align: center; margin: 64px 20px 0; }
@media (max-width: 767px) {
 .kaoh-products-page #sec5 { padding-top: 48px; }
 .kaoh-products-page [id^="product-"] { scroll-margin-top: 90px; }
 .kaoh-products-page__action { margin-top: 40px; }
}
/* Detailed specifications on the standalone product page. */
.kaoh-products-page .meta { margin: 20px 0; }
.kaoh-products-page .meta table { width: 100%; font-size: 1.4rem; line-height: 1.8; border-collapse: collapse; }
.kaoh-products-page .meta th, .kaoh-products-page .meta td { padding: 10px 8px; border-bottom: 1px solid #ded4c3; text-align: left; vertical-align: top; }
.kaoh-products-page .meta th { width: 35%; font-weight: 500; white-space: nowrap; }
.kaoh-products-page .kaoh-product-link { margin-top: 20px; font-size: 1.4rem; }
.kaoh-products-page .kaoh-product-link a { color: #806440; border-bottom: 1px solid #cbb68e; padding-bottom: 5px; }
@media (max-width: 767px) {
 .kaoh-products-page .front-sec5 .list-item { display: grid; grid-template-columns: minmax(0,1fr); gap: 48px; }
 .kaoh-products-page .front-sec5 .list-item > li { width: 100%; margin: 0; max-width: none; }
 .kaoh-products-page .front-sec5 .item__text { font-size: 1.5rem; line-height: 2; }
 .kaoh-products-page .meta table { font-size: 1.4rem; }
}
/* A quiet visual panel for the product introduction on mobile. */
@media (max-width: 767px) {
 .kaoh-products-page .kaoh-use-page__intro {
  position: relative;
  isolation: isolate;
  padding: 30px 22px;
  background: #f5f0e7;
  border-top: 1px solid #e4d9c5;
  border-bottom: 1px solid #e4d9c5;
 }
 .kaoh-products-page .kaoh-use-page__intro::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: url('../img/uses/ink-opening.svg') center / cover no-repeat;
  opacity: .5;
  pointer-events: none;
 }
 .kaoh-products-page .kaoh-use-page__lead { font-size: 2.1rem; }
 .kaoh-products-page .kaoh-use-page__links { gap: 16px; }
}
/* Mobile usage opening shares the homepage washi treatment. */
@media (max-width: 767px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening::before {
  background: #f3eddf url('../img/gift/celebrity-bg_sp.jpg') center top / 100% auto no-repeat;
  opacity: 1;
 }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening .kaoh-uses__title {
  justify-content: flex-end;
  align-self: flex-end;
  width: 100%;
 }
}
/* Usage-page FV uses the homepage landscape background. */
.kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening::before {
 background: url('../img/home/fv_bg.jpg') center center / cover no-repeat;
 opacity: 1;
}
/* Keep the FV image behind the title only. */
.kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening::before { background: none; }
.kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening .kaoh-uses__title {
 position: relative;
 isolation: isolate;
 padding: 28px 24px;
}
.kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening .kaoh-uses__title::before {
 content: "";
 position: absolute;
 inset: 0;
 z-index: -1;
 background: url('../img/home/fv_bg.jpg') center / cover no-repeat;
}
@media (max-width: 767px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening .kaoh-uses__title { padding: 28px 24px; box-sizing: border-box; }
}
/* Standalone image beside the usage-page title. */
.kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening { flex-direction: column; align-items: stretch; gap: 48px; }
.kaoh-use-page__visual { order: -1; display: flex; align-items: center; gap: 40px; width: 100%; }
.kaoh-use-page__visual-image { flex: 1; min-width: 0; margin: 0; }
.kaoh-use-page__visual-image img { display: block; width: 100%; height: 340px; object-fit: cover; }
.kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening .kaoh-uses__title { flex: 0 0 auto; width: auto; padding: 0; align-self: center; margin: 0; }
.kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening .kaoh-uses__title::before { content: none; }
.kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__intro { max-width: none; }
@media (max-width: 767px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening { gap: 32px; }
 .kaoh-use-page__visual { gap: 20px; }
 .kaoh-use-page__visual-image img { height: 240px; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening .kaoh-uses__title { width: auto; padding: 0; }
}
/* Explicit columns prevent the mobile title order from reversing the visual. */
.kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening { padding-top: 0; }
.kaoh-use-page__visual { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 32px; align-items: center; }
.kaoh-use-page__visual-image { grid-column: 1; grid-row: 1; order: 0; }
.kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening .kaoh-uses__title { grid-column: 2; grid-row: 1; order: 1; }
@media (max-width: 767px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening { padding-top: 0; }
 .kaoh-use-page__visual { gap: 18px; }
 .kaoh-use-page__visual-image img { height: auto; aspect-ratio: 3 / 4; object-fit: cover; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening .kaoh-uses__title { order: 1; min-width: 0; }
}
/* Pale brushwork replaces the photographic opening. */
.kaoh-use-page__brush { grid-column: 1; grid-row: 1; width: 100%; height: 340px; background: url('../img/uses/ink-opening.svg') center / cover no-repeat; }
@media (max-width: 767px) { .kaoh-use-page__brush { height: 270px; background-size: auto 100%; } }
/* Frame the actual brush strokes instead of the SVG's empty center. */
.kaoh-use-page__brush { background: url('../img/uses/ink-opening-left.svg?v=2') center / contain no-repeat; }
@media (max-width: 767px) { .kaoh-use-page__brush { background-size: contain; background-position: center; } }
/* Equal breathing room above and below the mobile opening visual. */
@media (max-width: 767px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening { row-gap: 0; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__visual { padding-block: 32px; box-sizing: border-box; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__intro { margin-top: 0; }
}
/* Balance the introduction between the title visual and scene cards. */
@media (max-width: 767px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening { padding-bottom: 0; margin-bottom: 0; row-gap: 0; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__visual { padding-bottom: 0; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__intro { margin: 0; padding-block: 64px; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__links { margin-bottom: 0; }
}
/* Restore the original desktop opening; retain the mobile composition. */
@media (min-width: 768px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening { flex-direction: row; align-items: center; justify-content: space-between; gap: 48px; padding-top: 156px; padding-bottom: 72px; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening::before { background: url('../img/uses/ink-opening.svg') center / cover no-repeat; opacity: 1; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__intro { max-width: 720px; }
 .kaoh-use-page__visual { display: contents; }
 .kaoh-use-page__brush { display: none; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening .kaoh-uses__title { order: 0; padding: 0; align-self: center; }
}
/* An authentic kaoh sample gives the mobile title a quieter focal point. */
@media (max-width: 767px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__visual { padding-block: 24px; gap: 22px; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__brush {
  height: 220px;
  background: url('../img/uses/opening-takeya.png') center / contain no-repeat;
  opacity: .23;
  mix-blend-mode: multiply;
 }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-uses-title__jp { font-size: 2.2rem; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__intro { padding-top: 40px; }
}
@media (max-width: 767px) { .kaoh-use-page:not(.kaoh-products-page) .kaoh-uses-title__jp { font-size: 2.8rem; } }

/* A larger kaoh flows from the upper right of the blank area into the introduction. */
@media (max-width: 767px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening { position: relative; isolation: isolate; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__visual { position: static; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__brush { background: none; opacity: 1; mix-blend-mode: normal; }
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__brush::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 24px;
  right: 82px;
  width: 125%;
  height: 520px;
  background: url('../img/uses/opening-takeya.png') right top / auto 500px no-repeat;
  opacity: .12;
  mix-blend-mode: multiply;
  pointer-events: none;
 }
}
@media (max-width: 767px) { .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__brush::before { right: 58px; } }

@media (max-width: 767px) { .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__brush::before { right: 8px; } }

/* Desktop echoes the oversized authentic kaoh used on mobile. */
@media (min-width: 768px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening::before {
  background: url('../img/uses/opening-takeya.png') right center / auto 620px no-repeat;
  opacity: .12;
  mix-blend-mode: multiply;
 }
}
@media (max-width: 767px) { .kaoh-use-page:not(.kaoh-products-page) .kaoh-uses__grid { row-gap: 56px; } }

@media (min-width: 768px) { .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__opening::before { background-position: right center; } }

/* Product opening shares the established usage-page composition. */
.kaoh-products-page .kaoh-use-page__opening .kaoh-uses__title { padding: 0; margin: 0; flex: 0 0 auto; width: auto; align-self: center; }
@media (min-width: 768px) {
 .kaoh-products-page .kaoh-use-page__opening { flex-direction: row; align-items: center; justify-content: space-between; gap: 48px; padding-top: 156px; padding-bottom: 72px; }
 .kaoh-products-page .kaoh-use-page__opening::before { background: url('../img/uses/opening-takeya.png') right center / auto 620px no-repeat; opacity: .12; mix-blend-mode: multiply; }
 .kaoh-products-page .kaoh-use-page__intro { max-width: 720px; }
}
@media (max-width: 767px) {
 .kaoh-products-page .kaoh-use-page__opening { position: relative; isolation: isolate; flex-direction: column; align-items: stretch; padding: 0; margin: 0; row-gap: 0; }
 .kaoh-products-page .kaoh-use-page__opening::before { background: none; }
 .kaoh-products-page .kaoh-use-page__visual { position: static; padding-block: 24px; gap: 22px; }
 .kaoh-products-page .kaoh-use-page__opening .kaoh-uses__title { grid-column: 2; grid-row: 1; order: 1; min-width: 0; }
 .kaoh-products-page .kaoh-uses-title__jp { font-size: 2.8rem; }
 .kaoh-products-page .kaoh-use-page__brush { height: 220px; background: none; }
 .kaoh-products-page .kaoh-use-page__brush::before { content: ""; position: absolute; z-index: -1; top: 24px; right: 8px; width: 125%; height: 520px; background: url('../img/uses/opening-takeya.png') right top / auto 500px no-repeat; opacity: .12; mix-blend-mode: multiply; pointer-events: none; }
 .kaoh-products-page .kaoh-use-page__intro { max-width: none; margin: 0; padding: 40px 0 64px; background: none; border: 0; }
 .kaoh-products-page .kaoh-use-page__intro::before { content: none; }
}

/* Standalone product page redesign. */
.kaoh-products-page .product-plan,.kaoh-products-page .product-options,.kaoh-products-page .product-payment { padding: 88px 0; scroll-margin-top: 100px; }
.product-plan { background: #f7f4ee; }
.product-plan__head { display: grid; grid-template-columns: 1.3fr 1fr; gap: 64px; align-items: center; padding-bottom: 56px; border-bottom: 1px solid #cdbb99; margin-bottom: 56px; }
.product-eyebrow { display: block; color: #987541; letter-spacing: .18em; font-size: 1.2rem; margin-bottom: 18px; }
.product-plan h2,.product-section-head h2 { font-family: "Noto Serif JP",serif; font-weight: 400; font-size: 3.2rem; line-height: 1.6; margin-bottom: 20px; }
.product-plan__head p,.product-section-head p { font-size: 1.6rem; line-height: 2; }
.product-plan__price { border-left: 1px solid #cdbb99; padding-left: 48px; }
.product-plan__price > span { display: block; font-size: 1.3rem; letter-spacing: .08em; }
.product-plan__price strong { display: block; font-family: "Noto Serif JP",serif; font-size: 5.4rem; font-weight: 400; line-height: 1.5; color: #8e0926; }
.product-plan__price small { font-size: 2rem; margin-left: 10px; }
.product-plan__price p { margin-top: 20px; font-size: 1.3rem; color: #6b6051; }
.product-deliverables { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px 48px; }
.product-deliverable { display: grid; grid-template-columns: 120px minmax(0,1fr); align-items: start; gap: 24px; }
.product-deliverable figure { margin: 0; background: #fff; }
.product-deliverable img { display: block; width: 100%; aspect-ratio: 1; object-fit: contain; }
.product-number { color: #a48755; font-size: 1.2rem; letter-spacing: .1em; }
.product-deliverable h3 { font-size: 1.9rem; line-height: 1.6; margin: 6px 0 12px; font-weight: 500; }
.product-deliverable p { font-size: 1.4rem; line-height: 1.9; }
.product-section-head { margin-bottom: 56px; max-width: 720px; }
.product-option { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 64px; align-items: center; padding-block: 56px; border-top: 1px solid #ded4c3; }
.product-option:nth-of-type(even) > figure { order: 2; }
.product-option > figure { margin: 0; background: #f7f4ee; }
.product-option > figure img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: contain; }
.product-option h3 { font-size: 2.8rem; font-weight: 400; margin-bottom: 24px; line-height: 1.5; }
.product-option .item__text p { font-size: 1.5rem; line-height: 2; }
.product-option .meta { margin: 0 0 24px; }
.product-payment { background: #f7f4ee; }
.product-payment__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; }
.product-payment__grid > div { border-top: 1px solid #cdbb99; padding-top: 24px; }
.product-payment h3 { font-size: 2rem; font-weight: 400; margin-bottom: 20px; }
.product-payment p { font-size: 1.5rem; line-height: 2; }
.product-payment img { max-width: 100%; margin-bottom: 16px; }
@media (max-width: 767px) {
 .kaoh-products-page .product-plan,.kaoh-products-page .product-options,.kaoh-products-page .product-payment { padding: 56px 0; }
 .product-plan__head { grid-template-columns: 1fr; gap: 28px; padding-bottom: 32px; margin-bottom: 36px; }
 .product-plan h2,.product-section-head h2 { font-size: 2.5rem; }
 .product-plan__price { border-left: 0; border-top: 1px solid #cdbb99; padding: 24px 0 0; }
 .product-plan__price strong { font-size: 4.8rem; }
 .product-deliverables { grid-template-columns: 1fr; gap: 36px; }
 .product-deliverable { grid-template-columns: 92px minmax(0,1fr); gap: 18px; }
 .product-deliverable h3 { font-size: 1.8rem; }
 .product-option { grid-template-columns: 1fr; gap: 28px; padding-block: 40px; }
 .product-option:nth-of-type(even) > figure { order: 0; }
 .product-option h3 { font-size: 2.4rem; margin-bottom: 20px; }
 .product-section-head { margin-bottom: 32px; }
 .product-payment__grid { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 767px) { .kaoh-products-page .product-plan > .sec__inner, .kaoh-products-page .product-options > .sec__inner, .kaoh-products-page .product-payment > .sec__inner { width: auto; margin-inline: 24px; } }

/* Consistent presentation for the six original deliverable images. */
.product-deliverable { grid-template-columns: 152px minmax(0,1fr); gap: 28px; }
.product-deliverable > figure { position: relative; margin: 0; padding: 20px 14px; min-height: 176px; box-sizing: border-box; display: flex; align-items: center; justify-content: center; background: #eee9df; border: 1px solid #ddd1ba; }
.product-deliverable > figure::after { content: ""; position: absolute; inset: 6px; border: 1px solid rgba(164,135,85,.18); pointer-events: none; }
.product-deliverable > figure img { width: 100%; height: 132px; aspect-ratio: auto; object-fit: contain; background: transparent; mix-blend-mode: multiply; }
.product-deliverable > div { padding-top: 3px; }
@media (min-width: 768px) and (max-width: 1100px) {
 .product-deliverables { column-gap: 32px; }
 .product-deliverable { grid-template-columns: 116px minmax(0,1fr); gap: 20px; }
 .product-deliverable > figure { min-height: 150px; padding: 16px 12px; }
 .product-deliverable > figure img { height: 116px; }
}
@media (max-width: 767px) {
 .product-deliverable { grid-template-columns: 108px minmax(0,1fr); gap: 20px; }
 .product-deliverable > figure { min-height: 136px; padding: 16px 10px; }
 .product-deliverable > figure img { height: 104px; }
}
/* Six coordinated line illustrations with comfortable reading measures. */
.product-deliverables { column-gap: 64px; row-gap: 0; }
.product-deliverable { grid-template-columns: 72px minmax(0,1fr); gap: 24px; padding: 36px 0; border-bottom: 1px solid #dfd5c5; }
.product-deliverable__icon { color: #a08450; padding-top: 12px; }
.product-deliverable__icon svg { display: block; width: 64px; height: 64px; }
.product-deliverable > div:not(.product-deliverable__icon) { padding-top: 0; }
.product-deliverable h3 { margin: 8px 0 16px; }
.product-deliverable p { line-height: 2; max-width: 30em; }
@media (max-width: 767px) {
 .product-deliverable { display: block; position: relative; padding: 32px 0; }
 .product-deliverable__icon { position: absolute; top: 32px; left: 0; padding: 0; }
 .product-deliverable__icon svg { width: 50px; height: 50px; }
 .product-deliverable .product-number { display: block; margin-left: 70px; }
 .product-deliverable h3 { margin: 6px 0 24px 70px; min-height: 30px; }
 .product-deliverable p { font-size: 1.5rem; line-height: 2; max-width: none; }
}
/* Product typography: restrained headings and generous reading rhythm. */
.kaoh-products-page .product-plan, .kaoh-products-page .product-options, .kaoh-products-page .product-payment { color: #39352f; }
.kaoh-products-page .product-plan h2, .kaoh-products-page .product-section-head h2 { font-family: "Noto Serif JP",serif; font-size: 3.2rem; font-weight: 400; line-height: 1.65; letter-spacing: .06em; }
.kaoh-products-page .product-eyebrow { font-size: 1.15rem; line-height: 1.6; letter-spacing: .16em; margin-bottom: 16px; }
.kaoh-products-page .product-deliverable h3 { font-family: "Noto Serif JP",serif; font-size: 2.1rem; font-weight: 400; line-height: 1.6; letter-spacing: .04em; margin-top: 8px; margin-bottom: 18px; }
.kaoh-products-page .product-deliverable p { font-size: 1.5rem; line-height: 2.05; letter-spacing: .025em; color: #575149; }
.kaoh-products-page .product-deliverables { column-gap: 72px; }
.kaoh-products-page .product-deliverable { padding-block: 40px; }
.kaoh-products-page .product-option h3 { font-family: "Noto Serif JP",serif; font-size: 2.8rem; font-weight: 400; line-height: 1.6; letter-spacing: .05em; }
.kaoh-products-page .product-option .item__text p { font-size: 1.6rem; line-height: 2.1; letter-spacing: .025em; color: #575149; }
.kaoh-products-page .meta table { font-size: 1.4rem; line-height: 1.9; color: #575149; }
.kaoh-products-page .meta th,.kaoh-products-page .meta td { padding-block: 13px; }
.kaoh-products-page .product-plan__head p,.kaoh-products-page .product-section-head p { line-height: 2; color: #575149; }
@media (max-width: 767px) {
 .kaoh-products-page .product-plan h2,.kaoh-products-page .product-section-head h2 { font-size: 2.5rem; line-height: 1.65; letter-spacing: .035em; }
 .kaoh-products-page .product-deliverable { padding-block: 34px; }
 .kaoh-products-page .product-deliverable h3 { font-size: 2rem; line-height: 1.6; margin: 7px 0 26px 70px; }
 .kaoh-products-page .product-deliverable p,.kaoh-products-page .product-option .item__text p { font-size: 1.5rem; line-height: 2.05; letter-spacing: .02em; }
 .kaoh-products-page .product-option h3 { font-size: 2.4rem; margin-bottom: 24px; }
 .kaoh-products-page .product-section-head p,.kaoh-products-page .product-plan__head > div > p { font-size: 1.5rem; }
}
/* Alternating surfaces separate the six service descriptions. */
.kaoh-products-page .product-deliverables { gap: 24px; }
.kaoh-products-page .product-deliverable { padding: 32px 28px; border-bottom: 0; background: #fff; }
.kaoh-products-page .product-deliverable:nth-child(4n+2),
.kaoh-products-page .product-deliverable:nth-child(4n+3) { background: #ebe4d8; }
@media (max-width: 767px) {
 .kaoh-products-page .product-deliverables { gap: 20px; }
 .kaoh-products-page .product-deliverable { padding: 28px 22px; background: #fff; }
 .kaoh-products-page .product-deliverable:nth-child(odd) { background: #fff; }
 .kaoh-products-page .product-deliverable:nth-child(even) { background: #ebe4d8; }
 .kaoh-products-page .product-deliverable__icon { left: 22px; top: 28px; }
 .kaoh-products-page .product-deliverable h3 { margin-bottom: 24px; }
}
/* Alternate product detail surfaces as well as service cards. */
.kaoh-products-page .product-option { padding: 48px 32px; margin-bottom: 24px; border-top: 0; background: #f3eee5; }
.kaoh-products-page .product-option:nth-of-type(even) { background: #fff; }
.kaoh-products-page .product-option > figure { background: transparent; }
@media (max-width: 767px) {
 .kaoh-products-page .product-option { padding: 28px 20px 36px; margin-bottom: 20px; }
}

/* Square white product image panels. */
.kaoh-products-page .product-option > figure { background: #fff; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; min-width: 0; }
.kaoh-products-page .product-option > figure img { display: block; width: 100%; height: 100%; max-width: 100%; aspect-ratio: auto; object-fit: contain; }
/* Mobile keeps original image proportions with equal top and side insets. */
@media (max-width: 767px) {
 .kaoh-products-page .product-option { padding: 20px 20px 36px; }
 .kaoh-products-page .product-option > figure { aspect-ratio: auto; display: block; }
 .kaoh-products-page .product-option > figure img { width: 100%; height: auto; aspect-ratio: auto; object-fit: contain; }
}
/* A prominent desktop closing action. */
@media (min-width: 768px) {
 .kaoh-products-page__action { margin-top: 72px; }
 .kaoh-products-page__action .kaoh-hero__link { min-width: 380px; min-height: 80px; padding: 22px 48px; font-size: 2rem; letter-spacing: .08em; box-sizing: border-box; }
}
/* Standalone FAQ, using native keyboard-accessible disclosure controls. */
.kaoh-faq-section { padding: 48px 0 80px; scroll-margin-top: 110px; }
.kaoh-faq-section > .sec__inner { max-width: 960px; }
.kaoh-faq-item { border-bottom: 1px solid #d9cfbd; }
.kaoh-faq-item:first-child { border-top: 1px solid #d9cfbd; }
.kaoh-faq-item summary { display: flex; align-items: baseline; gap: 22px; position: relative; padding: 30px 48px 30px 8px; cursor: pointer; list-style: none; font-size: 1.8rem; line-height: 1.8; }
.kaoh-faq-item summary::-webkit-details-marker { display: none; }
.kaoh-faq-item summary::after { content: "+"; position: absolute; right: 12px; top: 30px; color: #9c7d49; font-size: 2.2rem; }
.kaoh-faq-item[open] summary::after { content: "−"; }
.kaoh-faq-item__q { color: #a08450; font-size: 2.1rem; flex: 0 0 auto; }
.kaoh-faq-item__answer { padding: 4px 44px 32px; font-size: 1.6rem; line-height: 2.1; color: #575149; }
.kaoh-faq-item[open] { background: #f8f5ef; }
.kaoh-faq-item summary:focus-visible { outline: 2px solid #a08450; outline-offset: 3px; }
.kaoh-faq-contact { text-align: center; padding: 56px 24px; background: #fff; }
.kaoh-faq-contact p { font-size: 1.7rem; line-height: 2; margin-bottom: 28px; }
.kaoh-faq-contact > div { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; }
@media (max-width: 767px) {
 .kaoh-faq-section { padding: 24px 0 56px; }
 .kaoh-faq-section > .sec__inner { width: auto; margin-inline: 24px; }
 .kaoh-faq-item summary { font-size: 1.6rem; gap: 14px; padding: 24px 32px 24px 0; }
 .kaoh-faq-item summary::after { top: 24px; right: 4px; }
 .kaoh-faq-item__answer { font-size: 1.5rem; padding: 0 16px 28px; }
 .kaoh-faq-contact p { font-size: 1.5rem; }
 .kaoh-faq-contact > div { flex-direction: column; }
}
/* Three visual routes from the FAQ opening. */
.kaoh-page-cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; width: min(100%,660px); }
.kaoh-page-cards a { display: block; min-width: 0; color: #6f5634; }
.kaoh-page-cards img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; background: #fff; transition: opacity .2s; }
.kaoh-page-cards span { display: flex; justify-content: space-between; align-items: center; gap: 6px; font-size: 1.5rem; line-height: 1.7; margin-top: 14px; padding-bottom: 10px; border-bottom: 1px solid #cbb68e; }
.kaoh-page-cards i { font-style: normal; }
.kaoh-page-cards a:hover img { opacity: .8; }
.kaoh-page-cards a:focus-visible { outline: 2px solid #a08450; outline-offset: 5px; }
.kaoh-faq-page .kaoh-use-page__intro { flex: 1; min-width: 0; }
@media (max-width: 767px) {
 .kaoh-page-cards { gap: 12px; width: 100%; }
 .kaoh-page-cards span { font-size: 1.2rem; margin-top: 10px; gap: 2px; }
 .kaoh-faq-page .kaoh-use-page__intro { padding-top: 32px; padding-bottom: 48px; }
}
/* Spacious closing invitation on the homepage. */
.kaoh-home-cta { padding: 112px 24px; text-align: center; background: #fff; }
.kaoh-home-cta > p { font-family: "Noto Serif JP",serif; font-size: 2.8rem; line-height: 1.8; letter-spacing: .08em; margin-bottom: 36px; }
.kaoh-home-cta__actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 24px; }
.kaoh-home-cta__actions .kaoh-hero__link { min-width: 280px; min-height: 68px; font-size: 1.7rem; box-sizing: border-box; }
@media (max-width: 767px) {
 .kaoh-home-cta { padding: 72px 24px; }
 .kaoh-home-cta > p { font-size: 2.1rem; margin-bottom: 28px; }
 .kaoh-home-cta__actions { flex-direction: column; gap: 16px; }
 .kaoh-home-cta__actions .kaoh-hero__link { min-width: 0; width: 100%; font-size: 1.6rem; }
}
/* Three usage links per row, in two balanced rows on desktop. */
@media (min-width: 768px) {
 .kaoh-use-page:not(.kaoh-products-page) .kaoh-use-page__links { display: grid; grid-template-columns: repeat(3,max-content); gap: 18px 32px; }
}
/* Vermilion product recommendation icons. */
.kaoh-use-page .kaoh-recommend__item svg { color: #bf0a2d; }

.kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-recommend__item svg { color: #ff7a8b; }

/* Consistent mobile text hierarchy on the FAQ page. */
@media (max-width: 767px) {
 .kaoh-faq-page .front-sec10 .toggle_head p { font-size: 1.6rem; line-height: 1.8; letter-spacing: .02em; }
 .kaoh-faq-page .front-sec10 .toggle_body p { font-size: 1.5rem; line-height: 2; letter-spacing: .02em; }
 .kaoh-faq-page .front-sec10 .sec__head { font-size: 2.4rem; line-height: 1.6; font-weight: 400; }
 .kaoh-faq-page .kaoh-faq-contact p { font-size: 1.5rem; line-height: 2; }
 .kaoh-faq-page .kaoh-hero__link { font-size: 1.5rem; line-height: 1.7; }
 .kaoh-faq-page .kaoh-page-cards span { font-size: 1.3rem; line-height: 1.7; }
}
/* Consistent desktop text hierarchy on the FAQ page. */
@media (min-width: 768px) {
 .kaoh-faq-page .front-sec10 .toggle_head p { font-size: 1.8rem; line-height: 1.8; letter-spacing: .025em; }
 .kaoh-faq-page .front-sec10 .toggle_body p { font-size: 1.6rem; line-height: 2.05; letter-spacing: .025em; }
 .kaoh-faq-page .front-sec10 .sec__head { font-size: 3.2rem; line-height: 1.6; font-weight: 400; }
 .kaoh-faq-page .kaoh-faq-contact p { font-size: 1.6rem; line-height: 2; }
 .kaoh-faq-page .kaoh-hero__link { font-size: 1.6rem; line-height: 1.7; }
 .kaoh-faq-page .kaoh-page-cards span { font-size: 1.6rem; line-height: 1.7; }
}
.kaoh-faq-page .front-sec10 .toggle_head p, .kaoh-faq-page .front-sec10 .toggle_body p { line-height: 2; }

/* Equal question rows regardless of wrapping. */
.kaoh-faq-page .toggle_list .toggle_head { margin-top: 0; min-height: 112px; box-sizing: border-box; display: flex; align-items: center; padding-top: 16px; padding-bottom: 16px; padding-right: 48px; }
.kaoh-faq-page .toggle_list .toggle_head::before { top: 50%; transform: translateY(-50%); }
.kaoh-faq-page .toggle_list .toggle_head::after { top: 50%; bottom: auto; transform: translateY(-50%); }
.kaoh-faq-page .toggle_list .toggle_head p { margin: 0; }
@media (max-width: 767px) {
 .kaoh-faq-page .toggle_list .toggle_head { min-height: 128px; padding-left: 32px; padding-right: 32px; }
}
.kaoh-faq-page .front-sec10 .toggle_head p { line-height: 1.5; }

@media (max-width: 767px) { .kaoh-faq-page .toggle_list .toggle_head { min-height: 88px; padding-top: 12px; padding-bottom: 12px; } }

/* Let question length determine row height, with consistent compact padding. */
.kaoh-faq-page .toggle_list .toggle_head { min-height: 0; padding-top: 20px; padding-bottom: 20px; }
@media (max-width: 767px) { .kaoh-faq-page .toggle_list .toggle_head { min-height: 0; padding-top: 16px; padding-bottom: 16px; } }
/* Center closing CTA content within equal top and bottom whitespace. */
.kaoh-faq-contact, .kaoh-home-cta, .kaoh-products-page__action {
 min-height: 320px;
 padding: 80px 24px;
 margin-top: 0;
 box-sizing: border-box;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
}
body:has(.kaoh-faq-contact) #footer,
body:has(.kaoh-home-cta) #footer,
body:has(.kaoh-products-page__action) #footer { margin-top: 0; }
@media (max-width: 767px) {
 .kaoh-faq-contact, .kaoh-home-cta, .kaoh-products-page__action { min-height: 260px; padding: 56px 24px; }
 .kaoh-home-cta__actions, .kaoh-faq-contact > div { width: 100%; }
}
.kaoh-products-page .kaoh-use-page__intro:has(.kaoh-page-cards) { flex: 1; min-width: 0; }

.kaoh-faq-page .front-sec10 .toggle_body p { line-height: 1.75; }

/* Give historical kaoh more space within each example. */
.kaoh-history-examples__grid figure { padding: 12px 4px; }
.kaoh-history-examples__grid img { height: 168px; }
@media (max-width: 767px) {
 .kaoh-history-examples__grid figure { padding: 10px 0; }
 .kaoh-history-examples__grid img { height: 120px; }
}
/* Vertical headings follow the historical-kaoh spacing. */
.kaoh-values__title,.kaoh-design-title { gap: 12px; }
.kaoh-values-title__jp,.kaoh-design-title__jp { line-height: 1; letter-spacing: .12em; }
.kaoh-values-title__en,.kaoh-design-title__en { line-height: 1.4; letter-spacing: .03em; margin-top: 20px; padding-right: 12px; }
@media (max-width: 767px) {
 .kaoh-values__title,.kaoh-design-title { gap: 8px; }
 .kaoh-values-title__jp,.kaoh-design-title__jp { line-height: 1.15; letter-spacing: .08em; }
 .kaoh-values-title__en,.kaoh-design-title__en { font-size: 1.2rem; margin-top: 8px; padding-right: 6px; }
}
@media (max-width: 767px) { .kaoh-history-examples__grid .kaoh-history-examples__pc-only { display: block; } }

/* A restrained splash in the mobile values-title whitespace. */
@media (max-width: 767px) {
 .kaoh-values__title { position: relative; isolation: isolate; }
 .kaoh-values__title::before { content: ""; position: absolute; z-index: -1; inset: 0 90px 0 -16px; background: url('../img/uses/values-ink.svg?v=2') center / contain no-repeat; pointer-events: none; }
}
@media (max-width: 767px) {
 .kaoh-design-title { position: relative; isolation: isolate; }
 .kaoh-design-title::before { content: ""; position: absolute; z-index: -1; inset: 0 76px 0 -16px; background: url('../img/uses/values-ink.svg?v=2') center / contain no-repeat; pointer-events: none; }
}
@media (max-width: 767px) { .kaoh-home-cta { padding-top: 96px; padding-bottom: 96px; } }

@media (max-width: 767px) { .kaoh-values-title__jp { line-height: 1.6; } }

/* Large, naturally textured brush accents on mobile. */
@media (max-width: 767px) {
 .kaoh-values__title::before, .kaoh-design-title::before {
  left: -40px;
  right: 64px;
  top: -12px;
  bottom: -12px;
  background-image: url('../img/uses/brush-splash-natural.webp');
  background-position: center;
  background-size: 145% auto;
  background-repeat: no-repeat;
  opacity: .18;
 }
}
@media (max-width: 767px) {
 .kaoh-values__title::before, .kaoh-design-title::before {
  left: -64px;
  right: 28px;
  top: -32px;
  bottom: -32px;
  background-size: 210% auto;
  background-position: 48% center;
 }
}
/* Concept photographs with clear, bold value labels. */
.kaoh-values .block2 .list li:nth-child(n) .img {
 background-image: linear-gradient(rgba(48, 9, 20, .43), rgba(48, 9, 20, .43)), url('../img/uses/values-scenes-generated.webp');
 background-size: 100% 100%, 200% 200%;
 font-size: 2.4rem;
 font-weight: 700;
 letter-spacing: .02em;
 text-shadow: 0 2px 8px rgba(0,0,0,.65);
}
.kaoh-values .block2 .list li:nth-child(1) .img { background-position: center, left top; }
.kaoh-values .block2 .list li:nth-child(2) .img { background-position: center, right top; }
.kaoh-values .block2 .list li:nth-child(3) .img { background-position: center, left bottom; }
.kaoh-values .block2 .list li:nth-child(4) .img { background-position: center, right bottom; }
@media (max-width: 767px) {
 .kaoh-values .block2 .list li:nth-child(n) .img { font-size: 2.1rem; }
}
/* Individual replacement scenes for convenience and uniqueness. */
.kaoh-values .block2 .list li:nth-child(2) .img {
 background-image: linear-gradient(rgba(48,9,20,.43),rgba(48,9,20,.43)),url('../img/uses/value-convenience-v2.webp');
 background-size:100% 100%,cover;
 background-position:center,center;
}
.kaoh-values .block2 .list li:nth-child(4) .img {
 background-image: linear-gradient(rgba(48,9,20,.43),rgba(48,9,20,.43)),url('../img/uses/value-uniqueness-v2.webp');
 background-size:100% 100%,cover;
 background-position:center,center;
}
/* Warm paper ground separates the values area from white sections. */
#kaoh-values.kaoh-values {
 background-color: #f0e9dd;
 background-image: linear-gradient(rgba(240,233,221,.87),rgba(240,233,221,.87)),url('../img/gift/celebrity-bg.jpg');
 background-position:center;
 background-size:cover;
}
/* Recommendation labels and mobile outlines match the red icons. */
.kaoh-use-page .kaoh-recommend__item { color:#bf0a2d; }
.kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-recommend__item { color:#ff7a8b; }
@media(max-width:767px) {
 .kaoh-use-page .kaoh-recommend__item,
 .kaoh-use-page .kaoh-use-detail:nth-of-type(even) .kaoh-recommend__item { border-color:currentColor; }
}
/* Distinguish the history note from the surrounding white section. */
.kaoh-use-page .kaoh-use-detail:nth-of-type(odd) .kaoh-use-detail__evidence { background:#f7f3ec; }
/* Small line icons clarify the included services. */
.product-plan__price .product-plan__benefits { display:grid; gap:10px; }
.product-plan__benefits > span { display:flex; align-items:center; gap:10px; }
.product-plan__benefits svg { width:22px; height:22px; flex:0 0 22px; color:#ad8744; }
/* Quiet text labels for the included services. */
.product-plan__benefits .product-plan__free { display:inline-block; flex:0 0 auto; padding:2px 9px; border:1px solid #cbb68e; color:#806440; font-size:1.2rem; font-weight:400; line-height:1.6; letter-spacing:.08em; }
.kaoh-use-page .kaoh-use-page__lead { font-weight:600; }

.kaoh-use-page .kaoh-use-detail__title { font-weight:600; }

.kaoh-use-page .kaoh-use-detail__content > h3 { font-weight:600; }

.kaoh-products-page .product-plan__head h2 { font-weight:600; }

.kaoh-products-page .product-deliverable h3.item__title { font-weight:600; }

.kaoh-products-page #products .product-section-head h2 { font-weight:600; }

.kaoh-products-page .product-option h3.item__title { font-weight:600; }

.kaoh-products-page #sec6 .product-section-head h2 { font-weight:600; }

.kaoh-products-page .product-plan__price .product-plan__amount { font-weight:400; }

.kaoh-products-page .product-deliverable .product-number { font-size:1.6rem; }
/* Mobile history heading follows the values heading above its content. */
@media (max-width:767px) {
 .kaoh-history-examples { padding-left:24px; padding-right:24px; }
 .kaoh-history-examples .sec__inner { margin-left:0; margin-right:0; padding:0; }
 .kaoh-history-examples h2 { position:relative; top:auto; right:auto; width:auto; justify-content:flex-end; gap:8px; margin:0 0 40px; }
 .kaoh-history-title__jp { font-size:2.4rem; }
 .kaoh-history-examples__grid { width:100%; }
}
/* Matching brush accent to the left of the mobile history title. */
@media (max-width:767px) {
 .kaoh-history-examples h2 { isolation:isolate; }
 .kaoh-history-examples h2::before { content:""; position:absolute; z-index:-1; left:-64px; right:28px; top:-32px; bottom:-32px; background:url('../img/uses/brush-splash-natural.webp') 48% center / 210% auto no-repeat; opacity:.18; pointer-events:none; }
}
@media (max-width:767px) { .kaoh-history-examples h2 { right:24px; } }

@media (max-width:767px) { .kaoh-history-examples h2 { width:100%; justify-self:auto; box-sizing:border-box; } }

/* English subtitles beneath the four value labels. */
.kaoh-values .block2 .list li:nth-child(n) .img { flex-direction:column; gap:8px; }
.kaoh-values .kaoh-value-label__en { font-size:1.3rem; font-weight:400; line-height:1.4; letter-spacing:.06em; }
@media(max-width:767px) { .kaoh-values .kaoh-value-label__en { font-size:1.2rem; } }
/* Short paragraphs and clear subheadings make design notes easier to scan. */
.front-sec3 .kaoh-design-copy .box__ttl { font-weight:600; font-size:2rem; line-height:1.6; margin:0 0 18px; }
.front-sec3 .kaoh-design-copy .box__txt1 { font-size:1.6rem; line-height:1.9; letter-spacing:.025em; color:#3f3933; margin:0 0 14px; overflow-wrap:break-word; }
.front-sec3 .kaoh-design-copy .box__txt1 + .box__ttl { margin-top:30px; padding-top:24px; border-top:1px solid #e7ded0; }
.front-sec3 .kaoh-design-copy .box__txt1:last-child { margin-bottom:0; }
@media(max-width:767px) {
 .front-sec3 .kaoh-design-copy .box__ttl { font-size:1.8rem; }
 .front-sec3 .kaoh-design-copy .box__txt1 { font-size:1.5rem; line-height:1.85; }
}
/* A quiet paper panel separates the design explanation from the artwork. */
.front-sec3 .kaoh-design-copy {
 background:#fffdf8;
 border:1px solid #ded2bd;
 border-left:3px solid #c7a159;
 padding:30px;
 box-shadow:0 3px 14px rgba(77,57,28,.035);
}
@media(max-width:767px) {
 .front-sec3 .kaoh-design-copy { padding:24px 20px; }
}
/* Place the accent beside each body-text group, inside the panel. */
.front-sec3 .kaoh-design-copy { border-left:1px solid #ded2bd; }
.front-sec3 .kaoh-design-copy__body { border-left:2px solid #c7a159; padding-left:18px; }
.front-sec3 .kaoh-design-copy__body + .box__ttl { margin-top:30px; padding-top:24px; border-top:1px solid #e7ded0; }
@media(max-width:767px) { .front-sec3 .kaoh-design-copy__body { padding-left:14px; } }
/* Align heading lettering with the text beside the vertical rule. */
.front-sec3 .kaoh-design-copy .box__ttl { gap:6px; }
.front-sec3 .kaoh-design-copy .box__ttl::before { box-sizing:border-box; flex-basis:14px; width:14px; }
@media(max-width:767px) {
 .front-sec3 .kaoh-design-copy .box__ttl { gap:4px; }
 .front-sec3 .kaoh-design-copy .box__ttl::before { flex-basis:12px; width:12px; height:12px; }
}
/* Center heading symbols directly above the body rule. */
.front-sec3 .kaoh-design-copy .box__ttl { position:relative; padding-left:20px; gap:0; }
.front-sec3 .kaoh-design-copy .box__ttl::before { position:absolute; left:1px; align-self:center; transform:translateX(-50%) rotate(45deg); }
.front-sec3 .kaoh-design-copy .box__ttl ~ .box__ttl::before { transform:translateX(-50%); }
@media(max-width:767px) { .front-sec3 .kaoh-design-copy .box__ttl { padding-left:16px; } }
@media (max-width:767px) { #footer #sec9 .box-left .box-ttl img { width:270px; max-width:80%; height:auto; } }

@media (min-width:768px) { #footer #sec9 .box-left .box-ttl img { width:270px; max-width:100%; height:auto; } }

/* Availability note below the framed-art description. */
.kaoh-products-page .product-option__body p.product-coming-soon { margin-top:32px; color:#bf0a2d; font-size:1.6rem; font-weight:600; letter-spacing:.08em; }
/* Outlined availability label. */
.kaoh-products-page .product-option__body p.product-coming-soon { display:inline-block; border:1px solid #bf0a2d; padding:8px 18px; line-height:1.5; }
/* Compact payment options in the price area. */
.kaoh-products-page .product-plan__payment { margin-top:24px; padding-top:18px; border-top:1px solid #dfd3be; scroll-margin-top:120px; }
.kaoh-products-page .product-plan__price .product-plan__payment p { margin:0; font-size:1.4rem; line-height:1.7; }
.kaoh-products-page .product-plan__payment .product-plan__card { display:flex; align-items:center; flex-wrap:wrap; gap:8px 12px; margin-bottom:10px; }
.kaoh-products-page .product-plan__card img { display:block; width:190px; max-width:100%; height:auto; }
/* Payment logos and bank transfer share a compact row. */
.kaoh-products-page .product-plan__payment { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; }
.kaoh-products-page .product-plan__price .product-plan__payment .product-plan__card { margin:0; display:block; }
.kaoh-products-page .product-plan__card img { width:190px; }
/* Bank-transfer badge balances the adjacent card marks. */
.kaoh-products-page .product-plan__price .product-plan__payment > p:nth-of-type(2) { display:inline-flex; align-items:center; justify-content:center; border:1px solid #a99472; border-radius:2px; padding:3px 9px; background:#fffdf9; color:#65543c; font-size:1.2rem; font-weight:600; line-height:1.4; white-space:nowrap; }
/* Larger payment marks retain a compact, wrapping layout. */
.kaoh-products-page .product-plan__card img { width:240px; }
.kaoh-products-page .product-plan__price .product-plan__payment > p:nth-of-type(2) { font-size:1.4rem; padding:5px 12px; }
.kaoh-products-page .product-plan__payment { gap:14px 18px; }
/* Center benefit labels and text on the same vertical axis. */
.kaoh-products-page .product-plan__price .product-plan__benefits > span { display:flex; align-items:center; gap:10px; line-height:1.6; }
.kaoh-products-page .product-plan__price .product-plan__benefits .product-plan__free { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; height:26px; min-width:46px; padding:0 9px; line-height:1; }
.kaoh-products-page .product-plan__price .product-plan__benefits > span > span { display:block; margin:0; padding:0; line-height:1.6; }
/* Match the final content-to-footer spacing on the uses page. */
.kaoh-products-page .product-options { padding-bottom:88px; }
.kaoh-products-page .product-options .product-option:last-child { padding-bottom:0; margin-bottom:0; }
@media (max-width:767px) {
 .kaoh-products-page .product-options { padding-bottom:64px; }
}
/* Keep the middle dot centered in the vertical product heading. */
.kaoh-products-page .product-title-separator { display:inline-block; position:relative; width:1em; height:1em; color:transparent; letter-spacing:0; }
.kaoh-products-page .product-title-separator::after { content:""; position:absolute; left:50%; top:50%; width:.13em; height:.13em; border-radius:50%; background:#39352f; transform:translate(-50%,-50%); }