@charset "UTF-8";
  * { margin:0; padding:0; box-sizing:border-box; }

  :root {
    --bg: #f6f3ec;
    --paper: rgba(255, 255, 255, 0.86);
    --paper-strong: #ffffff;
    --line: rgba(83, 112, 89, 0.16);
    --text: #243126;
    --muted: #607066;
    --green: #30523d;
    --green-soft: #e8efe7;
    --green-deep: #203728;
    --accent: #a8733b;
    --shadow: 0 20px 60px rgba(36, 49, 38, 0.08);
    --content-width: 960px;
    --text-width: 82ch;
  }

  html{
    scroll-behavior: smooth;
  }
  body {
    font-family: 'Noto Sans JP', sans-serif;
    /*background: #BDB5A4;*/
    padding: 24px;
    background:
          radial-gradient(circle at top left, rgba(222, 234, 222, 0.9), transparent 30%),
          linear-gradient(180deg, #faf8f3 0%, #f5f1e8 100%);
  }
  img {
        display: block;
        width: 100%;
        height: auto;
      }
  .intro-wrap{
    max-width: 1130px;
    padding: 0 15px;
    margin: 0 auto;
    width: 100%;
  }
      span[style*='font-size: 18px'] {
        font-size: inherit !important;
      }
      
      h1,
      h2,
      h3,
      h4,
      .serif {
        font-family: 'Noto Serif JP', serif;
        color: var(--green);
      }
      .nav {
        position: relative;
        top: 14px;
        z-index: 10;
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        gap: 12px;
        margin: 0 0 28px;
        padding: 14px;
        background: rgba(255, 255, 255, 0.72);
        backdrop-filter: blur(14px);
        border: 1px solid rgba(255, 255, 255, 0.7);
        border-radius: 999px;
        box-shadow: 0 10px 30px rgba(36, 49, 38, 0.08);
      }
      @media (min-width: 769px) {
        .nav {
          position: sticky;
        }
      }
      a {
        color: var(--green);
        text-decoration: none;
        transition:
          color 0.2s ease,
          background-color 0.2s ease,
          border-color 0.2s ease;
      }

      a:hover {
        color: var(--green-deep);
      }

      .nav a {
        padding: 8px 14px;
        border-radius: 999px;
        font-size: 0.95rem;
        font-weight: 600;
        color: var(--muted);
      }

      .nav a:hover {
        background: var(--green-soft);
        color: var(--green);
      }

      section {
        margin-bottom: 28px;
        scroll-margin-top: 96px;
      }

      .panel {
        background: var(--paper);
        border: 1px solid rgba(255, 255, 255, 0.7);
        border-radius: 28px;
        padding: 34px;
        box-shadow: var(--shadow);
      }

      .panel-soft {
        background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 248, 244, 0.92));
      }

      .section-label {
        display: inline-block;
        margin-bottom: 12px;
        padding: 6px 12px;
        border-radius: 999px;
        background: rgba(48, 82, 61, 0.08);
        color: var(--green);
        font-size: 0.82rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
      }

      .section-heading {
        margin: 0 auto 26px;
        max-width: var(--content-width);
        text-align: center;
      }

      .section-heading h2 {
        margin: 0 0 10px;
        font-size: clamp(1.3rem, 3.8vw, 2.6rem);
        line-height: 1.35;
      }

      .section-heading p,
      .reason-intro {
        margin: 0 auto;
        max-width: var(--text-width);
        color: var(--muted);
        font-size: 1.02rem;
        line-height: 1.9;
      }

      .main-hero {
        overflow: hidden;
        background:
          linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(233, 239, 231, 0.92)),
          linear-gradient(180deg, #ffffff 0%, #eef2ec 100%);
      }

      .hero-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 22px;
      }

      .hero-grid > div:first-child {
        max-width: var(--content-width);
        margin: 0 auto;
        text-align: center;
      }

      .hero-label {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin-bottom: 18px;
        color: var(--green);
        font-size: 0.92rem;
        font-weight: 700;
        letter-spacing: 0.12em;
      }

      .hero-label::before {
        content: '';
        width: 36px;
        height: 1px;
        background: rgba(48, 82, 61, 0.4);
      }

      .main-title {
        margin: 0 0 18px;
        font-size: clamp(2.5rem, 3.86vw, 3.7rem);
        line-height: 1.2;
      }

      .hero-lead {
        margin: 0 0 22px;
        font-size: clamp(1.16rem, 2.1vw, 1.45rem);
        line-height: 1.75;
        color: #445246;
      }

      .hero-body {
        max-width: var(--text-width);
        margin: 0 auto;
        color: #425045;
        font-size: 1.02rem;
        line-height: 1.8;
      }

      .hero-body p {
        margin: 0 0 14px;
      }

      .hero-points {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        margin: 26px 0 0;
      }

      .hero-point {
        padding: 14px 16px;
        border-radius: 18px;
        background: rgba(255, 255, 255, 0.76);
        border: 1px solid rgba(48, 82, 61, 0.1);
        text-align: center;
      }

      .hero-point strong {
        display: block;
        margin-bottom: 4px;
        color: var(--green);
        font-size: 0.95rem;
      }

      .hero-point span {
        display: block;
        color: var(--muted);
        font-size: 0.86rem;
        line-height: 1.6;
      }

      .hero-supplement {
        max-width: var(--text-width);
        margin: 18px auto 0;
        padding: 18px 20px;
        border-left: 4px solid var(--accent);
        border-radius: 0 18px 18px 0;
        background: rgba(255, 255, 255, 0.74);
        color: #334137;
        font-size: 0.96rem;
        font-weight: 600;
        text-align: left;
      }

      /*.hero-visual {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 12px;
        width: 100%;
        max-width: var(--content-width);
        margin: 10px auto 0;
        align-items: stretch;
      }*/
      .hero-visual{
        display: flex;
        justify-content: space-between;
      }
      .hero-visual figure{
        width: 32%;
        aspect-ratio: 1.28 / 1;
      }
      .media-card {
        position: relative;
        margin: 0;
        overflow: hidden;
        border-radius: 24px;
        background: var(--paper-strong);
        box-shadow: 0 16px 40px rgba(36, 49, 38, 0.12);
      }

      .media-card img {
        height: 100%;
        object-fit: cover;
      }

      .hero-main {
        aspect-ratio: 1.28 / 1;
        min-height: 0;
      }

      .hero-stack {
        display: contents;
      }

      .hero-stack .media-card {
        min-height: 0;
        aspect-ratio: 1.28 / 1;
      }

      .photo-caption {
        position: absolute;
        left: 12px;
        right: 12px;
        bottom: 12px;
        padding: 8px 10px;
        border-radius: 12px;
        background: linear-gradient(180deg, rgba(20, 28, 22, 0.04), rgba(20, 28, 22, 0.68));
        color: #fff;
        font-size: 0.76rem;
        line-height: 1.45;
      }

      .grid-3 {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        max-width: var(--content-width);
        margin: 0 auto;
      }

      .value-grid {
        align-items: stretch;
        gap: 18px;
      }

      .value-card {
        padding: 0;
      }

      .value-card .card-image {
        position: relative;
        aspect-ratio: 1.25 / 1;
        overflow: hidden;
      }

      .value-card .card-body {
        padding: 22px 22px 24px;
        text-align: center;
      }

      .value-card .card-index {
        position: absolute;
        top: 14px;
        left: 14px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 52px;
        height: 52px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.9);
        color: var(--green);
        font-family: 'Noto Serif JP', serif;
        font-size: 1.2rem;
        font-weight: 700;
        box-shadow: 0 8px 24px rgba(36, 49, 38, 0.1);
      }

      .value-card h3 {
        margin: 0 0 10px;
        font-size: 1.22rem;
        line-height: 1.5;
      }

      .value-card p {
        margin: 0;
        color: var(--muted);
        font-size: 1rem;
      }

      .value-card,
      .reason-card,
      .target-item {
        background: rgba(255, 255, 255, 0.9);
        border: 1px solid var(--line);
        border-radius: 22px;
        overflow: hidden;
        box-shadow: 0 12px 30px rgba(36, 49, 38, 0.06);
        transition:
          transform 0.28s ease,
          box-shadow 0.28s ease,
          border-color 0.28s ease;
      }

      .value-card:hover,
      .reason-card:hover,
      .target-item:hover {
        transform: translateY(-4px);
        box-shadow: 0 16px 34px rgba(36, 49, 38, 0.11);
        border-color: rgba(48, 82, 61, 0.24);
      }

      .card-image {
        aspect-ratio: 1.3 / 1;
        overflow: hidden;
      }

      .card-image img,
      .story-main img,
      .story-side img,
      .reason-photo img,
      .target-gallery img {
        width: 100%;
        height: 100%;
        object-fit: cover;
      }

      .card-body {
        padding: 20px 20px 22px;
        text-align: center;
      }

      .card-index {
        display: inline-block;
        margin-bottom: 12px;
        color: var(--accent);
        font-size: 0.8rem;
        font-weight: 700;
        letter-spacing: 0.08em;
      }

      .card-body h3 {
        margin: 0 0 10px;
        font-size: 1.24rem;
        line-height: 1.45;
      }

      .card-body p {
        margin: 0;
        color: var(--muted);
        font-size: 1rem;
      }

      .story-layout {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr);
        gap: 24px;
        max-width: var(--content-width);
        margin: 28px auto 0;
        align-items: start;
      }

      .content-block {
        margin-top: 0;
        padding: 28px;
        border-radius: 24px;
        background: rgba(255, 255, 255, 0.58);
        border: 1px solid rgba(48, 82, 61, 0.08);
        text-align: center;
      }

      .content-block + .content-block {
        margin-top: 16px;
      }

      .content-block h2 {
        margin: 0 0 10px;
        font-size: 1.7rem;
        line-height: 1.42;
      }

      .content-block h3 {
        margin: 0 0 14px;
        font-size: 1.24rem;
        color: #4d6b56;
      }

      .content-block p {
        margin: 0;
        color: #425045;
        font-size: 1.03rem;
        line-height: 1.8;
        text-align: left;
      }

      .story-media {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .story-main {
        aspect-ratio: 1.08 / 1;
        border-radius: 24px;
        overflow: hidden;
      }

      .story-side {
        display: grid;
        grid-template-columns: 1fr;
        gap: 14px;
      }

      .story-side .media-card {
        aspect-ratio: 1.1 / 1;
      }

      .reason-grid {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
        max-width: var(--content-width);
        margin: 26px auto 0;
      }

      .reason-card {
        padding: 0;
      }

      .reason-photo {
        position: relative;
        aspect-ratio: 1.25 / 1;
        overflow: hidden;
      }

      .reason-number {
        position: absolute;
        top: 14px;
        left: 14px;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 52px;
        height: 52px;
        border-radius: 999px;
        background: rgba(255, 255, 255, 0.9);
        color: var(--green);
        font-family: 'Noto Serif JP', serif;
        font-size: 1.2rem;
        font-weight: 700;
        box-shadow: 0 8px 24px rgba(36, 49, 38, 0.1);
      }

      .reason-content {
        padding: 22px 22px 24px;
        
      }

      .reason-card h4 {
        min-height: 0;
        margin: 0 0 10px;
        font-size: 1.22rem;
        line-height: 1.5;
        text-align: center;
      }

      .reason-card p {
        margin: 0;
        color: var(--muted);
        font-size: 1rem;
        line-height: 1.8;
      }

      .ambient-strip {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
        margin-top: 20px;
      }

      .ambient-strip .media-card {
        aspect-ratio: 1.2 / 1;
      }

      .target-intro {
        max-width: var(--content-width);
        margin: 0 auto 26px;
        padding: 28px 30px;
        border-radius: 24px;
        background: linear-gradient(135deg, rgba(232, 239, 231, 0.95), rgba(255, 255, 255, 0.9));
        border: 1px solid rgba(48, 82, 61, 0.1);
        text-align: center;
        font-weight: 600;
        font-size: 1.12rem;
        line-height: 1.9;
        color: var(--green);
      }

      .target-intro p {
        margin: 0;
      }

      .target-intro p + p {
        margin-top: 8px;
      }

      .target-emphasis {
        display: inline-block;
        margin-top: 10px;
        padding: 4px 14px;
        border-radius: 999px;
        background: rgba(48, 82, 61, 0.1);
        color: var(--green-deep);
        font-weight: 700;
        letter-spacing: 0.02em;
      }

      .target-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 22px;
        max-width: var(--content-width);
        margin: 0 auto;
        align-items: start;
      }

      .target-list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
      }

      .target-item {
        padding: 22px 18px;
        
      }

      .target-item h4 {
        margin: 0 0 10px;
        font-size: 1.1rem;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 12px;

      }

      .target-item h4::before {
        content: '✓';
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 28px;
        height: 28px;
        flex-shrink: 0;
        border-radius: 999px;
        background: var(--green);
        color: #fff;
        font-size: 0.86rem;
        box-shadow: 0 8px 16px rgba(48, 82, 61, 0.18);
      }

      .target-item p {
        margin: 0 auto;
        max-width: 42ch;
        padding-left: 0;
        color: var(--muted);
        font-size: 0.98rem;
        line-height: 1.8;
      }

      .target-gallery {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
      }

      .target-gallery .media-card {
        aspect-ratio: 1 / 1;
      }

      .cta-banner {
        position: relative;
        overflow: hidden;
        margin-top: 8px;
        border-radius: 28px;
        background: linear-gradient(135deg, rgba(32, 55, 40, 0.94), rgba(47, 79, 58, 0.86));
        color: #fff;
        box-shadow: 0 22px 50px rgba(32, 55, 40, 0.24);
      }

      .cta-inner {
        display: grid;
        grid-template-columns: 1fr;
        gap: 22px;
        max-width: var(--content-width);
        margin: 0 auto;
        align-items: center;
        padding: 34px;
      }

      .cta-text {
        text-align: center;
      }

      .cta-text p {
        margin: 0 0 10px;
        font-size: 0.96rem;
        letter-spacing: 0.1em;
        color: rgba(255, 255, 255, 0.8);
        font-weight: 700;
      }

      .cta-text h2 {
        margin: 0 0 10px;
        color: #fff;
        font-size: clamp(2rem, 4vw, 3rem);
      }

      .cta-text .cta-sub {
        margin: 0;
        color: rgba(255, 255, 255, 0.9);
        font-size: 1.04rem;
      }

      .cta-shot {
        border-radius: 22px;
        overflow: hidden;
        border: 1px solid rgba(255, 255, 255, 0.18);
        box-shadow: 0 18px 30px rgba(0, 0, 0, 0.15);
      }

      .cta-shot img {
        aspect-ratio: 1 / 1.1;
        object-fit: cover;
      }

      @media (max-width: 980px) {
        .panel,
        .main-hero,
        .cta-inner {
          padding: 28px;
        }

        .hero-grid,
        .story-layout,
        .target-layout,
        .cta-inner {
          grid-template-columns: 1fr;
        }

        .hero-grid > div:first-child,
        .section-heading,
        .target-intro,
        .grid-3,
        .story-layout,
        .reason-grid,
        .target-layout,
        .cta-inner {
          max-width: 100%;
        }

        .hero-visual {
          grid-template-columns: repeat(3, minmax(0, 1fr));
          width: 100%;
          max-width: 100%;
        }

        .hero-main {
          min-height: 0;
        }
        .main-title {
          font-size: 2.4rem;
        }
        .hero-stack {
          display: contents;
        }

        .hero-stack .media-card {
          aspect-ratio: 1.18 / 1;
        }
        .card-body h3 {
          font-size: 1.0rem;
          line-height: 1.45;
        }
        .story-media{
          display: flex;
          justify-content: space-between;
        }
        .story-side .media-card {
            aspect-ratio: 1.08 / 1;
        }
        .value-card .card-body,
        .reason-content {
            padding: 18px 18px 18px;
        }
        .value-grid,
        .reason-grid{
          gap: 14px;
        }
        .value-card .card-index,
        .reason-number {
            top: 10px;
            left: 10px;
            min-width: 42px;
            height: 42px;
            font-size: 1.1rem;
        }
        .reason-card h4 {
            font-size: 1.0rem;
        }
        /*.grid-3,
        .reason-grid,
        .ambient-strip {
          grid-template-columns: repeat(2, minmax(0, 1fr));
        }*/

        /*.value-grid .value-card:last-child,
        .reason-grid .reason-card:last-child {
          grid-column: 1 / -1;
          width: min(100%, calc(50% - 9px));
          margin: 0 auto;
        }*/


      }

      @media (max-width: 768px) {
        .panel,
        .main-hero,
        .cta-inner {
          padding: 22px;
        }

        .nav {
          gap: 8px;
          border-radius: 22px;
          padding: 12px;
        }

        .nav a {
          width: 100%;
          text-align: center;
        }

        .main-title {
          font-size: 2rem;
        }

        .hero-lead {
          font-size: 1.06rem;
        }

        .hero-points,
        .story-side,
        .target-gallery,
        .target-list,
        .grid-3,
        .reason-grid,
        .ambient-strip {
          grid-template-columns: 1fr;
        }

        .hero-visual {
          grid-template-columns: 1fr;
        }

        .hero-main,
        .hero-stack .media-card {
          aspect-ratio: 1.32 / 1;
        }

        .value-grid .value-card:last-child,
        .reason-grid .reason-card:last-child {
          grid-column: auto;
          width: 100%;
          margin: 0;
        }

        .content-block,
        .target-intro,
        .target-item,
        .card-body,
        .reason-content {
          padding: 18px;
        }

        .target-item p {
          padding-left: 0;
        }

        .hero-visual{
          display: block;
        }
        .hero-visual figure{
          width: 100%;
          margin-bottom: 10px;
        }

        .hero-body{
          font-size: 0.85em;
        }
        .hero-body p{
          text-align: left;
        }
        .hero-supplement{
          text-align: left;
        }
        .reason-card h4 {
            font-size: 1rem;
            line-height: 1.5;
        }
        .reason-card p{
          font-size: 0.85rem;
          line-height: 1.5;
        }
        .card-body p {
            font-size: 0.85rem;
        }
        .content-block h2 {
            font-size: 1.3rem;
        }
        .content-block p{
          text-align: left;
          font-size: 0.85rem;
        }
        .story-media{
          display: block;
        }
        .story-main{
          margin-bottom: 10px;
        }
        .section-heading p, .reason-intro {
          text-align: left;
            font-size: 0.9rem;
        }
        .target-intro p{
          font-size: 1.0rem;
          line-height: 1.6;
          text-align: left;
        }
        .target-emphasis {
            border-radius: 10px;
            font-size: 0.9rem;
            line-height: 1.6;
            text-align: center;
            width: 100%;
        }
        .target-item h4 {
            font-size: 1.0rem;
        }
        .target-item p {
              font-size: 0.9rem;
              line-height: 1.6;
          }
      }

