:root{
  --base:#fbf6ec;
  --paper:#fffaf0;
  --ink:#4d2f1d;
  --sub:#86654a;
  --line:#eadccb;
  --accent:#8b6a42;
  --soft:#f2e6d6;
  --white:#fff;
}
*{box-sizing:border-box}
body{margin:0;background:var(--base);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.9;letter-spacing:.04em}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
.inner{width:min(1120px,calc(100% - 48px));margin-inline:auto}.section-pad{padding:88px 0}.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;background:rgba(251,246,236,.78);backdrop-filter:blur(10px);border-bottom:1px solid rgba(234,220,203,.5)}.logo{display:flex;gap:12px;align-items:center;font-family:"Noto Serif JP",serif;font-weight:700}.logo__mark{width:34px;height:34px;border:1px solid var(--accent);border-radius:50%;display:grid;place-items:center;font-size:11px}.global-nav{display:flex;gap:34px;font-size:13px;font-weight:700}.hero{min-height:760px;display:grid;grid-template-columns:1fr 1fr;position:relative;overflow:hidden;background:linear-gradient(90deg,rgba(251,246,236,.96) 0%,rgba(251,246,236,.9) 38%,rgba(251,246,236,.12) 58%)}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 16% 20%,rgba(255,255,255,.9),transparent 34%),linear-gradient(120deg,rgba(238,222,202,.58),transparent 52%);pointer-events:none}.hero__copy{position:relative;z-index:2;align-self:center;padding-left:clamp(32px,8vw,112px);padding-top:80px}.eyebrow,.section-kicker{font-size:12px;font-weight:700;letter-spacing:.18em;color:var(--sub)}.hero h1,.intro h2,.history h2,.beginner h2,.daily h2,.cta h2{font-family:"Noto Serif JP",serif;font-weight:600;line-height:1.45;margin:.1em 0 .45em}.hero h1{font-size:clamp(42px,5.3vw,76px);letter-spacing:.16em}.hero__copy p:not(.eyebrow){font-size:18px}.handwriting{display:inline-block;margin-top:42px;font-family:"Noto Serif JP",serif;font-style:italic;color:#9d7b57}.hero__image{grid-column:2;grid-row:1;height:100%;position:relative}.hero__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.95) brightness(1.08)}.scroll{position:absolute;left:8vw;bottom:52px;font-size:11px;letter-spacing:.22em;writing-mode:vertical-rl}.scroll:after{content:"";display:block;width:1px;height:38px;background:var(--accent);margin:12px auto 0}.hero-links{width:min(1120px,calc(100% - 48px));margin:-38px auto 72px;position:relative;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.hero-links a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:76px;background:rgba(255,250,240,.94);border:1px solid var(--line);box-shadow:0 14px 36px rgba(87,54,29,.08);font-family:"Noto Serif JP",serif;font-weight:700;color:var(--ink);transition:.3s}.hero-links a:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(87,54,29,.12)}.hero-links i{font-size:20px;color:var(--accent)}.intro__grid{display:grid;grid-template-columns:.75fr 1fr;gap:70px;align-items:end}.intro h2{font-size:48px}.intro p{margin:0;color:var(--sub)}.enjoy{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--paper);box-shadow:0 18px 50px rgba(87,54,29,.06)}.enjoy-card{min-height:290px;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:rgba(255,255,255,.32)}.enjoy-card:nth-child(even){border-right:0}.enjoy-card--wide{grid-column:span 2}.enjoy-card__image,.enjoy-card__image img{height:100%}.enjoy-card__image img{width:100%;object-fit:cover}.enjoy-card__body{padding:42px 46px;display:flex;flex-direction:column;justify-content:center}.num{font-family:"Noto Serif JP",serif;color:var(--accent);font-size:48px;line-height:1}.enjoy-card h3{font-family:"Noto Serif JP",serif;font-size:28px;margin:8px 0 12px}.enjoy-card p{font-size:15px;color:#5f4734;margin:0 0 16px}.text-link{font-size:13px;font-weight:700}.text-link:after{content:"→";margin-left:10px}.daily{background:#f5ebdc}.daily h2{font-size:38px}.daily-list{margin-top:34px;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;align-items:start}.daily-item{text-align:center;position:relative}.daily-item:not(:last-child):after{content:"→";position:absolute;right:-18px;top:44px;color:var(--accent)}.daily-item img{width:118px;height:118px;border-radius:50%;object-fit:cover;margin:0 auto 12px;border:6px solid var(--paper)}.daily-item b{display:block;font-family:"Noto Serif JP",serif}.daily-item span{font-size:13px;color:var(--sub)}.history{background:linear-gradient(180deg,#fffaf0,#f7eddf)}.history__grid{display:grid;grid-template-columns:360px 1fr;gap:70px}.history__head{position:sticky;top:120px;align-self:start}.history h2{font-size:42px}.history__head p:last-child{color:var(--sub)}.timeline{display:grid;gap:18px;position:relative}.timeline:before{content:"";position:absolute;left:14px;top:24px;bottom:24px;width:1px;background:#9b846b}.timeline-item{position:relative;display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:center;background:rgba(255,255,255,.72);padding:24px 24px 24px 44px;border:1px solid var(--line);border-radius:4px}.timeline-item:before{content:"";position:absolute;left:8px;top:34px;width:13px;height:13px;border:2px solid var(--accent);background:var(--paper);border-radius:50%;z-index:2}.timeline-item span{font-family:"Noto Serif JP",serif;font-size:26px;color:var(--accent)}.timeline-item p{margin:.5em 0 0;font-size:14px}.timeline-item img{height:134px;width:100%;object-fit:cover}.beginner{background:var(--base)}.center-head{text-align:center;margin-bottom:42px}.center-head h2{font-size:44px}.center-head p{color:var(--sub)}.step-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.step-grid article{background:rgba(255,255,255,.74);border:1px solid var(--line);padding:24px 18px;text-align:center;min-height:190px}.step-grid article:nth-child(n+6){grid-column:span 2}.step-grid article span{font-family:"Noto Serif JP",serif;font-size:24px;color:var(--accent)}.step-grid h3{font-size:16px;margin:8px 0 10px}.step-grid p{font-size:13px;color:var(--sub);margin:0}.link-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.link-cards a{background:var(--paper);border:1px solid var(--line);padding:14px 14px 24px;text-align:center;transition:.3s}.link-cards a:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(87,54,29,.08)}.link-cards img{height:150px;width:100%;object-fit:cover;margin-bottom:16px}.link-cards b{display:block;font-family:"Noto Serif JP",serif;font-size:19px;margin-bottom:8px}.link-cards span{display:block;font-size:13px;color:var(--sub)}.step-grid article i{display:block;margin:6px auto 12px;font-size:28px;color:var(--accent)}.sns-area{margin-top:46px;padding:42px 34px;background:rgba(255,250,240,.78);border:1px solid var(--line);text-align:center}.sns-area__head h3{font-family:"Noto Serif JP",serif;font-size:28px;margin:4px 0 10px}.sns-area__head p:last-child{margin:0;color:var(--sub);font-size:14px}.sns-links{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:28px}.sns-links a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:62px;background:#fff;border:1px solid var(--line);font-weight:700;transition:.3s}.sns-links a:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(87,54,29,.08)}.sns-links i{font-size:22px;color:var(--accent)}.sns-links .line-link{background:#f4fbef}.cta{display:grid;grid-template-columns:1fr 1fr;align-items:center;background:#f2e5d3;overflow:hidden}.cta__body{padding:80px 8vw}.cta h2{font-size:44px}.cta p{color:var(--sub)}.cta img{height:460px;width:100%;object-fit:cover}.button{display:inline-block;margin-top:24px;padding:14px 34px;background:#70533a;color:#fff;border-radius:2px;font-weight:700;font-size:14px}.button:after{content:"→";margin-left:16px}@media (max-width:900px){.hero-links{width:min(100% - 32px,680px);margin:-26px auto 52px;grid-template-columns:1fr 1fr;gap:10px}.hero-links a{min-height:62px;font-size:13px}.site-header{height:64px;padding:0 18px}.global-nav{display:none}.logo__text{font-size:14px}.hero{min-height:720px;display:block;background:var(--base)}.hero__image{position:absolute;inset:0;grid-column:auto;opacity:.55}.hero__image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,246,236,.94),rgba(251,246,236,.62))}.hero__copy{padding:154px 28px 80px}.hero h1{font-size:46px}.hero__copy p:not(.eyebrow){font-size:16px}.scroll{left:28px;bottom:28px}.inner{width:min(100% - 32px,680px)}.section-pad{padding:64px 0}.intro__grid,.history__grid{grid-template-columns:1fr;gap:24px}.intro h2,.history h2,.beginner h2,.daily h2,.cta h2{font-size:34px}.enjoy{display:block;border:0;background:transparent;box-shadow:none}.enjoy-card,.enjoy-card--wide{display:block;min-height:0;border:1px solid var(--line);margin-bottom:18px;background:var(--paper)}.enjoy-card:nth-child(even){border-right:1px solid var(--line)}.enjoy-card__image{height:220px}.enjoy-card__body{padding:28px 24px}.num{font-size:40px}.enjoy-card h3{font-size:24px}.daily-list{grid-template-columns:repeat(2,1fr);gap:24px 16px}.daily-item:not(:last-child):after{display:none}.history__head{position:static}.timeline:before{left:10px}.timeline-item{grid-template-columns:1fr;gap:16px;padding:24px 20px 24px 34px}.timeline-item:before{left:4px}.timeline-item img{height:170px}.step-grid{grid-template-columns:1fr 1fr}.step-grid article:nth-child(n+6){grid-column:span 1}.link-cards{grid-template-columns:1fr}.link-cards img{height:190px}.sns-area{padding:32px 18px}.sns-links{grid-template-columns:1fr 1fr}.cta{grid-template-columns:1fr}.cta__body{padding:58px 28px}.cta img{height:310px;order:-1}}@media (max-width:520px){.hero-links{grid-template-columns:1fr;margin-top:-18px}.sns-links{grid-template-columns:1fr}.sns-area__head h3{font-size:22px}body{letter-spacing:.02em}.hero{min-height:650px}.hero h1{font-size:38px}.hero__copy{padding-top:130px}.intro h2,.history h2,.beginner h2,.daily h2,.cta h2{font-size:30px}.daily-list{grid-template-columns:1fr 1fr}.daily-item img{width:96px;height:96px}.step-grid{grid-template-columns:1fr}.enjoy-card__image{height:205px}.site-header{background:rgba(251,246,236,.92)}}

/* =========================================
   ver1 arrange: 7つの楽しみ方 / circular flow
========================================= */
.enjoy-flow{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.82), transparent 28%),
    radial-gradient(circle at 86% 72%, rgba(242,230,214,.62), transparent 30%),
    var(--base);
}
.enjoy-flow:before{
  content:"";
  position:absolute;
  inset:0;
  background-image: radial-gradient(rgba(139,106,66,.14) 1px, transparent 1px);
  background-size:28px 28px;
  opacity:.28;
  pointer-events:none;
}
.enjoy-flow__head{position:relative;z-index:2;margin-bottom:22px}.enjoy-flow__head h2,.center-head h2{font-family:"Noto Serif JP",serif;font-size:clamp(34px,4vw,54px);line-height:1.45;margin:.12em 0 .28em}.flow-map{position:relative;z-index:2;height:760px;margin:8px auto 0;max-width:1120px}.flow-map:before{content:"";position:absolute;inset:54px 70px 58px;border:2px solid rgba(218,190,155,.72);border-radius:50%;transform:rotate(-6deg);box-shadow:inset 0 0 0 18px rgba(255,250,240,.2)}.flow-map:after{content:"";position:absolute;inset:92px 118px 100px;border:1px dashed rgba(139,106,66,.38);border-radius:50%;transform:rotate(8deg);pointer-events:none}.flow-center{position:absolute;left:50%;top:50%;width:245px;height:245px;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-radius:50%;background:rgba(255,250,240,.9);border:1px solid var(--line);box-shadow:0 18px 48px rgba(87,54,29,.08);font-family:"Noto Serif JP",serif}.flow-center i{font-size:42px;color:var(--accent);margin-bottom:10px}.flow-center strong{font-size:24px;line-height:1.55;font-weight:600}.flow-center span{font-size:10px;letter-spacing:.2em;color:var(--sub);margin-top:10px}.flow-card{position:absolute;width:332px;min-height:176px;display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:center;padding:20px 22px;background:rgba(255,250,240,.94);border:1px solid rgba(218,190,155,.9);border-radius:999px;box-shadow:0 18px 45px rgba(87,54,29,.07)}.flow-card:after{content:"";position:absolute;width:54px;height:30px;border-top:2px dotted rgba(139,106,66,.55);border-right:2px dotted rgba(139,106,66,.55);border-radius:0 28px 0 0}.flow-card img{width:118px;height:118px;border-radius:50%;object-fit:cover;border:6px solid #fff7ea;box-shadow:0 10px 20px rgba(87,54,29,.08)}.flow-card h3{font-family:"Noto Serif JP",serif;font-size:21px;margin:0 0 6px;line-height:1.45}.flow-card p{font-size:12px;line-height:1.75;color:#604733;margin:0 0 4px}.flow-card .text-link{font-size:12px}.flow-num{position:absolute;top:-14px;left:34px;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:"Noto Serif JP",serif;font-size:22px;background:#86a363;box-shadow:0 8px 18px rgba(87,54,29,.12);z-index:2}.flow-card--01{left:0;top:72px}.flow-card--02{left:392px;top:84px}.flow-card--03{right:0;top:130px}.flow-card--04{right:22px;top:390px}.flow-card--05{left:540px;bottom:42px}.flow-card--06{left:250px;bottom:28px}.flow-card--07{left:0;top:398px}.flow-card--02 .flow-num{background:#d8aa43}.flow-card--03 .flow-num{background:#e08937}.flow-card--04 .flow-num{background:#dd7d7d}.flow-card--05 .flow-num{background:#b37ab6}.flow-card--06 .flow-num{background:#7b9ac2}.flow-card--07 .flow-num{background:#6e9a72}.flow-card--01:after{right:-48px;top:82px;transform:rotate(10deg)}.flow-card--02:after{right:-48px;top:82px;transform:rotate(18deg)}.flow-card--03:after{right:10px;bottom:-52px;transform:rotate(92deg)}.flow-card--04:after{left:-48px;bottom:42px;transform:rotate(180deg)}.flow-card--05:after{left:-50px;top:48px;transform:rotate(190deg)}.flow-card--06:after{left:-44px;top:30px;transform:rotate(210deg)}.flow-card--07:after{left:32px;top:-44px;transform:rotate(268deg)}
@media (max-width:900px){.enjoy-flow{padding-top:58px}.flow-map{height:auto;display:grid;gap:18px;max-width:680px}.flow-map:before,.flow-map:after{display:none}.flow-center{position:relative;left:auto;top:auto;transform:none;width:auto;height:auto;border-radius:24px;padding:28px 22px;margin:0 auto 6px;order:-1}.flow-center strong{font-size:22px}.flow-card{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%;min-height:0;border-radius:28px;grid-template-columns:120px 1fr;padding:18px 20px}.flow-card:after{content:"↓";width:34px;height:34px;left:50%;right:auto;top:auto;bottom:-27px;transform:translateX(-50%)!important;border:0;border-radius:50%;display:grid;place-items:center;background:#e9d8c2;color:var(--accent);font-weight:700;z-index:3}.flow-card--07:after{display:none}.flow-num{top:12px;left:92px;width:46px;height:46px;font-size:18px}.flow-card img{width:112px;height:112px}.flow-card h3{font-size:20px}.flow-card p{font-size:13px}}@media (max-width:520px){.enjoy-flow__head h2,.center-head h2{font-size:30px}.flow-card{grid-template-columns:1fr;border-radius:24px;text-align:center;padding:28px 22px 24px}.flow-card img{margin:auto;width:150px;height:150px}.flow-num{left:calc(50% - 78px);top:20px}.flow-center{border-radius:22px}.flow-center strong{font-size:20px}}

/* =========================================================
   adjustment: circle-flow clean version
   - dotted circle / dotted arrows removed
   - only soft beige oval guide line kept
   - PC card positions arranged on the oval path without overlap
========================================================= */
@media (min-width:901px){
  .flow-map{
    height:880px;
    max-width:1160px;
    margin-top:22px;
  }
  .flow-map:before{
    inset:72px 78px 72px;
    border:2px solid rgba(218,190,155,.64);
    border-radius:50%;
    transform:rotate(-4deg);
    box-shadow:none;
    z-index:0;
  }
  .flow-map:after{
    display:none !important;
  }
  .flow-card{
    width:300px;
    min-height:164px;
    grid-template-columns:104px 1fr;
    gap:15px;
    padding:18px 20px;
    z-index:2;
  }
  .flow-card:after{
    display:none !important;
  }
  .flow-card img{
    width:104px;
    height:104px;
  }
  .flow-card h3{
    font-size:19px;
  }
  .flow-card p{
    font-size:11.5px;
  }
  .flow-num{
    width:50px;
    height:50px;
    font-size:20px;
    top:-16px;
    left:30px;
  }
  .flow-center{
    width:214px;
    height:214px;
    z-index:3;
    background:rgba(255,250,240,.96);
  }
  .flow-center strong{
    font-size:21px;
  }

  .flow-card--01{left:70px;top:70px;}
  .flow-card--02{left:430px;top:42px;}
  .flow-card--03{right:64px;top:132px;}
  .flow-card--04{right:70px;top:446px;}
  .flow-card--05{left:570px;bottom:66px;}
  .flow-card--06{left:250px;bottom:56px;}
  .flow-card--07{left:66px;top:448px;}
}

/* =========================================================
   adjustment v3: PC circle-flow layout polish
   - boxes placed evenly on one large beige oval
   - consistent inner padding and text rhythm
   - no overlapping between 01-07 cards
========================================================= */
@media (min-width:901px){
  .enjoy-flow{
    padding-top:92px;
    padding-bottom:70px;
  }
  .enjoy-flow__head{
    margin-bottom:10px;
  }
  .flow-map{
    max-width:1180px;
    height:930px;
    margin-top:10px;
  }
  .flow-map:before{
    inset:118px 108px 118px;
    border:3px solid rgba(218,190,155,.44);
    border-radius:50%;
    transform:rotate(-4deg);
    box-shadow:none;
    z-index:0;
  }
  .flow-map:after,
  .flow-card:after{
    display:none !important;
  }
  .flow-card{
    width:350px;
    min-height:178px;
    grid-template-columns:108px minmax(0,1fr);
    gap:18px;
    align-items:center;
    padding:22px 26px 20px 22px;
    border-radius:999px;
    background:rgba(255,250,240,.97);
    border:1px solid rgba(218,190,155,.92);
    box-shadow:0 18px 46px rgba(87,54,29,.07);
    z-index:2;
  }
  .flow-card img{
    width:108px;
    height:108px;
    border-width:6px;
    flex:none;
  }
  .flow-card h3{
    font-size:20px;
    line-height:1.35;
    margin:0 0 8px;
    letter-spacing:.06em;
    white-space:nowrap;
  }
  .flow-card p{
    font-size:12px;
    line-height:1.8;
    margin:0 0 7px;
    letter-spacing:.035em;
  }
  .flow-card .text-link{
    display:inline-block;
    font-size:12px;
    line-height:1.2;
  }
  .flow-num{
    width:52px;
    height:52px;
    top:-15px;
    left:34px;
    font-size:20px;
  }
  .flow-center{
    width:224px;
    height:224px;
    z-index:3;
    background:rgba(255,250,240,.98);
  }
  .flow-center strong{
    font-size:22px;
  }

  .flow-card--01{left:415px;top:26px;}
  .flow-card--02{right:62px;top:150px;}
  .flow-card--03{right:22px;top:378px;}
  .flow-card--04{right:165px;top:642px;}
  .flow-card--05{left:415px;top:732px;}
  .flow-card--06{left:116px;top:622px;}
  .flow-card--07{left:20px;top:356px;}
}

@media (min-width:901px) and (max-width:1120px){
  .flow-map{
    max-width:980px;
    height:920px;
  }
  .flow-card{
    width:320px;
    grid-template-columns:98px minmax(0,1fr);
    gap:15px;
    padding:20px 22px 18px 20px;
  }
  .flow-card img{width:98px;height:98px;}
  .flow-card h3{font-size:18px;}
  .flow-card p{font-size:11.5px;line-height:1.72;}
  .flow-center{width:210px;height:210px;}
  .flow-map:before{inset:126px 74px 126px;}
  .flow-card--01{left:330px;top:30px;}
  .flow-card--02{right:24px;top:158px;}
  .flow-card--03{right:0;top:386px;}
  .flow-card--04{right:116px;top:642px;}
  .flow-card--05{left:330px;top:730px;}
  .flow-card--06{left:78px;top:620px;}
  .flow-card--07{left:0;top:360px;}
}

/* =========================================================
   final adjustment: 7つの楽しみ方を角丸カード型の整列レイアウトへ
   - ver1全体は維持
   - PCのみ円形配置をやめて、重なりのない3列フローへ
   - SPは既存の縦並び導線を維持
========================================================= */
@media (min-width: 901px){
  .enjoy-flow{
    padding: 92px 0 104px;
  }
  .enjoy-flow__head{
    margin-bottom: 44px;
  }
  .flow-map{
    width: min(1120px, calc(100% - 48px));
    max-width: 1120px;
    height: auto;
    margin: 0 auto;
    padding: 34px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 28px 30px;
    position: relative;
    overflow: visible;
  }
  .flow-map:before{
    content:"";
    position:absolute;
    inset: 78px 18px 80px;
    border: 20px solid rgba(232, 211, 184, .42);
    border-radius: 54px;
    transform:none;
    box-shadow:none;
    pointer-events:none;
    z-index:0;
  }
  .flow-map:after{
    display:none !important;
  }
  .flow-center{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    order:4;
    grid-column: 1 / -1;
    width:auto;
    height:auto;
    min-height: 148px;
    border-radius: 34px;
    padding: 30px 36px;
    margin: 4px auto;
    display:flex;
    flex-direction:row;
    gap:22px;
    z-index:2;
  }
  .flow-center i{
    margin:0;
    font-size:38px;
  }
  .flow-center strong{
    font-size:28px;
    line-height:1.45;
  }
  .flow-center span{
    margin-top:0;
    align-self:flex-end;
  }
  .flow-card{
    position:relative;
    left:auto !important;
    right:auto !important;
    top:auto !important;
    bottom:auto !important;
    width:auto;
    min-height: 378px;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding: 18px 18px 24px;
    border-radius: 32px;
    background:rgba(255,250,240,.96);
    border:1px solid rgba(218,190,155,.9);
    box-shadow:0 16px 36px rgba(87,54,29,.06);
    z-index:2;
  }
  .flow-card img{
    width:100%;
    height:154px;
    border-radius:24px;
    border:0;
    object-fit:cover;
    box-shadow:none;
    margin:0 0 18px;
  }
  .flow-card h3{
    font-size:22px;
    line-height:1.45;
    margin: 0 0 10px;
    min-height: 2.9em;
    display:flex;
    align-items:center;
  }
  .flow-card p{
    font-size:13px;
    line-height:1.85;
    margin:0 0 14px;
    color:#604733;
  }
  .flow-card .text-link{
    margin-top:auto;
    font-size:13px;
  }
  .flow-num{
    top: 16px;
    left: 16px;
    width: 52px;
    height: 52px;
    font-size: 21px;
    z-index:3;
  }
  .flow-card:after{
    content:"→";
    position:absolute;
    right:-23px;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    border:0;
    border-radius:50%;
    background:#ead8bd;
    color:#8b6a42;
    display:grid;
    place-items:center;
    font-size:18px;
    font-weight:700;
    box-shadow:0 8px 18px rgba(87,54,29,.08);
    z-index:4;
  }
  .flow-card--03:after,
  .flow-card--06:after{
    content:"↓";
    left:50%;
    right:auto;
    top:auto;
    bottom:-23px;
    transform:translateX(-50%);
  }
  .flow-card--07:after{
    display:none;
  }
  .flow-card--01{order:1;}
  .flow-card--02{order:2;}
  .flow-card--03{order:3;}
  .flow-card--04{order:5;}
  .flow-card--05{order:6;}
  .flow-card--06{order:7;}
  .flow-card--07{order:8;grid-column:2 / 3;}
}

@media (min-width: 901px) and (max-width: 1120px){
  .flow-map{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .flow-center{order:3;}
  .flow-card--01{order:1;}
  .flow-card--02{order:2;}
  .flow-card--03{order:4;}
  .flow-card--04{order:5;}
  .flow-card--05{order:6;}
  .flow-card--06{order:7;}
  .flow-card--07{order:8;grid-column:auto;}
  .flow-card:after{display:none;}
  .flow-map:before{border-radius:42px;}
}

/* =========================================================
   arrow-flow version: 角丸カードで 01→07 のつながりを見せる
   - ver1の全体デザインは維持
   - PC: 3列×2段＋07中央で視線誘導
   - SP: 縦並びで下矢印
========================================================= */
@media (min-width: 901px){
  .flow-map{
    width:min(1120px, calc(100% - 48px));
    max-width:1120px;
    height:auto;
    padding:38px 42px 48px;
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:42px 42px;
    align-items:stretch;
  }
  .flow-map:before{
    inset:22px 18px 26px;
    border:1px solid rgba(218,190,155,.58);
    border-radius:44px;
    background:rgba(255,250,240,.42);
  }
  .flow-center{
    order:0;
    grid-column:1 / -1;
    width:100%;
    min-height:auto;
    margin:0 0 6px;
    padding:24px 30px;
    border-radius:30px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap:18px;
  }
  .flow-center i{font-size:32px;}
  .flow-center strong{font-size:24px;}
  .flow-center span{align-self:center;margin-left:10px;}

  .flow-card{
    min-height:365px;
    padding:18px 18px 22px;
    border-radius:30px;
    overflow:visible;
  }
  .flow-card img{
    height:150px;
    border-radius:22px;
    margin-bottom:16px;
  }
  .flow-card h3{
    min-height:0;
    font-size:21px;
    margin-bottom:8px;
  }
  .flow-card p{
    font-size:12.5px;
    line-height:1.82;
  }
  .flow-num{
    top:14px;
    left:14px;
  }

  .flow-card--01{order:1;grid-column:auto;}
  .flow-card--02{order:2;grid-column:auto;}
  .flow-card--03{order:3;grid-column:auto;}
  .flow-card--04{order:4;grid-column:auto;}
  .flow-card--05{order:5;grid-column:auto;}
  .flow-card--06{order:6;grid-column:auto;}
  .flow-card--07{order:7;grid-column:2 / 3;}

  .flow-card:after{
    content:"→";
    position:absolute;
    right:-28px;
    top:50%;
    transform:translateY(-50%);
    width:46px;
    height:46px;
    border:0;
    border-radius:999px;
    background:#ead8bd;
    color:#8b6a42;
    display:grid;
    place-items:center;
    font-size:18px;
    font-weight:700;
    box-shadow:0 8px 18px rgba(87,54,29,.10);
    z-index:5;
  }
  .flow-card--03:after,
  .flow-card--06:after{
    content:"↓";
    left:50%;
    right:auto;
    top:auto;
    bottom:-31px;
    transform:translateX(-50%);
  }
  .flow-card--07:after{display:none!important;}
}

@media (min-width: 901px) and (max-width: 1120px){
  .flow-map{
    width:min(940px, calc(100% - 40px));
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:38px 36px;
  }
  .flow-center{grid-column:1 / -1;}
  .flow-card--01{order:1;}
  .flow-card--02{order:2;}
  .flow-card--03{order:3;}
  .flow-card--04{order:4;}
  .flow-card--05{order:5;}
  .flow-card--06{order:6;}
  .flow-card--07{order:7;grid-column:1 / -1;max-width:420px;justify-self:center;}
  .flow-card:after{display:grid!important;}
  .flow-card--02:after,
  .flow-card--04:after,
  .flow-card--06:after{
    content:"↓";
    left:50%;
    right:auto;
    top:auto;
    bottom:-29px;
    transform:translateX(-50%);
  }
  .flow-card--07:after{display:none!important;}
}

@media (max-width: 900px){
  .flow-card:after{
    content:"↓";
    width:34px;
    height:34px;
    left:50%;
    right:auto;
    top:auto;
    bottom:-27px;
    transform:translateX(-50%)!important;
    border:0;
    border-radius:50%;
    display:grid;
    place-items:center;
    background:#e9d8c2;
    color:var(--accent);
    font-weight:700;
    z-index:3;
  }
  .flow-card--07:after{display:none!important;}
}

/* =========================================================
   circle-quality version: 01〜07をきれいな円形導線へ再調整
   - ver1全体は維持
   - PCは5列グリッドで“円形に見える”安定配置
   - 重なり防止、余白統一、ベージュの丸線＋小さな矢印でつながり演出
========================================================= */
@media (min-width: 901px){
  .enjoy-flow{
    padding: 92px 0 104px;
  }
  .enjoy-flow__head{
    margin-bottom: 34px;
  }
  .flow-map{
    width: min(1160px, calc(100% - 48px));
    max-width: 1160px;
    height: 820px;
    margin: 0 auto;
    padding: 0;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1.04fr 250px 1.04fr 1fr;
    grid-template-rows: 172px 132px 210px 132px 172px;
    gap: 0;
    align-items: center;
    justify-items: center;
    overflow: visible;
  }
  .flow-map:before{
    content:"";
    position:absolute;
    inset: 72px 96px 72px;
    border: 18px solid rgba(232,211,184,.45);
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    transform: none;
    pointer-events:none;
    z-index:0;
  }
  .flow-map:after{
    content:"";
    position:absolute;
    inset: 92px 116px 92px;
    border: 1px solid rgba(218,190,155,.62);
    border-radius: 50%;
    background: transparent;
    pointer-events:none;
    z-index:0;
    display:block!important;
  }

  .flow-center{
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    grid-column: 3 / 4;
    grid-row: 3 / 4;
    width: 214px;
    height: 214px;
    min-height: 0;
    margin: 0;
    padding: 24px 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    border-radius: 999px;
    background: rgba(255,250,240,.98);
    border: 1px solid rgba(218,190,155,.86);
    box-shadow: 0 18px 44px rgba(87,54,29,.07);
    z-index: 3;
    text-align: center;
  }
  .flow-center i{
    margin: 0 0 2px;
    font-size: 34px;
  }
  .flow-center strong{
    font-size: 20px;
    line-height: 1.55;
  }
  .flow-center span{
    margin: 2px 0 0;
    align-self: auto;
    font-size: 10px;
  }

  .flow-card{
    position: relative;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 325px;
    min-height: 158px;
    display: grid;
    grid-template-columns: 98px minmax(0,1fr);
    align-items: center;
    gap: 16px;
    padding: 18px 22px 18px 18px;
    border-radius: 999px;
    background: rgba(255,250,240,.97);
    border: 1px solid rgba(218,190,155,.94);
    box-shadow: 0 16px 38px rgba(87,54,29,.065);
    overflow: visible;
    z-index: 2;
  }
  .flow-card img{
    width: 98px;
    height: 98px;
    margin: 0;
    border-radius: 999px;
    object-fit: cover;
    border: 6px solid #fff7ea;
    box-shadow: 0 10px 20px rgba(87,54,29,.08);
  }
  .flow-card h3{
    min-height: 0;
    font-size: 19px;
    line-height: 1.38;
    margin: 0 0 6px;
    white-space: normal;
    letter-spacing: .06em;
  }
  .flow-card p{
    font-size: 11.5px;
    line-height: 1.72;
    margin: 0 0 6px;
    color: #604733;
    letter-spacing: .025em;
  }
  .flow-card .text-link{
    display: inline-block;
    font-size: 11.5px;
    line-height: 1.2;
  }
  .flow-num{
    position: absolute;
    top: -14px;
    left: 30px;
    width: 50px;
    height: 50px;
    font-size: 20px;
    z-index: 4;
  }

  .flow-card--01{grid-column: 2 / 3; grid-row: 1 / 2; transform: translate(26px, 18px);} 
  .flow-card--02{grid-column: 4 / 5; grid-row: 1 / 2; transform: translate(-26px, 18px);} 
  .flow-card--03{grid-column: 5 / 6; grid-row: 3 / 4; transform: translate(-10px, -6px);} 
  .flow-card--04{grid-column: 4 / 5; grid-row: 5 / 6; transform: translate(-26px, -18px);} 
  .flow-card--05{grid-column: 2 / 3; grid-row: 5 / 6; transform: translate(26px, -18px);} 
  .flow-card--06{grid-column: 1 / 2; grid-row: 3 / 4; transform: translate(10px, -6px);} 
  .flow-card--07{grid-column: 1 / 2; grid-row: 2 / 3; transform: translate(54px, 8px);} 

  .flow-card:after{
    content:"→";
    position:absolute;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 999px;
    background: #ead8bd;
    color: #8b6a42;
    display:grid!important;
    place-items:center;
    font-size: 16px;
    font-weight: 700;
    box-shadow: 0 8px 18px rgba(87,54,29,.10);
    z-index: 5;
  }
  .flow-card--01:after{right:-48px; top:50%; transform:translateY(-50%);} 
  .flow-card--02:after{right:18px; bottom:-32px; content:"↘";} 
  .flow-card--03:after{left:50%; bottom:-42px; transform:translateX(-50%); content:"↓";} 
  .flow-card--04:after{left:-45px; top:50%; transform:translateY(-50%); content:"←";} 
  .flow-card--05:after{left:-10px; top:-34px; content:"↖";} 
  .flow-card--06:after{right:18px; top:-34px; content:"↗";} 
  .flow-card--07:after{right:4px; top:-34px; content:"↗";} 
}

@media (min-width: 901px) and (max-width: 1120px){
  .flow-map{
    width: min(980px, calc(100% - 40px));
    height: 780px;
    grid-template-columns: 1fr 1.03fr 220px 1.03fr 1fr;
    grid-template-rows: 164px 122px 198px 122px 164px;
  }
  .flow-map:before{inset: 84px 70px 84px; border-width: 16px;}
  .flow-map:after{inset: 104px 90px 104px;}
  .flow-card{
    width: 286px;
    min-height: 148px;
    grid-template-columns: 86px minmax(0,1fr);
    gap: 13px;
    padding: 17px 18px 17px 16px;
  }
  .flow-card img{width:86px;height:86px;border-width:5px;}
  .flow-card h3{font-size:17px;margin-bottom:5px;}
  .flow-card p{font-size:10.8px;line-height:1.66;}
  .flow-card .text-link{font-size:10.8px;}
  .flow-num{width:46px;height:46px;font-size:18px;left:26px;}
  .flow-center{width:196px;height:196px;}
  .flow-center strong{font-size:18px;}
  .flow-card--01{transform: translate(20px, 16px);} 
  .flow-card--02{transform: translate(-20px, 16px);} 
  .flow-card--03{transform: translate(-2px, -4px);} 
  .flow-card--04{transform: translate(-20px, -16px);} 
  .flow-card--05{transform: translate(20px, -16px);} 
  .flow-card--06{transform: translate(2px, -4px);} 
  .flow-card--07{transform: translate(42px, 8px);} 
}

@media (max-width: 900px){
  .flow-map:after{display:none!important;}
  .flow-card{transform:none!important;}
}

/* =========================================================
   FINAL CIRCLE QUALITY FIX 2026-05-18
   01〜07が画面外に出ない・重ならない・円上に自然に並ぶ最終調整
   - ベースver1は維持
   - PC: 安定した絶対配置の円形レイアウト
   - 1120px以下: 少し縮小して崩れ防止
   - SP: 既存の縦並びを維持
========================================================= */
@media (min-width: 901px){
  .enjoy-flow{
    padding: 86px 0 100px;
    overflow: hidden;
  }
  .enjoy-flow > .inner{
    width: 100%;
    max-width: none;
  }
  .enjoy-flow__head{
    width: min(1120px, calc(100% - 48px));
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 38px;
  }
  .flow-map{
    width: min(1120px, calc(100% - 56px));
    max-width: 1120px;
    height: 740px;
    margin: 0 auto;
    padding: 0;
    position: relative;
    display: block;
    overflow: visible;
  }
  .flow-map:before{
    content:"";
    position:absolute;
    left: 120px;
    right: 120px;
    top: 66px;
    bottom: 66px;
    border: 18px solid rgba(232,211,184,.42);
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    transform: none;
    pointer-events:none;
    z-index:0;
  }
  .flow-map:after{
    content:"";
    position:absolute;
    left: 139px;
    right: 139px;
    top: 86px;
    bottom: 86px;
    border: 1px solid rgba(218,190,155,.58);
    border-radius: 50%;
    background: transparent;
    pointer-events:none;
    z-index:0;
    display:block!important;
  }
  .flow-center{
    position:absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) !important;
    width: 210px;
    height: 210px;
    min-height: 0;
    margin:0;
    padding: 22px 20px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:8px;
    border-radius:999px;
    text-align:center;
    background:rgba(255,250,240,.98);
    border:1px solid rgba(218,190,155,.86);
    box-shadow:0 18px 44px rgba(87,54,29,.07);
    z-index:3;
  }
  .flow-center i{
    margin:0 0 2px;
    font-size:34px;
  }
  .flow-center strong{
    font-size:20px;
    line-height:1.56;
  }
  .flow-center span{
    margin:2px 0 0;
    align-self:auto;
    font-size:10px;
    letter-spacing:.2em;
  }
  .flow-card{
    position:absolute;
    width: 330px;
    min-height: 154px;
    display:grid;
    grid-template-columns: 96px minmax(0,1fr);
    align-items:center;
    gap:16px;
    padding:18px 22px 18px 18px;
    border-radius:999px;
    background:rgba(255,250,240,.97);
    border:1px solid rgba(218,190,155,.94);
    box-shadow:0 16px 38px rgba(87,54,29,.065);
    overflow:visible;
    z-index:2;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
  }
  .flow-card img{
    width:96px;
    height:96px;
    margin:0;
    border-radius:999px;
    object-fit:cover;
    border:6px solid #fff7ea;
    box-shadow:0 10px 20px rgba(87,54,29,.08);
  }
  .flow-card h3{
    min-height:0;
    font-size:19px;
    line-height:1.36;
    margin:0 0 6px;
    letter-spacing:.055em;
    white-space:normal;
  }
  .flow-card p{
    font-size:11.5px;
    line-height:1.72;
    margin:0 0 6px;
    color:#604733;
    letter-spacing:.025em;
  }
  .flow-card .text-link{
    display:inline-block;
    font-size:11.5px;
    line-height:1.2;
  }
  .flow-num{
    position:absolute;
    top:-15px;
    left:28px;
    width:50px;
    height:50px;
    font-size:20px;
    z-index:4;
  }

  /* 1120px幅の中に収めた座標。右端・左端にはみ出さない */
  .flow-card--01{left:395px!important; top:4px!important; transform:none!important;}
  .flow-card--02{left:748px!important; top:122px!important; transform:none!important;}
  .flow-card--03{left:770px!important; top:350px!important; transform:none!important;}
  .flow-card--04{left:584px!important; top:565px!important; transform:none!important;}
  .flow-card--05{left:206px!important; top:565px!important; transform:none!important;}
  .flow-card--06{left:20px!important; top:350px!important; transform:none!important;}
  .flow-card--07{left:42px!important; top:122px!important; transform:none!important;}

  .flow-card:after{
    content:"";
    position:absolute;
    width: 0;
    height: 0;
    display:none!important;
  }
  .flow-card--01:after,
  .flow-card--02:after,
  .flow-card--03:after,
  .flow-card--04:after,
  .flow-card--05:after,
  .flow-card--06:after{
    display:grid!important;
    width:34px;
    height:34px;
    border:0;
    border-radius:999px;
    background:#ead8bd;
    color:#8b6a42;
    place-items:center;
    font-size:15px;
    font-weight:700;
    box-shadow:0 8px 18px rgba(87,54,29,.10);
    z-index:5;
  }
  .flow-card--01:after{content:"→"; right:-44px; top:72px; transform:none;}
  .flow-card--02:after{content:"↘"; left:245px; bottom:-34px; transform:none;}
  .flow-card--03:after{content:"↓"; left:50%; bottom:-44px; transform:translateX(-50%);}
  .flow-card--04:after{content:"←"; left:-44px; top:72px; transform:none;}
  .flow-card--05:after{content:"↖"; left:18px; top:-39px; transform:none;}
  .flow-card--06:after{content:"↗"; right:18px; top:-39px; transform:none;}
  .flow-card--07:after{display:none!important;}
}

@media (min-width: 901px) and (max-width: 1180px){
  .flow-map{
    width: 1000px;
    height: 700px;
    transform: scale(.94);
    transform-origin: top center;
    margin-bottom: -42px;
  }
}

@media (min-width: 901px) and (max-width: 1040px){
  .flow-map{
    width: 940px;
    height: 676px;
    transform: scale(.88);
    margin-bottom: -76px;
  }
}

@media (max-width: 900px){
  .enjoy-flow{
    overflow: visible;
  }
  .flow-map{
    transform:none!important;
    margin-bottom:0!important;
  }
  .flow-map:before,
  .flow-map:after{
    display:none!important;
  }
}

/* =========================================================
   PC ONLY: 7つの楽しみ方 円形レイアウトの矢印を非表示
   SPの縦並び矢印は既存のまま維持
========================================================= */
@media (min-width: 901px){
  .flow-card::after,
  .flow-card--01::after,
  .flow-card--02::after,
  .flow-card--03::after,
  .flow-card--04::after,
  .flow-card--05::after,
  .flow-card--06::after,
  .flow-card--07::after{
    content: none !important;
    display: none !important;
  }
}

/* =========================================================
   V2 content expansion: deep detail sections
   - V2 circle flow remains untouched visually
   - adds in-page anchors, product/event sliders, beginner circle nav
========================================================= */
html{scroll-behavior:smooth;scroll-padding-top:92px}
.deep-section{background:linear-gradient(180deg,#fffaf0 0%, #fbf6ec 100%)}
.detail-block{display:grid;grid-template-columns:42% 1fr;gap:34px;align-items:center;margin:0 0 34px;padding:34px;background:rgba(255,250,240,.82);border:1px solid var(--line);box-shadow:0 18px 48px rgba(87,54,29,.055)}
.detail-block--reverse{grid-template-columns:1fr 42%}.detail-block--reverse .detail-block__visual{order:2}.detail-block--reverse .detail-block__body{order:1}.detail-block__visual img{width:100%;height:320px;object-fit:cover;border-radius:28px}.detail-block__body h3{font-family:"Noto Serif JP",serif;font-size:34px;line-height:1.45;margin:4px 0 14px}.detail-block__body p{color:var(--sub);margin:0 0 18px}.detail-num{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#86a363;color:#fff;font-family:"Noto Serif JP",serif;font-size:20px;margin-bottom:6px}.detail-button{padding:12px 24px;margin-top:10px}.detail-block--with-products{grid-template-columns:42% 1fr}.detail-block--with-products .product-row{grid-column:1 / -1}.product-row{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:12px}.product-card{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 12px 30px rgba(87,54,29,.05)}.product-card img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#f7eddf}.product-card__body{padding:18px}.product-card h4{font-family:"Noto Serif JP",serif;font-size:17px;line-height:1.45;margin:0 0 8px}.product-card p{font-size:13px;line-height:1.7;color:var(--sub);margin:0 0 10px}.product-card b{display:block;color:var(--accent);font-size:14px;margin-bottom:12px}.mini-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 16px;border-radius:999px;background:#70533a;color:#fff;font-size:12px;font-weight:700}.mini-button:after{content:"→";margin-left:8px}.beginner-flow{position:relative;height:660px;margin:22px auto 58px;max-width:1040px}.beginner-flow:before{content:"";position:absolute;inset:72px 110px;border:18px solid rgba(232,211,184,.42);border-radius:50%;pointer-events:none}.beginner-flow a{position:absolute;width:210px;height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;border-radius:34px;background:rgba(255,250,240,.96);border:1px solid rgba(218,190,155,.9);box-shadow:0 16px 38px rgba(87,54,29,.06);transition:.25s}.beginner-flow a:hover{transform:translateY(-4px)}.beginner-flow span{font-family:"Noto Serif JP",serif;font-size:22px;color:var(--accent)}.beginner-flow i{font-size:27px;color:var(--accent)}.beginner-flow b{font-family:"Noto Serif JP",serif;font-size:15px;line-height:1.45}.beginner-flow__center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:204px;height:204px;border-radius:50%;background:rgba(255,250,240,.98);border:1px solid var(--line);box-shadow:0 18px 44px rgba(87,54,29,.07);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-family:"Noto Serif JP",serif}.beginner-flow__center i{font-size:34px;color:var(--accent);margin-bottom:12px}.beginner-flow__center strong{font-size:22px;line-height:1.55}.beginner-flow a:nth-child(1){left:415px;top:0}.beginner-flow a:nth-child(2){right:50px;top:110px}.beginner-flow a:nth-child(3){right:20px;top:310px}.beginner-flow a:nth-child(4){right:180px;bottom:0}.beginner-flow a:nth-child(5){left:415px;bottom:-18px}.beginner-flow a:nth-child(6){left:100px;bottom:0}.beginner-flow a:nth-child(7){left:20px;top:310px}.beginner-details{margin-top:20px}.detail-block--events{display:block}.detail-block__body--wide{max-width:780px;margin:0 auto 24px;text-align:center}.event-row{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.event-row article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;text-align:center;box-shadow:0 12px 28px rgba(87,54,29,.05)}.event-row img{height:82px;width:auto;margin:0 auto 12px;object-fit:contain}.event-row h4{font-family:"Noto Serif JP",serif;font-size:15px;line-height:1.45;margin:0 0 8px}.event-row p{font-size:12px;line-height:1.65;color:var(--sub);min-height:62px;margin:0 0 12px}.consult-buttons{display:flex;gap:12px;flex-wrap:wrap;margin:18px 0 6px}.consult-buttons .button{margin-top:0;display:inline-flex;align-items:center;gap:9px;line-height:1.4}.consult-buttons .button small{font-size:12px;font-weight:500}.category-card img{aspect-ratio:4/3}
@media (max-width:900px){html{scroll-padding-top:74px}.detail-block,.detail-block--reverse,.detail-block--with-products{display:block;padding:22px;margin-bottom:24px}.detail-block--reverse .detail-block__visual{order:0}.detail-block__visual img{height:230px;border-radius:22px;margin-bottom:18px}.detail-block__body h3{font-size:28px}.product-row,.event-row{display:flex;overflow-x:auto;gap:14px;margin-inline:-22px;padding:4px 22px 18px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.product-card{min-width:240px;scroll-snap-align:start}.event-row article{min-width:210px;scroll-snap-align:start}.event-row img{height:74px}.event-row p{min-height:auto}.beginner-flow{height:auto;display:flex;overflow-x:auto;gap:14px;margin:10px -16px 44px;padding:8px 16px 22px;scroll-snap-type:x mandatory}.beginner-flow:before,.beginner-flow__center{display:none}.beginner-flow a{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;min-width:190px;height:136px;scroll-snap-align:start}.consult-buttons{display:grid}.consult-buttons .button{justify-content:center}.detail-num{width:46px;height:46px;font-size:18px}.deep-section .center-head{margin-bottom:28px}}
@media (max-width:520px){.detail-block{padding:20px}.detail-block__visual img{height:210px}.product-card{min-width:225px}.event-row article{min-width:200px}.beginner-flow a{min-width:176px}.detail-block__body h3{font-size:25px}}

/* =========================================================
   V2追加修正
   - はじめての方向け円形メニューを7つの楽しみ方と同じ品質へ
   - はじめての方向け詳細の写真をアイコンビジュアルへ
   - ヒーロー下メニュー通過後の下部フローティングメニュー
========================================================= */
.beginner-flow{
  height:auto!important;
  max-width:none!important;
  margin:22px auto 72px!important;
  padding:0!important;
  overflow:visible!important;
}
.beginner-flow:before,
.beginner-flow__center{
  display:none!important;
}
.beginner-flow .beginner-map{
  margin-inline:auto;
}
.beginner-flow .beginner-flow-card{
  text-decoration:none;
  color:var(--ink);
}
.beginner-flow .beginner-flow-card > i{
  width:118px;
  height:118px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 118px;
  background:#fff7ea;
  border:6px solid #fff7ea;
  box-shadow:0 10px 20px rgba(87,54,29,.08);
  color:var(--accent);
  font-size:40px;
}
.beginner-flow .beginner-flow-card span.text-link{
  font-size:12px;
  font-weight:700;
  color:var(--ink);
}
.beginner-flow .beginner-flow-card span.text-link:after{
  content:"→";
  margin-left:10px;
}
.beginner-flow .flow-center i{
  font-size:34px;
  color:var(--accent);
  margin-bottom:10px;
}
.beginner-flow .flow-center span{
  margin-top:8px;
}

.detail-block__visual--icon{
  height:320px;
}
.icon-visual{
  width:100%;
  height:100%;
  border-radius:28px;
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.9), transparent 34%),
    linear-gradient(135deg, #fff8eb 0%, #ead8bd 100%);
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:32px;
  box-shadow:inset 0 0 0 10px rgba(255,255,255,.35);
}
.icon-visual i{
  width:104px;
  height:104px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff;
  color:var(--accent);
  font-size:42px;
  box-shadow:0 14px 30px rgba(87,54,29,.08);
  margin-bottom:18px;
}
.icon-visual b{
  font-family:"Noto Serif JP",serif;
  font-size:24px;
  line-height:1.45;
  color:var(--ink);
}
.icon-visual span{
  display:block;
  margin-top:8px;
  font-size:14px;
  line-height:1.8;
  color:var(--sub);
}

.floating-page-menu{
  position:fixed;
  left:50%;
  bottom:22px;
  transform:translate(-50%, 120%);
  z-index:50;
  width:min(760px, calc(100% - 32px));
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:8px;
  padding:10px;
  border-radius:999px;
  background:rgba(255,250,240,.94);
  border:1px solid rgba(218,190,155,.95);
  box-shadow:0 18px 46px rgba(87,54,29,.18);
  backdrop-filter:blur(12px);
  opacity:0;
  pointer-events:none;
  transition:opacity .28s ease, transform .28s ease;
}
.floating-page-menu.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translate(-50%, 0);
}
.floating-page-menu a{
  min-height:52px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  color:var(--ink);
  font-size:13px;
  font-weight:700;
  background:rgba(255,255,255,.78);
  transition:.25s;
}
.floating-page-menu a:hover{
  background:#70533a;
  color:#fff;
  transform:translateY(-2px);
}
.floating-page-menu i{
  color:var(--accent);
}
.floating-page-menu a:hover i{
  color:#fff;
}
body{
  padding-bottom:0;
}

@media (max-width:900px){
  .beginner-flow{
    display:block!important;
    margin:8px auto 52px!important;
  }
  .beginner-flow .flow-map{
    height:auto!important;
    display:grid!important;
    gap:18px!important;
    max-width:680px!important;
    overflow:visible!important;
  }
  .beginner-flow .flow-center{
    display:flex!important;
  }
  .beginner-flow .beginner-flow-card{
    min-width:0!important;
    height:auto!important;
  }
  .beginner-flow .beginner-flow-card > i{
    width:112px;
    height:112px;
    flex-basis:112px;
    font-size:34px;
  }
  .detail-block__visual--icon{
    height:auto!important;
    margin-bottom:18px;
  }
  .icon-visual{
    min-height:220px;
    border-radius:22px;
    padding:28px 20px;
  }
  .icon-visual i{
    width:86px;
    height:86px;
    font-size:34px;
  }
  .floating-page-menu{
    width:calc(100% - 18px);
    bottom:10px;
    gap:6px;
    padding:8px;
    border-radius:22px;
  }
  .floating-page-menu a{
    min-height:50px;
    flex-direction:column;
    gap:2px;
    font-size:11px;
    line-height:1.2;
  }
  .floating-page-menu i{
    font-size:16px;
  }
}
@media (max-width:520px){
  .beginner-flow .beginner-flow-card > i{
    margin:auto;
    width:138px;
    height:138px;
    font-size:42px;
  }
  .floating-page-menu a span{
    white-space:nowrap;
  }
}

/* =========================================================
   追加修正 2026-05-20
   - はじめての方向け円形メニュー：配置は維持しつつ、アイコンを控えめなシンプルデザインへ
   - はじめての方向け深掘り：大きなアイコンビジュアルをやめ、マニュアル風の小さなアイコン＋見出しへ
   - フローティングメニュー：横長バーを区切ったボタンUIへ
========================================================= */

/* はじめての方向け：円形メニューのアイコンを小さく・シンプルに戻す */
.beginner-flow .beginner-flow-card{
  background:rgba(255,250,240,.97);
  border:1px solid rgba(218,190,155,.94);
  box-shadow:0 16px 38px rgba(87,54,29,.065);
}
.beginner-flow .beginner-flow-card > i{
  width:64px!important;
  height:64px!important;
  flex:0 0 64px!important;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#fff7ea;
  border:1px solid rgba(218,190,155,.75)!important;
  box-shadow:none!important;
  color:var(--accent);
  font-size:24px!important;
  margin:0!important;
}
.beginner-flow .beginner-flow-card h3{
  font-size:18px;
  margin-bottom:5px;
}
.beginner-flow .beginner-flow-card p{
  font-size:11.5px;
  line-height:1.65;
}
.beginner-flow .beginner-flow-card span.text-link{
  font-size:11.5px;
}

/* はじめての方向け：深掘りをマニュアル風の小さなアイコンカードに */
.beginner-details .detail-block{
  border-radius:26px;
}
.beginner-details .detail-block__visual--icon{
  height:auto!important;
  align-self:stretch;
}
.beginner-details .icon-visual{
  height:100%;
  min-height:0!important;
  border-radius:22px;
  padding:22px 20px;
  background:#fffaf0;
  border:1px solid var(--line);
  box-shadow:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  text-align:left;
}
.beginner-details .icon-visual i{
  width:46px!important;
  height:46px!important;
  min-width:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f2e6d6;
  color:var(--accent);
  font-size:19px!important;
  box-shadow:none;
  margin:0 0 14px!important;
}
.beginner-details .icon-visual b{
  font-family:"Noto Serif JP",serif;
  font-size:18px;
  line-height:1.45;
  margin-bottom:6px;
}
.beginner-details .icon-visual span{
  font-size:13px;
  line-height:1.75;
  color:var(--sub);
  margin:0;
}
.beginner-details .detail-block__body h3{
  margin-top:0;
}

/* 商品・カテゴリ付きのブロックも、左側は大きな写真風ではなく小さな案内カードに */
.beginner-details .detail-block--with-products{
  grid-template-columns:260px 1fr;
}
.beginner-details .detail-block:not(.detail-block--with-products):not(.detail-block--events){
  grid-template-columns:260px 1fr;
}
.beginner-details .detail-block--reverse:not(.detail-block--events){
  grid-template-columns:1fr 260px;
}

/* フローティングメニュー：ボタンが中に入るのではなく、横長バーを区切る */
.floating-page-menu{
  gap:0!important;
  padding:0!important;
  overflow:hidden;
  border-radius:18px!important;
  background:rgba(255,250,240,.97)!important;
  border:1px solid rgba(218,190,155,.95)!important;
}
.floating-page-menu a{
  border-radius:0!important;
  background:transparent!important;
  min-height:58px;
  border-right:1px solid rgba(218,190,155,.72);
}
.floating-page-menu a:last-child{
  border-right:0;
}
.floating-page-menu a:hover{
  background:#70533a!important;
  color:#fff;
  transform:none!important;
}

@media (max-width:900px){
  .beginner-flow .beginner-flow-card > i{
    width:56px!important;
    height:56px!important;
    flex-basis:56px!important;
    font-size:22px!important;
  }
  .beginner-flow .beginner-flow-card h3{
    font-size:17px;
  }
  .beginner-details .detail-block,
  .beginner-details .detail-block--with-products,
  .beginner-details .detail-block--reverse:not(.detail-block--events),
  .beginner-details .detail-block:not(.detail-block--with-products):not(.detail-block--events){
    display:block;
  }
  .beginner-details .detail-block__visual--icon{
    margin-bottom:14px;
  }
  .beginner-details .icon-visual{
    min-height:0!important;
    padding:18px 18px;
    flex-direction:row;
    align-items:center;
    gap:14px;
  }
  .beginner-details .icon-visual i{
    margin:0!important;
    width:42px!important;
    height:42px!important;
    min-width:42px;
    font-size:17px!important;
  }
  .beginner-details .icon-visual b{
    font-size:16px;
    margin-bottom:2px;
  }
  .beginner-details .icon-visual span{
    font-size:12px;
    line-height:1.55;
  }
  .floating-page-menu{
    width:calc(100% - 16px);
    bottom:8px;
    border-radius:16px!important;
  }
  .floating-page-menu a{
    min-height:54px;
    padding:6px 3px;
  }
}

@media (max-width:520px){
  .beginner-flow .beginner-flow-card > i{
    width:54px!important;
    height:54px!important;
    font-size:21px!important;
  }
  .floating-page-menu a span{
    font-size:10px;
  }
}

/* =========================================================
   FINAL FIX: 2026-05-20
   - floating label: 深掘り -> 私たちの歩み handled in HTML
   - beginner circular nav back to simple number + icon + title design
   - beginner detail changed to compact manual-style blocks
   - SP beginner nav follows enjoy-flow full-width stacked style
========================================================= */

/* はじめての方向け：円形ボタンをシンプルなカードデザインへ戻す */
.beginner-flow .beginner-flow-card{
  width:210px!important;
  min-height:170px!important;
  height:170px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  text-align:center!important;
  padding:24px 18px!important;
  border-radius:34px!important;
  background:rgba(255,250,240,.96)!important;
  border:1px solid rgba(218,190,155,.95)!important;
  box-shadow:0 16px 38px rgba(87,54,29,.065)!important;
  grid-template-columns:none!important;
}
.beginner-flow .beginner-flow-card .flow-num{
  position:static!important;
  width:auto!important;
  height:auto!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--accent)!important;
  box-shadow:none!important;
  font-family:"Noto Serif JP",serif!important;
  font-size:24px!important;
  line-height:1!important;
}
.beginner-flow .beginner-flow-card .simple-icon{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:12px!important;
  color:var(--accent)!important;
  line-height:1!important;
}
.beginner-flow .beginner-flow-card .simple-icon:before,
.beginner-flow .beginner-flow-card .simple-icon:after{
  content:"";
  display:block;
  width:4px;
  height:18px;
  border-radius:999px;
  background:#e3b300;
}
.beginner-flow .beginner-flow-card .simple-icon i{
  width:auto!important;
  height:auto!important;
  flex:auto!important;
  display:block!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--accent)!important;
  font-size:27px!important;
  margin:0!important;
}
.beginner-flow .beginner-flow-card b{
  font-family:"Noto Serif JP",serif!important;
  font-size:17px!important;
  line-height:1.45!important;
  color:var(--ink)!important;
}
.beginner-flow .beginner-flow-card div,
.beginner-flow .beginner-flow-card p,
.beginner-flow .beginner-flow-card .text-link{
  display:none!important;
}

/* はじめての方向け：掘り下げは小アイコン＋見出し＋本文のマニュアル風 */
.manual-details{
  display:grid;
  gap:24px;
  margin-top:28px;
}
.manual-detail{
  background:rgba(255,250,240,.86);
  border:1px solid var(--line);
  border-radius:26px;
  padding:30px 34px;
  box-shadow:0 18px 48px rgba(87,54,29,.055);
  scroll-margin-top:96px;
}
.manual-head{
  display:flex;
  align-items:center;
  gap:16px;
  margin-bottom:14px;
}
.manual-head > i{
  width:46px;
  height:46px;
  min-width:46px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#f2e6d6;
  color:var(--accent);
  font-size:18px;
}
.manual-head span{
  display:block;
  font-family:"Noto Serif JP",serif;
  color:var(--accent);
  font-size:18px;
  line-height:1;
  margin-bottom:4px;
}
.manual-head h3{
  font-family:"Noto Serif JP",serif;
  font-size:28px;
  line-height:1.45;
  margin:0;
  color:var(--ink);
}
.manual-detail > p{
  color:var(--sub);
  line-height:2;
  margin:0 0 18px;
}
.manual-detail .product-row,
.manual-detail .event-row{
  margin-top:22px;
}
.consult-buttons--two{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:20px;
}
.consult-buttons--two .button{
  justify-content:center;
  text-align:center;
  margin-top:0;
}

@media (max-width:900px){
  .beginner-flow .beginner-map{
    height:auto!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    max-width:680px!important;
    margin:0 auto!important;
    overflow:visible!important;
  }
  .beginner-flow .beginner-map:before,
  .beginner-flow .beginner-map:after{
    display:none!important;
  }
  .beginner-flow .flow-center{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:auto!important;
    height:auto!important;
    border-radius:24px!important;
    padding:28px 22px!important;
    margin:0 auto 6px!important;
    order:-1!important;
  }
  .beginner-flow .beginner-flow-card{
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:150px!important;
    border-radius:28px!important;
    padding:26px 20px!important;
  }
  .beginner-flow .beginner-flow-card:after{
    content:"↓"!important;
    width:34px!important;
    height:34px!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:-27px!important;
    transform:translateX(-50%)!important;
    border:0!important;
    border-radius:50%!important;
    display:grid!important;
    place-items:center!important;
    background:#e9d8c2!important;
    color:var(--accent)!important;
    font-weight:700!important;
    z-index:3!important;
  }
  .beginner-flow .flow-card--07:after{
    display:none!important;
  }
  .manual-detail{
    padding:24px 22px;
    border-radius:22px;
    scroll-margin-top:78px;
  }
  .manual-head{
    gap:13px;
  }
  .manual-head > i{
    width:42px;
    height:42px;
    min-width:42px;
    font-size:16px;
  }
  .manual-head h3{
    font-size:24px;
  }
  .consult-buttons--two{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:520px){
  .beginner-flow .beginner-flow-card{
    min-height:140px!important;
    width:100%!important;
  }
  .beginner-flow .beginner-flow-card b{
    font-size:16px!important;
  }
  .manual-head h3{
    font-size:22px;
  }
  .manual-detail > p{
    font-size:14px;
  }
  .consult-buttons--two{
    grid-template-columns:1fr 1fr;
    gap:10px;
  }
  .consult-buttons--two .button{
    padding:12px 8px;
    font-size:13px;
  }
}

/* =========================================================
   ADDITIONAL FINAL FIX
   - Remove accidental yellow vertical lines beside beginner icons
   - Fit center circle text neatly
   - Beginner product/category/event rows become horizontal sliders on SP
========================================================= */
.beginner-flow .beginner-flow-card .simple-icon:before,
.beginner-flow .beginner-flow-card .simple-icon:after{
  content:none!important;
  display:none!important;
}

.flow-center,
.beginner-flow .flow-center,
.enjoy-flow .flow-center{
  overflow:hidden!important;
  padding:24px 18px!important;
  box-sizing:border-box!important;
}
.flow-center strong,
.beginner-flow .flow-center strong,
.enjoy-flow .flow-center strong{
  display:block!important;
  max-width:168px!important;
  margin:0 auto!important;
  font-size:20px!important;
  line-height:1.55!important;
  letter-spacing:.02em!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.flow-center small,
.beginner-flow .flow-center small,
.enjoy-flow .flow-center small{
  display:block!important;
  margin-top:10px!important;
  font-size:11px!important;
  letter-spacing:.22em!important;
  line-height:1.2!important;
}

@media (max-width:900px){
  .manual-detail .product-row,
  .manual-detail .event-row,
  .beginner-details .product-row,
  .beginner-details .event-row{
    display:flex!important;
    grid-template-columns:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:14px!important;
    margin-left:-22px!important;
    margin-right:-22px!important;
    padding:4px 22px 18px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .manual-detail .product-card,
  .beginner-details .product-card{
    flex:0 0 240px!important;
    min-width:240px!important;
    width:240px!important;
    scroll-snap-align:start!important;
  }
  .manual-detail .event-row article,
  .beginner-details .event-row article{
    flex:0 0 210px!important;
    min-width:210px!important;
    width:210px!important;
    scroll-snap-align:start!important;
  }
  .manual-detail .product-row::-webkit-scrollbar,
  .manual-detail .event-row::-webkit-scrollbar,
  .beginner-details .product-row::-webkit-scrollbar,
  .beginner-details .event-row::-webkit-scrollbar{
    height:6px;
  }
  .manual-detail .product-row::-webkit-scrollbar-thumb,
  .manual-detail .event-row::-webkit-scrollbar-thumb,
  .beginner-details .product-row::-webkit-scrollbar-thumb,
  .beginner-details .event-row::-webkit-scrollbar-thumb{
    background:rgba(112,83,58,.28);
    border-radius:999px;
  }
}

@media (max-width:520px){
  .flow-center strong,
  .beginner-flow .flow-center strong,
  .enjoy-flow .flow-center strong{
    max-width:150px!important;
    font-size:18px!important;
    line-height:1.55!important;
  }
  .flow-center small,
  .beginner-flow .flow-center small,
  .enjoy-flow .flow-center small{
    font-size:10px!important;
    letter-spacing:.18em!important;
  }
  .manual-detail .product-card,
  .beginner-details .product-card{
    flex-basis:225px!important;
    min-width:225px!important;
    width:225px!important;
  }
}

/* =========================================================
   FINAL RESPONSIVE COMPLETE FIX
   - SP product/category/event rows: true horizontal sliders
   - Floating menu: responsive segmented bottom bar
   - Beginner center circle text: smaller, clean fit
   - Remove accidental yellow bars beside icons
========================================================= */

/* 黄色い縦線を完全削除 */
.beginner-flow .beginner-flow-card .simple-icon::before,
.beginner-flow .beginner-flow-card .simple-icon::after{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:transparent !important;
}
.beginner-flow .beginner-flow-card .simple-icon{
  gap:0 !important;
}

/* 円中央のテキストをきれいに収める */
.enjoy-flow .flow-center,
.beginner-flow .flow-center{
  box-sizing:border-box !important;
  overflow:hidden !important;
  padding:22px 18px !important;
}
.enjoy-flow .flow-center strong,
.beginner-flow .flow-center strong{
  display:block !important;
  max-width:168px !important;
  margin:0 auto !important;
  font-size:20px !important;
  line-height:1.48 !important;
  letter-spacing:.025em !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}
.beginner-flow .flow-center strong{
  max-width:150px !important;
  font-size:19px !important;
  line-height:1.45 !important;
}
.enjoy-flow .flow-center span,
.beginner-flow .flow-center span{
  display:block !important;
  margin-top:9px !important;
  font-size:10px !important;
  line-height:1.35 !important;
  letter-spacing:.2em !important;
  white-space:normal !important;
}
.beginner-flow .flow-center i{
  font-size:28px !important;
  margin-bottom:8px !important;
}

/* フローティングメニュー：PC/SPとも区切りボタンの下部バー */
.floating-page-menu{
  position:fixed !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) translateY(18px) !important;
  bottom:18px !important;
  width:min(760px, calc(100% - 36px)) !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border-radius:18px !important;
  border:1px solid rgba(218,190,155,.95) !important;
  background:rgba(255,250,240,.97) !important;
  box-shadow:0 18px 46px rgba(87,54,29,.18) !important;
  opacity:0 !important;
  pointer-events:none !important;
  z-index:50 !important;
}
.floating-page-menu.is-visible{
  opacity:1 !important;
  pointer-events:auto !important;
  transform:translateX(-50%) translateY(0) !important;
}
.floating-page-menu a{
  min-width:0 !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  padding:8px 12px !important;
  border-right:1px solid rgba(218,190,155,.72) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--ink) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.25 !important;
}
.floating-page-menu a:last-child{border-right:0 !important;}
.floating-page-menu i{color:var(--accent) !important;font-size:16px !important;}
.floating-page-menu a:hover{background:#70533a !important;color:#fff !important;transform:none !important;}
.floating-page-menu a:hover i{color:#fff !important;}

@media (max-width:900px){
  /* SPのフローティングメニューを画面下部にきれいに4分割 */
  body{padding-bottom:76px !important;}
  .floating-page-menu{
    bottom:8px !important;
    width:calc(100% - 16px) !important;
    border-radius:16px !important;
  }
  .floating-page-menu a{
    min-height:56px !important;
    flex-direction:column !important;
    gap:3px !important;
    padding:6px 2px !important;
    font-size:10.5px !important;
    text-align:center !important;
    white-space:nowrap !important;
  }
  .floating-page-menu i{font-size:16px !important;}

  /* はじめて円形中央のテキストをSPでも収める */
  .enjoy-flow .flow-center,
  .beginner-flow .flow-center{
    width:100% !important;
    max-width:360px !important;
    min-height:auto !important;
    height:auto !important;
    padding:22px 18px !important;
    border-radius:24px !important;
  }
  .enjoy-flow .flow-center strong,
  .beginner-flow .flow-center strong{
    max-width:230px !important;
    font-size:18px !important;
    line-height:1.45 !important;
  }
  .beginner-flow .flow-center strong{
    font-size:17px !important;
  }
  .enjoy-flow .flow-center span,
  .beginner-flow .flow-center span{
    font-size:9.5px !important;
    letter-spacing:.16em !important;
  }

  /* はじめて向けの商品紹介・カテゴリ紹介・イベントを横スライド化 */
  .beginner-details .manual-detail.manual-detail--with-products .product-row,
  .beginner-details .manual-detail .product-row,
  .beginner-details .manual-detail.manual-detail--events .event-row,
  .beginner-details .manual-detail .event-row,
  #beginner .manual-detail .product-row,
  #beginner .manual-detail .event-row{
    display:flex !important;
    grid-template-columns:none !important;
    flex-wrap:nowrap !important;
    width:auto !important;
    max-width:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:14px !important;
    margin-left:-22px !important;
    margin-right:-22px !important;
    padding:4px 22px 20px !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:thin !important;
  }
  .beginner-details .manual-detail .product-row > .product-card,
  #beginner .manual-detail .product-row > .product-card{
    flex:0 0 242px !important;
    width:242px !important;
    min-width:242px !important;
    max-width:242px !important;
    scroll-snap-align:start !important;
  }
  .beginner-details .manual-detail .event-row > article,
  #beginner .manual-detail .event-row > article{
    flex:0 0 214px !important;
    width:214px !important;
    min-width:214px !important;
    max-width:214px !important;
    scroll-snap-align:start !important;
  }
  .beginner-details .manual-detail .product-row::-webkit-scrollbar,
  .beginner-details .manual-detail .event-row::-webkit-scrollbar,
  #beginner .manual-detail .product-row::-webkit-scrollbar,
  #beginner .manual-detail .event-row::-webkit-scrollbar{
    height:6px !important;
  }
  .beginner-details .manual-detail .product-row::-webkit-scrollbar-thumb,
  .beginner-details .manual-detail .event-row::-webkit-scrollbar-thumb,
  #beginner .manual-detail .product-row::-webkit-scrollbar-thumb,
  #beginner .manual-detail .event-row::-webkit-scrollbar-thumb{
    background:rgba(112,83,58,.28) !important;
    border-radius:999px !important;
  }
}

@media (max-width:520px){
  .floating-page-menu a{
    font-size:10px !important;
  }
  .floating-page-menu a span{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
  .beginner-flow .flow-center strong{
    font-size:16px !important;
    max-width:210px !important;
  }
  .beginner-flow .flow-center i{
    font-size:25px !important;
  }
  .beginner-details .manual-detail .product-row > .product-card,
  #beginner .manual-detail .product-row > .product-card{
    flex-basis:228px !important;
    width:228px !important;
    min-width:228px !important;
    max-width:228px !important;
  }
  .beginner-details .manual-detail .event-row > article,
  #beginner .manual-detail .event-row > article{
    flex-basis:204px !important;
    width:204px !important;
    min-width:204px !important;
    max-width:204px !important;
  }
}

