/**
 * 青清 AOSE / SWELL CHILD
 * aose-home.css — 09 TOPページ専用・全文置換版
 * 対象HTML: .aose-top09（09-04のTOP本文HTML）
 *
 * 既存 aose-components.css / aose-layout.css /
 * aose-header-footer.css は編集しない。
 *
 * 重要告知・PICK UP・LINEの実データ接続は09-06で行う。
 * このCSSはTOP本文の見た目のみを担当する。
 */


/* =========================================================
   00. SWELLのTOP本文幅を解放
   このTOPがあるページだけに適用
   ========================================================= */

@supports selector(body:has(.aose-top09)) {

  body:has(.aose-top09) :is(
    #content,
    #main_content,
    .l-content,
    .l-mainContent,
    .l-mainContent__inner,
    .post_content
  ) {
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  body:has(.aose-top09) #content.l-content {
    display: block;
    margin-inline: 0;
    padding-inline: 0;
    padding-block-start: 0; /* TOPのHERO上にSWELL標準余白を残さない */
  }

  body:has(.aose-top09) :is(
    #main_content,
    .l-mainContent,
    .l-mainContent__inner,
    .post_content
  ) {
    margin-inline: 0;
    padding-inline: 0;
  }

  body:has(.aose-top09) .l-sidebar {
    display: none;
  }

  /* TOP本文にSWELL標準タイトルを重ねない */

  body:has(.aose-top09)
  .l-mainContent__inner > .c-pageTitle,

  body:has(.aose-top09)
  #main_content > .c-pageTitle {
    display: none;
  }

}


/* =========================================================
   01. TOP共通
   ========================================================= */

