/* ============================================================
   秋支度は、服の居場所から。（8月特集）
   デザイン基準：docs/brand-guidelines.md（www.nakatahanger.com 準拠）
   - 白背景・本文 #333 游ゴシック／見出し・英字・ボタンはセリフ
   - セクション間隔 180px（SPは半分目安）・角丸禁止・シャドウ禁止
   - アニメーションは fade のみ（prefers-reduced-motion 対応）
============================================================ */

#main.aj {
  background: #fff;
  color: #3f352e;
  font-size: 1.7rem;
  line-height: 2;
  letter-spacing: 0.04rem;
}

.aj img {
  display: block;
  width: 100%;
  height: auto;
}

.aj a {
  color: inherit;
  text-decoration: none;
}

.aj .serif {
  font-family: "EB Garamond", "游明朝", YuMincho,
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
    "Sawarabi Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: normal;
}

.aj-wrap {
  max-width: 1100px;
  margin-inline: auto;
  padding-inline: 25px;
}

.aj-section {
  padding-block: 90px;
}

.aj-section--gray {
  background: #f7f7f7;
}

.aj-section--dark {
  background: #4c4d4e;
  color: rgba(255, 255, 255, 0.92);
}

.aj-sp {
  display: none;
}

.aj-pc {
  display: inline;
}

/* --- 見出しセット：英字セリフ（主役）＋和文サブ --- */
.aj-section h2.serif {
  margin: 0;
  font-size: clamp(3rem, 4.6vw, 4.6rem);
  font-weight: normal;
  line-height: 1.2;
  letter-spacing: 0.12rem;
  text-align: center;
}

.aj-hsub {
  margin: 1.6rem 0 0;
  color: #806f62;
  font-size: clamp(1.6rem, 2vw, 2rem);
  line-height: 1.9;
  letter-spacing: 0.24rem;
  text-align: center;
}

.aj-section--dark .aj-hsub {
  color: rgba(255, 255, 255, 0.66);
}

.aj-kicker {
  margin: 0 0 1.8rem;
  font-size: 1.4rem;
  font-style: italic;
  letter-spacing: 0.3rem;
  color: #9a6d4d;
}

/* --- HERO --- */
.aj-hero {
  position: relative;
  min-height: 82vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.aj-hero__media {
  position: absolute;
  inset: 0;
}

.aj-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 68% center;
}

.aj-hero__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(35, 22, 15, 0.58), rgba(43, 27, 17, 0.34) 48%, rgba(30, 19, 13, 0.52));
}

.aj-hero__content {
  position: relative;
  z-index: 1;
  padding: 120px 25px;
  text-align: center;
  color: #fff;
}

.aj-hero .aj-kicker {
  color: rgba(255, 255, 255, 0.72);
}

.aj-hero h1 {
  margin: 0;
  font-family: "EB Garamond", "游明朝", YuMincho,
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN",
    "Sawarabi Mincho", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-size: clamp(3rem, 5.4vw, 5.4rem);
  font-weight: normal;
  line-height: 1.6;
  letter-spacing: 0.3rem;
}

.aj-hero__lead {
  margin: 3.2rem 0 0;
  font-size: clamp(1.7rem, 1.8vw, 1.9rem);
  line-height: 2.3;
  letter-spacing: 0.14rem;
}

/* --- ボタン（nh-button 準拠：1px枠・右下三角・hover #eeeff0） --- */
.aj-button {
  position: relative;
  display: block;
  width: 100%;
  max-width: 446px;
  margin: 4.8rem auto 0;
  padding: 2rem 1rem;
  border: 1px solid #806652;
  font-size: 1.7rem;
  letter-spacing: 0.2rem;
  text-align: center;
  transition: background 600ms cubic-bezier(0.19, 1, 0.22, 1);
}

.aj-button::after {
  content: "";
  position: absolute;
  right: 5px;
  bottom: 5px;
  border-left: 12px solid transparent;
  border-bottom: 12px solid #806652;
}

.aj-button:hover {
  background: #eee3d4;
}

.aj-button--light {
  border-color: rgba(255, 255, 255, 0.85);
  color: #fff;
}

.aj-button--light::after {
  border-bottom-color: rgba(255, 255, 255, 0.85);
}

.aj-button--light:hover {
  background: rgba(255, 255, 255, 0.14);
}