/* =========================================================
   USER REQUEST FIX 2026-05-20
   対象：SP版の下部フローティングメニュー、
         初めての方向けの商品・カテゴリ・イベント横スライド、
         初めての方向け円中央テキスト
   ※V2の円形デザイン自体は変更しない
========================================================= */

html, body{
  max-width:100%;
}
body{
  overflow-x:hidden;
}

/* 下部フローティングメニュー：PCは現状維持しつつ、横幅が暴れないように固定 */
.floating-page-menu{
  box-sizing:border-box !important;
  max-width:760px !important;
  width:min(760px, calc(100vw - 36px)) !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
}
.floating-page-menu a{
  box-sizing:border-box !important;
  min-width:0 !important;
  width:auto !important;
}
.floating-page-menu a span{
  min-width:0 !important;
}

/* 初めての方向け：中央の文字を楽しみ方側と近い見え方に調整 */
#beginner .beginner-flow .flow-center strong{
  max-width:150px !important;
  font-size:17px !important;
  line-height:1.45 !important;
  letter-spacing:.015em !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}
#beginner .beginner-flow .flow-center span{
  font-size:9.5px !important;
  letter-spacing:.14em !important;
  line-height:1.25 !important;
}
#beginner .beginner-flow .flow-center i{
  font-size:25px !important;
  margin-bottom:7px !important;
}

