/* あかつめ草ワイナリー（デモ）
   紙の白 #FAF7F0／墨 #2A2326／ぶどう色 #5A2E4E／麦わら #E8D7A8／深緑 #2F4A35
   グラデーションと影は使わない。値段の字は本文と同じ大きさ（1rem）。20歳未満の帯は 1rem 以上 */
:root{
  --paper:#FAF7F0; --ink:#2A2326; --grape:#5A2E4E; --straw:#E8D7A8; --green:#2F4A35;
  --ink-2:color-mix(in srgb,var(--ink) 74%,var(--paper));
  --line:color-mix(in srgb,var(--ink) 16%,var(--paper));
  --grape-6:color-mix(in srgb,var(--grape) 6%,var(--paper));
  --green-6:color-mix(in srgb,var(--green) 6%,var(--paper));
  --green-15:color-mix(in srgb,var(--green) 15%,var(--paper));
  --straw-30:color-mix(in srgb,var(--straw) 30%,var(--paper));
  --en:"Cinzel",serif;
  --mi:"Shippori Antique","Hiragino Mincho ProN","Yu Mincho",serif;
  --go:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
  --w:72rem;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;font-size:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--go);font-weight:400;font-size:1rem;line-height:1.85;letter-spacing:.02em;overflow-wrap:anywhere}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--grape);text-underline-offset:3px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--grape);outline-offset:3px}
p{margin:0 0 1em}
p:last-child{margin-bottom:0}
.sym{position:absolute;width:0;height:0;overflow:hidden}
.sp{display:none}
.wrap{max-width:var(--w);margin:0 auto;padding:0 clamp(20px,4vw,40px)}
.narrow{max-width:46rem;margin-left:auto;margin-right:auto}
.wrap.narrow{max-width:calc(46rem + 80px)}
.small{font-size:.875rem;color:var(--ink-2)}
.strong{font-weight:500}
.price{font-weight:500;font-size:1rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.cen{text-align:center;margin-top:36px}

/* 20歳未満の帯（全ページの頭）。値段の字（1rem）と同じ大きさ */
.age{word-break:auto-phrase;margin:0;background:var(--straw);color:var(--ink);font-size:1rem;font-weight:500;line-height:1.6;text-align:center;padding:.55rem 1rem;letter-spacing:.02em}
.age-in{font-size:1rem;font-weight:500;color:var(--ink);background:var(--straw-30);border-left:2px solid var(--grape);padding:.5rem .8rem;margin:.6rem 0 0}

/* ヘッダー */
.hd{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}
.hd__in{max-width:var(--w);margin:0 auto;padding:10px clamp(20px,4vw,40px);display:flex;align-items:center;gap:14px;min-height:72px}
.brand{display:block;color:var(--grape);text-decoration:none;flex:none}
.logo{width:208px;height:auto}
.lg-en{font-family:var(--en);font-weight:500;font-size:19.5px;letter-spacing:2.6px;fill:currentColor}
.lg-ja{font-family:var(--mi);font-size:13px;letter-spacing:3.2px;fill:var(--ink)}
.demo{font-family:var(--en);font-size:10px;letter-spacing:.14em;color:var(--ink-2);border:1px solid var(--line);padding:0 .4em;line-height:1.6;align-self:flex-start;margin-top:8px}
.gnav{margin-left:auto}
.gnav ul{list-style:none;margin:0;padding:0;display:flex;gap:clamp(14px,2vw,28px)}
.gnav a{display:block;position:relative;color:var(--ink);text-decoration:none;font-size:.9375rem;padding:.4rem 0;white-space:nowrap}
.gnav a::after{content:"";position:absolute;left:50%;bottom:0;width:22px;height:2px;margin-left:-11px;background:var(--grape);transform:scaleX(0);transition:transform .3s}
.gnav a:hover::after,.gnav a[aria-current="page"]::after{transform:scaleX(1)}
.gnav a[aria-current="page"]{color:var(--grape);font-weight:500}
.menu{display:none}
.hd__btn{flex:none}

/* ボタン */
.btn{display:inline-flex;align-items:center;gap:.7em;background:var(--grape);color:var(--paper);border:1px solid var(--grape);border-radius:2px;padding:.85em 1.5em;font:500 1rem/1.4 var(--go);letter-spacing:.06em;text-decoration:none;cursor:pointer;transition:background-color .25s,color .25s}
.btn:hover{background:var(--paper);color:var(--grape)}
.btn .arr{width:16px;height:10px;transition:transform .3s}
.btn:hover .arr,.tlink:hover .arr{transform:translateX(4px)}
.btn--sm{padding:.55em 1.2em;font-size:.9375rem}
.btn--sm .arr{display:none}
.btn--paper{background:var(--paper);color:var(--grape);border-color:var(--paper)}
.btn--paper:hover{background:transparent;color:var(--paper)}
.tlink{display:inline-flex;align-items:center;gap:.5em;color:var(--grape);text-decoration:underline;text-underline-offset:5px;font-weight:500;background:none;border:0;padding:0;font:inherit;font-weight:500;cursor:pointer}
.tlink .arr{width:14px;height:9px;transition:transform .3s}
.btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 28px;margin-top:26px}

/* 区画 */
.sec{padding:clamp(64px,9vw,112px) 0}
.sec--tight{padding:clamp(40px,6vw,72px) 0}
.sec--first{padding-top:clamp(40px,6vw,64px)}
.sec--green{background:var(--green);color:var(--paper)}
.sec--green a:not(.btn){color:var(--paper)}
.sec--tint{background:var(--green-6)}
.sec--straw{background:var(--straw-30)}
.sec--grape{background:var(--grape-6)}