.dis-sp{
  display: none;
}
@media only screen and (max-width: 767px) {
  .dis-pc{
    display: none;
  }
  .dis-sp{
    display: block
  }
}


:root{--c-bg:#FAF6EE;--c-paper:#FFFDF7;--c-line:#E8DEC8;--c-ink:#3D4A1E;--c-ink2:#4A4033;--c-ink3:#7A6A50;--c-accent:#B85A18;--c-accent2:#A4671B;--c-leaf:#C8842A;--c-leaf-bg:#FDF4E6;--c-momiji:#8B1E0A;--shadow:0 10px 40px rgba(60,40,12,.10);}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--c-bg);}
/*body{font-family:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;color:var(--c-ink2);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased;}*/
img{max-width:100%;display:block;}
a{color:var(--c-accent);text-decoration:none;}
a:hover{text-decoration:underline;}
.serif{font-family:'Noto Serif JP','Yu Mincho',serif;}
.wrap{width:100%;max-width:1100px;margin:0 auto;background:var(--c-bg);}
section{padding:48px 48px;}
section+section{border-top:1px solid rgba(184,90,24,.12);}
.eyebrow{display:inline-block;font-size:11px;letter-spacing:.26em;color:var(--c-accent2);font-weight:700;padding:5px 14px;border:1px solid var(--c-accent2);border-radius:999px;}
h2{font-family:'Noto Serif JP',serif;font-weight:900;color:var(--c-ink);font-size:30px;line-height:1.4;letter-spacing:.04em;margin:14px 0 12px;}
h3{font-family:'Noto Serif JP',serif;font-weight:700;font-size:20px;color:var(--c-ink);margin:0 0 10px;}
p{margin:0 0 12px;}
.hero{position:relative;padding:0;overflow:hidden;}
.hero-img{position:relative;width:100%;aspect-ratio:16/9;background:#3a4128;}
.hero-img img{width:100%;height:100%;object-fit:cover;}
.hero-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.55) 100%);}
.hero-text{position:absolute;left:28px;right:28px;bottom:30px;color:#fff;}
.hero-pill{display:inline-block;background:rgba(255,255,255,.95);color:var(--c-accent);font-size:11px;font-weight:700;letter-spacing:.18em;padding:4px 14px;border-radius:999px;}
.hero-jp{font-family:'Noto Serif JP',serif;font-weight:900;font-size:46px;line-height:1.25;margin:14px 0 6px;letter-spacing:.04em;text-shadow:0 2px 18px rgba(0,0,0,.35);}
.hero-en{font-size:13px;letter-spacing:.18em;color:#fff;opacity:.93;text-shadow:0 1px 8px rgba(0,0,0,.3);}
.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin:-1px 0 0;}
.strip img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;}
.plan{background:var(--c-paper);border:1px solid var(--c-line);border-radius:14px;padding:18px 18px 14px;box-shadow:0 6px 24px -10px rgba(75,55,20,.18);position:relative;overflow:hidden;}
.plan.momiji{border:1.5px solid var(--c-momiji);}
.plan-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:.18em;padding:4px 10px;border-radius:999px;background:var(--c-leaf-bg);color:var(--c-accent2);}
.plan.momiji .plan-tag{background:var(--c-momiji);color:#fff;}
.plan-num{font-family:'Noto Serif JP',serif;font-weight:900;font-size:22px;color:var(--c-ink);margin-top:8px;}
.plan-date{font-family:'Noto Serif JP',serif;font-weight:700;color:var(--c-accent);font-size:15px;margin:6px 0;}
.plan-when{font-size:12px;color:var(--c-ink3);margin-bottom:8px;}
.plan-price{margin-top:12px;padding:9px 10px;background:var(--c-leaf-bg);border:1px dashed #D9B87C;border-radius:8px;font-size:12.5px;line-height:1.55;color:#5A4326;}
.plan-price b{font-size:18px;color:var(--c-accent);font-family:'Noto Serif JP',serif;}
.plan-notice{font-size:11px;color:var(--c-accent2);margin-top:6px;}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:20px;}
.fet{background:var(--c-paper);border:1px solid var(--c-line);border-radius:12px;padding:18px 13px;text-align:center;}
.fet-ico{font-size:34px;line-height:1;}
.fet-lbl{font-weight:700;color:var(--c-ink);font-size:12.5px;margin-top:8px;}
.fet-sub{font-size:12px;color:var(--c-ink3);margin-top:4px;}
.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;}
.day{background:var(--c-paper);border:1px solid var(--c-line);border-radius:14px;padding:0;overflow:hidden;}
.day-head{padding:10px;color:#fff;font-weight:700;font-size:13px;}
.day-d1{background:#4B6B2F;}
.day-d2{background:#2F6B7A;}
.day-d3{background:#A4671B;}
.day-num{font-family:'Noto Serif JP',serif;font-size:11px;letter-spacing:.18em;opacity:.9;}
.day-theme{font-family:'Noto Serif JP',serif;font-size:15px;font-weight:900;margin-top:3px;}
.day-events{padding:10px 14px;}
.day-row{display:grid;grid-template-columns:42px 1fr;gap:8px;padding:8px 0;border-top:1px dashed var(--c-line);}
.day-row:first-child{border-top:none;}
.day-time{font-weight:700;color:var(--c-accent2);font-size:13px;letter-spacing:.04em;}
.day-ev{font-size:14px;color:var(--c-ink2);}
.day-tag{display:inline-block;font-size:9.5px;letter-spacing:.14em;background:var(--c-leaf-bg);color:var(--c-accent2);padding:1px 6px;border-radius:6px;margin-top:4px;}
.price-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;}
.price-box{background:var(--c-paper);border:1px solid var(--c-line);border-radius:14px;padding:18px;}
.hl-box{background:var(--c-paper);border:1px solid var(--c-line);border-radius:14px;padding:18px 25px;}
.hl-list{display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--c-ink2); line-height: 1.6}
.row{display:flex;justify-content:space-between;align-items:baseline;background:var(--c-leaf-bg);border:1px solid #E8D9B8;border-radius:8px;padding:9px 14px;margin-bottom:10px;font-size:13.5px;color:#5A4326;}
.row b{font-family:'Noto Serif JP',serif;font-size:20px;color:var(--c-accent);}
.row b span{
  font-size: 14px;
}
.included{font-size:13px;color:var(--c-ink3);margin-top:6px; line-height: 1.5;}
.deco-band{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:10px 0 16px;}
.deco-band img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:6px;}
.lead{font-size:15px;line-height:1.95;text-align:center;color:var(--c-ink2);max-width:760px;margin:0 auto;}
.note{font-size:12px;color:var(--c-ink3);text-align:center;margin:0 0 8px; margin-top: 10px}
.food-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px;}
.food{background:var(--c-paper);border:1px solid var(--c-line);border-radius:12px;overflow:hidden;}
.food img{width:100%;aspect-ratio:4/3;object-fit:cover;}
.food-body{padding:10px;}
.food-name{font-family:'Noto Serif JP',serif;font-weight:700;text-align:center;font-size:15px;color:#5A4326;}
.food-desc{font-size:13px;color:var(--c-ink3);line-height:1.5;margin-top:5px;}
.voices-wrap{background:var(--c-leaf-bg);border:1px solid #EBDCC0;border-radius:18px;padding:30px;}
.v-title{font-family:'Noto Serif JP',serif;font-weight:900;font-size:22px;color:#7A4A12;text-align:center;letter-spacing:.06em;margin-bottom:18px;}
.voice-card{background:#fff;border:1px solid #EDE3CC;border-left:5px solid var(--c-leaf);border-radius:10px;padding:14px 18px;font-size:14.5px;line-height:2;color:var(--c-ink2);margin-bottom:14px;}
.voice-card:last-child{margin-bottom:0;}
.cta{text-align:center;padding:36px 20px;}
.cta a{display:inline-block;background:var(--c-accent);color:#fff;padding:18px 56px;border-radius:999px;font-weight:700;font-size:17px;letter-spacing:.1em;box-shadow:0 6px 20px rgba(184,90,24,.32);transition:.2s;}
.cta a:hover{background:#C2631C;text-decoration:none;transform:translateY(-1px);}
.cta .small{display:block;margin-top:12px;font-size:12px;color:var(--c-ink3);}
.cta .url{word-break:break-all;color:var(--c-accent2);font-weight:500;}
footer{text-align:center;padding:30px 24px;font-size:12px;color:var(--c-ink3);border-top:1px solid rgba(184,90,24,.12);}

@media (max-width:768px){
  body{font-size:14.5px;}
  section{padding:34px 18px;}
  h2{font-size:24px;}
  h3{font-size:17px;}
  .hero-jp{font-size:34px;}
  .hero-en{font-size:11px;}
  .plans-grid,.schedule-grid,.food-grid,.features,.price-cards{grid-template-columns:1fr;}
  .deco-band{grid-template-columns:repeat(2,1fr);}
  .lead{font-size:13.5px; text-align: left;}
  .voice-card{font-size:13.5px;}
  .cta a{padding:16px 36px;font-size:15px;}
  .hero-text{left:18px;right:18px;bottom:22px;}
}
@media (max-width:420px){
  .hero-jp{font-size:28px;}h2{font-size:24px;}
}

body{
  padding: 24px;
}
.dis-tab{
  display: none;
}
.autumn-wrap .hero-text .hero-jp{
  color: #fff;
}
.autumn-wrap .autumn-ttl{
  text-align: center;
}
.autumn-wrap .autumn-ttl p{
  line-height: 1.7;
}
.autumn-wrap .plan-date{
  font-size: 20px;
}
.autumn-wrap .plan-date span{
  font-size: 14px;
  padding-left: 2px;
}
.autumn-wrap section{
  margin-bottom: 0;
}
.price-cards{
   margin-top: 0;
}
@media (max-width:992px){
  .dis-tab{
    display: block;
  }
  .autumn-wrap section{padding:48px 0;}
  .autumn-wrap .plan-date{
    font-size: 18px;
  }
  .autumn-wrap .plan-date span{
    font-size: 13px;
  }
  .food-name{
    font-size: 14px;
  }
}
@media (max-width:768px){
  body{
    padding: 0;
  }
  .hero-img{
    height: 320px;
    aspect-ratio: auto;
  }
  .autumn-wrap section{
    padding:30px 20px;
    margin-bottom: 0;
  }
  .features,
  .food-grid{
    grid-template-columns: repeat(2, 1fr);
  }
  .voices-wrap{
    padding: 20px;
  }
  .v-title{
    font-size: 20px;
  }
  .plan-price{
    text-align: center;
  }
}
@media (max-width:420px){
  .v-title{
    font-size: 18px;
  }
}