@media (max-width:900px){
  body{
    padding-bottom:76px !important;
    overflow-x:hidden !important;
  }

  /* フローティングメニュー：SPで画面幅内に必ず収める */
  .floating-page-menu{
    left:8px !important;
    right:8px !important;
    bottom:8px !important;
    width:auto !important;
    max-width:none !important;
    transform:translateY(18px) !important;
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:0 !important;
    padding:0 !important;
    border-radius:14px !important;
    overflow:hidden !important;
  }
  .floating-page-menu.is-visible{
    transform:translateY(0) !important;
  }
  .floating-page-menu a{
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
    min-height:54px !important;
    padding:6px 2px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    font-size:10px !important;
    line-height:1.15 !important;
    text-align:center !important;
    white-space:normal !important;
    overflow:hidden !important;
  }
  .floating-page-menu i{
    font-size:15px !important;
    line-height:1 !important;
  }
  .floating-page-menu a span{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    font-size:10px !important;
  }

  /* 初めての方向けの商品・カテゴリ・イベント：楽しみ方と同じ横スライド方式 */
  #beginner .beginner-details .product-row,
  #beginner .beginner-details .event-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    grid-template-columns:none !important;
    gap:14px !important;
    width:auto !important;
    max-width:none !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x mandatory !important;
    margin-left:-22px !important;
    margin-right:-22px !important;
    padding:4px 22px 20px !important;
  }
  #beginner .beginner-details .product-row > .product-card{
    flex:0 0 240px !important;
    width:240px !important;
    min-width:240px !important;
    max-width:240px !important;
    scroll-snap-align:start !important;
  }
  #beginner .beginner-details .event-row > article{
    flex:0 0 210px !important;
    width:210px !important;
    min-width:210px !important;
    max-width:210px !important;
    scroll-snap-align:start !important;
  }
  #beginner .beginner-details .product-row::-webkit-scrollbar,
  #beginner .beginner-details .event-row::-webkit-scrollbar{
    height:6px !important;
  }
  #beginner .beginner-details .product-row::-webkit-scrollbar-thumb,
  #beginner .beginner-details .event-row::-webkit-scrollbar-thumb{
    background:rgba(112,83,58,.28) !important;
    border-radius:999px !important;
  }

  /* 初めての方向け中央テキスト：SPでも詰まらないサイズへ */
  #beginner .beginner-flow .flow-center strong{
    max-width:220px !important;
    font-size:16px !important;
    line-height:1.45 !important;
  }
  #beginner .beginner-flow .flow-center span{
    font-size:9px !important;
    letter-spacing:.12em !important;
  }
}