/* --- 罫線リスト --- */
.aj-list {
  max-width: 640px;
  margin: 5.6rem auto 0;
  padding: 0;
  list-style: none;
}

.aj-list li {
  padding: 1.8rem 0.4rem;
  border-bottom: 1px solid #dfd3c6;
  letter-spacing: 0.08rem;
}

.aj-list li:first-child {
  border-top: 1px solid #dfd3c6;
}

.aj-statement {
  margin: 5.6rem 0 0;
  text-align: center;
  font-size: clamp(1.7rem, 2.2vw, 2.1rem);
  letter-spacing: 0.2rem;
}

/* --- 共感：写真から入り、文章量を視覚的に分ける --- */
.aj-awareness {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  align-items: center;
  gap: clamp(48px, 7vw, 96px);
}

.aj-awareness__image {
  margin: 0;
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.aj-awareness__image img {
  height: 100%;
  object-fit: cover;
}

.aj-awareness__body h2.serif,
.aj-awareness__body .aj-hsub,
.aj-awareness__body .aj-statement {
  text-align: left;
}

.aj-awareness__body .aj-list {
  margin-top: 4rem;
}

.aj-awareness__body .aj-statement {
  margin-top: 4rem;
}

/* --- 2カラム（VALUE） --- */
.aj-columns {
  display: flex;
  align-items: center;
  gap: 64px;
}

.aj-columns__image {
  width: 45%;
  margin: 0;
  border: 1px solid #d4c3b0;
}

.aj-columns__text {
  flex: 1;
}

.aj-columns__text h2.serif,
.aj-columns__text .aj-hsub {
  text-align: left;
}

.aj-columns .aj-list {
  margin-top: 4rem;
}

/* --- 選び方ナビ --- */
.aj-guide {
  max-width: 1100px;
  margin: 6.4rem auto 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1px;
  background: #d4c3b0;
  border: 1px solid #d4c3b0;
}

.aj-guide__row {
  grid-column: span 2;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 3.2rem;
  background: #fff;
}

.aj-guide__row:nth-child(4),
.aj-guide__row:nth-child(5) {
  grid-column: span 3;
}

.aj-guide__fig {
  width: 100%;
  margin: 0 0 2.4rem;
  aspect-ratio: 1;
}

.aj-guide__fig img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.aj-guide__body {
  flex: 1;
}

.aj-guide__row h3 {
  margin: 0;
  font-size: 1.7rem;
  font-weight: normal;
  letter-spacing: 0.14rem;
}

.aj-guide__row p {
  margin: 0.6rem 0 0;
  line-height: 1.9;
}

.aj-guide__links a {
  display: block;
  width: fit-content;
  margin: 0.8rem 0 0;
  color: #874c32;
  font-size: 1.55rem;
  border-bottom: 1px solid currentColor;
  padding-bottom: 1px;
}

/* --- WHY AUGUST --- */
#why {
  position: relative;
  display: grid;
  grid-template-columns: 1.08fr 0.92fr;
  padding: 0;
  text-align: center;
  background: #3f3c39;
}

.aj-why__media {
  position: relative;
  min-height: 720px;
  overflow: hidden;
  background: #3f3c39;
}

.aj-why__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: blur(1px) saturate(70%) brightness(82%) contrast(90%);
  transform: scale(1.01);
}

.aj-why__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(63, 60, 57, 0.18);
  pointer-events: none;
}

.aj-why__content {
  max-width: 660px;
  align-self: center;
  padding: 10rem clamp(32px, 6vw, 88px);
}

#why .aj-kicker {
  color: rgba(255, 255, 255, 0.5);
}

#why .aj-lead {
  margin: 4.8rem 0 0;
  line-height: 2.6;
  letter-spacing: 0.12rem;
}

/* --- チェックリスト：線画を大きく見せる --- */
.aj-check {
  display: grid;
  grid-template-columns: 0.86fr 1.14fr;
  align-items: center;
  gap: clamp(48px, 8vw, 112px);
}

.aj-check__visual {
  position: relative;
  border: 1px solid #d4c3b0;
  padding: 4rem;
  text-align: center;
}

.aj-check__visual img {
  margin-top: 2rem;
}

.aj-check__number {
  margin: 0;
  color: #6c4330;
  font-size: clamp(7rem, 10vw, 12rem);
  line-height: 0.75;
}

.aj-check__unit {
  margin: 2rem 0 0;
  color: #9a765c;
  font-size: 1.5rem;
  font-style: italic;
  letter-spacing: 0.3rem;
}