/* 区画の頭: 花＋英字＋日本語 */
.sh{display:flex;align-items:center;gap:10px;color:var(--grape);margin-bottom:8px}
.sh__fl{width:18px;height:27px;flex:none;margin-top:6px}
.sh__en{font-family:var(--en);font-weight:500;font-size:.8125rem;letter-spacing:.32em}
.sec--green .sh{color:var(--straw)}
.h2{font-family:var(--mi);font-weight:400;font-size:clamp(1.6rem,2.6vw,2.15rem);line-height:1.45;letter-spacing:.06em;margin:0 0 28px;font-feature-settings:"palt";text-wrap:balance;word-break:auto-phrase}
.h3{font-family:var(--mi);font-weight:400;font-size:clamp(1.35rem,2vw,1.6rem);line-height:1.5;letter-spacing:.06em;margin:0 0 20px;font-feature-settings:"palt";color:var(--grape)}
.sec--green .h3{color:var(--paper)}
.h4{font-family:var(--mi);font-weight:400;font-size:1.15rem;line-height:1.5;letter-spacing:.05em;margin:0 0 10px;color:var(--grape)}

/* 畝の線（区画の区切り） */
.une{width:120px;height:34px;margin:0 auto;position:relative;overflow:hidden}
.une i{position:absolute;left:0;width:132px;height:1px;background:var(--green);transform:rotate(-12deg);transform-origin:left center}
.une i:nth-child(1){top:20px}.une i:nth-child(2){top:26px}.une i:nth-child(3){top:32px}.une i:nth-child(4){top:38px}.une i:nth-child(5){top:44px}
.une i{left:-6px}

/* 写真の下の札 */
.fuda{display:inline-block;margin:10px 0 0;border:1px solid var(--straw);padding:.1rem .6rem;font-size:.8125rem;line-height:1.7;letter-spacing:.06em;color:var(--ink-2)}
.sec--green .fuda{color:color-mix(in srgb,var(--paper) 82%,var(--green))}

/* ---------- トップ: 最初の画面 ---------- */
.hero__ph{position:relative;height:66svh;min-height:380px;max-height:760px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),0 100%)}
.hero__ph img{width:100%;height:100%;object-fit:cover;object-position:50% 62%}
.hero__paper{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;grid-template-areas:"fuda v" "tx v";column-gap:clamp(24px,6vw,96px);align-items:start;padding-top:0;padding-bottom:clamp(48px,7vw,96px)}
.hero .fuda{grid-area:fuda;margin-top:6px;justify-self:start}
.hero__v{grid-area:v;writing-mode:vertical-rl;font-family:var(--mi);font-weight:400;font-size:clamp(1.55rem,2.5vw,2.2rem);line-height:1.75;letter-spacing:.14em;margin:-58px 0 0;padding:28px 18px 12px;background:var(--paper);color:var(--ink);font-feature-settings:normal;position:relative;z-index:1}
.hero__v span{display:block}
.hero__v span:nth-child(3){padding-top:1.2em}
.hero__tx{grid-area:tx;max-width:31rem;align-self:start;padding:24px 0 8px;border-top:1px solid var(--line);margin-top:18px}
.hero__tx p{font-size:1.0625rem}

/* お知らせ */
.news{display:grid;grid-template-columns:15rem 1fr;gap:24px 48px}
.news__list{list-style:none;margin:0 0 14px;padding:0;border-top:1px solid var(--line)}
.news__list li{display:grid;grid-template-columns:7.5rem 1fr;gap:4px 20px;padding:16px 0;border-bottom:1px solid var(--line)}
.news__list time{font-weight:500;font-variant-numeric:tabular-nums;color:var(--grape);letter-spacing:.04em}
.news__list p{margin:0}

/* 今年のワイン */
.top-wines__h{display:grid;grid-template-columns:auto 1fr;gap:12px 56px;align-items:end;margin-bottom:40px}
.top-wines__h .h2{margin-bottom:0}
.top-wines__h p{max-width:34rem;margin:0}
.tws{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px}
.tw{position:relative}
.tw__ph{aspect-ratio:4/5;overflow:hidden;background:var(--green-6)}
.tw__ph img{width:100%;height:100%;object-fit:cover;object-position:62% 60%;transition:transform 1.2s}
.tw:hover .tw__ph img{transform:scale(1.03)}
.tw .label{margin:-46px 14px 0;position:relative;min-height:8.6rem;display:flex;flex-direction:column;justify-content:center}
.top-wines__f{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin-top:40px}
.top-wines__f p{margin:0}

/* ワインの札（ラベル風・ぶどう色の細い二重線・角は直角） */
.label{background:var(--paper);color:var(--ink);border:3px double var(--grape);padding:16px 18px}
.label--s{text-align:center;padding:14px 10px 12px}
.label__n{word-break:auto-phrase;text-wrap:balance;font-family:var(--mi);font-weight:400;font-size:1.0625rem;line-height:1.5;letter-spacing:.04em;margin:0 0 4px;color:var(--grape);font-feature-settings:"palt"}
.label__k{font-size:.875rem;margin:0 0 4px;color:var(--ink-2);letter-spacing:.08em}
.label--s .price{display:block}

/* 畑のこと（深緑） */
.vine{display:grid;grid-template-columns:1.1fr 1fr;grid-template-areas:"ph tx" "ring ring" "btn btn";gap:40px 64px;align-items:center}
.vine__ph{grid-area:ph}
.vine__ph img{width:100%;aspect-ratio:4/3;object-fit:cover}
.vine__tx{grid-area:tx}
.vine__one{font-family:var(--mi);font-size:1.2rem;letter-spacing:.06em;border-top:1px solid color-mix(in srgb,var(--paper) 30%,var(--green));padding-top:16px;margin-top:20px}
.vine__ring{grid-area:ring;max-width:560px;margin:8px auto 0;width:100%}
.vine__btn{grid-area:btn;text-align:center}

/* 醸造場のこと */
.cellar{display:grid;grid-template-columns:1fr 1.1fr;gap:40px 64px;align-items:center;margin-bottom:56px}
.cellar__ph img{width:100%;aspect-ratio:16/10;object-fit:cover}

/* 見学ツアー（トップ） */
.tour{display:grid;grid-template-columns:1fr 1.15fr;gap:40px 64px;align-items:start}
.tour__ph{position:sticky;top:110px}
.tour__ph img{width:100%;aspect-ratio:905/568;object-fit:cover}
.tour .tbl{margin:22px 0 26px}