@media (max-width:520px){
  #beginner .beginner-details .product-row,
  #beginner .beginner-details .event-row{
    margin-left:-20px !important;
    margin-right:-20px !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  #beginner .beginner-details .product-row > .product-card{
    flex-basis:225px !important;
    width:225px !important;
    min-width:225px !important;
    max-width:225px !important;
  }
  #beginner .beginner-details .event-row > article{
    flex-basis:200px !important;
    width:200px !important;
    min-width:200px !important;
    max-width:200px !important;
  }
  .floating-page-menu{
    left:6px !important;
    right:6px !important;
    bottom:6px !important;
  }
  .floating-page-menu a{
    min-height:52px !important;
    padding:5px 1px !important;
  }
  .floating-page-menu a span{
    font-size:9.5px !important;
  }
}

/* =========================================================
   TRUE SP FIX 2026-05-20
   修正対象を限定：SP横スライド / SPフローティングメニュー / はじめて円中央テキスト
   画面横揺れ防止のため、横スライダーは親幅100%内で内部スクロールに固定
========================================================= */
*, *::before, *::after{ box-sizing:border-box; }
html, body{ width:100%; max-width:100%; }
body{ overflow-x:hidden !important; }

/* 黄色い縦線を完全に無効化 */
.beginner-flow .simple-icon::before,
.beginner-flow .simple-icon::after,
.beginner-flow-card .simple-icon::before,
.beginner-flow-card .simple-icon::after{
  content:none !important;
  display:none !important;
  width:0 !important;
  height:0 !important;
  background:transparent !important;
  border:0 !important;
}