.aj-check__body h2.serif,
.aj-check__body .aj-hsub {
  text-align: left;
}

.aj-check__body .aj-checklist,
.aj-check__body .aj-note {
  max-width: none;
}

/* --- チェックリスト --- */
.aj-checklist {
  max-width: 560px;
  margin: 5.6rem auto 0;
  padding: 0;
  list-style: none;
}

.aj-checklist li {
  position: relative;
  padding: 1.8rem 0.4rem 1.8rem 4.4rem;
  border-bottom: 1px solid #dfd3c6;
  letter-spacing: 0.08rem;
}

.aj-checklist li:first-child {
  border-top: 1px solid #dfd3c6;
}

.aj-checklist li::before {
  content: "";
  position: absolute;
  left: 0.6rem;
  top: 50%;
  width: 16px;
  height: 16px;
  margin-top: -9px;
  border: 1px solid #afb0b1;
}

.aj-note {
  max-width: 560px;
  margin: 3.2rem auto 0;
  color: #806f62;
  font-size: 1.5rem;
  line-height: 2;
}

/* --- RIGHT FIT：共感から商品選択への橋渡し --- */
.aj-fit {
  background: #eee7de;
}

.aj-fit__intro {
  margin: 3.2rem auto 0;
  text-align: center;
  line-height: 2.3;
}

.aj-fit__compare {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  max-width: 920px;
  margin: 6.4rem auto 0;
  border: 1px solid #cdbdac;
}

.aj-fit__compare-card {
  padding: 4rem clamp(24px, 4vw, 56px);
  background: rgba(255, 255, 255, 0.55);
}

.aj-fit__compare-card + .aj-fit__compare-card {
  border-left: 1px solid #cdbdac;
  background: #fff;
}

.aj-fit__eyebrow {
  margin: 0 0 0.8rem;
  color: #9a765c;
  font-size: 1.3rem;
  font-style: italic;
  letter-spacing: 0.24rem;
}

.aj-fit__compare-card h3 {
  margin: 0;
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: 0.16rem;
}

.aj-fit__illustration {
  max-width: 280px;
  margin: 2.4rem auto;
  aspect-ratio: 1;
}

/* 線画の圧縮版（カード＋箇条書き → イラスト2点＋1行要約） */
.aj-fit__compare--slim {
  border: 0;
  gap: clamp(24px, 5vw, 72px);
  max-width: 720px;
  margin-top: 5.6rem;
}

.aj-fit__compare--slim figure {
  margin: 0;
}

.aj-fit__compare--slim .aj-fit__illustration {
  margin: 0 auto;
}

.aj-fit__compare--slim figcaption {
  margin-top: 1.2rem;
  font-size: 1.5rem;
  letter-spacing: 0.12rem;
  text-align: center;
}

.aj-fit__compare-note {
  max-width: 760px;
  margin: 2.8rem auto 0;
  font-size: 1.6rem;
  line-height: 2.1;
  text-align: center;
}

.aj-fit__illustration img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.aj-fit__compare-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.aj-fit__compare-card li {
  padding: 1.2rem 0;
  border-top: 1px solid #ded4ca;
  font-size: 1.6rem;
}

/* --- 実写比較 --- */
.aj-fit__proof {
  max-width: 920px;
  margin: 8rem auto 0;
}

.aj-fit__proof-head {
  text-align: center;
}

.aj-fit__proof-head h3 {
  margin: 0;
  font-size: clamp(2.4rem, 3.4vw, 3.4rem);
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: 0.12rem;
}

.aj-fit__proof-group {
  margin-top: 4.8rem;
}

.aj-fit__proof-label {
  margin: 0 0 1.6rem;
  color: #806f62;
  font-size: 1.5rem;
  font-style: italic;
  letter-spacing: 0.2rem;
  text-align: center;
}