/* 造り手から（トップ） */
.sec--maker{background:var(--grape-6)}
.maker{display:grid;grid-template-columns:1fr 1.1fr;gap:40px 64px;align-items:center}
.maker__tx p{font-family:var(--mi);font-size:1.125rem;line-height:2.05;letter-spacing:.06em}
.maker__ph img{width:100%;aspect-ratio:4/3;object-fit:cover}

/* 表 */
.tbl{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:1rem}
.tbl th,.tbl td{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line);line-height:1.7}
.tbl th{font-weight:500;white-space:nowrap;width:1%;padding-right:28px;color:var(--grape)}
.tbl tr:first-child th,.tbl tr:first-child td{border-top:1px solid var(--line)}
.tbl--stripe tbody tr:nth-child(odd){background:color-mix(in srgb,var(--straw) 55%,var(--paper))}
.tbl--stripe th,.tbl--stripe td{border-color:transparent}
.tbl--grid thead th{background:var(--straw);color:var(--ink);white-space:normal}
.tbl--grid td,.tbl--grid tbody th{white-space:normal}
.tbl--toku{font-size:.9375rem}
.tbl--toku th{white-space:normal;width:12em}
.tbl--toku .tr-age th,.tbl--toku .tr-age td{font-size:1rem;font-weight:500}
.tel{font-weight:500;white-space:nowrap}

/* ---------- 下層の頭 ---------- */
.phead__ph{height:50svh;min-height:280px;max-height:560px;overflow:hidden;clip-path:polygon(0 0,100% 0,100% calc(100% - 24px),0 100%)}
.phead__ph img{width:100%;height:100%;object-fit:cover}
.phead__paper{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}
.phead__l{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:4px}
.phead__l .crumb{padding:0}
.vline span.tcy,.tcy{display:inline;text-combine-upright:all;padding:0!important}
.pg-sub .sec--first{padding-top:8px}
.vline{writing-mode:vertical-rl;font-family:var(--mi);font-size:clamp(1.25rem,2vw,1.6rem);line-height:1.8;letter-spacing:.14em;margin:-64px 0 0;padding:24px 14px 10px;background:var(--paper);position:relative;z-index:1}
.vline span{display:block}
.vline span:nth-child(2){padding-top:1.4em}
.vline--wine{margin:0;padding:0 0 0 8px}
.crumb{max-width:var(--w);margin:0 auto;padding:14px clamp(20px,4vw,40px) 0;font-size:.8125rem}
.crumb ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.crumb li+li::before{content:"／";margin-right:6px;color:var(--ink-2)}
.crumb li[aria-current]{color:var(--ink-2)}
.pg-wine .crumb{padding-top:22px}
.lead p{font-size:1.0625rem}
.next{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 40px;padding-top:40px;padding-bottom:clamp(64px,8vw,96px)}

/* 左右の組み */
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:36px 64px;align-items:center}
.split--r .split__ph{order:2}
.split__ph img{width:100%;aspect-ratio:3/2;object-fit:cover}
.split--flat{margin-bottom:56px}

/* 6枚の畑 */
.six{display:grid;grid-template-columns:1fr 1fr;gap:36px 64px;align-items:center}
.sect{width:100%}
.sect__ground{fill:none;stroke:var(--green);stroke-width:1.5;stroke-linecap:round}
.sect__fill{fill:var(--green-15);stroke:none}
.vn{fill:none;stroke:var(--green);stroke-width:1.5;stroke-linecap:round}
.vn circle{fill:var(--grape);stroke:none}
.sect__tree{fill:none;stroke:var(--green);stroke-width:1.5}
.sect__lb text{font-family:var(--mi);font-size:17px;fill:var(--ink);text-anchor:middle}
.sect__bd rect,.sect__bd path{fill:var(--paper);stroke:var(--grape);stroke-width:1.5;stroke-linejoin:round}
.sect__bd text{font-family:var(--mi);font-size:14px;fill:var(--grape);text-anchor:middle}
.six__tx .tbl{margin-bottom:22px}