/* はじめて方向けの中央円テキストを楽しみ方側に近いサイズへ */
#beginner .beginner-flow .flow-center{
  width:245px !important;
  height:245px !important;
  padding:24px 22px !important;
  overflow:hidden !important;
}
#beginner .beginner-flow .flow-center i{
  font-size:31px !important;
  margin-bottom:8px !important;
}
#beginner .beginner-flow .flow-center strong{
  display:block !important;
  width:100% !important;
  max-width:174px !important;
  margin:0 auto !important;
  font-size:19px !important;
  line-height:1.5 !important;
  letter-spacing:.01em !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}
#beginner .beginner-flow .flow-center span{
  display:block !important;
  margin-top:9px !important;
  font-size:9.5px !important;
  line-height:1.2 !important;
  letter-spacing:.16em !important;
}

/* フローティングメニュー：PCもSPも横幅計算を安全化 */
.floating-page-menu{
  box-sizing:border-box !important;
  max-width:760px !important;
  width:min(760px, calc(100vw - 36px)) !important;
  left:50% !important;
  right:auto !important;
  transform:translateX(-50%) translateY(18px) !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  min-width:0 !important;
}
.floating-page-menu.is-visible{
  transform:translateX(-50%) translateY(0) !important;
}
.floating-page-menu a{
  min-width:0 !important;
  max-width:none !important;
  overflow:hidden !important;
}
.floating-page-menu a span{
  min-width:0 !important;
  max-width:100% !important;
  overflow:hidden !important;
}