.aj-fit__proof-pair {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.aj-fit__proof-pair figure {
  margin: 0;
  background: #fff;
}

.aj-fit__proof-pair img {
  width: 100%;
  border: 1px solid #d4c3b0;
  object-fit: cover;
}

.aj-fit__proof-pair figcaption {
  padding: 2.4rem;
}

.aj-fit__proof-pair strong,
.aj-fit__proof-pair span {
  display: block;
}

.aj-fit__proof-pair strong {
  font-size: 1.7rem;
  font-weight: normal;
  letter-spacing: 0.12rem;
}

.aj-fit__proof-pair span {
  margin-top: 1rem;
  color: #65594f;
  font-size: 1.5rem;
  line-height: 1.9;
}

.aj-fit__thickness {
  margin-top: 5.6rem;
  padding: 4.8rem clamp(24px, 6vw, 72px);
  border: 1px solid #cdbdac;
  background: rgba(255, 255, 255, 0.55);
  text-align: center;
}

.aj-fit__thickness h4 {
  margin: 0;
  font-size: clamp(1.9rem, 2.4vw, 2.4rem);
  font-weight: normal;
  line-height: 1.7;
  letter-spacing: 0.1rem;
}

.aj-fit__thickness > p:last-child {
  margin: 2rem 0 0;
}

.aj-fit__craft {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  align-items: center;
  margin-top: 5.6rem;
  background: #3f3c39;
  color: rgba(255, 255, 255, 0.92);
}

.aj-fit__craft figure {
  height: 100%;
  min-height: 360px;
  margin: 0;
  overflow: hidden;
}

.aj-fit__craft img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aj-fit__craft > div {
  padding: clamp(32px, 6vw, 64px);
}

.aj-fit__craft h4 {
  margin: 0;
  font-size: clamp(2rem, 2.8vw, 2.8rem);
  font-weight: normal;
  line-height: 1.6;
}

.aj-fit__craft > div > p:last-child {
  margin: 2rem 0 0;
  color: rgba(255, 255, 255, 0.76);
}

.aj-fit__measure {
  max-width: 920px;
  margin: 8rem auto 0;
  padding: 6.4rem clamp(24px, 6vw, 72px);
  background: #fff;
}

.aj-fit__measure-head {
  text-align: center;
}

.aj-fit__measure-head h3,
.aj-fit__recommend-copy h3 {
  margin: 0;
  font-size: clamp(2.4rem, 3.4vw, 3.4rem);
  font-weight: normal;
  line-height: 1.5;
  letter-spacing: 0.12rem;
}

.aj-fit__measure-head > p:last-child {
  margin: 2rem 0 0;
}

.aj-fit__steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  margin: 4.8rem 0 0;
  padding: 0;
  background: #d4c3b0;
  list-style: none;
}

.aj-fit__steps li {
  padding: 3.2rem 2rem;
  background: #f8f6f3;
  text-align: center;
}

.aj-fit__steps span {
  display: block;
  color: #9a765c;
  font-size: 2.6rem;
  font-style: italic;
}

.aj-fit__steps p {
  margin: 1.2rem 0 0;
  font-size: 1.55rem;
  line-height: 1.9;
}

.aj-fit__measure-note {
  margin: 2.4rem 0 0;
  color: #806f62;
  font-size: 1.5rem;
  text-align: center;
}

/* --- サイズ選定表（測った数値から型番へ） --- */
.aj-fit__size {
  max-width: 620px;
  margin: 5.6rem auto 0;
  padding-top: 4.8rem;
  border-top: 1px solid #e3ded7;
  text-align: center;
}

.aj-fit__size h4 {
  margin: 0.8rem 0 3.2rem;
  font-size: 2rem;
  font-weight: normal;
}

.aj-fit__size-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.aj-fit__size-table th {
  padding: 0 0 1.2rem;
  border-bottom: 1px solid #d8d1c8;
  color: #806f62;
  font-size: 1.4rem;
  font-weight: normal;
  letter-spacing: 0.1rem;
}

.aj-fit__size-table td {
  padding: 1.8rem 0;
  border-bottom: 1px solid #ece7e0;
  font-size: 1.6rem;
  vertical-align: baseline;
}

.aj-fit__size-table td:first-child {
  width: 44%;
  white-space: nowrap;
}

.aj-fit__size-table td .serif {
  margin-right: 0.6rem;
  font-size: 1.8rem;
}

.aj-fit__size-table td small {
  margin-left: 1.2rem;
  color: #806f62;
  font-size: 1.3rem;
}

.aj-fit__size-note {
  margin: 2.4rem 0 0;
  color: #806f62;
  font-size: 1.4rem;
}

.aj-fit__recommend {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  align-items: center;
  gap: clamp(40px, 7vw, 88px);
  max-width: 1000px;
  margin: 8rem auto 0;
}