/* 月ごとの話 */
.months{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;margin:48px 0 0}
.months div{display:grid;grid-template-columns:5.2rem 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.months dt{font-weight:500;color:var(--green);font-variant-numeric:tabular-nums}
.months dd{margin:0}
.months .h dt{color:var(--grape)}
.months .h{background:color-mix(in srgb,var(--straw) 40%,transparent)}

/* ---------- 図の共通 ---------- */
.fig{margin:0}
.figcap{display:flex;flex-direction:column;align-items:center;gap:2px;margin-bottom:18px;text-align:center}
.figcap__en{font-family:var(--en);font-size:.75rem;letter-spacing:.32em;color:var(--grape)}
.figcap__ja{font-family:var(--mi);font-size:1.2rem;letter-spacing:.08em}
.sec--green .figcap__en{color:var(--straw)}
.fig__note{font-size:.875rem;color:var(--ink-2);text-align:center;margin-top:14px}

/* W-1 輪 */
.ring__svg{width:100%;margin:0 auto}
.rcell{stroke-width:1.5;stroke-linejoin:round}
.c-m{fill:var(--paper);stroke:var(--grape)}
.c-harv{fill:var(--straw);stroke:var(--grape)}
.c-rest{fill:var(--paper);stroke:var(--grape);stroke-dasharray:4 5}
.rmon{font-family:var(--go);font-weight:500;font-size:22px;text-anchor:middle;fill:var(--ink)}
.rwork{font-family:var(--mi);font-size:18px;text-anchor:middle;fill:var(--ink)}
.rwork--h{fill:var(--grape);font-size:22px}
.rspan{fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round}
.rspan--h{stroke:var(--grape)}
.rbunch{color:var(--grape)}
.ring__fl{color:var(--grape)}
.rnote{font-family:var(--go);font-size:17px;fill:var(--ink)}
.rnote tspan:first-child{font-weight:500;fill:var(--grape)}
.rlead{fill:none;stroke:var(--grape);stroke-width:1;stroke-dasharray:2 4}
.sec--green .ring{background:var(--paper);color:var(--ink);padding:28px 24px 30px}
.sec--green .ring .figcap__en{color:var(--grape)}
.ringlist{display:none;list-style:none;margin:16px 0 0;padding:0;font-size:.875rem}
.ringlist li{display:grid;grid-template-columns:5rem 1fr;gap:8px;padding:6px 0;border-bottom:1px solid var(--line)}
.ringlist b{font-weight:500;color:var(--grape)}
.ringlist .h{background:color-mix(in srgb,var(--straw) 55%,transparent)}
.ring--full{max-width:780px;margin:0 auto}

/* W-2 工程（斜面の上から下へ） */
.proc{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:36px 0 28px}
.proc__body{position:relative;padding:8px 0}
.proc__slope{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.proc__slope path{fill:none;stroke:var(--green-15);stroke-width:1.5;vector-effect:non-scaling-stroke}
.proc ol{list-style:none;margin:0;padding:0}
.proc__common{display:flex;flex-direction:column;gap:6px;max-width:30rem;position:relative}
.proc__walk{margin-left:46px;padding:2px 0 2px 26px;border-left:1px dashed var(--grape);font-size:.875rem;color:var(--ink-2)}
.proc__cols{display:grid;grid-template-columns:1fr 1fr;gap:28px 48px;margin-top:22px;position:relative}
.proc__col:nth-child(1){padding-left:8%}
.proc__col:nth-child(2){padding-left:4%}
.proc__h{font-family:var(--mi);font-size:1.15rem;color:var(--grape);margin:0 0 10px;padding-bottom:6px;border-bottom:1px solid var(--grape);display:inline-block;letter-spacing:.08em}
.proc__col ol{display:flex;flex-direction:column;gap:6px}
.proc__col .st{margin-left:calc(var(--i) * 14px - 56px)}
.st{display:flex;align-items:center;gap:14px;position:relative}
.st__ic{flex:none;width:60px;height:46px;display:grid;place-items:center;background:var(--paper);border:1px solid var(--grape)}
.st__ic svg{width:44px;height:33px;fill:none;stroke:var(--grape);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.st__ic .i-g{stroke:var(--green)}
.st__ic .i-s{stroke:var(--straw);stroke-width:3}
.st__tx{display:flex;flex-direction:column;line-height:1.5}
.st__tx b{font-family:var(--mi);font-weight:400;font-size:1.05rem;letter-spacing:.06em}
.st__tx span{font-size:.875rem;color:var(--ink-2);font-variant-numeric:tabular-nums}
.st+.st::before{content:"";position:absolute;left:30px;top:-7px;height:8px;border-left:1px solid var(--grape)}
.proc__col--red .st__ic{background:var(--straw-30)}

/* 順番の文 */
.order{display:grid;grid-template-columns:1fr 1fr;gap:28px 56px;margin-top:48px}
.order ol{margin:0;padding:0;list-style:none;counter-reset:o}
.order li{counter-increment:o;padding:12px 0 12px 2.4rem;border-bottom:1px solid var(--line);position:relative}
.order li::before{content:counter(o);position:absolute;left:0;top:12px;width:1.6rem;height:1.6rem;border:1px solid var(--grape);border-radius:50%;display:grid;place-items:center;font-size:.8125rem;font-weight:500;color:var(--grape);line-height:1}
.order b{display:block;font-weight:500;color:var(--grape)}

/* 裏のラベル */
.backlabel__in{display:grid;grid-template-columns:minmax(0,24rem) 1fr;gap:32px 56px;align-items:center}
.label--back{padding:26px 26px 22px;text-align:center}
.label__jw{font-family:var(--mi);font-size:1.25rem;letter-spacing:.3em;color:var(--grape);border-bottom:1px solid var(--grape);padding-bottom:10px;margin-bottom:12px}
.label--back dl{margin:0;text-align:left}
.label--back dl div{display:grid;grid-template-columns:7.5em 1fr;gap:10px;padding:5px 0;font-size:.9375rem;border-bottom:1px dotted var(--line)}
.label--back dt{color:var(--ink-2)}
.label--back dd{margin:0}

/* ---------- ワインとご注文 ---------- */
.wtop{padding-bottom:0}
.wtop+.sec{padding-top:24px}
.vline--wine{font-size:clamp(1.15rem,1.7vw,1.4rem)}
.wtop__in{display:flex;justify-content:space-between;gap:32px}
.wtop .lead{max-width:36rem}
.wns{display:flex;flex-direction:column;gap:clamp(48px,7vw,88px)}
.wn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px 56px;align-items:center}
.wn--r .wn__ph{order:2}
.wn__ph{aspect-ratio:1;overflow:hidden}
.wn__ph img{width:100%;height:100%;object-fit:cover}
.wn .label{padding:26px 28px 24px}
.wn .label__n{font-size:1.45rem;margin-bottom:2px}
.label__out{display:inline-block;margin-left:.8em;font-family:var(--go);font-size:.8125rem;border:1px solid var(--grape);padding:0 .5em;vertical-align:middle;letter-spacing:.1em}
.label__dl{margin:14px 0 0;border-top:1px solid var(--line)}
.label__dl>div{display:grid;grid-template-columns:8.5em 1fr;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}
.label__dl dt{font-size:.875rem;color:var(--ink-2);padding-top:.1em}
.label__dl dd{margin:0}
.label__from dd p{font-family:var(--mi);letter-spacing:.04em;margin-bottom:.4em}
.label__p dd{font-size:1rem}
.label__box{border:1px solid var(--grape);padding:.4rem .8rem;margin:16px 0 0 auto;width:fit-content;max-width:100%;font-size:.9375rem;color:var(--grape)}
.wn--out .wn__ph img{opacity:.78}

/* 冷やし方の帯 */
.cool{padding:58px 0 8px}
.cool__bar{position:relative;height:14px;background:var(--straw)}
.cool__end{position:absolute;top:-30px;left:0;font-size:.8125rem;color:var(--ink-2)}
.cool__end--r{left:auto;right:0}
.cool__pts{list-style:none;margin:-21px 0 0;padding:0;position:relative;height:150px}
.cool__pts li{position:absolute;left:var(--x);width:11.5rem;margin-left:-.6rem;padding-top:34px;font-size:.9375rem;line-height:1.55}
.cool__pts li::before{content:"";position:absolute;top:7px;left:0;width:14px;height:14px;border-radius:50%;background:var(--grape);border:3px solid var(--paper)}
.cool__pts li::after{content:"";position:absolute;top:24px;left:6.5px;height:9px;border-left:1px solid var(--grape)}
.cool__pts b{display:block;font-weight:500;color:var(--grape)}
.cool__pts li:last-child{margin-left:-10.4rem;text-align:right}
.cool__pts li:last-child::before{left:auto;right:0}
.cool__pts li:last-child::after{left:auto;right:6.5px}

/* ご注文の窓口 */
.two{display:grid;grid-template-columns:1fr 1fr;margin-top:28px;border-top:1px solid var(--grape);border-bottom:1px solid var(--grape)}
.two>div{padding:20px 24px}
.two>div+div{border-left:1px solid var(--grape)}
.two__h{display:block;font-family:var(--mi);font-weight:400;font-size:1.2rem;color:var(--grape);margin-bottom:6px;letter-spacing:.06em}
.two__big{font-size:1.35rem;margin-bottom:4px}
.two--access{margin-top:40px}

/* フォーム */
.form{border-top:1px solid var(--line)}
.f-row{display:grid;grid-template-columns:12rem 1fr;gap:10px 28px;padding:18px 0;border-bottom:1px solid var(--line)}
.f-row>label,.f-lb{font-weight:500;padding-top:.55rem}
.f-row em{font-style:normal;font-size:.75rem;font-weight:500;color:var(--paper);background:var(--grape);padding:.05rem .45rem;margin-left:.6em;vertical-align:.15em;letter-spacing:.06em}
input[type=text],input[type=tel],input[type=email],input[type=date],textarea,select{font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid color-mix(in srgb,var(--ink) 30%,var(--paper));border-radius:2px;padding:.6rem .7rem;width:100%;max-width:100%}
select{width:auto;padding-right:1.6rem}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--grape);outline-offset:1px}
.f-help{font-size:.875rem;color:var(--ink-2);margin:.4rem 0 0}
.bd{display:flex;flex-wrap:wrap;gap:8px}
.radios{display:flex;flex-wrap:wrap;gap:8px 24px;padding-top:.5rem}
.radios label{display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.radios input{accent-color:var(--grape);width:18px;height:18px}
.to-other{margin-top:10px}
.area{margin-top:12px;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.area label{font-size:.9375rem}
.wsel{list-style:none;margin:0;padding:0}
.wsel li{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:6px 0;border-bottom:1px dotted var(--line)}
.wsel label{display:flex;flex-wrap:wrap;gap:4px 14px}
.f-hp{position:absolute;left:-9999px}
.f-err{border:1px solid var(--grape);background:var(--grape-6);padding:12px 16px;margin-top:20px}
.f-err ul{margin:.3rem 0 0;padding-left:1.2rem}
.form .small{margin-top:22px}
.confirm{border:3px double var(--grape);border-radius:0;background:var(--paper);color:var(--ink);padding:28px;max-width:min(40rem,calc(100% - 24px));width:100%}
.confirm::backdrop{background:color-mix(in srgb,var(--ink) 55%,transparent)}
.confirm__body table{width:100%;border-collapse:collapse;font-size:.9375rem}
.confirm__body th,.confirm__body td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.confirm__body th{font-weight:500;width:8em;color:var(--grape)}
.confirm__btns{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-top:22px}
.demo-msg{font-size:.875rem;color:var(--grape);font-weight:500;margin-top:10px}

/* ---------- 見学ツアー ---------- */
.fee{list-style:none;margin:0 0 6px;padding:0}
.fee li{display:flex;justify-content:space-between;gap:12px;padding:3px 0}
.fee li+li{border-top:1px dotted color-mix(in srgb,var(--ink) 25%,transparent)}
.routewrap{display:grid;grid-template-columns:1fr minmax(0,1.05fr);gap:40px 64px;align-items:center}
.notice{border-left:2px solid var(--grape);padding:.4rem 0 .4rem 1rem;font-size:.9375rem;margin-top:22px}
.route__svg{width:100%;max-width:520px;margin:0 auto}
.rf rect{fill:var(--green-15);stroke:var(--green);stroke-width:1.5}
.rf path{stroke:var(--green);stroke-width:1;opacity:.55}
.rf text{font-family:var(--mi);font-size:18px;fill:var(--green);text-anchor:middle;paint-order:stroke;stroke:var(--green-15);stroke-width:10px;stroke-linejoin:round}
.rb rect,.rb path,.rp rect,.rp path{fill:var(--paper);stroke:var(--grape);stroke-width:1.5}
.rb text,.rp text{font-family:var(--mi);font-size:16px;fill:var(--grape);text-anchor:middle}
.rb .rb__s{font-family:var(--go);font-size:12px;fill:var(--ink-2)}
.rroad{stroke:color-mix(in srgb,#B89B6A 35%,var(--paper));stroke-width:40;fill:none}
.rrainl{fill:none;stroke:var(--grape);stroke-width:1}
.rdot{fill:var(--grape)}
.rdot--e{fill:var(--paper);stroke:var(--grape);stroke-width:2}
.rline{fill:none;stroke:var(--grape);stroke-width:2.5;stroke-dasharray:2 7;stroke-linecap:round}
.rline--c{stroke-width:1.5}
.rrain{font-family:var(--go);font-size:15px;fill:var(--grape)}
.rtag rect{fill:var(--straw);stroke:none}
.rtag__t{font-family:var(--go);font-weight:500;font-size:15px;fill:var(--grape)}
.rtag__p{font-family:var(--mi);font-size:17px;fill:var(--ink)}
.route__fl{color:var(--grape)}
.route__after{margin-top:8px}
.routelist{display:none;list-style:none;margin:14px 0 0;padding:0;font-size:.9375rem}
.routelist li{display:grid;grid-template-columns:5.6rem 1fr;gap:8px;padding:7px 10px;border-bottom:1px solid var(--line)}
.routelist li:nth-child(odd){background:color-mix(in srgb,var(--straw) 55%,var(--paper))}
.routelist b{font-weight:500;color:var(--grape)}
.map__t--e{text-anchor:end}

/* W-4 受付と試飲の台 */
.tast{background:var(--paper);border:1px solid var(--line);padding:clamp(20px,3vw,36px)}
.tast__tables{display:grid;grid-template-columns:1fr 1fr;gap:16px 30%;margin:0 0 14px;position:relative}
.tast__desk{border-top:6px solid var(--grape);padding-top:10px;display:flex;flex-direction:column;font-size:.875rem;color:var(--ink-2);line-height:1.6}
.tast__desk b{font-family:var(--mi);font-weight:400;font-size:1.1rem;color:var(--grape);margin-bottom:4px}
.tast__desk--r{text-align:right;border-top-color:var(--green)}
.tast__desk--r b{color:var(--green)}
.tast__rows{list-style:none;margin:0;padding:0}
.tr{display:grid;grid-template-columns:48px 12rem 1fr 10rem;align-items:center;gap:14px;padding:12px 0;border-bottom:1px dotted var(--line)}
.pp{width:40px;height:44px;fill:none;stroke:var(--ink);stroke-width:1.6;stroke-linecap:round}
.pp--s{width:34px;height:38px;margin:0 auto}
.tr__who{font-size:.9375rem;font-weight:500}
.tr__line{position:relative;height:2px;background:var(--grape);display:block}
.tr__line::after{content:"";position:absolute;right:-1px;top:-5px;border-left:9px solid var(--grape);border-top:6px solid transparent;border-bottom:6px solid transparent}
.tr--juice .tr__line{background:color-mix(in srgb,var(--grape) 45%,var(--paper))}
.tr--juice .tr__line::after{border-left-color:color-mix(in srgb,var(--grape) 45%,var(--paper))}
.tr__tag{display:inline-block;width:18px;height:22px;background:var(--grape);position:absolute;left:18%;top:-10px}
.tast__legend .tr__tag{position:static;width:12px;height:15px;vertical-align:-2px;margin-right:6px}
.tr__to{white-space:nowrap;font-family:var(--mi);font-size:1.05rem;padding:.25rem .7rem;text-align:center;border:1px solid var(--green);color:var(--green);background:var(--green-6)}
.tr--wine .tr__to{border-color:var(--grape);color:var(--paper);background:var(--grape)}
.tast__legend{font-size:.875rem;color:var(--ink-2);margin:14px 0 0}
.tast__foot{font-family:var(--mi);font-size:1.05rem;color:var(--grape);border-top:1px solid var(--grape);padding-top:14px;margin-top:10px}
.after-fig{margin-top:36px}

/* よくある質問 */
.qa details{border-bottom:1px solid var(--line)}
.qa details:first-child{border-top:1px solid var(--line)}
.qa summary{cursor:pointer;list-style:none;display:flex;gap:14px;align-items:baseline;padding:16px 36px 16px 0;position:relative;font-weight:500}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"";position:absolute;right:6px;top:24px;width:9px;height:9px;border-right:1.5px solid var(--grape);border-bottom:1.5px solid var(--grape);transform:rotate(45deg);transition:transform .3s}
.qa details[open] summary::after{transform:rotate(-135deg)}
.qa__q{font-family:var(--en);color:var(--grape);font-size:1.05rem}
.qa__a{padding:0 0 18px 1.9rem}

/* ご予約 */
.yoyaku__big{font-family:var(--mi);font-size:clamp(1.25rem,2.2vw,1.6rem);letter-spacing:.06em;margin:-8px 0 22px}
.four{margin:0 0 6px;padding-left:1.4rem}
.four li{padding:3px 0}
.btn--line .bubble{width:20px;height:18px}
.btn--line .arr{display:none}

/* ワイナリーのこと */
.letter p{font-family:var(--mi);font-size:1.0625rem;line-height:2.05;letter-spacing:.05em}
.name{display:grid;grid-template-columns:minmax(0,22rem) 1fr;gap:36px 64px;align-items:center;position:relative}
.name__ph img{width:100%;aspect-ratio:440/382;object-fit:cover}
.name__big{position:absolute;right:2%;bottom:-20px;width:120px;height:180px;color:color-mix(in srgb,var(--paper) 14%,var(--green));pointer-events:none}
.name__tx{position:relative;z-index:1}
.rules{display:grid;gap:0}
.rule{padding:22px 0 22px 64px;border-bottom:1px solid var(--line);position:relative}
.rule:first-child{border-top:1px solid var(--line)}
.rule::before{content:"";position:absolute;left:8px;top:26px;width:36px;height:1px;background:var(--grape)}
.rule::after{content:"";position:absolute;left:8px;top:32px;width:24px;height:1px;background:var(--grape)}
.access{display:grid;grid-template-columns:1fr 1fr;gap:32px 56px;align-items:start}
.map{margin:0}
.map svg{width:100%}
.map__bg{fill:var(--green-6)}
.map__hill{fill:var(--green-15)}
.map__vine{stroke:var(--green);stroke-width:1.2}
.map__rd{fill:none;stroke:#fff;stroke-width:9}
.map__rd--big{stroke-width:15}
.map__rail{stroke:var(--ink-2);stroke-width:2;stroke-dasharray:10 6}
.map__st{fill:var(--paper);stroke:var(--ink-2);stroke-width:1.5}
.map__t{font-family:var(--go);font-size:14px;fill:var(--ink)}
.map__t--s{font-size:12px;fill:var(--ink-2)}
.map__note{text-anchor:end}
.map__bus{fill:var(--paper);stroke:var(--grape);stroke-width:2}
.map__walk{fill:none;stroke:var(--grape);stroke-width:2;stroke-dasharray:2 5;stroke-linecap:round}
.map__pin{fill:var(--grape)}
.map__fl{color:var(--paper)}
.access+.two{margin-top:36px}
.pg-winery .notice{margin-top:24px}

/* フッター */
.ft{background:var(--grape);color:var(--paper);padding:56px 0 32px;font-size:1rem}
.ft a{color:var(--paper)}
.ft__in{max-width:var(--w);margin:0 auto;padding:0 clamp(20px,4vw,40px);display:grid;grid-template-columns:1fr 1.2fr;gap:28px 56px}
.brand--ft{color:var(--paper);margin-bottom:16px}
.logo--ft .lg-ja{fill:var(--paper)}
.ft__brand p{margin:0 0 4px}
.ft__nav{display:flex;flex-wrap:wrap;gap:8px 22px;align-content:flex-start}
.ft__nav a{font-size:.9375rem}
.ft__note{grid-column:1/-1;list-style:none;margin:0;padding:18px 0 0;border-top:1px solid color-mix(in srgb,var(--paper) 30%,var(--grape))}
.ft__note li{font-size:1rem;line-height:1.7;letter-spacing:0;word-break:auto-phrase}
.ft__c{grid-column:1/-1;margin:0;opacity:.8}

/* ---------- 動き（transform と opacity だけ。JS がクラスを付けたときだけ隠す） ---------- */
@keyframes settle{from{transform:scale(1.04)}to{transform:scale(1)}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes fadein{from{opacity:0}to{opacity:1}}
.js .hero__ph img{animation:settle 8s cubic-bezier(.2,.6,.3,1) both}
.js .hero__v span{animation:rise 1.2s cubic-bezier(.2,.7,.3,1) both}
.js .hero__v span:nth-child(1){animation-delay:.1s}.js .hero__v span:nth-child(2){animation-delay:.25s}.js .hero__v span:nth-child(3){animation-delay:.4s}.js .hero__v span:nth-child(4){animation-delay:.55s}
.js .hero__tx{animation:rise .9s .5s both}
.js .vline span{animation:rise 1.1s .3s both}
.js .vline span:nth-child(2){animation-delay:.55s}
.js .vline span:nth-child(3){animation-delay:.8s}
.js .phead__ph img{animation:settle 6s cubic-bezier(.2,.6,.3,1) both}

.js .rv{opacity:0;transform:translateY(18px);transition:opacity .9s cubic-bezier(.2,.7,.3,1),transform .9s cubic-bezier(.2,.7,.3,1);transition-delay:calc(var(--i,0) * 90ms)}
.js .rv.in{opacity:1;transform:none}
/* 区画の頭の花: 花の頭がふくらむ */
.js .sh .sh__fl{transform:scale(.4);opacity:0;transition:transform .8s cubic-bezier(.3,1.4,.5,1),opacity .5s;transform-origin:50% 30%}
.js .sh__en{opacity:0;transform:translateX(-8px);transition:opacity .8s .15s,transform .8s .15s}
.js .sh.in .sh__fl{transform:none;opacity:1}
.js .sh.in .sh__en{opacity:1;transform:none}
/* 畝の線: 左から順に */
.js .une i{transform:rotate(-12deg) scaleX(0);transition:transform 1s cubic-bezier(.2,.7,.3,1)}
.js .une.in i{transform:rotate(-12deg) scaleX(1)}
.une i:nth-child(2){transition-delay:.08s}.une i:nth-child(3){transition-delay:.16s}.une i:nth-child(4){transition-delay:.24s}.une i:nth-child(5){transition-delay:.32s}
/* 図: 輪の月が順に、作業の名前があとから */
.js .fig .rcell,.js .fig .rwork,.js .fig .rbunch,.js .fig .rspan,.js .fig .rnote{opacity:0;transition:opacity .6s}
.js .fig .rcell{transition-delay:calc(var(--i) * 70ms)}
.js .fig .rwork{transition-delay:calc(.8s + var(--i) * 60ms)}
.js .fig .rbunch,.js .fig .rspan,.js .fig .rnote{transition-delay:1.5s}
.js .fig.in .rcell,.js .fig.in .rwork,.js .fig.in .rbunch,.js .fig.in .rspan,.js .fig.in .rnote{opacity:1}
/* 工程: 上から下へ順に */
.js .fig .st,.js .fig .proc__walk{opacity:0;transform:translate(-10px,-8px);transition:opacity .6s,transform .6s;transition-delay:calc(var(--i) * 110ms)}
.js .fig.in .st,.js .fig.in .proc__walk{opacity:1;transform:none}
/* 道順: 線が順に、札があとから */
.js .fig .rline,.js .fig .rtag{opacity:0;transition:opacity .7s}
.js .fig .rline--c{transition-delay:.5s}.js .fig .rline--b{transition-delay:.9s}
.js .fig .rtag{transition-delay:calc(.4s + var(--i) * 220ms)}
.js .fig.in .rline,.js .fig.in .rtag{opacity:1}
/* 受付: 4人が順に、矢印が伸びる */
.js .fig .tr{opacity:0;transform:translateX(-12px);transition:opacity .6s,transform .6s;transition-delay:calc(var(--i) * 160ms)}
.js .fig .tr__line{transform:scaleX(0);transform-origin:left;transition:transform .8s;transition-delay:calc(.3s + var(--i) * 160ms)}
.js .fig.in .tr{opacity:1;transform:none}
.js .fig.in .tr__line{transform:none}
/* 冷やし方: 点が左から */
.js .fig .cool__pts li{opacity:0;transform:translateY(8px);transition:opacity .6s,transform .6s;transition-delay:calc(var(--i) * 180ms)}
.js .fig.in .cool__pts li{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* ---------- 画面幅ごと ---------- */
@media (max-width:1100px){
  .gnav ul{gap:16px}
  .gnav a{font-size:.875rem}
  .logo{width:180px}
}
@media (max-width:960px){
  .menu{display:inline-flex;align-items:center;gap:8px;margin-left:auto;background:none;border:1px solid var(--line);border-radius:2px;padding:.45rem .7rem;font:500 .875rem/1 var(--go);color:var(--ink);cursor:pointer;min-height:44px}
  .menu__bars{display:inline-flex;flex-direction:column;gap:5px}
  .menu__bars i{display:block;width:18px;height:1.5px;background:var(--grape);transition:transform .3s}
  .is-menu .menu__bars i:first-child{transform:translateY(3.25px) rotate(45deg)}
  .is-menu .menu__bars i:last-child{transform:translateY(-3.25px) rotate(-45deg)}
  .gnav{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);margin:0;display:none}
  .is-menu .gnav{display:block}
  .gnav ul{flex-direction:column;gap:0;max-width:var(--w);margin:0 auto;padding:8px clamp(20px,4vw,40px) 18px}
  .gnav a{font-size:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
  .gnav a::after{left:0;margin-left:0;bottom:-1px}
  .hd__btn{order:3}
  .news{grid-template-columns:1fr}
  .tws{grid-template-columns:repeat(2,1fr)}
  .vine,.cellar,.tour,.maker,.split,.six,.routewrap,.access,.backlabel__in{grid-template-columns:1fr}
  .vine{grid-template-areas:"tx" "ph" "ring" "btn"}
  .split--r .split__ph{order:0}
  .cellar__ph{order:-1}
  .maker__ph{order:-1}
  .tour__ph{position:static}
  .wn{grid-template-columns:1fr 1.2fr;gap:24px 32px}
  .order{grid-template-columns:1fr}
  .name{grid-template-columns:1fr 1.3fr}
  .tr{grid-template-columns:44px 1fr 3rem 10.5rem}
}
@media (max-width:720px){
  html{font-size:93.75%}
  .sp{display:inline}
  .proc__cols{grid-template-columns:1fr;gap:28px}
  .proc__col:nth-child(1),.proc__col:nth-child(2){padding-left:0}
  .proc__col .st{margin-left:calc(var(--i) * 8px - 32px)}
  .proc__common .st:last-child{margin-left:8px}
  .hero__tx{border-top:0;margin-top:0}
  .age{font-size:1rem;padding:.5rem .8rem}
  .hd__in{min-height:60px;gap:10px}
  .logo{width:158px}
  .demo{margin-top:4px}
  .hd__btn{display:none}
  .hero__ph{height:48svh;min-height:300px}
  .hero__paper{grid-template-columns:1fr;grid-template-areas:"v" "fuda" "tx"}
  .hero__v{justify-self:end;margin:-74px 0 0;font-size:1.45rem;padding:22px 14px 10px}
  .hero .fuda{margin-top:-8px}
  .hero__tx{padding-top:18px}
  .top-wines__h{grid-template-columns:1fr}
  .tws{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;margin:0 calc(-1 * clamp(20px,4vw,40px));padding:0 clamp(20px,4vw,40px) 8px}
  .tw{flex:0 0 70%;scroll-snap-align:start}
  .news__list li{grid-template-columns:1fr;gap:2px}
  .ring__svg .rwork,.ring__svg .rnote,.ring__svg .rlead{display:none}
  .ring--full .ring__svg{max-width:420px}
  .ring--full .ring__svg{margin-left:auto;margin-right:auto}
  .ringlist{display:block}
  .ring--full .ringlist:not(.ringlist--note){display:none}
  .sec--green .ring{padding:20px 16px 22px}
  .months{grid-template-columns:1fr}
  .phead__ph{height:40svh;min-height:240px}
  .vline{margin-top:-58px;font-size:1.2rem;padding:18px 10px 8px}
  .wtop__in{flex-direction:column-reverse;gap:8px}
  .vline--wine{align-self:flex-end;padding:0}
  .wn,.wn--r{grid-template-columns:1fr}
  .wn--r .wn__ph{order:0}
  .wn__ph{aspect-ratio:4/3}
  .wn .label{padding:20px 18px}
  .label__dl>div{grid-template-columns:1fr;gap:0}
  .cool__pts{height:auto;margin-top:16px}
  .cool__pts li,.cool__pts li:last-child{position:relative;left:0;width:auto;margin:0;padding:8px 0 8px 26px;text-align:left}
  .cool__pts li::before,.cool__pts li:last-child::before{left:0;right:auto;top:12px}
  .cool__pts li::after{display:none}
  .two,.two--access{grid-template-columns:1fr}
  .two>div+div{border-left:0;border-top:1px solid var(--grape)}
  .f-row{grid-template-columns:1fr;gap:6px}
  .f-row>label,.f-lb{padding-top:0}
  .tbl th,.tbl td{padding:10px 10px}
  .tbl th{padding-right:14px}
  .tbl--toku th{width:auto}
  .tbl--toku tr{display:grid}
  .tbl--toku th{border-bottom:0;padding-bottom:0}
  .tbl--toku td{border-top:0}
  .fee li{flex-direction:column;gap:0}
  .tast__tables{grid-template-columns:1fr 1fr;gap:12px}
  .tr{grid-template-columns:40px 1fr;grid-template-areas:"p w" "p l";gap:4px 12px}
  .tr .pp{grid-area:p}
  .tr__who{grid-area:w}
  .tr__line{display:none}
  .tr__to{grid-area:l;justify-self:start;font-size:.9375rem}
  .tr--juice:nth-child(2) .tr__to::before{content:"";display:inline-block;width:10px;height:13px;background:var(--grape);margin-right:6px;vertical-align:-1px}
  .name{grid-template-columns:1fr}
  .name__big{display:none}
  .route .rtag,.route .rrain,.route .rrainl,.route .rb__s{display:none}
  .routelist{display:block}
  .rf text{font-size:26px}
  .rb text,.rp text{font-size:21px}
  .map__t{font-size:20px}
  .map__t--s{font-size:17px}
  .map__st{display:none}
  .rule{padding-left:48px}
  .ft__in{grid-template-columns:1fr}
  .next{flex-direction:column;align-items:center}
}
@media (max-width:400px){
  .logo{width:146px}
  .tw{flex-basis:78%}
}
@media print{
  .hd{position:static}
  .js .rv,.js .fig *{opacity:1!important;transform:none!important}
}