@media (max-width:900px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }
  body{
    padding-bottom:72px !important;
  }
  main, section, .inner, .beginner, #beginner, .beginner-details, .manual-details, .manual-detail{
    max-width:100% !important;
    min-width:0 !important;
  }
  .inner{
    width:calc(100% - 32px) !important;
  }
  .manual-detail{
    overflow:hidden !important;
    padding-left:22px !important;
    padding-right:22px !important;
  }

  /* SP横スライド：楽しみ方と同じく内部スクロールに固定。body側へは絶対にはみ出させない */
  #beginner .beginner-details .manual-detail .product-row,
  #beginner .beginner-details .manual-detail .event-row,
  #beginner .manual-detail .product-row,
  #beginner .manual-detail .event-row{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    grid-template-columns:none !important;
    gap:14px !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:22px 0 0 !important;
    padding:4px 0 18px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x mandatory !important;
    overscroll-behavior-x:contain !important;
  }
  #beginner .beginner-details .manual-detail .product-row > .product-card,
  #beginner .manual-detail .product-row > .product-card{
    flex:0 0 min(240px, 72vw) !important;
    width:min(240px, 72vw) !important;
    min-width:min(240px, 72vw) !important;
    max-width:min(240px, 72vw) !important;
    scroll-snap-align:start !important;
  }
  #beginner .beginner-details .manual-detail .event-row > article,
  #beginner .manual-detail .event-row > article{
    flex:0 0 min(210px, 68vw) !important;
    width:min(210px, 68vw) !important;
    min-width:min(210px, 68vw) !important;
    max-width:min(210px, 68vw) !important;
    scroll-snap-align:start !important;
  }
  #beginner .product-row::-webkit-scrollbar,
  #beginner .event-row::-webkit-scrollbar{ height:6px !important; }
  #beginner .product-row::-webkit-scrollbar-thumb,
  #beginner .event-row::-webkit-scrollbar-thumb{
    background:rgba(112,83,58,.3) !important;
    border-radius:999px !important;
  }

  /* SPフローティングメニュー：画面下いっぱいの4分割バー */
  .floating-page-menu,
  .floating-page-menu.is-visible{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100vw !important;
    max-width:100vw !important;
    min-width:0 !important;
    transform:translateY(0) !important;
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    overflow:hidden !important;
    z-index:9999 !important;
  }
  .floating-page-menu a{
    width:auto !important;
    min-width:0 !important;
    min-height:58px !important;
    padding:6px 1px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    font-size:10px !important;
    line-height:1.15 !important;
    text-align:center !important;
    white-space:normal !important;
    border-radius:0 !important;
  }
  .floating-page-menu i{
    font-size:15px !important;
    line-height:1 !important;
  }
  .floating-page-menu a span{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    font-size:10px !important;
  }

  /* SP中央円テキスト */
  #beginner .beginner-flow .flow-center{
    width:100% !important;
    max-width:360px !important;
    height:auto !important;
    min-height:0 !important;
    padding:24px 20px !important;
    border-radius:24px !important;
  }
  #beginner .beginner-flow .flow-center strong{
    max-width:230px !important;
    font-size:17px !important;
    line-height:1.5 !important;
  }
}