.aose-top09 {

  --top-ink: var(--aose-color-ink, #282622);
  --top-brown: var(--aose-color-brown, #69543a);
  --top-koji: var(--aose-color-koji-white, #f8f6f0);

  --top-serif:
    "Noto Serif JP",
    "Yu Mincho",
    serif;

  --top-sans:
    "Noto Sans JP",
    "Hiragino Kaku Gothic ProN",
    sans-serif;

  --top-gutter: 18px;

  position: relative;

  width: 100%;
  max-width: none;

  margin: 0;
  padding: 0;

  overflow: clip;

  background: #fff;
  color: var(--top-ink);

  font: 400 16px/1.85 var(--top-sans);
}


/* BOX SIZING */

.aose-top09,
.aose-top09 *,
.aose-top09 *::before,
.aose-top09 *::after {
  box-sizing: border-box;
}


/* 基本余白 */

.aose-top09 > * {
  margin-block: 0;
}

.aose-top09 [hidden] {
  display: none !important;
}

.aose-top09 :is(h1, h2, h3, p) {
  margin: 0;
}


/* 見出し共通 */

.aose-top09 :is(h1, h2, h3) {

  padding: 0;
  border: 0;

  background: none;
  box-shadow: none;

  font-family: var(--top-serif);
  font-weight: 500;

  line-height: 1.45;
  letter-spacing: .025em;
}


/* 投稿用見出し装飾を使わない */

.aose-top09 :is(h1, h2, h3)::before,
.aose-top09 :is(h1, h2, h3)::after {

  content: none;
  display: none;
}


/* LINKS */

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

.aose-top09 a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}


/* IMAGES */

.aose-top09 img {
  display: block;
  max-width: 100%;
}


/* WIDE 1200px */

.aose-top09__wide {

  width: min(
    1200px,
    calc(100% - 2 * var(--top-gutter))
  );

  margin-inline: auto;
}


/* EYEBROW */

.aose-top09__eyebrow {

  margin-bottom: 12px !important;

  color: var(--top-brown);

  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
}


/* SECTION HEADING */

.aose-top09__heading {
  font-size: clamp(26px, 2.5vw, 36px);
}


/* SCREEN READER ONLY */

.aose-top09__sr-only {

  position: absolute;

  width: 1px;
  height: 1px;

  padding: 0;
  margin: -1px;

  overflow: hidden;

  clip: rect(0, 0, 0, 0);

  white-space: nowrap;
  border: 0;
}


/* TEXT LINK */

.aose-top09__text-link {

  display: inline-flex;
  align-items: center;

  gap: 6px;

  color: var(--top-brown) !important;

  font-size: 13px;
  font-weight: 600;

  border-bottom: 1px solid currentColor;
}


/* BUTTON */

.aose-top09__button {

  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 16px;

  min-height: 48px;

  padding: 10px 22px;

  border: 1px solid currentColor;
  border-radius: 0;

  font-size: 13px;
  font-weight: 600;

  line-height: 1.5;
  letter-spacing: .05em;

  text-align: center;

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


/* LIGHT BUTTON */

.aose-top09__button--light {

  color: #fff !important;

  border-color: rgba(255,255,255,.9);

  background: rgba(24,21,18,.18);
}

.aose-top09__button--light:hover {
  background: rgba(255,255,255,.20);
}


/* OUTLINE BUTTON */

.aose-top09__button--outline {

  color: var(--top-brown) !important;

  border-color: var(--top-brown);

  background: transparent;
}

.aose-top09__button--outline:hover {

  color: #fff !important;

  background: var(--top-brown);
}


/* =========================================================
   02. HERO

   重なり順：
   写真   z-index: 0
   暗幕   z-index: 1
   文章   z-index: 2
   SCROLL z-index: 3
   ========================================================= */

.aose-top09-hero {

  position: relative;
  isolation: isolate;

  display: flex;
  align-items: stretch;

  width: 100%;

  min-height: 560px;
  height: clamp(560px, 47vw, 660px);

  overflow: hidden;

  color: #fff;
  background: #282622;
}


/* HERO IMAGE */

.aose-top09-hero picture.aose-top09-hero__media {

  position: absolute;

  inset: 0;
  z-index: 0;

  display: block;

  width: 100%;
  height: 100%;

  overflow: hidden;
}

.aose-top09-hero__media img {

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: 50% 50%;
}


/* HERO OVERLAY */

.aose-top09-hero__shade {

  position: absolute;

  inset: 0;
  z-index: 1;

  pointer-events: none;

  background: linear-gradient(
    270deg,
    rgba(24,21,18,.69) 0%,
    rgba(24,21,18,.33) 40%,
    rgba(24,21,18,.04) 78%
  );
}


/* HERO INNER */

.aose-top09-hero__inner {

  position: relative;
  z-index: 2;

  display: flex;

  align-items: center;
  justify-content: flex-end;

  padding-block: 65px;
}


/* HERO COPY */

.aose-top09-hero__copy {

  width: min(530px, 50%);
  min-width: 0;

  text-shadow:
    0 1px 8px rgba(0,0,0,.32);
}


/* HERO EYEBROW */

.aose-top09-hero__eyebrow {

  margin-bottom: 18px !important;

  font-size: 13px;
  font-weight: 600;

  letter-spacing: .14em;
}


/* HERO TITLE */

.aose-top09-hero__title {

  color: #fff;

  font-size: clamp(32px, 3.3vw, 52px);

  letter-spacing: .05em;
}


/* HERO LEAD */

.aose-top09-hero__lead {

  margin-top: 22px !important;

  font-size: clamp(14px, 1.1vw, 17px);

  line-height: 1.95;
}


/* HERO ACTIONS */

.aose-top09-hero__actions {

  display: flex;

  align-items: center;
  flex-wrap: wrap;

  gap: 16px;

  margin-top: 28px;
}


/* HERO SUB LINK */

.aose-top09-hero__small-link {

  color: #fff !important;

  font-size: 13px;
  font-weight: 600;

  border-bottom:
    1px solid rgba(255,255,255,.7);
}


/* SCROLL */

.aose-top09-hero__scroll {

  position: absolute;

  left: 50%;
  bottom: 12px;

  z-index: 3;

  display: flex;

  flex-direction: column;
  align-items: center;

  transform: translateX(-50%);

  color: #fff !important;

  font-size: 11px;
  letter-spacing: .16em;
}


/* =========================================================
   03. IMPORTANT NOTICE
   ========================================================= */

.aose-top09-notice {

  background: #fff;

  border-bottom: 1px solid #eae4da;
}

.aose-top09-notice__inner {

  display: flex;

  align-items: center;

  gap: 18px;

  min-height: 54px;

  padding-block: 10px;
}

.aose-top09-notice__label {

  padding: 3px 12px;

  background: var(--top-brown);
  color: #fff;

  font-size: 12px;

  white-space: nowrap;
}


/* =========================================================
   04. ABOUT AOSE
   ========================================================= */

.aose-top09-about {
  background: #fff;
}


/* ABOUT GRID */

.aose-top09-about__inner {

  display: grid;

  grid-template-columns:
    minmax(0, 48fr)
    minmax(0, 52fr);

  align-items: stretch;

  min-height: 440px;
}


/* ABOUT TEXT */

.aose-top09-about__copy {

  align-self: center;

  min-width: 0;

  padding:
    70px
    clamp(28px, 5vw, 76px)
    70px
    0;
}

.aose-top09-about__copy
.aose-top09__heading {

  margin-bottom: 20px;
}


/* ABOUT LEAD */

.aose-top09-about__lead {

  margin-bottom: 15px !important;

  font-size: clamp(18px, 1.5vw, 23px);

  line-height: 1.65;
}


/* ABOUT BODY */

.aose-top09-about__copy
> p:not(.aose-top09__eyebrow):not(.aose-top09-about__lead) {

  margin-bottom: 12px;

  font-size: 15px;
}


/* ABOUT BUTTONS */

.aose-top09-about__actions {

  display: flex;

  flex-wrap: wrap;
  align-items: center;

  gap: 18px;

  margin-top: 25px;
}


/* ABOUT IMAGE */

.aose-top09-about__image {

  min-width: 0;
  min-height: 440px;

  overflow: hidden;
}

.aose-top09-about__image img {

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: 50% 50%;
}


/* =========================================================
   05. THREE EXPERIENCES
   つくる・たべる・訪れる

   写真0 / 暗幕1 / 文章2
   ========================================================= */

.aose-top09-experience__grid {

  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap: 2px;

  background: #fff;
}


/* ITEM */

.aose-top09-experience__item {

  position: relative;
  isolation: isolate;

  min-width: 0;

  min-height: clamp(340px, 32vw, 450px);

  margin: 0;

  overflow: hidden;

  background: #282622;
  color: #fff;
}


/* IMAGE */

.aose-top09-experience__img {

  position: absolute;

  inset: 0;
  z-index: 0;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: 50% 50%;

  transition: transform .35s ease;
}


/* OVERLAY */

.aose-top09-experience__shade {

  position: absolute;

  inset: 0;
  z-index: 1;

  pointer-events: none;

  background: linear-gradient(
    to top,
    rgba(22,19,17,.88),
    rgba(22,19,17,.22) 58%,
    rgba(22,19,17,.06)
  );
}


/* CONTENT */

.aose-top09-experience__copy {

  position: absolute;

  right: 24px;
  bottom: 28px;
  left: 24px;

  z-index: 2;

  min-width: 0;

  text-shadow:
    0 1px 8px rgba(0,0,0,.35);
}


/* TITLE */

.aose-top09-experience__title {

  color: #fff;

  font-size: clamp(25px, 2.2vw, 34px);
}


/* DESCRIPTION */

.aose-top09-experience__copy > p {

  margin-top: 5px;

  font-size: 13px;
}


/* LINKS */

.aose-top09-experience__links {

  display: flex;

  flex-direction: column;
  align-items: flex-start;

  gap: 5px;

  margin-top: 14px;
}

.aose-top09-experience__links a {

  color: #fff !important;

  font-size: 13px;
  font-weight: 600;

  border-bottom:
    1px solid rgba(255,255,255,.65);
}


/* HOVER */

@media (hover: hover) {

  .aose-top09-experience__item:hover
  .aose-top09-experience__img {

    transform: scale(1.025);
  }

}


/* =========================================================
   06. FUKUI FOOD CULTURE

   写真0 / 暗幕1 / 文章2
   ========================================================= */

.aose-top09-fukui {

  position: relative;
  isolation: isolate;

  display: flex;
  align-items: center;

  min-height: 450px;

  overflow: hidden;

  background: #14212a;
  color: #fff;
}


/* FUKUI IMAGE */

.aose-top09-fukui picture.aose-top09-fukui__media {

  position: absolute;

  inset: 0;
  z-index: 0;

  display: block;

  width: 100%;
  height: 100%;

  overflow: hidden;
}

.aose-top09-fukui__media img {

  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;
}


/* FUKUI OVERLAY */

.aose-top09-fukui__shade {

  position: absolute;

  inset: 0;
  z-index: 1;

  pointer-events: none;

  background: linear-gradient(
    90deg,
    rgba(18,28,34,.79),
    rgba(18,28,34,.36) 60%,
    rgba(18,28,34,.06)
  );
}


/* FUKUI INNER */

.aose-top09-fukui__inner {

  position: relative;
  z-index: 2;

  padding-block: 70px;
}


/* FUKUI COPY */

.aose-top09-fukui__copy {

  max-width: 610px;

  text-shadow:
    0 1px 8px rgba(0,0,0,.3);
}

.aose-top09-fukui__copy
.aose-top09__eyebrow {

  color: #fff;

  opacity: .9;
}


/* KICKER */

.aose-top09-fukui__kicker {

  margin-bottom: 12px !important;

  font-size: 14px;

  letter-spacing: .12em;
}


/* FUKUI TITLE */

.aose-top09-fukui__copy
.aose-top09__heading {

  color: #fff;
}


/* FUKUI DESCRIPTION */

.aose-top09-fukui__copy
> p:not(.aose-top09__eyebrow):not(.aose-top09-fukui__kicker) {

  margin-block: 19px 22px;

  font-size: 14px;

  line-height: 1.95;
}


/* IMAGE NOTE */

.aose-top09-fukui__image-note {

  position: absolute;

  right: 18px;
  bottom: 10px;

  z-index: 3;

  color: #fff;

  opacity: .76;

  font-size: 11px;
}


/* =========================================================
   07. PICK UP
   ========================================================= */

.aose-top09-pickup {

  padding-block: 72px;

  background: #fff;
}


/* SECTION HEAD */

.aose-top09__section-head {

  display: flex;

  align-items: flex-end;
  justify-content: space-between;

  gap: 24px;

  margin-bottom: 28px;
}


/* PICK UP FEED */

.aose-top09-pickup__feed {
  min-width: 0;
}


/* =========================================================
   08. BOTTOM THREE COLUMNS

   読みもの・お知らせ
   営業日・店舗案内
   LINEでつながる
   ========================================================= */

.aose-top09-info {

  padding-block: 54px 65px;

  background: var(--top-koji);
}


/* GRID */

.aose-top09-info__grid {

  display: grid;

  grid-template-columns:
    minmax(0, 1.15fr)
    repeat(2, minmax(0, 1fr));

  align-items: stretch;

  gap: 20px;
}


/* COLUMN */

.aose-top09-info__column {

  min-width: 0;

  padding: 26px 26px 30px;

  background: #fff;

  border: 1px solid #eae4d9;
}


/* COLUMN HEAD */

.aose-top09-info__head {

  display: flex;

  align-items: flex-start;
  justify-content: space-between;

  gap: 12px;

  margin-bottom: 14px;
}


/* HEADING */

.aose-top09-info__heading {

  margin-bottom: 13px !important;

  font-size: clamp(18px, 1.45vw, 22px);
}

.aose-top09-info__head
.aose-top09-info__heading {

  margin-bottom: 0 !important;
}


/* LEAD */

.aose-top09-info__lead {

  margin-bottom: 10px !important;

  font-size: 15px;
  font-weight: 600;
}


/* DESCRIPTION */

.aose-top09-info__column
> p:not(.aose-top09-info__lead) {

  margin-bottom: 20px;

  font-size: 13px;

  color: #625a50;
}


/* BUTTON */

.aose-top09-info__column
.aose-top09__button {

  width: 100%;

  margin-top: 10px;
}


/* LATEST POSTS */

.aose-top09-info__latest {

  min-width: 0;

  overflow-wrap: anywhere;
}

.aose-top09-info__latest
.p-postList {

  margin: 0;
}

.aose-top09-info__latest
.p-postList__item {

  min-width: 0;

  margin: 0;
  padding-block: 12px;

  border-bottom: 1px solid #eee7db;
}

.aose-top09-info__latest
.p-postList__item:last-child {

  border-bottom: 0;
}

.aose-top09-info__latest
.p-postList__title {

  font-size: 14px;
  line-height: 1.6;
}

.aose-top09-info__latest
.p-postList__excerpt {

  display: none;
}


/* =========================================================
   09. TABLET
   768px ～ 1023px
   ========================================================= */

@media (max-width: 1023px) {

  .aose-top09-hero__copy {
    width: min(510px, 62%);
  }

  .aose-top09-about__inner {

    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .aose-top09-about__copy {

    padding: 52px 26px 52px 0;
  }

  .aose-top09-info__grid {

    grid-template-columns:
      repeat(2, minmax(0, 1fr));
  }

  .aose-top09-info__column:last-child {

    grid-column: 1 / -1;
  }

}


/* =========================================================
   10. SMARTPHONE
   ～ 767px
   ========================================================= */

@media (max-width: 767px) {

  /* HERO */

  .aose-top09-hero {

    height: min(60svh, 540px);
    min-height: 415px;
  }

  .aose-top09-hero__media img {

    object-position: 44% center;
  }

  .aose-top09-hero__shade {

    background: linear-gradient(
      to top,
      rgba(18,17,15,.90),
      rgba(18,17,15,.46) 55%,
      rgba(18,17,15,.08)
    );
  }

  .aose-top09-hero__inner {

    align-items: flex-end;

    padding-block: 30px 62px;
  }

  .aose-top09-hero__copy {
    width: 100%;
  }

  .aose-top09-hero__eyebrow {

    margin-bottom: 10px !important;

    font-size: 11px;

    letter-spacing: .11em;
  }

  .aose-top09-hero__title {

    font-size: clamp(28px, 7.3vw, 37px);
  }

  .aose-top09-hero__lead {

    margin-top: 12px !important;

    font-size: 12px;

    line-height: 1.8;
  }

  .aose-top09-hero__actions {

    gap: 10px 14px;

    margin-top: 15px;
  }

  .aose-top09-hero__actions
  .aose-top09__button {

    min-height: 44px;

    padding: 9px 15px;

    font-size: 12px;
  }

  .aose-top09-hero__small-link {

    font-size: 12px;
  }

  .aose-top09-hero__scroll {

    bottom: 7px;

    font-size: 10px;
  }


  /* ABOUT */

  .aose-top09-about__inner {

    grid-template-columns: 1fr;
  }

  .aose-top09-about__copy {

    padding: 52px 0 28px;
  }

  .aose-top09-about__image {

    min-height: 0;

    aspect-ratio: 4 / 3;

    margin-bottom: 44px;
  }

  .aose-top09-about__image img {

    width: 100%;
    height: 100%;
  }


  /* THREE EXPERIENCES */

  .aose-top09-experience__grid {

    grid-template-columns: 1fr;
  }

  .aose-top09-experience__item {

    min-height: 300px;
  }

  .aose-top09-experience__copy {

    left: 22px;
    right: 22px;
    bottom: 24px;
  }

  .aose-top09-experience__title {

    font-size: 29px;
  }


  /* FUKUI */

  .aose-top09-fukui {

    min-height: 420px;
  }

  .aose-top09-fukui__shade {

    background: linear-gradient(
      to top,
      rgba(18,28,34,.88),
      rgba(18,28,34,.40) 74%,
      rgba(18,28,34,.08)
    );
  }

  .aose-top09-fukui__inner {

    padding-block: 52px 64px;
  }

  .aose-top09-fukui__copy
  .aose-top09__heading {

    font-size: clamp(26px, 6.5vw, 32px);
  }

  .aose-top09-fukui__copy
  > p:not(.aose-top09__eyebrow):not(.aose-top09-fukui__kicker) {

    font-size: 13px;
  }

  .aose-top09-fukui__copy p br {

    display: none;
  }


  /* PICK UP */

  .aose-top09-pickup {

    padding-block: 50px;
  }

  .aose-top09__section-head {

    align-items: flex-start;
    flex-direction: column;

    gap: 12px;
  }


  /* BOTTOM THREE COLUMNS */

  .aose-top09-info {

    padding-block: 42px 48px;
  }

  .aose-top09-info__grid {

    grid-template-columns: 1fr;

    gap: 14px;
  }

  .aose-top09-info__column {

    padding: 23px 20px 26px;
  }

  .aose-top09-info__column:last-child {

    grid-column: auto;
  }


  /* NOTICE */

  .aose-top09-notice__inner {

    align-items: flex-start;

    gap: 10px;
  }

}


/* =========================================================
   11. SMALL SMARTPHONE
   ～ 359px
   ========================================================= */

@media (max-width: 359px) {

  .aose-top09-hero__title {

    font-size: 27px;
  }

  .aose-top09-hero__actions {

    flex-direction: column;
    align-items: flex-start;

    gap: 9px;
  }

  .aose-top09__button {

    padding-inline: 14px;
  }

}


/* =========================================================
   12. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

  .aose-top09 *,
  .aose-top09 *::before,
  .aose-top09 *::after {

    animation: none !important;
    transition: none !important;
  }

}
/* TOP reference polish: keep the existing photographs and managed content. */
body:has(.aose-top09) .post_content{margin-top:0!important;}
.post_content .aose-top09 :is(h1,h2,h3,p){margin-top:0!important;}
.aose-top09-hero{height:clamp(480px,42vw,560px);min-height:480px;}
.aose-top09__button--light{border-radius:30px;min-height:40px;padding-block:8px;}
.aose-top09-about__inner{min-height:360px;}
.aose-top09-about__copy{padding-block:32px;}
.aose-top09-about__image{min-height:360px;}
.aose-top09-experience__item{min-height:clamp(230px,22vw,300px);}
.aose-top09-experience__copy{bottom:22px;}
.aose-top09-fukui{min-height:300px;}
.aose-top09-fukui__inner{padding-block:34px;}
.aose-top09-fukui__kicker{display:none;}
.aose-top09-pickup{padding-block:28px 20px;}
.aose-top09-pickup .aose-top09__heading{font-size:clamp(22px,2vw,28px);}
.aose-top09-pickup .aose-top09__section-head{margin-bottom:16px!important;}
.aose-top09-pickup .aose-top09__eyebrow{margin-bottom:4px!important;}
.aose-top09-pickup__feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.aose-top09-pickup__card{min-width:0;border:1px solid #eee8de;border-radius:4px;overflow:hidden;box-shadow:0 2px 8px #35281b08;}
.aose-top09-pickup__card>a{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);height:100%;}
.aose-top09-pickup__image{min-width:0;height:100%;min-height:155px;}
.aose-top09-pickup__image img{width:100%;height:100%!important;object-fit:cover;}
.aose-top09-pickup__body{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:14px;}
.aose-top09-pickup__category{font-size:11px;line-height:1.5;border:1px solid #a99d8f;padding:1px 6px;}
.aose-top09-pickup__body h3{font-size:17px;line-height:1.6;overflow-wrap:anywhere;margin:0!important;}
.aose-top09-pickup__body p{font-size:12px;line-height:1.7;color:#716b62;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0!important;}
.aose-top09-pickup__body .aose-top09__text-link{margin-top:auto;padding-top:4px;border:0;font-size:12px;}
.aose-top09-info{padding-block:0 24px;}
.aose-top09-info__grid{grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:16px;}
.aose-top09-info__column{display:flex;flex-direction:column;padding:20px;border-radius:4px;}
.aose-top09-info__heading{font-size:18px;}
.aose-top09-info__column>.aose-top09__button{margin-top:auto;border-radius:24px;min-height:38px;padding-block:8px;}
.aose-top09-info__latest .p-postList__link{display:grid;grid-template-columns:76px 62px minmax(0,1fr);gap:8px;align-items:start;padding:0;}
.aose-top09-info__latest :is(.p-postList__thumb,.p-postList__body,.p-postList__meta,.p-postList__times){display:contents;}
.aose-top09-info__latest .c-postThumb__figure{display:none!important;}
.aose-top09-info__latest .c-postThumb__cat{position:static;grid-column:2;grid-row:1;background:transparent;color:#94603e;border:1px solid #ba967c;padding:2px 4px;font-size:10px;line-height:1.4;text-align:center;white-space:normal;}
.aose-top09-info__latest .p-postList__title{grid-column:3;grid-row:1;font-family:var(--top-sans);font-size:12px;font-weight:400;line-height:1.8;margin:0!important;}
.aose-top09-info__latest time{grid-column:1;grid-row:1;font-size:11px;line-height:1.8;white-space:nowrap;color:#777;}
.aose-top09-info__latest :is(time,.c-postThumb__cat)::before{display:none;}
.aose-top09-info__latest .p-postList__item{padding-block:10px;}
.aose-top09-line__mark{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#06c755;color:#fff;font:bold 13px/1 sans-serif;margin-block:0 18px;}
@media(max-width:1023px){.aose-top09-info__grid{grid-template-columns:repeat(2,minmax(0,1fr));}.aose-top09-pickup__card>a{grid-template-columns:1fr;}.aose-top09-pickup__image{height:150px;min-height:0;}}
@media(max-width:767px){
.aose-top09-hero{height:min(65svh,540px);min-height:430px;}
.aose-top09-about__copy{padding-block:32px 24px;}
.aose-top09-about__image{min-height:0;margin-bottom:0;}
.aose-top09-experience__item{min-height:260px;}
.aose-top09-fukui{min-height:340px;}
.aose-top09-fukui__inner{padding-block:32px 44px;}
.aose-top09-pickup{padding-block:28px 20px;}
.aose-top09-pickup__feed{grid-template-columns:minmax(0,1fr);gap:14px;}
.aose-top09-pickup__card>a{grid-template-columns:minmax(100px,.7fr) minmax(0,1.3fr);}
.aose-top09-pickup__image{height:100%;min-height:170px;}
.aose-top09-info__grid{grid-template-columns:minmax(0,1fr);}
.aose-top09-info__latest .p-postList__link{grid-template-columns:68px 58px minmax(0,1fr);gap:6px;}
.aose-top09-info__column{padding:18px;}
}

/* TOP PICK UP: Journal layout — one photo-overlay feature and three small cards. */
.post_content .aose-top09-pickup__feed{display:grid;grid-template-columns:minmax(0,2.45fr) repeat(3,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:auto;gap:16px;align-items:stretch;}
.post_content .aose-top09-pickup__card{grid-column:auto;grid-row:auto;min-width:0;min-height:310px;border:0;border-radius:3px;background:#fff;overflow:hidden;}
.post_content .aose-top09-pickup__card>a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;}
.post_content .aose-top09-pickup__image{flex:none;position:relative;aspect-ratio:1.45;height:auto;min-height:0;overflow:hidden;background:#eeeae2;}
.post_content .aose-top09-pickup__image img{display:block;width:100%;height:100%!important;object-fit:cover;}
.post_content .aose-top09-pickup__body{gap:0;font-size:14px;line-height:1.7;}
.post_content .aose-top09-pickup__body p{margin:8px 0 0;}
.post_content .aose-top09-pickup__body .aose-top09-pickup__category{border:0;line-height:1.7;}
.post_content .aose-top09-pickup__body .aose-top09__text-link{position:absolute;right:16px;bottom:14px;margin:0;padding:0;font-size:0;}
.post_content .aose-top09-pickup__body .aose-top09__text-link::after{content:"→";font-size:14px;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"]{position:relative;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"]>a{display:block;position:relative;min-height:310px;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"] .aose-top09-pickup__image{position:absolute;inset:0;aspect-ratio:auto;height:100%;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"] .aose-top09-pickup__image::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fffffff2 0%,#ffffffc9 35%,#ffffff00 76%);pointer-events:none;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"] .aose-top09-pickup__body{display:block;position:relative;width:72%;padding:54px 22px 20px;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"] .aose-top09-pickup__category{display:inline-block;position:static;transform:none;margin:0 0 10px;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"] h3{font-size:25px;line-height:1.4;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"] time{display:inline;margin:0;color:inherit;font-size:14px;line-height:1.7;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"] p{display:block;margin:10px 0 0;max-width:200px;font-size:12px;line-height:1.6;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"] .aose-top09__text-link{display:inline-flex;position:static;margin:12px 0 0;padding:3px 20px;border:1px solid var(--aose-brown,#9a572d);border-radius:99px;font-size:12px;line-height:1.7;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"] .aose-top09__text-link::after{content:none;}
@media(max-width:900px){
.post_content .aose-top09-pickup__feed{grid-template-columns:repeat(3,minmax(0,1fr));}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"]{grid-column:1/-1;}
}
@media(max-width:640px){
.post_content .aose-top09-pickup__feed{grid-template-columns:minmax(0,1fr);gap:12px;}
.post_content .aose-top09-pickup__card:not([data-pickup-slot="1"]){min-height:0;}
.post_content .aose-top09-pickup__card:not([data-pickup-slot="1"])>a{display:grid;grid-template-columns:40% minmax(0,1fr);}
.post_content .aose-top09-pickup__card:not([data-pickup-slot="1"]) .aose-top09-pickup__image{aspect-ratio:auto;height:100%;}
.post_content .aose-top09-pickup__card:not([data-pickup-slot="1"]) .aose-top09-pickup__category{transform:none;margin:0 0 6px;}
.post_content .aose-top09-pickup__card:not([data-pickup-slot="1"]) p{display:none;}
.post_content .aose-top09-pickup__card[data-pickup-slot="1"] .aose-top09-pickup__body{width:75%;padding:48px 20px 20px;}
}

/* 09-05 TOP: use the existing shared motion; retain all layout dimensions. */
.aose-top09{--aose-reveal-distance:8px;}
.aose-top09 .aose-motion-control{right:18px;bottom:14px;color:#fff;border-radius:24px;z-index:4;}
.aose-top09-pickup__image{overflow:hidden;}
@media(hover:hover) and (pointer:fine){
.aose-top09-pickup__image img{transition:transform 350ms ease;}
.aose-top09-pickup__card>a:hover .aose-top09-pickup__image img{transform:scale(1.025);}
}
@media(prefers-reduced-motion:reduce){
.aose-top09-experience__item:hover .aose-top09-experience__img,
.aose-top09-pickup__card>a:hover .aose-top09-pickup__image img{transform:none;transition:none;}
}

/* TOP only: neutralize the legacy components CSS auto-animation without a control. */
.aose-top09 .aose-hero--zoom .aose-hero__media img{animation:none;transform:scale(1);}
.aose-motion-ready .aose-top09 .aose-hero--zoom .aose-hero__media img{animation:aoseHeroZoom var(--aose-motion-hero-duration,12s) var(--aose-ease,ease-out) 1 forwards;}
.aose-motion-ready .aose-top09 .aose-hero--zoom.is-paused .aose-hero__media img{animation-play-state:paused;}
.aose-motion-ready .aose-top09 .aose-hero--zoom.is-complete .aose-hero__media img{animation:none;transform:scale(var(--aose-motion-hero-scale-end,1.035));}
.aose-top09 .aose-hero--zoom.is-motion-disabled .aose-hero__media img{animation:none!important;transform:scale(1)!important;}
@media(prefers-reduced-motion:reduce){.aose-top09 .aose-hero--zoom .aose-hero__media img{animation:none!important;transform:scale(1)!important;}}