.aj-fit__recommend-copy > p:nth-of-type(2) {
  margin: 2.4rem 0 0;
}

.aj-fit__specs {
  margin: 3.2rem 0 0;
  border-top: 1px solid #cdbdac;
}

.aj-fit__specs div {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 16px;
  padding: 1.4rem 0;
  border-bottom: 1px solid #cdbdac;
}

.aj-fit__specs dt {
  color: #806f62;
  font-family: "EB Garamond", serif;
  font-style: italic;
}

.aj-fit__specs dd {
  margin: 0;
}

.aj-fit__price-note {
  margin: 2.4rem 0 0;
  color: #806f62;
  font-size: 1.5rem;
}

.aj-fit__recommend-products {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.aj-fit__recommend-products figure {
  margin: 0 0 1.4rem;
  border: 1px solid #d4c3b0;
  background: #fff;
  overflow: hidden;
}

.aj-fit__recommend-products span {
  display: block;
  font-size: 1.8rem;
  letter-spacing: 0.14rem;
}

.aj-fit__recommend-products small {
  color: #806f62;
  font-size: 1.45rem;
}

.aj-fit__paths {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 320px));
  justify-content: center;
  gap: 24px;
  margin-top: 6.4rem;
}

.aj-fit__paths .aj-button {
  margin: 0;
}

.aj-fit__paths span,
.aj-fit__paths small,
.aj-cta span,
.aj-cta small {
  display: block;
}

.aj-fit__paths small {
  margin-top: 0.4rem;
  color: #806f62;
  font-family: "EB Garamond", serif;
  font-size: 1.4rem;
  font-style: italic;
}

/* 和文なので EB Garamond のイタリックは当てない */
.aj-cta small {
  margin-top: 0.6rem;
  color: #806f62;
  font-size: 1.3rem;
  font-style: normal;
  letter-spacing: 0.06rem;
}

/* --- PRODUCTS --- */
.aj-label {
  margin: 6.4rem 0 2.4rem;
  font-size: 1.6rem;
  font-style: italic;
  letter-spacing: 0.24rem;
  color: #806f62;
}

.aj-label span {
  margin-left: 1.2rem;
  color: #3f352e;
  font-family: "游ゴシック", YuGothic, sans-serif;
  font-size: 1.5rem;
  font-style: normal;
  letter-spacing: 0.12rem;
}

.aj-product-group__note {
  margin: 0 0 4rem;
  color: #55483e;
  font-size: 1.5rem;
  line-height: 2.1;
}

.aj-product-group__note strong {
  font-weight: normal;
  border-bottom: 1px solid #d8d1c8;
}

/* --- 購入前に必要な案内（送料・ギフト・サイズ相談） --- */
.aj-service {
  max-width: 920px;
  margin: 8rem auto 0;
  padding-top: 4.8rem;
  border-top: 1px solid #ddd7cf;
}

.aj-service dl {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4rem;
  margin: 0;
}

.aj-service dt {
  margin-bottom: 1.2rem;
  color: #3f352e;
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
}

.aj-service dd {
  margin: 0;
  color: #6b5c50;
  font-size: 1.4rem;
  line-height: 2;
}

.aj-service a {
  color: #55483e;
  border-bottom: 1px solid #c9c0b5;
}

.aj-product-group {
  scroll-margin-top: 32px;
}