@media (max-width:520px){
  .inner{ width:calc(100% - 28px) !important; }
  .manual-detail{
    padding-left:20px !important;
    padding-right:20px !important;
  }
  #beginner .beginner-details .manual-detail .product-row > .product-card,
  #beginner .manual-detail .product-row > .product-card{
    flex-basis:min(225px, 74vw) !important;
    width:min(225px, 74vw) !important;
    min-width:min(225px, 74vw) !important;
    max-width:min(225px, 74vw) !important;
  }
  #beginner .beginner-details .manual-detail .event-row > article,
  #beginner .manual-detail .event-row > article{
    flex-basis:min(200px, 70vw) !important;
    width:min(200px, 70vw) !important;
    min-width:min(200px, 70vw) !important;
    max-width:min(200px, 70vw) !important;
  }
  .floating-page-menu a span{
    font-size:9px !important;
  }
  .floating-page-menu a{
    min-height:56px !important;
  }
  #beginner .beginner-flow .flow-center strong{
    max-width:210px !important;
    font-size:16px !important;
    line-height:1.48 !important;
  }
}

/* === nav + number color final adjustment === */
.hero-links{grid-template-columns:repeat(5,1fr) !important;}
@media (max-width:900px){.hero-links{grid-template-columns:repeat(2,1fr) !important;}}
@media (max-width:520px){.hero-links{grid-template-columns:1fr !important;}}

/* 深掘り番号を円形ボタンと同じ配色へ */
#enjoy-detail-1 .detail-num{background:#86a363 !important;}
#enjoy-detail-2 .detail-num{background:#d8aa43 !important;}
#enjoy-detail-3 .detail-num{background:#e08937 !important;}
#enjoy-detail-4 .detail-num{background:#dd7d7d !important;}
#enjoy-detail-5 .detail-num{background:#b37ab6 !important;}
#enjoy-detail-6 .detail-num{background:#7b9ac2 !important;}
#enjoy-detail-7 .detail-num{background:#6e9a72 !important;}

/* 下部フローティングナビ：5分割対応 */
.floating-page-menu{grid-template-columns:repeat(5,1fr) !important;}
.floating-page-menu a{min-width:0 !important;}
@media (max-width:520px){
  .floating-page-menu{left:8px !important;right:8px !important;bottom:8px !important;width:auto !important;grid-template-columns:repeat(5,1fr) !important;}
  .floating-page-menu a{font-size:10px !important;padding:7px 2px !important;gap:3px !important;}
  .floating-page-menu i{font-size:14px !important;}
  .floating-page-menu a span{font-size:10px !important;white-space:nowrap;}
}

/* =========================================================
   FINAL FIX: SP floating menu one-line layout
   - keep 5 buttons in a single row
   - prevent page horizontal shake/overflow
   ========================================================= */
html, body{
  max-width:100%;
  overflow-x:hidden;
}

@media (max-width: 640px){
  body{
    padding-bottom:76px !important;
  }

  .floating-page-menu,
  .floating-page-menu.is-visible{
    position:fixed !important;
    left:8px !important;
    right:8px !important;
    bottom:8px !important;
    width:auto !important;
    max-width:calc(100vw - 16px) !important;
    min-width:0 !important;
    transform:none !important;
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr)) !important;
    gap:0 !important;
    border-radius:14px !important;
    overflow:hidden !important;
    background:rgba(255,250,240,.97) !important;
    border:1px solid var(--line) !important;
    box-shadow:0 12px 28px rgba(87,54,29,.16) !important;
    z-index:9999 !important;
  }

  .floating-page-menu:not(.is-visible){
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateY(16px) !important;
  }

  .floating-page-menu.is-visible{
    opacity:1 !important;
    pointer-events:auto !important;
  }

  .floating-page-menu a{
    min-width:0 !important;
    width:auto !important;
    height:58px !important;
    min-height:58px !important;
    padding:6px 2px 5px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    border-right:1px solid var(--line) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    font-size:10px !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
  }

  .floating-page-menu a:last-child{
    border-right:0 !important;
  }

  .floating-page-menu i{
    display:block !important;
    font-size:15px !important;
    line-height:1 !important;
    margin:0 !important;
    color:var(--accent) !important;
  }

  .floating-page-menu a span{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:clip !important;
    white-space:nowrap !important;
    text-align:center !important;
    font-size:10px !important;
    line-height:1.1 !important;
    letter-spacing:-.04em !important;
    transform:scale(.92) !important;
    transform-origin:center center !important;
  }
}

@media (max-width: 380px){
  .floating-page-menu a{
    height:54px !important;
    min-height:54px !important;
    padding:5px 1px 4px !important;
  }
  .floating-page-menu i{
    font-size:14px !important;
  }
  .floating-page-menu a span{
    font-size:9px !important;
    transform:scale(.9) !important;
  }
}
/* =========================================================
   Arrow Icon Fix v2
   目的：文字の「→」「↓」をFont Awesomeアイコン表示に寄せる
   使い方：現在の style.css の一番下に追記してください
   前提：HTML側で Font Awesome 6 Free が読み込まれていること
========================================================= */

/* 共通：テキストリンク・通常ボタンの矢印をアイコン化 */
.text-link::after,
.button::after,
.mini-button::after,
.beginner-flow .beginner-flow-card span.text-link::after{
  content:"\f054" !important; /* fa-chevron-right */
  font-family:"Font Awesome 6 Free" !important;
  font-weight:900 !important;
  display:inline-block !important;
  margin-left:.7em !important;
  font-size:.82em !important;
  line-height:1 !important;
  vertical-align:middle !important;
  transform:translateY(-.04em) !important;
  border:0 !important;
  background:none !important;
  box-shadow:none !important;
  color:currentColor !important;
}

/* hover時に少しだけ動かす */
.text-link:hover::after,
.button:hover::after,
.mini-button:hover::after,
.beginner-flow .beginner-flow-card span.text-link:hover::after{
  transform:translate(3px, -.04em) !important;
}

/* PCの円形フロー矢印は非表示維持 */
@media (min-width:901px){
  .flow-card::after,
  .flow-card--01::after,
  .flow-card--02::after,
  .flow-card--03::after,
  .flow-card--04::after,
  .flow-card--05::after,
  .flow-card--06::after,
  .flow-card--07::after,
  .beginner-flow .beginner-flow-card::after,
  .beginner-flow .flow-card--01::after,
  .beginner-flow .flow-card--02::after,
  .beginner-flow .flow-card--03::after,
  .beginner-flow .flow-card--04::after,
  .beginner-flow .flow-card--05::after,
  .beginner-flow .flow-card--06::after,
  .beginner-flow .flow-card--07::after{
    content:none !important;
    display:none !important;
  }
}

/* SP：7つの楽しみ方の下矢印をFont Awesome化 */
@media (max-width:900px){
  .enjoy-flow .flow-card::after{
    content:"\f078" !important; /* fa-chevron-down */
    font-family:"Font Awesome 6 Free" !important;
    font-weight:900 !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:-25px !important;
    transform:translateX(-50%) !important;
    width:34px !important;
    height:34px !important;
    border:0 !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:#e9d8c2 !important;
    color:var(--accent) !important;
    font-size:13px !important;
    line-height:1 !important;
    box-shadow:0 8px 18px rgba(87,54,29,.08) !important;
    z-index:5 !important;
  }

  .enjoy-flow .flow-card--07::after{
    content:none !important;
    display:none !important;
  }

  /* SP：初めての方向け円形ナビの下矢印もFont Awesome化 */
  .beginner-flow .beginner-flow-card::after,
  .beginner-flow .flow-card::after{
    content:"\f078" !important; /* fa-chevron-down */
    font-family:"Font Awesome 6 Free" !important;
    font-weight:900 !important;
    position:absolute !important;
    left:50% !important;
    right:auto !important;
    top:auto !important;
    bottom:-25px !important;
    transform:translateX(-50%) !important;
    width:34px !important;
    height:34px !important;
    border:0 !important;
    border-radius:999px !important;
    display:grid !important;
    place-items:center !important;
    background:#e9d8c2 !important;
    color:var(--accent) !important;
    font-size:13px !important;
    line-height:1 !important;
    box-shadow:0 8px 18px rgba(87,54,29,.08) !important;
    z-index:5 !important;
  }

  .beginner-flow .flow-card--07::after,
  .beginner-flow .beginner-flow-card:nth-of-type(7)::after,
  .beginner-flow .beginner-flow-card:last-of-type::after{
    content:none !important;
    display:none !important;
  }
}

/* 念のため：文字矢印用の疑似要素が残っても縦線やズレが出にくいよう補正 */
.flow-card::after,
.beginner-flow .beginner-flow-card::after{
  text-align:center !important;
  letter-spacing:0 !important;
  writing-mode:horizontal-tb !important;
}


/* =========================================================
   2026追加調整
   - 私たちの歩み削除に伴うナビ調整
   - SPヒーローテキスト縮小
   - いらっしゃいませ吹き出し
   - よろこび食コンテンツ
   - 初めての方へ商品小見出し
========================================================= */
.welcome{
  padding-top:56px;
  background:linear-gradient(180deg,#fbf6ec 0%, #fffaf0 100%);
}
.welcome__grid{
  display:grid;
  grid-template-columns:34% 1fr;
  gap:44px;
  align-items:center;
}
.welcome__image{
  align-self:end;
}
.welcome__image img{
  width:100%;
  max-height:520px;
  object-fit:contain;
  object-position:center bottom;
}
.welcome__bubble{
  position:relative;
  background:rgba(255,250,240,.96);
  border:1px solid var(--line);
  border-radius:42px;
  padding:46px 52px;
  box-shadow:0 18px 48px rgba(87,54,29,.07);
}
.welcome__bubble:before{
  content:"";
  position:absolute;
  left:-22px;
  top:54%;
  width:44px;
  height:44px;
  background:rgba(255,250,240,.96);
  border-left:1px solid var(--line);
  border-bottom:1px solid var(--line);
  transform:rotate(45deg);
}
.welcome__bubble h2,
.yorokobi__body h2{
  font-family:"Noto Serif JP",serif;
  font-size:clamp(32px,3.8vw,48px);
  line-height:1.48;
  margin:.15em 0 .55em;
}
.welcome__bubble p:not(.section-kicker),
.yorokobi__body p{
  color:var(--sub);
  margin:0 0 1em;
}
.intro__body p{
  margin:0;
  color:var(--sub);
}
.yorokobi{
  background:linear-gradient(180deg,#fffaf0 0%, #fbf6ec 100%);
}
.yorokobi__visual{
  border-radius:44px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:0 18px 48px rgba(87,54,29,.07);
  margin-bottom:36px;
}
.yorokobi__visual img{
  width:100%;
  max-height:520px;
  object-fit:cover;
}
.yorokobi__body{
  max-width:860px;
  margin:0 auto;
  padding:42px 46px;
  background:rgba(255,250,240,.74);
  border:1px solid var(--line);
  border-radius:34px;
}
.yorokobi__lead{
  font-family:"Noto Serif JP",serif;
  font-size:22px;
  color:var(--accent)!important;
  text-align:center;
  margin:1.4em 0!important;
}
.product-section-title{
  grid-column:1 / -1;
  font-family:"Noto Serif JP",serif;
  font-size:24px;
  line-height:1.45;
  margin:24px 0 14px;
  color:var(--ink);
  display:flex;
  align-items:center;
  gap:12px;
}
.product-section-title:before{
  content:"";
  width:34px;
  height:1px;
  background:var(--accent);
  opacity:.65;
}
.manual-detail .product-section-title:first-of-type{
  margin-top:28px;
}

@media (max-width:900px){
  .hero h1{
    font-size:clamp(31px,9vw,42px);
    letter-spacing:.08em;
    line-height:1.42;
  }
  .hero__copy p:not(.eyebrow){
    font-size:14px;
    line-height:1.9;
  }
  .handwriting{
    margin-top:28px;
    font-size:14px;
  }
  .welcome{
    padding-top:44px;
  }
  .welcome__grid{
    grid-template-columns:1fr;
    gap:0;
  }
  .welcome__image{
    max-width:260px;
    margin:0 auto -8px;
    position:relative;
    z-index:2;
  }
  .welcome__bubble{
    border-radius:30px;
    padding:34px 24px 28px;
  }
  .welcome__bubble:before{
    left:50%;
    top:-17px;
    transform:translateX(-50%) rotate(135deg);
    width:34px;
    height:34px;
  }
  .yorokobi__visual{
    border-radius:28px;
    margin-bottom:24px;
  }
  .yorokobi__visual img{
    max-height:360px;
  }
  .yorokobi__body{
    padding:30px 24px;
    border-radius:28px;
  }
  .product-section-title{
    min-width:100%;
    font-size:20px;
    margin:20px 0 10px;
    padding-left:22px;
    padding-right:22px;
  }
}

@media (max-width:520px){
  .hero h1{
    font-size:31px;
    letter-spacing:.055em;
  }
  .hero__copy p:not(.eyebrow){
    font-size:13px;
    line-height:1.85;
  }
  .welcome__bubble h2,
  .yorokobi__body h2{
    font-size:28px;
  }
  .welcome__image{
    max-width:220px;
  }
}

/* =========================================================
   2026-05-28 layout fix
   - welcome staff larger / greeting heading smaller
   - beginner product rows normalized after 2-section product block
========================================================= */
@media (min-width:901px){
  .welcome__grid{
    grid-template-columns:minmax(360px,42%) 1fr;
    gap:34px;
    align-items:end;
  }
  .welcome__image{
    align-self:end;
  }
  .welcome__image img{
    width:100%;
    max-height:680px;
    object-fit:contain;
    object-position:center bottom;
  }
  .welcome__bubble h2{
    font-size:clamp(28px,2.8vw,38px);
    line-height:1.5;
  }
  .product-row--beginner{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    margin-top:14px;
    margin-bottom:28px;
  }
}

.product-section-title{
  clear:both;
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  margin:34px 0 14px;
  font-family:"Noto Serif JP",serif;
  font-size:22px;
  line-height:1.45;
  color:var(--ink);
}
.product-section-title:before{
  content:"";
  display:block;
  width:7px;
  height:1.4em;
  border-radius:99px;
  background:var(--accent);
}
.manual-detail .product-section-title:first-of-type{
  margin-top:28px;
}
.manual-detail--with-products > .product-row{
  width:100%;
}

@media (max-width:900px){
  .welcome__image{
    max-width:340px;
    margin:0 auto -8px;
  }
  .welcome__bubble h2{
    font-size:30px;
    line-height:1.5;
  }
  .product-row--beginner{
    display:flex;
    overflow-x:auto;
    gap:14px;
    margin-inline:-22px;
    padding:4px 22px 18px;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .product-row--beginner .product-card{
    min-width:240px;
    scroll-snap-align:start;
  }
  .product-section-title{
    font-size:20px;
    margin:28px 0 12px;
  }
}

@media (max-width:520px){
  .welcome__image{
    max-width:300px;
  }
  .welcome__bubble h2{
    font-size:25px;
  }
}


/* =========================================================
   2026-05 staff/menu polish
   - SP hero menu centered + equal width
   - welcome staff02 balance / speech bubble polish
   - SP: speech bubble first, staff image below
   ※ beginner section untouched
========================================================= */
.hero-links{
  justify-content:center;
}

.welcome__grid{
  grid-template-columns:42% 1fr !important;
  gap:38px !important;
  align-items:end !important;
}
.welcome__image{
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.welcome__image img{
  width:min(100%, 420px) !important;
  max-height:640px !important;
  object-fit:contain !important;
  object-position:center bottom !important;
}
.welcome__bubble{
  border-radius:46px !important;
  padding:44px 52px 42px !important;
  background:rgba(255,250,240,.98) !important;
  box-shadow:0 22px 54px rgba(87,54,29,.08) !important;
}
.welcome__bubble:before{
  left:-19px !important;
  top:58% !important;
  width:38px !important;
  height:38px !important;
  background:rgba(255,250,240,.98) !important;
}
.welcome__bubble h2{
  font-size:clamp(24px, 2.4vw, 32px) !important;
  line-height:1.55 !important;
  margin:.1em 0 .7em !important;
  letter-spacing:.07em !important;
}

@media (max-width:900px){
  .hero-links{
    width:min(520px, calc(100% - 32px)) !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
    justify-content:center !important;
    justify-items:stretch !important;
  }
  .hero-links a{
    width:100% !important;
    min-width:0 !important;
    min-height:62px !important;
    padding:10px 8px !important;
    text-align:center !important;
    line-height:1.35 !important;
  }
  .hero-links a span{
    white-space:nowrap !important;
  }

  .welcome__grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
    align-items:center !important;
  }
  .welcome__bubble{
    order:1 !important;
    padding:32px 24px 30px !important;
    border-radius:30px !important;
  }
  .welcome__bubble h2{
    font-size:24px !important;
    line-height:1.55 !important;
    margin-bottom:.7em !important;
  }
  .welcome__bubble:before{
    left:50% !important;
    top:auto !important;
    bottom:-17px !important;
    width:34px !important;
    height:34px !important;
    transform:translateX(-50%) rotate(-45deg) !important;
    border-left:0 !important;
    border-top:0 !important;
    border-right:1px solid var(--line) !important;
    border-bottom:1px solid var(--line) !important;
  }
  .welcome__image{
    order:2 !important;
    max-width:320px !important;
    width:72% !important;
    margin:18px auto 0 !important;
    z-index:1 !important;
  }
  .welcome__image img{
    width:100% !important;
    max-height:420px !important;
  }
}

@media (max-width:520px){
  .hero-links{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    width:min(420px, calc(100% - 28px)) !important;
    gap:8px !important;
  }
  .hero-links a{
    min-height:58px !important;
    font-size:12px !important;
    gap:6px !important;
  }
  .hero-links i{
    font-size:17px !important;
  }
  .welcome__bubble h2{
    font-size:21px !important;
  }
  .welcome__bubble p:not(.section-kicker){
    font-size:14px !important;
    line-height:1.9 !important;
  }
  .welcome__image{
    width:82% !important;
    max-width:300px !important;
  }
}

@media (max-width:360px){
  .hero-links a{
    font-size:11px !important;
    letter-spacing:.02em !important;
  }
  .hero-links a span{
    transform:scale(.96);
    transform-origin:center;
  }
}

/* =========================================================
   TRUE FIX: SP hero menu center alignment
   - 5 buttons: 2 columns + last item centered with same width
   - prevents left-aligned final button and horizontal wobble
   - beginner section untouched
========================================================= */
@media (max-width: 900px){
  .hero-links{
    width:min(520px, calc(100vw - 32px)) !important;
    max-width:520px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:stretch !important;
    gap:10px !important;
    padding:0 !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }
  .hero-links a{
    flex:0 0 calc((100% - 10px) / 2) !important;
    width:calc((100% - 10px) / 2) !important;
    max-width:calc((100% - 10px) / 2) !important;
    min-width:0 !important;
    box-sizing:border-box !important;
    justify-content:center !important;
    text-align:center !important;
  }
}

@media (max-width: 520px){
  .hero-links{
    width:min(420px, calc(100vw - 28px)) !important;
    gap:8px !important;
  }
  .hero-links a{
    flex-basis:calc((100% - 8px) / 2) !important;
    width:calc((100% - 8px) / 2) !important;
    max-width:calc((100% - 8px) / 2) !important;
  }
}

@media (max-width: 340px){
  .hero-links{
    width:calc(100vw - 24px) !important;
    gap:7px !important;
  }
  .hero-links a{
    flex-basis:calc((100% - 7px) / 2) !important;
    width:calc((100% - 7px) / 2) !important;
    max-width:calc((100% - 7px) / 2) !important;
    font-size:10.5px !important;
    padding-left:3px !important;
    padding-right:3px !important;
  }
}

/* =========================================================
   2026-05-28 TRUE MENU FIX
   - 現在のメニューは4項目なので、過去の5分割指定を最終上書き
   - PC/SPとも中央配置・等幅・横揺れ防止
   - 初めての方向けパートは変更なし
========================================================= */
.hero-links{
  width:min(860px, calc(100% - 48px)) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  justify-content:center !important;
  justify-items:stretch !important;
  gap:14px !important;
}
.hero-links a{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  box-sizing:border-box !important;
  text-align:center !important;
}

.floating-page-menu,
.floating-page-menu.is-visible{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width:900px){
  .hero-links{
    width:min(520px, calc(100vw - 32px)) !important;
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
    justify-content:center !important;
  }
  .hero-links a{
    width:100% !important;
    max-width:none !important;
    flex:none !important;
  }

  .floating-page-menu,
  .floating-page-menu.is-visible{
    position:fixed !important;
    left:50% !important;
    right:auto !important;
    bottom:8px !important;
    width:min(420px, calc(100vw - 16px)) !important;
    max-width:calc(100vw - 16px) !important;
    min-width:0 !important;
    transform:translateX(-50%) !important;
    display:grid !important;
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:0 !important;
    padding:0 !important;
    border-radius:14px !important;
    overflow:hidden !important;
    background:rgba(255,250,240,.97) !important;
    border:1px solid var(--line) !important;
    box-shadow:0 12px 28px rgba(87,54,29,.16) !important;
    z-index:9999 !important;
  }
  .floating-page-menu:not(.is-visible){
    opacity:0 !important;
    pointer-events:none !important;
    transform:translateX(-50%) translateY(16px) !important;
  }
  .floating-page-menu.is-visible{
    opacity:1 !important;
    pointer-events:auto !important;
    transform:translateX(-50%) translateY(0) !important;
  }
  .floating-page-menu a{
    width:auto !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:58px !important;
    height:58px !important;
    padding:6px 2px 5px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:3px !important;
    border-right:1px solid var(--line) !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    font-size:10px !important;
    line-height:1 !important;
    letter-spacing:0 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
  }
  .floating-page-menu a:last-child{
    border-right:0 !important;
  }
  .floating-page-menu i{
    display:block !important;
    font-size:15px !important;
    line-height:1 !important;
    margin:0 !important;
    color:var(--accent) !important;
  }
  .floating-page-menu a span{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-align:center !important;
    font-size:10px !important;
    line-height:1.1 !important;
    letter-spacing:-.02em !important;
    transform:none !important;
  }
}

@media (max-width:520px){
  .hero-links{
    width:min(420px, calc(100vw - 28px)) !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:8px !important;
  }
  .hero-links a{
    min-height:58px !important;
    font-size:12px !important;
    padding:9px 6px !important;
  }
  .hero-links a span{
    white-space:nowrap !important;
  }
  .floating-page-menu,
  .floating-page-menu.is-visible{
    width:calc(100vw - 16px) !important;
    max-width:420px !important;
  }
}

@media (max-width:360px){
  .floating-page-menu a span{
    font-size:9px !important;
    letter-spacing:-.05em !important;
  }
  .floating-page-menu i{
    font-size:14px !important;
  }
}