.aj-products {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.aj-products--single {
  grid-template-columns: repeat(2, minmax(0, 340px));
}

.aj-products--sets {
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.aj-products a {
  display: block;
}

.aj-products figure {
  margin: 0 0 1.6rem;
  border: 1px solid #d4c3b0;
  overflow: hidden;
}

.aj-products img {
  transition: opacity 600ms cubic-bezier(0.19, 1, 0.22, 1);
}

.aj-products a:hover img {
  opacity: 0.82;
}

.aj-products span {
  display: block;
  font-size: 1.9rem;
  letter-spacing: 0.16rem;
}

.aj-products small {
  display: block;
  margin-top: 0.6rem;
  color: #806f62;
  font-size: 1.5rem;
  line-height: 1.8;
}

.aj-cta {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 7.2rem;
}

.aj-cta .aj-button {
  margin: 0;
  max-width: 320px;
  font-style: italic;
}

.aj-cta__sub {
  display: flex;
  gap: 32px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 2.4rem 0 0;
  font-size: 1.4rem;
}

.aj-cta__sub a {
  color: #806f62;
  border-bottom: 1px solid #d8d1c8;
  padding-bottom: 0.2rem;
}

/* --- fade（IntersectionObserver） --- */
.aj .fade {
  opacity: 0;
  transition: opacity 900ms cubic-bezier(0.19, 1, 0.22, 1);
}

.aj .fade.in {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .aj .fade {
    opacity: 1;
    transition: none;
  }
}

/* --- SP（768px以下） --- */
@media (max-width: 768px) {
  .aj-sp {
    display: inline;
  }

  .aj-pc {
    display: none;
  }

  .aj-section {
    padding-block: 56px;
  }

  /* SPは商品（ハンガー）を画面上部の帯に収め、下は壁色のベタ地にして文字を置く。
     文字と商品が重なると主役の造形が読めなくなるため（ペルソナ検証で全員が指摘）。
     画像の高さを64%に制限することで、ハンガーが文字より上へ来る。 */
  .aj-hero {
    min-height: 92vh;
    align-items: flex-end;
    background: #382c23;
  }

  .aj-hero__media {
    bottom: auto;
    height: 64%;
  }

  .aj-hero__media img {
    object-position: 72% center;
  }

  /* 画像の下端を壁色へ溶かし、ベタ地との境目を目立たせない */
  .aj-hero__media::after {
    background: linear-gradient(180deg,
        rgba(35, 22, 15, 0.30) 0%,
        rgba(35, 22, 15, 0.28) 62%,
        rgba(56, 44, 35, 0.88) 88%,
        #382c23 100%);
  }

  .aj-hero__content {
    padding: 0 25px 56px;
  }


  .aj-columns {
    flex-direction: column;
    gap: 40px;
  }

  .aj-awareness,
  .aj-check,
  .aj-fit__recommend {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .aj-fit__compare {
    grid-template-columns: 1fr;
  }

  /* 圧縮版はSPでも2点並べたまま（横並びでないと比較にならない） */
  .aj-fit__compare--slim {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .aj-fit__compare-note {
    font-size: 1.5rem;
    text-align: left;
  }

  .aj-fit__compare-card + .aj-fit__compare-card {
    border-top: 1px solid #cdbdac;
    border-left: 0;
  }

  .aj-fit__steps {
    grid-template-columns: 1fr;
  }

  .aj-fit__steps li {
    display: grid;
    grid-template-columns: 54px 1fr;
    align-items: center;
    text-align: left;
  }

  .aj-fit__steps p {
    margin: 0;
  }

  .aj-fit__proof-pair {
    gap: 12px;
  }

  .aj-fit__proof-pair figcaption {
    padding: 1.8rem 1.4rem;
  }

  .aj-fit__proof-pair span {
    font-size: 1.4rem;
  }

  .aj-fit__craft {
    grid-template-columns: 1fr;
  }

  .aj-fit__craft figure {
    min-height: 0;
    aspect-ratio: 3 / 2;
  }

  .aj-fit__paths {
    grid-template-columns: 1fr;
    max-width: 446px;
    margin-inline: auto;
  }

  .aj-awareness__image {
    aspect-ratio: 4 / 3;
  }

  .aj-awareness__body h2.serif,
  .aj-awareness__body .aj-hsub,
  .aj-awareness__body .aj-statement,
  .aj-check__body h2.serif,
  .aj-check__body .aj-hsub {
    text-align: center;
  }

  .aj-columns__image {
    width: 100%;
  }

  .aj-columns__text h2.serif,
  .aj-columns__text .aj-hsub {
    text-align: center;
  }

  .aj-guide__row {
    grid-column: span 3;
    padding: 2rem;
  }

  .aj-guide__fig {
    margin-bottom: 1.6rem;
  }

  .aj-guide__row h3 {
    font-size: 1.5rem;
  }

  .aj-guide__links a {
    margin-top: 0.8rem;
  }

  #why {
    grid-template-columns: 1fr;
  }

  .aj-why__media {
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .aj-why__content {
    padding-block: 6.4rem;
  }

  .aj-check__visual {
    padding: 3.2rem 2rem;
  }

  .aj-products {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .aj-label span {
    display: block;
    margin: 0.6rem 0 0;
  }

  .aj-cta {
    flex-direction: column;
    align-items: center;
  }

  .aj-cta__sub {
    flex-direction: column;
    gap: 1.2rem;
    align-items: center;
  }
}

@media (max-width: 520px) {
  .aj-guide {
    grid-template-columns: 1fr;
  }

  .aj-guide__row,
  .aj-guide__row:nth-child(4),
  .aj-guide__row:nth-child(5) {
    grid-column: auto;
    display: grid;
    grid-template-columns: 108px 1fr;
    gap: 18px;
  }

  .aj-guide__fig {
    grid-row: span 3;
    margin: 0;
  }

}

/* --- FV直下ダイジェスト（本体は #right-fit） --- */
.aj-digest {
  text-align: center;
}

.aj-digest__eyebrow {
  margin: 0 0 1.2rem;
  color: #806f62;
  font-size: 1.4rem;
  font-style: italic;
  letter-spacing: 0.24rem;
}

.aj-digest h2 {
  margin: 0 0 4.8rem;
  font-size: clamp(2.2rem, 3vw, 3rem);
  font-weight: normal;
}

.aj-digest__pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.2rem;
  max-width: 760px;
  margin: 0 auto;
}

.aj-digest__pair figure {
  margin: 0;
}

.aj-digest__pair img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.aj-digest__pair figcaption {
  margin-top: 1.6rem;
  color: #55483e;
  font-size: 1.5rem;
  letter-spacing: 0.1rem;
}

.aj-digest__lead {
  margin: 4rem auto 3.2rem;
  max-width: 760px;
  color: #55483e;
  font-size: 1.6rem;
  line-height: 2.2;
}

@media (max-width: 768px) {
  .aj-digest__pair {
    gap: 1.6rem;
  }

  .aj-digest__lead {
    text-align: left;
  }

  .aj-service dl {
    grid-template-columns: 1fr;
    gap: 3.2rem;
  }

  .aj-fit__size {
    margin-top: 4rem;
    padding-top: 3.2rem;
  }

  /* SPは1列目を内容幅に。width固定 + nowrap だと2列目に食い込んで
     「45cm 未満AUT-05」と続けて読めてしまう */
  .aj-fit__size-table th:first-child,
  .aj-fit__size-table td:first-child {
    width: auto;
    padding-right: 1.6rem;
  }

  .aj-fit__size-table th,
  .aj-fit__size-table td {
    font-size: 1.5rem;
  }

  /* 2列目が狭く「AUT-05 幅／400mm」と中途半端に折り返すため、型番で改行させる */
  .aj-fit__size-table td .serif {
    display: block;
    margin-right: 0;
    font-size: 1.6rem;
  }

  .aj-fit__size-table td small {
    display: block;
    margin-left: 0;
  }
}

/* --- AUT と SET の違い（価格差の理由を比較表で示す。PC=表／SP=カード） --- */
.aj-series-table__wrap {
  max-width: 920px;
  margin: 6.4rem auto 0;
  overflow-x: auto;
}

.aj-series-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #ded7ce;
  font-size: 1.5rem;
  line-height: 1.9;
}

.aj-series-table th,
.aj-series-table td {
  padding: 1.8rem clamp(16px, 2vw, 24px);
  border: 1px solid #ded7ce;
  text-align: left;
  vertical-align: top;
}

.aj-series-table thead th {
  background: #efe9e1;
  color: #55483e;
  font-weight: normal;
  letter-spacing: 0.1rem;
  white-space: nowrap;
}

.aj-series-table tbody th[scope="row"] {
  background: #faf7f2;
  font-size: 1.8rem;
  letter-spacing: 0.12rem;
  white-space: nowrap;
}

.aj-series-table td {
  color: #55483e;
}

.aj-series-table td strong {
  font-weight: normal;
  border-bottom: 1px solid #c9a87c;
}

.aj-nb {
  white-space: nowrap;
}

.aj-series-table td small {
  display: block;
  margin-top: 0.6rem;
  color: #806f62;
  font-size: 1.3rem;
  line-height: 1.7;
}

/* --- AUT／SET を真上から比べる（価格差の理由＝形の違い） ---
   素材が 750px 幅しかないため max-width も 760px に抑えて等倍で見せる（拡大するとぼける） */
.aj-series-photos {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.4rem;
  max-width: 760px;
  margin: 2.4rem auto 0;
}

.aj-series-photos__lead {
  max-width: 760px;
  margin: 4rem auto 0;
  color: #55483e;
  font-size: 1.6rem;
  text-align: center;
}

.aj-series-photos figure {
  margin: 0;
  padding: 1.2rem 0;
  background: #fff;
}

.aj-series-photos img {
  display: block;
  width: 100%;
  height: auto;
}

.aj-series-photos figcaption {
  display: flex;
  gap: 1.4rem;
  align-items: baseline;
  justify-content: center;
  margin-top: 1.2rem;
}

.aj-series-photos figcaption strong {
  color: #55483e;
  font-size: 1.8rem;
  font-weight: normal;
  letter-spacing: 0.16rem;
}

.aj-series-photos figcaption span {
  color: #806f62;
  font-size: 1.4rem;
  line-height: 1.8;
}

.aj-series__note {
  max-width: 920px;
  margin: 2rem auto 0;
  color: #806f62;
  font-size: 1.4rem;
  text-align: center;
}

@media (max-width: 768px) {
  .aj-series-table__wrap {
    margin-top: 4rem;
    overflow-x: visible;
  }

  .aj-series-photos__lead {
    margin-top: 3.2rem;
    text-align: left;
  }

  .aj-series-photos {
    gap: 2rem;
  }

  /* SPは幅が足りず品番と説明が1行に収まらないので縦に */
  .aj-series-photos figcaption {
    display: block;
    text-align: center;
  }

  .aj-series-photos figcaption strong {
    display: block;
    font-size: 1.6rem;
  }

  .aj-series-photos figcaption span {
    display: block;
    margin-top: 0.4rem;
    font-size: 1.3rem;
  }

  .aj-series-table,
  .aj-series-table tbody,
  .aj-series-table tr,
  .aj-series-table td {
    display: block;
    width: 100%;
  }

  .aj-series-table {
    border: none;
  }

  .aj-series-table thead {
    display: none;
  }

  .aj-series-table tr {
    margin-bottom: 2.4rem;
    border: 1px solid #ded7ce;
  }

  .aj-series-table tbody th[scope="row"] {
    display: block;
    width: 100%;
    border: none;
    border-bottom: 1px solid #ded7ce;
    padding: 1.6rem 2rem;
  }

  .aj-series-table td {
    border: none;
    border-bottom: 1px solid #ece7e0;
    padding: 1.4rem 2rem;
  }

  .aj-series-table tr td:last-child {
    border-bottom: none;
  }

  .aj-series-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 0.4rem;
    color: #806f62;
    font-size: 1.3rem;
    letter-spacing: 0.08rem;
  }

  .aj-series__note {
    text-align: left;
  }
}

/* --- 塗りボタン（その場で購入への一次導線） --- */
.aj-button--fill {
  background: #e2d0b4;
  border-color: #c9a87c;
  color: #4a3b32;
}

.aj-button--fill::after {
  border-bottom-color: #806652;
}

.aj-button--fill:hover {
  background: #d6bf9c;
}

/* --- #proof の価格＋購入導線 --- */
.aj-digest__price {
  margin: 4rem 0 2.4rem;
  color: #55483e;
  font-size: 1.7rem;
  letter-spacing: 0.08rem;
}

.aj-digest__price strong {
  font-size: 2.2rem;
  font-weight: normal;
}

.aj-digest__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.6rem;
  max-width: 640px;
  margin: 0 auto;
}

.aj-digest__actions .aj-button {
  margin: 0;
  flex: 1 1 260px;
  max-width: 300px;
}

/* --- 5本セットの折りたたみ --- */
.aj-product-group--fold {
  margin-top: 6.4rem;
}

.aj-product-group--fold > summary {
  position: relative;
  margin: 0 0 2.4rem;
  padding-right: 3.2rem;
  cursor: pointer;
  list-style: none;
}

.aj-product-group--fold > summary::-webkit-details-marker {
  display: none;
}

.aj-label--summary::after {
  content: "";
  position: absolute;
  right: 0.6rem;
  top: 0.6rem;
  width: 9px;
  height: 9px;
  border-right: 1px solid #806652;
  border-bottom: 1px solid #806652;
  transform: rotate(45deg);
  transition: transform 300ms ease;
}

.aj-product-group--fold[open] .aj-label--summary::after {
  transform: rotate(-135deg);
  top: 1rem;
}

@media (max-width: 768px) {
  .aj-digest__price {
    margin-top: 3.2rem;
  }

  .aj-digest__actions .aj-button {
    flex-basis: 100%;
    max-width: 446px;
  }
}
