/* KURUYO SNS LP mock v6（v4〜v5を継承 + 末尾に v6 追加） — 旅券・搭乗券・空港。v1/v2 のCSSは流用せず新規。 */
:root{
 --paper:#f3efe6;--paper2:#fbf8ef;--paper3:#e8e1d0;--ink:#141414;--red:#e23a22;
 --kr:#e880b3;--cn:#0eb14b;--tw:#005ad2;--gl:#005ad2;
 --board:#111;--amber:#ffb000;--led:#ffb000;
 --en:'Barlow Condensed','Arial Narrow',sans-serif;--mono:'Space Mono',ui-monospace,monospace;--jp:'Noto Sans JP',sans-serif;--dot:'DotGothic16','Noto Sans JP',sans-serif;
 --hh:56px;--lh:36px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--jp);font-weight:400;line-height:1.7;overflow-x:clip;transition:background-color .5s}
body[data-section=person01]{background:var(--kr);--led:var(--kr)}
body[data-section=person02]{background:var(--cn);--led:var(--cn)}
body[data-section=person03]{background:var(--gl);--led:var(--gl)}
body::before{content:"";position:fixed;inset:0;z-index:9990;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;margin:0;padding:0}
p,h1,h2,h3,dl,dd,dt{margin:0}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main{padding-bottom:var(--lh)}

/* 出現 */
.rv{opacity:0;transform:translateY(26px);transition:opacity .8s ease var(--d,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.rv.is-in{opacity:1;transform:none}

/* バーコード */
.barcode{height:56px;background:repeating-linear-gradient(90deg,var(--bc,#141414) 0 2px,transparent 2px 4px,var(--bc,#141414) 4px 5px,transparent 5px 8px,var(--bc,#141414) 8px 11px,transparent 11px 13px,var(--bc,#141414) 13px 14px,transparent 14px 17px)}

/* ===== ローディング ===== */
.loading{position:fixed;inset:0;z-index:9995;background:var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;box-shadow:0 18px 40px rgba(0,0,0,.28)}
.loading::before{content:"";position:absolute;inset:0;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.ld_map{width:min(94vw,1100px)}
.ld_map svg{width:100%;height:auto;display:block;overflow:visible}
.ld_route{stroke:var(--red);stroke-width:2;stroke-dasharray:2 7;stroke-linecap:round}
.ld_pt{fill:var(--red)}
.ld_tokyo{fill:var(--ink)}
.ld_lb{font-family:var(--mono);font-size:11px;font-weight:700;fill:var(--ink);letter-spacing:.06em}
.ld_plane{color:var(--ink)}
.ld_count{font-family:var(--mono);font-size:14px;font-weight:700;letter-spacing:.14em}
.ld_count b{display:inline-block;min-width:3ch;text-align:right;font-weight:700}
.ld_edge{position:absolute;left:0;right:0;bottom:0;height:16px;background:linear-gradient(#e7e0d0,#d9d1bd);box-shadow:0 -1px 0 rgba(0,0,0,.12)}

/* ===== ヘッダー ===== */
.header{position:fixed;top:0;left:0;right:0;height:var(--hh);z-index:100;display:flex;align-items:center;gap:14px;padding:0 16px;background:var(--paper)}
.header::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:radial-gradient(circle,var(--ink) 0 1px,transparent 1.4px) 0 0/8px 2px repeat-x;opacity:.55}
.header_logo__main{font-family:var(--en);font-weight:900;font-size:30px;letter-spacing:.01em;line-height:1}
.header_clock{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.08em;opacity:.75;white-space:nowrap}
.header_menu_w{margin-left:auto;filter:drop-shadow(0 2px 0 rgba(20,20,20,.28))}
.header_menu{display:flex;align-items:center;gap:10px;height:40px;padding:0 24px;background:#fffdf8;color:var(--ink);
 -webkit-mask:radial-gradient(circle 8px at 0 50%,#0000 97%,#000),radial-gradient(circle 8px at 100% 50%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle 8px at 0 50%,#0000 97%,#000),radial-gradient(circle 8px at 100% 50%,#0000 97%,#000);mask-composite:intersect}
.header_menu b{font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.12em}
.header_menu__dots{display:grid;grid-template-columns:repeat(2,8px);gap:3px}
.header_menu__dots i{width:8px;height:8px;border-radius:50%;background:var(--ink)}
@media(hover:hover){.header_menu:hover{background:var(--ink);color:#fff}.header_menu:hover .header_menu__dots i{background:#fff}}

/* ===== メニュー（発車標） ===== */
.menu{position:fixed;inset:0;z-index:1000;background:#111;color:var(--amber);padding:0 24px 24px;overflow-y:auto;clip-path:inset(0 0 100% 0);visibility:hidden}
.menu.is-open{visibility:visible}
.menu_head{display:flex;align-items:center;justify-content:space-between;height:var(--hh);margin-bottom:12px}
.menu_ttl{font-family:var(--dot);font-size:20px;letter-spacing:.1em;text-shadow:0 0 8px rgba(255,176,0,.6)}
.menu_close{gap:8px}
.menu_close span{font-size:18px;line-height:1}
.menu_list{max-width:980px;margin:0 auto}
.menu_list li{border-bottom:1px dashed rgba(255,176,0,.35)}
.menu_list a{display:flex;align-items:center;gap:20px;padding:14px 12px;font-family:var(--dot);font-size:clamp(20px,3.2vw,34px);line-height:1.3;text-shadow:0 0 10px rgba(255,176,0,.55)}
.m_sq{flex:none;width:22px;height:22px;border-radius:2px}
.m_code{flex:none;min-width:7.2em;letter-spacing:.08em}
.m_name{flex:1}
@media(hover:hover){.menu_list a:hover{background:var(--amber);color:#111;text-shadow:none}}

/* TOP / チケット形ボタン */
.tbtn_w{filter:drop-shadow(0 2px 0 rgba(20,20,20,.3));display:inline-block}
.tbtn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);color:#fff;padding:9px 30px;text-align:center;line-height:1.25;
 -webkit-mask:radial-gradient(circle 8px at 0 50%,#0000 97%,#000),radial-gradient(circle 8px at 100% 50%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle 8px at 0 50%,#0000 97%,#000),radial-gradient(circle 8px at 100% 50%,#0000 97%,#000);mask-composite:intersect;transition:background .2s,color .2s}
.tbtn b{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.16em}
.tbtn span{font-size:12px;font-weight:700}
@media(hover:hover){.tbtn:hover{background:var(--red)}}
.tbtn--ink{padding:14px 44px;font-size:15px;font-weight:700}
.pagetop{position:fixed;left:14px;bottom:calc(var(--lh) + 12px);z-index:90;opacity:0;pointer-events:none;transition:opacity .3s}
.scrolled .pagetop{opacity:1;pointer-events:auto}
.tbtn--top{flex-direction:row;gap:6px;padding:7px 20px;background:#fffdf8;color:var(--ink)}
.tbtn--top span{font-size:9px}
@media(hover:hover){.tbtn--top:hover{background:var(--ink);color:#fff}}

/* ゲート番号ナビ（右端固定） */
.gatenav{position:fixed;right:10px;top:50%;transform:translateY(-50%);z-index:90;display:flex;flex-direction:column;gap:6px;opacity:0;pointer-events:none;transition:opacity .4s}
.gatenav.is-show{opacity:1;pointer-events:auto}
.gatenav a{display:block;padding:7px 10px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.06em;background:#fffdf8;color:var(--ink);border-radius:3px;box-shadow:0 2px 0 rgba(20,20,20,.3);transition:background .25s,color .25s}
.gatenav a b{font-weight:700;opacity:.55}
.gatenav a.is-cur{background:var(--c);color:var(--t)}
.gatenav a.is-cur b{opacity:.8}

/* ===== LED 電光掲示 ===== */
.led{position:fixed;left:0;right:0;bottom:0;height:var(--lh);z-index:500;background:#0b0b0b;overflow:hidden;color:var(--led);font-family:var(--dot);font-size:20px;line-height:var(--lh);text-shadow:0 0 6px currentColor;transition:color .4s}
.led_track{display:flex;width:max-content;animation:led 38s linear infinite}
.led_track span{white-space:pre;padding-right:0}
.led::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle,transparent 0 1.05px,#0b0b0b 1.6px) 0 0/3px 3px}
@keyframes led{to{transform:translateX(-50%)}}

/* ===== HERO: 発車標 ===== */
.hero{padding:calc(var(--hh) + 14px) 16px 5vw}
.board{background:var(--board);border-radius:18px;padding:.7em .9em .8em;color:#f4efe3;font-size:clamp(11px,1.9vw,30px);box-shadow:0 10px 0 -4px rgba(20,20,20,.18)}
.board_ttl{font-family:var(--dot);font-size:.62em;color:var(--amber);letter-spacing:.12em;margin-bottom:.7em;text-shadow:0 0 8px rgba(255,176,0,.5)}
.board_grid{display:grid;grid-template-columns:auto auto auto auto auto;justify-content:space-between;column-gap:.8em}
.b_r{display:contents}
.b_h{font-family:var(--mono);font-size:.38em;font-weight:700;letter-spacing:.16em;color:var(--amber);padding-bottom:.9em;border-bottom:1px solid rgba(255,255,255,.22)}
.b_c{display:flex;align-items:center;padding:.38em 0;border-bottom:1px dashed rgba(255,255,255,.14);white-space:nowrap}
.b_r:last-child .b_c{border-bottom:0}
.b_sq{flex:none;width:.5em;height:.5em;margin-right:.45em;border-radius:1px;background:var(--c)}
.fl{position:relative;flex:none;display:inline-block;width:.7em;height:1.4em;margin:0 .04em;perspective:18em;font-family:var(--mono);font-weight:700;font-size:1em;color:#f4efe3}
.fl.st{color:var(--amber)}
.fl .h{position:absolute;left:0;width:100%;height:50%;overflow:hidden;background:#222}
.fl .u,.fl .fu{top:0;border-radius:.12em .12em 0 0}
.fl .d,.fl .fd{bottom:0;border-radius:0 0 .12em .12em;background:#1a1a1a}
.fl .h i{position:absolute;left:0;width:100%;height:200%;display:flex;align-items:center;justify-content:center;font-style:normal;line-height:1;white-space:pre}
.fl .d i,.fl .fd i{top:-100%}
.fl .fu{transform-origin:50% 100%;z-index:3;backface-visibility:hidden;visibility:hidden}
.fl .fd{transform-origin:50% 0;z-index:3;backface-visibility:hidden;visibility:hidden}
.fl::after{content:"";position:absolute;left:0;right:0;top:50%;height:1px;margin-top:-.5px;background:#000;z-index:6}
.fl.cj .h i{font-size:.74em;font-family:var(--jp);font-weight:900}
.hero_h{margin-top:clamp(18px,2.4vw,36px)}
.hero_lead{font-weight:900;font-size:clamp(17px,3vw,46px);line-height:1.3;letter-spacing:.01em}
.hero_logo{font-family:var(--en);font-weight:900;font-size:clamp(66px,20vw,330px);line-height:.86;white-space:nowrap;margin-top:6.5vw;padding-bottom:.1em}
.hero_logo span{display:inline-block;transform:rotate(-4deg);transform-origin:0 100%;color:var(--ink);
 text-shadow:.01em .01em 0 var(--red),.02em .02em 0 var(--red),.03em .03em 0 var(--red),.04em .04em 0 var(--red),.05em .05em 0 var(--red),.06em .06em 0 var(--red),.07em .07em 0 var(--red),.08em .08em 0 var(--red),.09em .09em 0 var(--red),.1em .1em 0 var(--red),.11em .11em 0 var(--red),.12em .12em 0 var(--red),.13em .13em 0 var(--red),.14em .14em 0 var(--red)}

/* ===== FEED: 地平線を周回する絵葉書 ===== */
.lbl{font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.34em;text-align:center}
.feed{position:relative;padding:calc(var(--hh) + 18px) 0 calc(var(--lh) + 8px);display:flex;flex-direction:column;overflow:hidden}
.feed_stage{position:relative;margin-top:28px;width:100%}
.earth{position:absolute;left:50%;border-radius:50%;overflow:hidden;background:#171717;box-shadow:0 0 0 3px var(--red);pointer-events:none}
.earth::before{content:"";position:absolute;top:0;bottom:0;left:0;right:-12px;background:radial-gradient(circle,rgba(243,239,230,.55) 1.2px,transparent 1.7px) 0 0/12px 12px,radial-gradient(circle,rgba(255,176,0,.9) 2px,transparent 2.6px) 0 0/83px 59px;animation:earth 24s linear infinite}
.earth::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(23,23,23,0) 0,rgba(23,23,23,.92) 260px)}
@keyframes earth{to{transform:translateX(-12px)}}
.feed_cards{position:absolute;left:0;right:0;top:0;height:0}
.feed_card{position:absolute;left:50%;top:0;transform-origin:50% 100%;transition:transform .85s cubic-bezier(.3,.7,.2,1),opacity .6s;will-change:transform;cursor:grab;user-select:none;-webkit-user-select:none}
.feed_card.is-fast{transition:none}
.feed_card.is-center{cursor:default}
.feed_dots{position:relative;z-index:5;display:flex;justify-content:center;gap:10px;margin-top:14px}
.feed_dot{width:10px;height:10px;border-radius:50%;border:1.5px solid #f3efe6;background:transparent;transition:background .2s}
.feed_dot.is-active{background:var(--red);border-color:var(--red)}

/* 絵葉書 */
.pc{position:relative;display:block;background:#fff;border-radius:4px;padding:8px 8px 0;color:var(--ink);box-shadow:0 1px 2px rgba(0,0,0,.18),0 10px 22px rgba(0,0,0,.14)}
.pc_img{position:relative;aspect-ratio:660/920;background:#d9d3c3;border-radius:2px;overflow:hidden}
.pc_img img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.pc_stamp{position:absolute;top:9px;right:9px;width:46px;height:54px;background:var(--lc);color:var(--lt);display:flex;align-items:flex-end;justify-content:center;padding-bottom:5px;
 -webkit-mask:radial-gradient(circle 2.4px at 3.5px 0,#0000 97%,#000) 0 0/7px 100% repeat-x,radial-gradient(circle 2.4px at 3.5px 100%,#0000 97%,#000) 0 0/7px 100% repeat-x,radial-gradient(circle 2.4px at 0 3.5px,#0000 97%,#000) 0 0/100% 7px repeat-y,radial-gradient(circle 2.4px at 100% 3.5px,#0000 97%,#000) 0 0/100% 7px repeat-y;-webkit-mask-composite:source-in;
 mask:radial-gradient(circle 2.4px at 3.5px 0,#0000 97%,#000) 0 0/7px 100% repeat-x,radial-gradient(circle 2.4px at 3.5px 100%,#0000 97%,#000) 0 0/7px 100% repeat-x,radial-gradient(circle 2.4px at 0 3.5px,#0000 97%,#000) 0 0/100% 7px repeat-y,radial-gradient(circle 2.4px at 100% 3.5px,#0000 97%,#000) 0 0/100% 7px repeat-y;mask-composite:intersect}
.pc_stamp::before{content:"";position:absolute;inset:5px;border:1px solid currentColor;opacity:.55}
.pc_stamp b{position:relative;font-family:var(--mono);font-size:7.5px;font-weight:700;letter-spacing:.04em}
.pm{position:absolute;top:34px;right:26px;width:68px;height:68px;color:var(--red);opacity:.92;transform:rotate(-12deg);filter:drop-shadow(0 0 1.5px #fff)}
.pm text,.gstamp text,.ps_ring text{font-family:var(--mono)}
.pm .spin,.gstamp .spin,.ps_ring g{transform-box:fill-box;transform-origin:center;animation:spin 22s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.pm text{fill:currentColor}
.pc_info{padding:10px 4px 13px}
.pc_no{font-family:var(--mono);font-size:10px;letter-spacing:.03em;opacity:.7;line-height:1.5}
.pc_title{font-weight:700;font-size:13px;line-height:1.5}

/* ===== INTRO ===== */
.intro{position:relative;padding:12vh 16px 14vh}
.intro_paper{position:relative;max-width:1240px;margin:0 auto;padding:56px 0 40px;text-align:center}
.intro_ttl{font-weight:900;font-size:clamp(22px,3.2vw,46px);letter-spacing:.06em;line-height:1.4;margin-bottom:26px}
.intro_text{max-width:660px;margin:0 auto;position:relative;z-index:2}
.intro_text span{display:block;font-weight:700;font-size:clamp(15px,1.7vw,22px);line-height:2.3;border-bottom:1px dotted rgba(20,20,20,.32)}
.intro_mrz{font-family:var(--mono);font-size:11px;opacity:.34;margin-top:38px;letter-spacing:.1em;word-break:break-all;max-width:660px;margin-left:auto;margin-right:auto}
.intro_st{position:absolute;top:50%;width:clamp(150px,17vw,250px);margin-top:calc(clamp(150px,17vw,250px) / -2)}
.intro_st--l{left:1.5vw;--r:-10deg}
.intro_st--r{right:1.5vw;--r:9deg}
.pstamp{position:relative;aspect-ratio:1;color:var(--red);transform:rotate(var(--r,0deg));mix-blend-mode:multiply;opacity:.9;
 -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3.2 2.7'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='2' seed='4'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3.2 2.7'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.pstamp svg{position:absolute;inset:0;width:100%;height:100%}
.ps_ring text{fill:currentColor}
.ps_ring g{animation-duration:30s}
.intro_st--r .ps_ring g{animation-direction:reverse}

/* ===== 4 GATES: 搭乗券の積み重ね ===== */
.gates{position:relative;z-index:1}
.gate{position:sticky;top:0;height:100svh;min-height:560px;background:var(--c);display:flex;align-items:center;justify-content:center;padding:calc(var(--hh) + 12px) 76px calc(var(--lh) + 14px);overflow:hidden}
.gate::after{content:"";position:absolute;inset:0;background:#000;opacity:var(--dim,0);pointer-events:none}
.tk{position:relative;display:flex;width:min(1180px,100%);color:var(--ink);--nr:15px;filter:drop-shadow(0 12px 0 rgba(0,0,0,.14)) drop-shadow(0 2px 3px rgba(0,0,0,.22));transform-origin:50% 100%}
.tk_main{position:relative;flex:1;min-width:0;container-type:inline-size;background:#fffdf8;padding:22px 38px 20px;
 -webkit-mask:radial-gradient(circle var(--nr) at 100% 0,#0000 97%,#000),radial-gradient(circle var(--nr) at 100% 100%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle var(--nr) at 100% 0,#0000 97%,#000),radial-gradient(circle var(--nr) at 100% 100%,#0000 97%,#000);mask-composite:intersect}
.tk_stub{flex:none;width:262px;display:flex;gap:14px;padding:22px 18px 22px 20px;background:#faf6ea;border-left:2px dashed #c9c0a8;
 -webkit-mask:radial-gradient(circle var(--nr) at 0 0,#0000 97%,#000),radial-gradient(circle var(--nr) at 0 100%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle var(--nr) at 0 0,#0000 97%,#000),radial-gradient(circle var(--nr) at 0 100%,#0000 97%,#000);mask-composite:intersect}
.tk_top{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1.5px solid var(--ink);padding-bottom:9px}
.tk_pass b{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.2em}
.tk_pass span{font-size:12px;font-weight:700;margin-left:12px}
.tk_fl{font-family:var(--mono);font-weight:700;font-size:18px;letter-spacing:.1em}
.tk_route{display:flex;align-items:baseline;gap:.14em;white-space:nowrap;font-family:var(--en);font-weight:900;font-size:11cqw;line-height:1;margin-top:10px;letter-spacing:.005em}
.tk_route--long{font-size:6.7cqw;margin-top:16px}
.tk_route em{font-style:normal;color:var(--red)}
.tk_lane{font-weight:900;font-size:clamp(17px,1.9vw,26px);line-height:1.3;margin-top:6px}
.tk_lane b{font-family:var(--en);font-weight:900;color:var(--red);margin-right:.2em}
.tk_fields{display:grid;grid-template-columns:2fr 1fr 1fr;border-top:1px dashed rgba(20,20,20,.45);border-bottom:1px dashed rgba(20,20,20,.45);margin:12px 0}
.tk_fields>div{padding:7px 0 6px}
.tk_fields>div+div{padding-left:16px;border-left:1px dashed rgba(20,20,20,.3)}
.tk_fields dt{font-family:var(--mono);font-size:10px;letter-spacing:.18em;opacity:.55}
.tk_fields dd{font-weight:900;font-size:16px;line-height:1.35}
.tk_quote{font-size:13.5px;line-height:1.8;font-weight:500;max-width:640px}
.tk_badges{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.tk_badges li{display:flex;flex-direction:column-reverse;justify-content:flex-end;border:1.5px solid var(--ink);padding:5px 10px 7px;min-width:0}
.tk_badges b{font-weight:900;font-size:19px;line-height:1.3}
.tk_badges span{font-size:10.5px;line-height:1.4;font-weight:700;opacity:.65}
.tk_note{font-family:var(--mono);font-size:10px;opacity:.55;margin-top:6px;text-align:right}
.gstamp{position:absolute;top:58px;right:34px;width:112px;height:112px;color:var(--sc,var(--c));transform:rotate(12deg);opacity:.92;pointer-events:none}
.gstamp .spin{animation-duration:26s}
.gstamp text{fill:currentColor}
.tk_vert{writing-mode:vertical-rl;font-family:var(--mono);font-weight:700;font-size:13px;letter-spacing:.3em;order:2;white-space:nowrap}
.tk_stub_body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:space-between;gap:14px}
.tk_stub .barcode{height:92px}

/* ===== 共通セクション ===== */
.sec{position:relative;z-index:2;background:var(--paper);padding:110px 24px 120px}
.hstamp{display:flex;justify-content:center;margin-bottom:60px}
.hstamp span{display:inline-block;font-family:var(--en);font-weight:900;font-size:clamp(36px,5.2vw,68px);letter-spacing:.14em;line-height:1.1;padding:.04em .4em .04em .55em;border:4px double currentColor;color:var(--red);transform:rotate(-3deg);opacity:.92;
 -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='2' seed='9'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3.2 2.8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='2' seed='9'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -3.2 2.8'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.hstamp--lt span{color:#ff6a4f}

/* ===== FLOW: 航路 ===== */
.sec--flow{background:var(--paper2)}
.fl_wrap{position:relative;max-width:1180px;margin:0 auto 190px;aspect-ratio:1200/330}
.fl_svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fl_svg--sp{display:none}
.fl_ghost{stroke:rgba(20,20,20,.2);stroke-width:2.5;stroke-dasharray:2 10;stroke-linecap:round}
.fl_dash{stroke:var(--red);stroke-width:4;stroke-dasharray:1 10;stroke-linecap:round}
.fl_guide{stroke:none}
.fl_plane{color:var(--ink)}
.fl_stops{position:absolute;inset:0}
.fl_stop{position:absolute;transform:translate(-50%,-50%)}
.fl_dot{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--c);color:var(--t);border:3px solid var(--ink);font-family:var(--en);font-weight:900;font-size:28px;line-height:1;box-shadow:0 4px 0 rgba(20,20,20,.18)}
.fl_txt{position:absolute;top:100%;left:50%;transform:translateX(-50%);width:230px;text-align:center;margin-top:14px}
.fl_title{font-weight:900;font-size:20px;line-height:1.4}
.fl_desc{font-size:13.5px;line-height:1.7;margin-top:4px;opacity:.8}
.sec_more{text-align:center}

/* ===== PLAN: 航空券 ===== */
.sec--plan{background:#141414;color:var(--paper)}
.pls{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1180px;margin:0 auto;align-items:center}
.pl_tk{position:relative;display:flex;color:var(--ink);--nr:10px;filter:drop-shadow(0 8px 0 rgba(0,0,0,.4))}
.pl--mid .pl_tk{transform:scale(1.08);z-index:2}
.pl_main{flex:1;min-width:0;background:#fffdf8;padding:24px 22px 22px 26px;
 -webkit-mask:radial-gradient(circle var(--nr) at 0 50%,#0000 97%,#000),radial-gradient(circle var(--nr) at 100% 0,#0000 97%,#000),radial-gradient(circle var(--nr) at 100% 100%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle var(--nr) at 0 50%,#0000 97%,#000),radial-gradient(circle var(--nr) at 100% 0,#0000 97%,#000),radial-gradient(circle var(--nr) at 100% 100%,#0000 97%,#000);mask-composite:intersect}
.pl_stub{flex:none;width:80px;display:flex;align-items:center;justify-content:center;gap:10px;padding:16px 8px;background:#faf6ea;border-left:2px dashed #c9c0a8;
 -webkit-mask:radial-gradient(circle var(--nr) at 100% 50%,#0000 97%,#000),radial-gradient(circle var(--nr) at 0 0,#0000 97%,#000),radial-gradient(circle var(--nr) at 0 100%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle var(--nr) at 100% 50%,#0000 97%,#000),radial-gradient(circle var(--nr) at 0 0,#0000 97%,#000),radial-gradient(circle var(--nr) at 0 100%,#0000 97%,#000);mask-composite:intersect}
.pl--mid .pl_main{background-image:linear-gradient(90deg,var(--kr) 0 25%,var(--cn) 25% 50%,var(--tw) 50% 75%,var(--gl) 75%);background-size:100% 8px;background-repeat:no-repeat}
.pl_stub .tk_vert{font-size:11px;order:0}
.pl_stub .barcode{width:24px;height:100%;min-height:120px;background:repeating-linear-gradient(0deg,#141414 0 2px,transparent 2px 4px,#141414 4px 5px,transparent 5px 8px,#141414 8px 11px,transparent 11px 13px)}
.pl_cls{font-family:var(--mono);font-size:10px;letter-spacing:.2em;opacity:.5}
.pl h3{font-weight:900;font-size:24px;line-height:1.3;margin-top:2px}
.pl_price{margin:10px 0 14px;border-top:1px dashed rgba(20,20,20,.4);border-bottom:1px dashed rgba(20,20,20,.4);padding:8px 0;line-height:1.3}
.pl_price b{font-weight:900;font-size:32px}
.pl_price small{font-size:14px;font-weight:700}
.pl ul li{font-size:13.5px;line-height:1.6;padding-left:1.1em;position:relative;font-weight:500}
.pl ul li+li{margin-top:3px}
.pl ul li::before{content:"";position:absolute;left:0;top:.72em;width:.55em;height:2px;background:var(--red)}
.plan_note{text-align:center;font-size:14px;margin-top:56px;opacity:.82}

/* ===== CHECK-IN ===== */
.sec--cta{padding:140px 24px 160px}
.cta_pass{font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--amber);display:flex;gap:14px}
.cta_ttl{font-family:var(--en);font-weight:900;font-size:min(22cqw,170px);line-height:.95;margin-top:18px;text-shadow:.03em .03em 0 var(--red)}
.cta_text{font-weight:900;font-size:clamp(18px,2.3vw,30px);line-height:1.5;margin-top:14px}
.cta_small{font-family:var(--mono);font-size:13px;margin-top:12px;color:var(--amber);letter-spacing:.06em;text-decoration:underline;text-underline-offset:4px}

/* ===== フッター ===== */
.footer{position:relative;z-index:2;background:var(--paper);border-top:2px dashed rgba(20,20,20,.38);padding:54px 24px calc(var(--lh) + 44px)}
.footer_in{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:26px 40px;align-items:end}
.footer_logo__main{font-family:var(--en);font-weight:900;font-size:48px;line-height:1}
.footer_logo__sub{font-weight:700;font-size:14px;margin-top:6px}
.footer_text{grid-column:1/-1;font-size:12.5px;line-height:1.9;opacity:.75}
.footer_stamps{display:flex;gap:12px}
.fstamp{position:relative;width:46px;height:56px;display:grid;place-items:center;background:var(--k);color:var(--kt);font-family:var(--mono);font-weight:700;font-size:13px;
 -webkit-mask:radial-gradient(circle 2.4px at 3.5px 0,#0000 97%,#000) 0 0/7px 100% repeat-x,radial-gradient(circle 2.4px at 3.5px 100%,#0000 97%,#000) 0 0/7px 100% repeat-x,radial-gradient(circle 2.4px at 0 3.5px,#0000 97%,#000) 0 0/100% 7px repeat-y,radial-gradient(circle 2.4px at 100% 3.5px,#0000 97%,#000) 0 0/100% 7px repeat-y;-webkit-mask-composite:source-in;
 mask:radial-gradient(circle 2.4px at 3.5px 0,#0000 97%,#000) 0 0/7px 100% repeat-x,radial-gradient(circle 2.4px at 3.5px 100%,#0000 97%,#000) 0 0/7px 100% repeat-x,radial-gradient(circle 2.4px at 0 3.5px,#0000 97%,#000) 0 0/100% 7px repeat-y,radial-gradient(circle 2.4px at 100% 3.5px,#0000 97%,#000) 0 0/100% 7px repeat-y;mask-composite:intersect;transition:transform .2s}
.fstamp::before{content:"";position:absolute;inset:5px;border:1px solid currentColor;opacity:.5}
.fstamp:nth-child(1){--k:var(--kr);--kt:#141414}.fstamp:nth-child(2){--k:#141414;--kt:#fff}.fstamp:nth-child(3){--k:var(--tw);--kt:#141414}.fstamp:nth-child(4){--k:var(--cn);--kt:#141414}
@media(hover:hover){.fstamp:hover{transform:translateY(-4px) rotate(-4deg)}}

/* ===== SP ===== */
@media(max-width:767px){
 :root{--hh:52px;--lh:30px}
 .header{gap:8px;padding:0 12px}
 .header_logo__main{font-size:24px}
 .header_clock{font-size:9.5px}
 .header_menu{height:36px;padding:0 18px}
 .header_menu b{font-size:11px}
 .led{font-size:16px}
 .menu{padding:0 14px 20px}
 .m_code{min-width:5.4em}
 .m_sq{width:16px;height:16px}
 .menu_list a{gap:12px;padding:12px 6px}
 .hero{padding:calc(var(--hh) + 12px) 12px 8vw}
 .board{font-size:3.3vw;border-radius:14px;padding:.8em .9em}
 .board_grid{grid-template-columns:auto auto auto}
 .b_fl,.b_via,.b_c.c_fl,.b_c.c_via{display:none}
 .hero_lead{font-size:5vw}
 .hero_logo{font-size:19vw;margin-top:11vw}
 .gatenav{right:3px}
 .gatenav a{padding:6px 0;width:24px;text-align:center;font-size:10px}
 .gatenav a b{display:none}
 .feed_card{will-change:auto}
 .intro_st{position:relative;top:auto;margin:0 auto 26px;width:150px}
 .intro_st--l{left:auto}.intro_st--r{right:auto;margin:30px auto 0}
 .intro_paper{display:flex;flex-direction:column;padding:30px 0}
 .intro_st--l{order:-1}
 .gate{padding:calc(var(--hh) + 8px) 34px calc(var(--lh) + 8px) 10px;min-height:0}
 .tk{flex-direction:column}
 .tk_main{padding:16px 16px 14px;
  -webkit-mask:radial-gradient(circle var(--nr) at 0 100%,#0000 97%,#000),radial-gradient(circle var(--nr) at 100% 100%,#0000 97%,#000);-webkit-mask-composite:source-in;
  mask:radial-gradient(circle var(--nr) at 0 100%,#0000 97%,#000),radial-gradient(circle var(--nr) at 100% 100%,#0000 97%,#000);mask-composite:intersect}
 .tk_stub{width:auto;border-left:0;border-top:2px dashed #c9c0a8;padding:14px 16px;
  -webkit-mask:radial-gradient(circle var(--nr) at 0 0,#0000 97%,#000),radial-gradient(circle var(--nr) at 100% 0,#0000 97%,#000);-webkit-mask-composite:source-in;
  mask:radial-gradient(circle var(--nr) at 0 0,#0000 97%,#000),radial-gradient(circle var(--nr) at 100% 0,#0000 97%,#000);mask-composite:intersect}
 .tk_stub_body{flex-direction:row;align-items:center}
 .tk_stub .barcode{height:54px;flex:.55}
 .tk_stub .tbtn{flex:1;padding:8px 14px}
 .tk_route{font-size:13.5cqw}
 .tk_route--long{font-size:8.3cqw}
 .tk_top{padding-bottom:6px}
 .tk_fl{font-size:15px}
 .tk_fields{margin:8px 0}
 .tk_fields dd{font-size:13px}
 .tk_fields>div+div{padding-left:10px}
 .f_class{display:none}
 .tk_fields{grid-template-columns:2fr 1fr}
 .tk_quote{font-size:12px;line-height:1.7}
 .tk_badges{gap:6px;margin-top:8px}
 .tk_badges li{padding:4px 6px 5px}
 .tk_badges b{font-size:14px}
 .tk_badges span{font-size:9px}
 .gstamp{width:60px;height:60px;top:100px;right:12px}
 .sec{padding:80px 16px 90px}
 .hstamp{margin-bottom:40px}
 .fl_svg--pc{display:none}.fl_svg--sp{display:block}
 .fl_wrap{aspect-ratio:360/760;margin-bottom:40px;max-width:358px}
 .fl_dot{width:52px;height:52px;font-size:23px}
 .fl_txt{top:50%;left:100%;transform:translateY(-50%);margin:0 0 0 14px;text-align:left;width:190px}
 .pls{grid-template-columns:1fr;gap:22px}
 .pl--mid .pl_tk{transform:scale(1.03)}
 .cta_ttl{font-size:21cqw}
 .footer_in{grid-template-columns:1fr}
}
@media(min-width:768px) and (max-width:1100px){
 .pls{gap:14px}
 .pl_main{padding:20px 14px 18px 20px}
 .pl_price b{font-size:26px}
 .tk_stub{width:220px}
 .gate{padding-left:20px;padding-right:76px}
}

/* ===== reduced motion ===== */
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation:none!important;transition:none!important}
 .rv{opacity:1;transform:none}
}
.pc.feed_card{position:absolute}
.tk_stub .tbtn{padding:9px 14px;white-space:nowrap}
.tk_stub .tbtn span{font-size:11.5px}
.intro_text{max-width:760px}
.intro_mrz{max-width:760px}
.fl_txt{width:270px}
@media(max-width:767px){.fl_txt{width:190px}.tk_stub .tbtn{padding:8px 14px}}
.hero,.intro,#intro{overflow-x:clip}

/* ===== v4 追加 ===== */
.hero_sub{margin-top:3.4vw;text-align:left}
.hero_sub span{display:block;font-weight:700;font-size:clamp(13px,1.5vw,22px);line-height:1.8}
.tk_badges b{font-size:15px;line-height:1.45}
.tk_badges li{justify-content:center}
.tk_note{font-size:11px;opacity:.7;margin-top:8px}
/* ALL IN ONE（乗り継ぎ） */
.aio{position:relative;z-index:2;background:var(--paper);padding:0 16px 12vh}
.aio_in{position:relative;max-width:1180px;margin:0 auto;background:#fffdf8;border:2px solid var(--ink);padding:22px 32px 26px;display:grid;grid-template-columns:auto 1fr;gap:20px 36px;align-items:center;filter:drop-shadow(0 6px 0 rgba(20,20,20,.18))}
.aio_in::before,.aio_in::after{content:"";position:absolute;top:50%;width:22px;height:22px;border-radius:50%;background:var(--paper);border:2px solid var(--ink);transform:translateY(-50%)}
.aio_in::before{left:-12px;clip-path:inset(0 0 0 50%)}
.aio_in::after{right:-12px;clip-path:inset(0 50% 0 0)}
.aio_kicker{font-family:var(--mono);font-size:11px;letter-spacing:.2em;opacity:.6}
.aio_ttl{display:flex;flex-direction:column;line-height:1.1;margin-top:4px}
.aio_ttl b{font-family:var(--en);font-weight:900;font-size:clamp(34px,4.4vw,60px);letter-spacing:.02em}
.aio_ttl span{font-weight:900;font-size:clamp(16px,1.7vw,22px);color:var(--red);margin-top:4px}
.aio_chips{display:flex;align-items:center;flex-wrap:wrap;gap:10px 0}
.aio_chips li{display:flex;align-items:center}
.aio_chips li+li::before{content:"";display:block;width:clamp(14px,2.4vw,34px);border-top:2px dashed var(--ink);margin:0 4px;opacity:.6}
.aio_chip{display:inline-flex;flex-direction:column;align-items:center;background:var(--ink);color:#fff;padding:7px 18px 8px;line-height:1.25;
 -webkit-mask:radial-gradient(circle 6px at 0 50%,#0000 97%,#000),radial-gradient(circle 6px at 100% 50%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle 6px at 0 50%,#0000 97%,#000),radial-gradient(circle 6px at 100% 50%,#0000 97%,#000);mask-composite:intersect}
.aio_chip i{font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.16em;opacity:.7}
.aio_chip b{font-weight:900;font-size:clamp(14px,1.4vw,18px)}
@media(max-width:767px){
 .hero_sub{margin-top:6vw}
 .hero_sub span{font-size:3.5vw}
 .aio{padding-bottom:9vh}
 .aio_in{grid-template-columns:1fr;padding:18px 18px 22px}
 .aio_chips li+li::before{width:10px}
 .aio_chip{padding:6px 11px 7px}
 .aio_chip b{font-size:13px}
 .tk_badges b{font-size:12.5px}
}
.aio_chips li+li{flex:1}
.aio_chips li+li::before{flex:1;width:auto;min-width:12px}
@media(max-width:767px){.aio_chips li+li{flex:none}.aio_chips li+li::before{flex:none;width:10px}}


/* ============ v5 追加: 章ごとの空港サイン / ターンテーブル / 機内モニター / 到着ロビー / スマホ ============ */

/* ----- 空港サイン（MEDIA=黄 / ARRIVALS=黒）----- */
.sign{display:flex;align-items:center;gap:16px;width:min(780px,100%);margin:0 auto 52px;padding:10px 24px 10px 10px;background:#ffd400;color:#111;border-radius:6px;box-shadow:0 10px 18px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.5) inset}
.sign_pic{flex:none;display:grid;place-items:center;width:clamp(58px,8vw,86px);aspect-ratio:1;background:#111;color:#fff;border-radius:4px}
.sign_pic svg{width:66%;height:66%}
.sign_txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.sign_txt b{font-family:var(--en);font-weight:800;font-size:clamp(30px,5vw,58px);line-height:1;letter-spacing:.05em}
.sign_txt i{font-style:normal;font-weight:900;font-size:clamp(12px,1.5vw,16px);letter-spacing:.08em}
.sign_arr{flex:none;font-family:var(--en);font-weight:800;font-size:clamp(34px,5vw,56px);line-height:1}
.sign--arr{background:#222;color:#fff;box-shadow:0 0 0 2px #444,0 10px 22px rgba(0,0,0,.5)}
.sign--arr .sign_pic{background:#fff;color:#111}
.sign_flap{flex:none;display:flex;align-items:center;background:#000;padding:8px 10px;border-radius:6px;font-size:clamp(15px,2.1vw,24px);line-height:1;box-shadow:inset 0 0 0 1px #333}

/* ----- MEDIA: ターンテーブル ----- */
.sec--media{overflow:hidden;padding-left:0;padding-right:0}
.sec--media .sign{width:min(780px,calc(100% - 32px))}
.belt{--u:1248px;--tw:180px;position:relative;overflow:hidden;padding:44px 0 50px;background:#2c2c2c;border-top:10px solid #8f9399;border-bottom:10px solid #8f9399;box-shadow:inset 0 14px 18px rgba(0,0,0,.5),inset 0 -10px 14px rgba(0,0,0,.4)}
.belt::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,#303030 0 14px,#1b1b1b 14px 16px);animation:beltbg 40s linear infinite}
@keyframes beltbg{to{background-position-x:calc(var(--u)*-1)}}
.belt_track{position:relative;display:flex;width:max-content;animation:beltrun 40s linear infinite;will-change:transform}
@keyframes beltrun{to{transform:translateX(calc(var(--u)*-1))}}
.belt_ul{display:flex;flex:none;gap:28px;padding-right:28px}
.tag_li{flex:none;width:var(--tw);transform:rotate(var(--rot,0deg))}
.tag{position:relative;display:block;transition:transform .35s cubic-bezier(.3,1.3,.4,1);filter:drop-shadow(0 12px 6px rgba(0,0,0,.55))}
.tag_body{display:block;background:#efe3c3;padding:44px 12px 18px;text-align:center;min-height:250px;
 clip-path:polygon(22% 0,78% 0,100% 15%,100% 100%,0 100%,0 15%);
 -webkit-mask:radial-gradient(circle 8px at 50% 24px,#0000 97%,#000);mask:radial-gradient(circle 8px at 50% 24px,#0000 97%,#000)}
.tag_to{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.12em;opacity:.6}
.tag_name{display:block;font-weight:900;font-size:17px;line-height:1.45;margin:16px 0 18px}
.tag_body .barcode{display:block;height:34px;margin:22px 4px 0;opacity:.7}
@media(hover:hover){.belt:hover::before,.belt:hover .belt_track{animation-play-state:paused}.tag:hover{transform:translateY(-12px)}}

/* ----- FLOW: 機内モニター ----- */
.sec--flow{background:var(--paper2);padding-left:12px;padding-right:12px}
.mon{max-width:1240px;margin:0 auto}
.mon_bezel{background:#050505;border-radius:36px;padding:16px;box-shadow:0 26px 44px rgba(0,0,0,.28),inset 0 0 0 2px #2c2c2c}
.mon_screen{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;background:#0b1a33;color:#fff;padding:20px 36px 28px;box-shadow:inset 0 0 60px rgba(0,0,0,.45)}
.mon_screen::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(94,224,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(94,224,255,.07) 1px,transparent 1px);background-size:44px 44px}
.mon_land{position:absolute;inset:0;z-index:-1;width:100%;height:100%}
.mon_bar{display:flex;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid rgba(94,224,255,.32);font-family:var(--mono);font-size:13px;letter-spacing:.14em;color:#5ee0ff;font-weight:700}
.mon_next{white-space:nowrap}
.mon_next b{color:#fff;font-weight:700}
.sec--flow .fl_wrap{margin:34px clamp(40px,7vw,100px) 140px;max-width:none}
.sec--flow .fl_ghost{stroke:rgba(255,255,255,.25)}
.sec--flow .fl_dash{stroke:#5ee0ff;filter:drop-shadow(0 0 5px #5ee0ff) drop-shadow(0 0 12px rgba(94,224,255,.6))}
.sec--flow .fl_plane{color:#5ee0ff;filter:drop-shadow(0 0 6px #5ee0ff)}
.sec--flow .fl_dot{border-color:#0b1a33;box-shadow:0 0 0 3px rgba(255,255,255,.9),0 0 18px rgba(94,224,255,.35)}
.sec--flow .fl_title{color:#fff}
.sec--flow .fl_desc{color:rgba(255,255,255,.84);opacity:1}
.mon_info{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.mon_info div{padding:10px 16px;border:1px solid rgba(94,224,255,.38);background:rgba(94,224,255,.07);border-radius:6px}
.mon_info dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.22em;color:#5ee0ff}
.mon_info dd{font-family:var(--mono);font-weight:700;font-size:20px;letter-spacing:.06em;line-height:1.4}
.sec--flow .sec_more{margin-top:48px}

/* ----- PICK UP: 到着ロビー ----- */
.sec--pick{background:#151515;color:#fff;padding-left:0;padding-right:0;overflow:hidden}
.sec--pick .sign{width:min(780px,calc(100% - 32px))}
.pick_swiper{padding:30px 0 70px;overflow:visible}
.pick_swiper .swiper-slide{width:clamp(210px,19vw,270px);display:flex;justify-content:center}
.vc{position:relative;display:block;width:100%;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#2a2a2a;color:#fff;transform:scale(.86);filter:brightness(.5);transition:transform .5s cubic-bezier(.3,.8,.3,1),filter .5s;cursor:grab;box-shadow:0 18px 34px rgba(0,0,0,.55)}
.swiper-slide-active .vc{transform:scale(1);filter:none}
.vc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.vc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.28) 0,transparent 22%,transparent 46%,rgba(0,0,0,.86) 100%)}
.vc>span{position:absolute;z-index:2}
.vc_code{top:12px;left:12px;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.14em;padding:3px 10px;border-radius:99px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.5);backdrop-filter:blur(4px)}
.vc_play{top:50%;left:50%;width:62px;height:62px;margin:-31px 0 0 -31px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.26);backdrop-filter:blur(6px);box-shadow:0 0 0 1px rgba(255,255,255,.4)}
.vc_play svg{width:30px;height:30px;margin-left:3px}
.vc_side{right:10px;bottom:106px;display:flex;flex-direction:column;gap:16px}
.vc_side svg{width:28px;height:28px;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}
.vc_info{left:14px;right:56px;bottom:14px;display:flex;flex-direction:column;gap:5px}
.vc_acc{font-family:var(--mono);font-size:11px;font-weight:700;opacity:.9}
.vc_ttl{font-weight:900;font-size:14.5px;line-height:1.4}
.vc_row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;margin-top:2px}
.vc_tag{font-size:10.5px;font-weight:900;padding:1px 9px;border-radius:2px;line-height:1.7}
.vc_views{font-family:var(--mono);font-size:10px;opacity:.9}

/* ----- CHECK-IN: スマホ ----- */
.sec--cta{padding:130px 24px 150px}
.ci{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.ci_l{min-width:0;container-type:inline-size}
.ci .cta_pass{color:var(--red)}
.ci .cta_ttl{text-shadow:.03em .03em 0 var(--red);font-size:min(24cqw,170px);margin-top:16px}
.ci .cta_text{font-size:clamp(15px,4.4cqw,28px)}
.ci .cta_small{color:var(--red);font-weight:700}
.ci_btnw{margin-top:30px;justify-content:flex-start;display:flex}
.ci_r{display:flex;justify-content:center;padding:20px 0 40px}
.phone_w{width:300px}
.phone{position:relative;transform:rotate(-6deg);width:100%;padding:11px;background:#0d0d0d;border-radius:42px;box-shadow:0 0 0 2px #333 inset,0 34px 36px -8px rgba(0,0,0,.4),0 10px 0 rgba(0,0,0,.08)}
.phone_notch{position:absolute;z-index:3;top:18px;left:50%;width:84px;height:22px;margin-left:-42px;background:#0d0d0d;border-radius:99px}
.app{position:relative;overflow:hidden;border-radius:32px;background:#f3efe6;color:#141414;display:flex;flex-direction:column;min-height:560px}
.app_hd{display:flex;gap:6px;align-items:baseline;justify-content:center;padding:44px 12px 12px;background:#141414;color:#fff;font-family:var(--mono);font-size:11px;letter-spacing:.12em}
.app_hd b{font-family:var(--en);font-weight:900;font-size:17px;letter-spacing:.02em}
.app_card{margin:14px 12px 0;background:#fff;border-radius:14px;padding:14px 14px 16px;box-shadow:0 3px 10px rgba(0,0,0,.12)}
.app_route{display:flex;align-items:center;justify-content:space-between;gap:6px;padding-bottom:12px;border-bottom:1.5px dashed rgba(20,20,20,.35)}
.app_route small{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.2em;opacity:.6}
.app_route b{font-family:var(--en);font-weight:800;font-size:23px;line-height:1.05;letter-spacing:.02em}
.app_route svg{flex:none;width:26px;height:18px;color:var(--red)}
.app_route div:last-child{text-align:right}
.app_fields{display:grid;grid-template-columns:1fr 1fr;gap:10px 8px;padding:12px 0}
.app_fields dt{font-family:var(--mono);font-size:8.5px;letter-spacing:.18em;opacity:.6}
.app_fields dd{font-family:var(--mono);font-size:12px;font-weight:700;line-height:1.35}
.app_fields em{font-style:normal;font-family:var(--jp);font-size:10px;margin-left:2px}
.qr_w{position:relative;width:132px;margin:2px auto 0;padding:6px;background:#fff;border:2px solid #141414;border-radius:6px}
.qr{display:grid;grid-template-columns:repeat(21,1fr);width:100%;aspect-ratio:1}
.qr i{background:#141414}
.qr i.o{background:transparent}
.qr_scan{position:absolute;left:2px;right:2px;top:6px;height:3px;background:var(--red);box-shadow:0 0 8px 2px rgba(226,58,34,.7);border-radius:2px;animation:qrscan 2.4s ease-in-out infinite alternate}
@keyframes qrscan{to{top:calc(100% - 9px)}}
.qr_ok{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;display:grid;place-items:center;border-radius:50%;background:#0eb14b;color:#fff;font-size:30px;font-weight:900;line-height:1;border:3px solid #fff;transform:scale(0) rotate(-30deg);opacity:0;transition:transform .35s cubic-bezier(.3,1.8,.4,1),opacity .2s}
.is-checked .qr_ok{transform:scale(1) rotate(-12deg);opacity:1}
.is-checked .qr_scan{animation-play-state:paused;opacity:.2}
.app_go{margin:auto 12px 16px;padding:13px;border-radius:10px;background:#141414;color:#fff;font-weight:900;font-size:14px;letter-spacing:.06em;transition:background .25s;cursor:pointer;margin-top:16px}
.app_go.is-on{background:#0eb14b}
@media(hover:hover){.app_go:hover{background:var(--red)}.app_go.is-on:hover{background:#0b9a40}}

/* ----- v5 SP ----- */
@media(max-width:767px){
 .sign{gap:12px;padding:8px 14px 8px 8px;margin-bottom:34px}
 .sign_txt b{font-size:28px}
 .sign_txt i{font-size:11.5px;letter-spacing:.03em}
 .sign_arr{font-size:30px}
 .sign_flap{font-size:12px;padding:6px 7px}
 .sec--media,.sec--pick{padding-left:0;padding-right:0}
 .belt{--u:960px;--tw:140px;padding:34px 0 38px}
 .belt_ul{gap:20px;padding-right:20px}
 .belt::before,.belt_track{animation-duration:32s}
 .tag_body{padding:40px 8px 14px;min-height:196px}
 .tag_name{font-size:13px;margin:10px 0 12px}
 .sec--flow{padding-left:8px;padding-right:8px}
 .mon_bezel{padding:7px;border-radius:24px}
 .mon_screen{padding:14px 12px 16px;border-radius:17px}
 .mon_bar{font-size:9.5px;letter-spacing:.06em}
 .sec--flow .fl_wrap{margin:22px auto 24px;max-width:100%}
 .sec--flow .fl_txt{width:150px}
 .mon_info{gap:6px}
 .mon_info div{padding:8px 8px}
 .mon_info dt{font-size:8px;letter-spacing:.1em}
 .mon_info dd{font-size:12px;letter-spacing:0}
 .pick_swiper .swiper-slide{width:62vw}
 .ci{grid-template-columns:1fr;gap:20px}
 .sec--cta{padding:80px 16px 90px}
 .ci_r{padding:10px 0 34px}
 .phone_w{width:272px}
 .app{min-height:520px}
}
@media(min-width:768px) and (max-width:1100px){
 .belt{--u:1248px}
 .sec--flow .fl_txt{width:200px}
 .ci{gap:20px}
 .phone_w{width:270px}
}
@media(prefers-reduced-motion:reduce){
 .belt{overflow-x:auto}
 .belt_track{transform:none!important}
 .belt_ul[aria-hidden]{display:none}
 .qr_scan{display:none}
}

/* ======================================================================
   v6 追加: HERO情報 / お悩み(運航情報) / GATE図解 / ALL IN ONE数字 / 国×媒体表 /
            FLOW6ステップ / 事例4ブロック / PLAN比較表 / FAQ(案内所) / CHECK-INフォーム
   ====================================================================== */
.tbtn small{font-size:11px;font-weight:700;opacity:.85;line-height:1.3}
.tbtn--paper{background:#fffdf8;color:var(--ink);padding:14px 30px;font-size:15px;font-weight:700}
@media(hover:hover){.tbtn--paper:hover{background:var(--ink);color:#fff}}

/* ----- HERO 情報 ----- */
.hero_logo{font-size:clamp(66px,min(15vw,15.5vh),330px);margin-top:min(3vw,2vh)}
.hero_info{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:14px 5vw;align-items:end;margin-top:clamp(8px,1.6vh,22px)}
.hero_pillars li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px;padding:4px 0;border-bottom:2px solid var(--ink)}
.hero_pillars li:first-child{border-top:2px solid var(--ink)}
.hero_pillars i{font-family:var(--mono);font-style:normal;font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--red)}
.hero_pillars b{font-weight:900;font-size:clamp(19px,1.9vw,28px);line-height:1.3}
.hero_note{flex-basis:100%;margin:4px 0 1px;padding:3px 10px;border-left:4px solid var(--red);background:rgba(226,58,34,.09);font-size:clamp(12.5px,1.05vw,15px);font-weight:700;line-height:1.6}
.hero_band{display:inline-block;margin-top:10px;padding:6px 16px;background:var(--ink);color:#fff;font-weight:700;font-size:clamp(14px,1.4vw,19px)}
.hero_band b{font-weight:900;color:#ffd400;margin-right:.3em}
.hero_cta{display:flex;flex-direction:column;gap:12px;min-width:0;align-self:start;margin-top:calc(-1 * min(21vh,190px))}
.hero_price{line-height:1.2}
.hero_price b{font-family:var(--en);font-weight:900;font-size:clamp(40px,5vw,76px);color:var(--red);margin:0 .12em 0 .3em;letter-spacing:.01em}
.hero_price small{font-size:clamp(12px,1.1vw,15px);font-weight:700}
.hero_btns{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hero_btns .tbtn_w{display:block}
.hero_btns .tbtn{width:100%;padding:12px 18px;height:100%}
.hero_btns .tbtn span{font-size:clamp(13px,1.15vw,16px);font-weight:900}
@media(max-width:767px){
 .hero_cta{margin-top:0;align-self:auto}
 .hero_logo{font-size:19vw;margin-top:7vw}
 .hero_lead{font-size:4.8vw}
 .hero_info{grid-template-columns:1fr;gap:12px;margin-top:5vw}
 .hero_pillars li{padding:5px 0;gap:0 10px}
 .hero_pillars b{font-size:19px}
 .hero_note{font-size:12px;margin:3px 0 1px;line-height:1.5}
 .hero_band{margin-top:10px;font-size:13.5px;padding:5px 12px}
 .hero_cta{gap:8px}
 .hero_price b{font-size:44px}
 .hero_price small{font-size:12px}
 .hero_btns{gap:8px}
 .hero_btns .tbtn{padding:10px 8px}
 .hero_btns .tbtn span{font-size:13px}
}

/* ----- お悩み: 運航情報(遅延・欠航→定刻運航) ----- */
.sec--trouble{background:#0c0c0c;color:#fff;padding:100px 20px 110px}
.tb{max-width:1080px;margin:0 auto}
.tb_kicker{font-family:var(--dot);font-size:15px;letter-spacing:.14em;color:var(--amber);text-shadow:0 0 8px rgba(255,176,0,.5)}
.tb_ttl{font-weight:900;font-size:clamp(26px,4.2vw,54px);line-height:1.35;margin:8px 0 30px;letter-spacing:.02em}
.tb_ttl em{font-style:normal;color:#ff4a3d}
.tb_board{background:#141414;border:2px solid #2d2d2d;border-radius:14px;padding:18px 24px 22px;box-shadow:0 0 0 6px #0c0c0c,0 0 0 8px #262626,0 24px 40px rgba(0,0,0,.5)}
.tb_cap{display:flex;align-items:center;gap:12px;font-family:var(--dot);font-size:15px;letter-spacing:.1em;color:var(--amber);padding-bottom:10px;border-bottom:1px solid rgba(255,176,0,.4)}
.tb_cap b{background:var(--amber);color:#111;padding:0 10px;font-weight:400}
.tb_cap--2{margin-top:30px}
.tb_row{display:grid;grid-template-columns:70px 100px minmax(0,1fr) 170px;align-items:center;gap:6px 14px;padding:16px 0;border-bottom:1px dashed rgba(255,176,0,.28)}
.tb_time{font-family:var(--dot);font-size:24px;color:var(--amber)}
.tb_no{font-family:var(--mono);font-size:12px;letter-spacing:.1em;opacity:.7}
.tb_msg{font-weight:900;font-size:clamp(17px,2vw,26px);line-height:1.5}
.tb_st{display:grid;justify-items:stretch;perspective:600px}
.tb_face,.tb_chip{display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--dot);font-size:20px;letter-spacing:.06em;line-height:1.15;padding:7px 12px 6px;border-radius:4px}
.tb_face small,.tb_chip small{font-family:var(--jp);font-weight:900;font-size:12px;letter-spacing:.2em;margin-top:2px}
.tb_face{grid-area:1/1;backface-visibility:hidden;transition:transform .7s cubic-bezier(.3,.8,.3,1),opacity .4s;transition-delay:calc(var(--i,0)*.22s)}
.tb_bad,.tb_chip--red{background:#e5251b;color:#fff;box-shadow:0 0 14px rgba(229,37,27,.55)}
.tb_ok,.tb_chip--green{background:#19c37d;color:#04200f;box-shadow:0 0 14px rgba(25,195,125,.5)}
.tb_ok{transform:rotateX(90deg);opacity:0}
.tb_bad{animation:tbblink 1.6s steps(1) infinite}
@keyframes tbblink{50%{box-shadow:none;filter:brightness(.82)}}
.is-ontime .tb_bad{transform:rotateX(-90deg);opacity:0;animation:none}
.is-ontime .tb_ok{transform:none;opacity:1}
.tb_pair{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);align-items:stretch;gap:0 6px;padding:14px 0;border-bottom:1px dashed rgba(255,176,0,.28)}
.tb_fail,.tb_fix{display:flex;align-items:center;gap:14px;padding:10px 14px;border-radius:8px;background:#1d1d1d;min-width:0}
.tb_chip{flex:none;width:112px;font-size:16px;padding:6px 6px 5px}
.tb_fail p,.tb_fix p{font-weight:900;font-size:clamp(15px,1.5vw,19px);line-height:1.5;min-width:0}
.tb_fail p small,.tb_fix p small{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--amber);font-weight:700}
.tb_arr{display:grid;place-items:center;font-family:var(--en);font-weight:800;font-size:30px;color:var(--amber)}
.tb_fix{opacity:.16;transform:translateX(-10px);transition:opacity .7s,transform .7s;transition-delay:calc(.5s + var(--i,0)*.25s)}
.is-ontime .tb_fix{opacity:1;transform:none;background:#102a1e;box-shadow:inset 0 0 0 1.5px rgba(25,195,125,.6)}
.tb_foot{margin-top:22px;text-align:center;font-weight:900;font-size:clamp(15px,1.6vw,20px);color:rgba(255,255,255,.6);transition:color .6s .8s}
.tb_foot b{display:inline-block;margin-right:.7em;padding:1px 10px;background:#3a3a3a;color:#bbb;font-family:var(--dot);font-weight:400;font-size:.9em;transition:background .6s .8s,color .6s .8s}
.is-ontime .tb_foot{color:#fff}
.is-ontime .tb_foot b{background:#19c37d;color:#04200f}
@media(max-width:767px){
 .sec--trouble{padding:70px 14px 80px}
 .tb_ttl{font-size:26px;margin-bottom:22px}
 .tb_board{padding:14px 12px 18px;border-radius:12px}
 .tb_cap{font-size:12.5px;gap:8px;flex-wrap:wrap}
 .tb_row{grid-template-columns:auto 1fr;grid-template-areas:"time st" "no no" "msg msg";padding:14px 0;gap:4px 10px}
 .tb_time{grid-area:time;font-size:21px}
 .tb_no{grid-area:no;display:none}
 .tb_msg{grid-area:msg;font-size:17px;margin-top:2px}
 .tb_st{grid-area:st;justify-self:end;width:150px}
 .tb_pair{grid-template-columns:1fr;gap:2px 0;padding:12px 0}
 .tb_arr{transform:rotate(90deg);height:26px;font-size:24px}
 .tb_chip{width:96px;font-size:14px}
 .tb_fail,.tb_fix{gap:10px;padding:9px 10px}
 .tb_fail p,.tb_fix p{font-size:15px}
}

/* ----- GATE02 動線図 / GATE03 本数表示 ----- */
.g2{margin-top:12px;padding-top:10px;border-top:1.5px solid var(--ink)}
.g2_ttl{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}
.g2_ttl b{font-family:var(--mono);font-size:11px;letter-spacing:.2em;opacity:.6}
.g2_ttl span{font-weight:900;font-size:14px}
.g2_steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.g2_steps li{position:relative;border:1.5px solid var(--ink);background:#fff;padding:7px 10px 8px;display:flex;flex-direction:column;min-width:0}
.g2_steps li:not(.g2_last)::after{content:"";position:absolute;right:-17px;top:50%;margin-top:-7px;border-left:11px solid var(--red);border-top:7px solid transparent;border-bottom:7px solid transparent}
.g2_steps i{font-family:var(--mono);font-style:normal;font-size:10px;letter-spacing:.16em;opacity:.55}
.g2_steps b{font-weight:900;font-size:16px;line-height:1.35}
.g2_steps span{font-size:12px;font-weight:700;opacity:.7;line-height:1.45}
.g2_last{background:var(--ink)!important;color:#fff}
.g3{margin-top:10px}
.g3_stats{display:grid;grid-template-columns:1.2fr 1fr;gap:10px}
.g3_main,.g3_sub{border:1.5px solid var(--ink);background:#fff;padding:6px 14px 8px}
.g3_k{font-size:12px;font-weight:700;opacity:.7}
.g3_big{font-weight:900;font-size:17px;line-height:1.2}
.g3_big b{font-family:var(--jp);font-weight:900;font-size:28px;color:var(--red);margin-right:.06em;line-height:1}
.g3_big span{margin-left:.3em}
.g3_big em,.g3_avg em{font-style:normal;font-size:12px;font-weight:700;margin-left:.4em}
.g3_avg{font-weight:900;font-size:19px;line-height:1.5;margin-top:4px}
.g3_note{margin-top:7px;font-size:12.5px;font-weight:700;line-height:1.6}
.g3_guar{margin-top:6px;border:1px dashed rgba(20,20,20,.55);padding:5px 10px;font-size:11.5px;line-height:1.6}
.g3_guar b{display:inline-block;background:var(--ink);color:#fff;padding:0 7px;margin-right:8px;font-size:10.5px}
@media(max-width:767px){
 .g2{margin-top:8px;padding-top:7px}
 .g2_steps{gap:12px}
 .g2_steps li{padding:5px 5px 6px}
 .g2_steps li:not(.g2_last)::after{right:-11px;margin-top:-5px;border-left-width:8px;border-top-width:5px;border-bottom-width:5px}
 .g2_steps b{font-size:12px}
 .g2_steps span{font-size:10px;line-height:1.35}
 .g2_steps i{font-size:9px}
 .g3_stats{grid-template-columns:1fr;gap:6px}
 .g3_main,.g3_sub{padding:4px 10px 5px}
 .g3_big b{font-size:24px}
 .g3_big{font-size:14px}
 .g3_avg{font-size:15px;margin-top:0}
 .g3_note{font-size:11.5px;margin-top:5px;line-height:1.5}
 .g3_guar{font-size:10.5px;padding:4px 7px;line-height:1.5}
}

/* ----- ALL IN ONE: 数字と担当 ----- */
.aio_more{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.7fr);gap:22px 30px;border-top:2px dashed rgba(20,20,20,.4);padding-top:20px}
.aio_h{display:flex;flex-direction:column;font-weight:900;font-size:17px;line-height:1.3;margin-bottom:10px}
.aio_h b{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;opacity:.55;font-weight:700}
.aio_num li{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 10px;padding:7px 0;border-bottom:1px dotted rgba(20,20,20,.4)}
.aio_num li span{font-size:13px;font-weight:700;min-width:6.5em}
.aio_num li b{font-weight:900;font-size:22px;color:var(--red);line-height:1.3}
.aio_num li em{font-style:normal;font-size:12px;font-weight:700}
.aio_who ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.aio_who li{border:1.5px solid var(--ink);padding:10px 12px 12px;display:flex;flex-direction:column;gap:3px;background:#fff}
.aio_who i{align-self:flex-start;font-style:normal;font-weight:900;font-size:12px;background:var(--ink);color:#fff;padding:1px 10px;border-radius:99px}
.aio_who b{font-weight:900;font-size:15px;line-height:1.4;margin-top:4px}
.aio_who span{font-size:13px;line-height:1.65;font-weight:500}
@media(max-width:767px){
 .aio_more{grid-template-columns:1fr;gap:18px}
 .aio_who ul{grid-template-columns:1fr}
 .aio_num li span{min-width:5.5em}
}

/* ----- MEDIA: 国×媒体 対応表 ----- */
.mx{width:min(1080px,calc(100% - 48px));margin:64px auto 0}
.mx_ttl{display:flex;align-items:baseline;gap:14px;margin-bottom:14px}
.mx_ttl b{font-family:var(--mono);font-size:12px;letter-spacing:.2em;opacity:.6}
.mx_ttl span{font-weight:900;font-size:clamp(20px,2.4vw,30px)}
.mx_tbl{width:100%;border-collapse:collapse;background:#fffdf8;border:2px solid var(--ink);table-layout:fixed}
.mx_tbl thead th{background:var(--ink);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-align:left;padding:10px 18px;font-weight:700}
.mx_tbl thead th:first-child{width:21%}
.mx_tbl thead th:nth-child(2){width:33%}
.mx_tbl tbody th,.mx_tbl td{padding:16px 18px;text-align:left;vertical-align:middle;border-top:1px dashed rgba(20,20,20,.4);font-size:15px;line-height:1.65}
.mx_tbl tbody th{font-weight:900;font-size:18px}
.mx_tbl tbody th i{display:inline-block;width:14px;height:14px;border-radius:2px;margin-right:10px;vertical-align:-1px;border:1.5px solid var(--ink)}
.mx_tbl td:nth-child(2){font-weight:900}
@media(max-width:767px){
 .mx{width:calc(100% - 32px);margin-top:44px}
 .mx_tbl,.mx_tbl tbody,.mx_tbl tr,.mx_tbl th,.mx_tbl td{display:block;width:100%}
 .mx_tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .mx_tbl{border:0;background:none}
 .mx_tbl tbody tr{background:#fffdf8;border:2px solid var(--ink);margin-bottom:12px;padding:0 0 6px}
 .mx_tbl tbody th{background:var(--ink);color:#fff;padding:8px 14px;border:0;font-size:17px}
 .mx_tbl tbody th i{border-color:#fff}
 .mx_tbl td{padding:8px 14px 0;border:0;font-size:14px}
 .mx_tbl td::before{content:attr(data-l);display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;opacity:.55;font-weight:700}
}

/* ----- FLOW: 6ステップ ----- */
.sec--flow .fl_wrap{margin:34px 70px 200px}
.fl_txt,.sec--flow .fl_txt{width:clamp(128px,12.6vw,172px)}
.sec--flow .fl_dot{width:56px;height:56px;font-size:25px}
.fl_title{font-size:18px}
.fl_desc{font-size:12.5px;line-height:1.65}
.fl_cust{margin-top:8px;padding:5px 7px 6px;border:1px solid rgba(94,224,255,.55);border-radius:4px;background:rgba(94,224,255,.09);font-size:12px;line-height:1.5;font-weight:700;color:#fff;text-align:left}
.fl_cust b{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#5ee0ff;font-weight:700}
@media(max-width:1100px){
 .fl_svg--pc{display:none}.fl_svg--sp{display:block}
 .fl_wrap{aspect-ratio:360/1080}
 .sec--flow .fl_wrap{margin:22px auto 70px;max-width:460px}
 .fl_txt,.sec--flow .fl_txt{top:50%;left:100%;transform:translateY(-50%);margin:0 0 0 14px;text-align:left;width:250px}
}
@media(max-width:767px){
 .sec--flow .fl_wrap{max-width:100%}
 .fl_txt,.sec--flow .fl_txt{width:min(196px,calc(100vw - 150px))}
 .sec--flow .fl_dot{width:46px;height:46px;font-size:21px}
 .fl_title{font-size:17px}
 .fl_desc{font-size:12.5px}
}

/* ----- PICK UP: 事例4ブロック ----- */
.pick_swiper{padding:30px 0 40px}
.pick_swiper .swiper-slide{width:min(920px,78vw);display:flex;height:auto}
.cs{width:100%;background:#fffdf8;color:var(--ink);border-radius:16px;padding:22px 26px 24px;transform:scale(.9);filter:brightness(.45);transition:transform .5s cubic-bezier(.3,.8,.3,1),filter .5s;box-shadow:0 18px 34px rgba(0,0,0,.55);display:flex;flex-direction:column;cursor:grab}
.swiper-slide-active .cs{transform:scale(1);filter:none}
.cs_tags{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.cs_tag{font-size:12.5px;font-weight:900;padding:2px 12px;border-radius:2px;line-height:1.7}
.cs_tag--biz{background:var(--ink);color:#fff}
.cs_ad{font-size:12px;font-weight:900;padding:2px 10px;border:1.5px solid var(--red);color:var(--red);border-radius:2px;line-height:1.7;background:#fff}
.cs_code{margin-left:auto;font-family:var(--mono);font-weight:700;font-size:12px;letter-spacing:.14em;opacity:.6}
.cs_ttl{font-weight:900;font-size:clamp(19px,2.1vw,27px);line-height:1.4;margin:10px 0 16px}
.cs_grid{display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-areas:"vid issue" "vid act" "vid res";grid-template-rows:auto auto 1fr;gap:12px 22px;flex:1}
.cs_issue{grid-area:issue}.cs_act{grid-area:act}.cs_res{grid-area:res}.cs_vid{grid-area:vid}
.cs_b h4{display:flex;align-items:center;gap:8px;font-weight:900;font-size:14px;margin-bottom:4px}
.cs_b h4 i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--mono);font-style:normal;font-size:11px;font-weight:700}
.cs_b h4 em{font-style:normal;font-family:var(--mono);font-size:11px;font-weight:700;color:var(--red);letter-spacing:.06em}
.cs_b p{font-size:14px;line-height:1.7;font-weight:500}
.cs_res{background:var(--paper);border-radius:8px;padding:12px 16px 12px}
.cs_nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:2px}
.cs_nums b{display:block;font-family:var(--en);font-weight:900;font-size:clamp(34px,4vw,50px);line-height:1;color:var(--red)}
.cs_nums span{display:block;font-size:12px;font-weight:700;line-height:1.45;margin-top:4px}
.cs .cs_basis{margin-top:8px;font-size:12px;font-weight:700;opacity:.8;line-height:1.5}
.cs_phone{position:relative;aspect-ratio:9/16;border-radius:14px;overflow:hidden;background:#2a2a2a;box-shadow:0 0 0 3px var(--ink)}
.cs_phone img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.cs_phone::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.75))}
.cs_play{position:absolute;z-index:2;top:50%;left:50%;width:54px;height:54px;margin:-27px 0 0 -27px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.28);backdrop-filter:blur(6px);color:#fff;box-shadow:0 0 0 1px rgba(255,255,255,.45)}
.cs_play svg{width:26px;height:26px;margin-left:3px}
.cs_acc{position:absolute;z-index:2;left:10px;bottom:10px;font-family:var(--mono);font-size:11px;font-weight:700;color:#fff}
.own{width:min(920px,calc(100% - 32px));margin:6px auto 0;background:#1f1f1f;border:2px dashed rgba(255,255,255,.4);border-radius:12px;padding:18px 24px 18px;color:#fff}
.own_hd{display:flex;align-items:center;gap:16px}
.own_lbl{flex:none;background:var(--amber);color:#111;font-weight:900;font-size:14px;padding:3px 14px;border-radius:2px}
.own_hd p{font-size:14px;line-height:1.6;font-weight:500}
.own_nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 8px}
.own_nums li{background:#2b2b2b;border-radius:8px;padding:8px 14px}
.own_nums b{display:block;font-family:var(--en);font-weight:900;font-size:40px;line-height:1.1;color:var(--amber)}
.own_nums span{font-size:12.5px;font-weight:700}
.own_basis{font-size:12px;line-height:1.6;opacity:.85}
@media(max-width:767px){
 .pick_swiper .swiper-slide{width:88vw}
 .cs{padding:16px 14px 18px}
 .cs_grid{grid-template-columns:1fr;grid-template-areas:"issue" "act" "res" "vid";gap:10px}
 .cs_ttl{font-size:18px;margin:8px 0 12px}
 .cs_b p{font-size:13.5px}
 .cs_res{padding:10px 10px}
 .cs_nums{gap:6px}
 .cs_nums b{font-size:30px}
 .cs_nums span{font-size:11px}
 .cs_vid{justify-self:center;width:60%}
 .own{padding:14px 14px 14px}
 .own_hd{flex-direction:column;align-items:flex-start;gap:8px}
 .own_nums{gap:6px}
 .own_nums li{padding:7px 8px}
 .own_nums b{font-size:28px}
 .own_nums span{font-size:11px}
}

/* ----- PLAN: 比較表 ----- */
.pl_price small:last-child{font-size:12px}
.cmp{width:min(1000px,100%);margin:70px auto 0;background:#fffdf8;color:var(--ink);padding:24px 28px 18px;border-radius:6px;box-shadow:0 8px 0 rgba(0,0,0,.4)}
.cmp_ttl{display:flex;align-items:baseline;gap:14px;margin-bottom:10px}
.cmp_ttl b{font-family:var(--mono);font-size:12px;letter-spacing:.2em;opacity:.6}
.cmp_ttl span{font-weight:900;font-size:clamp(18px,2vw,24px)}
.cmp_tbl{width:100%;border-collapse:collapse;table-layout:fixed}
.cmp_tbl th,.cmp_tbl td{padding:12px 8px;text-align:center;border-bottom:1px dashed rgba(20,20,20,.35);font-size:15px;font-weight:700;line-height:1.5}
.cmp_tbl thead th{vertical-align:bottom;font-weight:900;font-size:17px;border-bottom:2px solid var(--ink)}
.cmp_tbl thead small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.2em;opacity:.55;font-weight:700}
.cmp_tbl thead em{display:block;font-style:normal;font-family:var(--en);font-size:26px;color:var(--red);line-height:1.2}
.cmp_tbl tbody th{text-align:left;font-weight:900;width:30%}
.cmp_tbl .is-mid{background:#fff1cc}
.cmp_tbl .is-no{color:#9a9a9a;font-weight:400;font-size:20px}
.cmp_foot{margin-top:12px;font-size:13px;font-weight:700}
@media(max-width:767px){
 .cmp{margin-top:44px;padding:16px 10px 14px}
 .cmp_ttl{margin-left:4px}
 .cmp_tbl th,.cmp_tbl td{padding:9px 3px;font-size:12px}
 .cmp_tbl thead th{font-size:11.5px}
 .cmp_tbl thead small{font-size:8px;letter-spacing:.08em}
 .cmp_tbl thead em{font-size:18px}
 .cmp_tbl tbody th{width:28%;font-size:12px;padding-left:4px}
 .cmp_foot{font-size:12px;margin-left:4px}
}

/* ----- FAQ: 案内所(インフォメーション) ----- */
.sec--faq{background:#dbe7f3;padding:100px 20px 120px;color:#0d1f3a}
.info{max-width:940px;margin:0 auto}
.info_sign{display:flex;align-items:center;gap:18px;background:#0b4fb0;color:#fff;padding:14px 26px 14px 14px;border-radius:8px 8px 0 0;box-shadow:inset 0 -4px 0 rgba(0,0,0,.25)}
.info_i{flex:none;display:grid;place-items:center;width:clamp(54px,7vw,76px);aspect-ratio:1;border-radius:50%;background:#fff;color:#0b4fb0;font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:700;font-size:clamp(40px,5.4vw,58px);line-height:1}
.info_txt{display:flex;flex-direction:column}
.info_txt b{font-family:var(--en);font-weight:800;font-size:clamp(30px,5vw,56px);line-height:1;letter-spacing:.06em}
.info_txt i{font-style:normal;font-weight:900;font-size:clamp(12px,1.5vw,16px);letter-spacing:.08em;margin-top:4px}
.info_counter{background:#f7fbff;padding:20px 20px 14px;border:2px solid #0b4fb0;border-top:0;border-bottom:16px solid #26364f;box-shadow:0 14px 0 -4px rgba(13,31,58,.18)}
.q{background:#fff;border:2px solid #0d1f3a;border-radius:8px;margin-bottom:10px;overflow:hidden}
.q summary{display:flex;align-items:center;gap:14px;padding:10px 16px 10px 10px;cursor:pointer;list-style:none}
.q summary::-webkit-details-marker{display:none}
.q_no{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:62px;padding:4px 8px;background:#0b4fb0;color:#fff;border-radius:4px;font-size:10.5px;font-weight:900;line-height:1.2;letter-spacing:.1em}
.q_no b{font-family:var(--en);font-weight:800;font-size:24px;letter-spacing:.04em}
.q_t{flex:1;min-width:0;font-weight:900;font-size:clamp(15.5px,1.7vw,19px);line-height:1.5}
.q_pm{flex:none;position:relative;width:34px;height:34px;border-radius:50%;background:#ffd400;border:2px solid #0d1f3a}
.q_pm::before,.q_pm::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:3px;margin:-1.5px 0 0 -7px;background:#0d1f3a;transition:transform .25s}
.q_pm::after{transform:rotate(90deg)}
.q[open] .q_pm::after{transform:rotate(0)}
.q_a{padding:0 20px 18px 86px}
.q_a p{font-size:15px;line-height:1.85;font-weight:500;padding-top:12px;border-top:1px dashed rgba(13,31,58,.4)}
@media(hover:hover){.q summary:hover{background:#eef5fc}}
.info_foot{margin-top:30px;text-align:center;font-weight:700;font-size:14px}
@media(max-width:767px){
 .sec--faq{padding:70px 12px 90px}
 .info_sign{gap:12px;padding:10px 14px 10px 10px}
 .info_counter{padding:12px 10px 8px}
 .q summary{gap:10px;padding:8px 10px 8px 8px}
 .q_no{min-width:50px;padding:3px 5px}
 .q_no b{font-size:20px}
 .q_pm{width:30px;height:30px}
 .q_a{padding:0 14px 14px}
 .q_a p{font-size:14px}
}

/* ----- CHECK-IN: 搭乗券フォーム ----- */
.cta_reply{margin-top:18px;font-weight:900;font-size:15px}
.cta_demo{margin-top:12px;font-size:12.5px;opacity:.7;line-height:1.6;max-width:30em}
.app_form{display:flex;flex-direction:column;flex:1}
.app_in{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0 8px}
.f{display:block;min-width:0}
.f--full{grid-column:1/-1}
.f>span{display:flex;align-items:baseline;gap:5px;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;opacity:.7;margin-bottom:2px;font-weight:700;white-space:nowrap}
.f>span em{font-style:normal;font-family:var(--jp);font-size:10px;letter-spacing:0;overflow:hidden;text-overflow:ellipsis}
.f input,.f select{width:100%;font:inherit;font-size:13px;font-weight:700;color:#141414;background:#faf6ea;border:0;border-bottom:2px solid #141414;border-radius:0;padding:6px 4px;min-width:0;outline:0;appearance:none;-webkit-appearance:none}
.f select{background-image:linear-gradient(45deg,transparent 50%,#141414 50%),linear-gradient(135deg,#141414 50%,transparent 50%);background-position:calc(100% - 11px) 55%,calc(100% - 6px) 55%;background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:18px;font-size:12px}
.f input:focus,.f select:focus{background-color:#fff3d6;border-bottom-color:var(--red)}
.f input::placeholder{color:#8a8575;font-weight:400}
.app_form .qr_w{width:84px;margin-top:4px;padding:4px}
.app_form .qr_ok{width:38px;height:38px;margin:-19px 0 0 -19px;font-size:22px;border-width:2px}
.app_form .app_go{margin:14px 12px 6px;width:calc(100% - 24px)}
.app_reply{margin:0 12px 14px;text-align:center;font-size:11.5px;font-weight:700;opacity:.75}
.app_form .app_card{padding:12px 14px 12px}
@media(max-width:767px){.app{min-height:0}}

@media(prefers-reduced-motion:reduce){
 .tb_bad{animation:none}
 .tb_face,.tb_fix{transition:none}
}

/* v6 追記: フォームの見出しを折り返し表示（切れ防止） */
.f>span{display:block;white-space:normal;line-height:1.35}
.f>span em{display:block;overflow:visible;text-overflow:clip;font-size:10.5px;font-weight:700}
.f select{font-size:11.5px;padding-left:2px;padding-right:15px;text-overflow:ellipsis}
@media(max-width:767px){.f select{font-size:11px}}

/* v6 fix: PC/タブレットでは帯を柱リスト1行目の右に載せ、下端の電光ティッカーに隠れないようにする */
@media(min-width:960px){
 .hero_pl{position:relative}
 .hero_band{position:absolute;right:0;top:6px;margin:0;white-space:nowrap}
}

/* ======================================================================
   v7 追加: 実績ストリップ(HERO) / CTA帯 / 市場データ / 事例の基準 / 向き不向き / 保証 / フォーム
   ====================================================================== */
/* ----- HERO 実績ストリップ（搭乗券型） ----- */
.rs{margin-top:4px;min-width:0}
.rs_ttl{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;font-weight:700;margin-bottom:6px}
.rs_ttl b{background:var(--ink);color:#fff;padding:1px 9px}
.rs_ttl span{font-family:var(--jp);letter-spacing:0;font-size:12px}
.rs_list{display:grid;gap:7px}
.rs_list li{display:grid;grid-template-columns:76px minmax(0,1fr) minmax(0,1.05fr);background:#fffdf8;color:var(--ink);position:relative;border-left:8px solid var(--c);filter:drop-shadow(0 3px 0 rgba(20,20,20,.28));
 -webkit-mask:radial-gradient(circle 6px at 0 50%,#0000 97%,#000),radial-gradient(circle 6px at 100% 50%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle 6px at 0 50%,#0000 97%,#000),radial-gradient(circle 6px at 100% 50%,#0000 97%,#000);mask-composite:intersect}
.rs_list li>span{display:flex;flex-direction:column;justify-content:center;padding:6px 10px;min-width:0}
.rs_list li>span+span{border-left:2px dashed #c9c0a8}
.rs_list small{font-family:var(--mono);font-size:9px;letter-spacing:.1em;opacity:.65;font-weight:700;line-height:1.3}
.rs_list b{font-weight:900;font-size:13.5px;line-height:1.35}
.rs_c b{font-family:var(--en);font-size:22px;line-height:1.1}
.rs_n{background:#faf6ea}
.rs_n b{font-family:var(--en);font-size:28px;line-height:1.05;color:var(--red)}
.rs_n em{font-style:normal;font-size:10px;font-weight:700;opacity:.7;line-height:1.2}
.rs_note{margin-top:7px;font-size:11px;line-height:1.55;font-weight:700;opacity:.8}
@media(max-width:767px){
 .rs_list li{grid-template-columns:62px minmax(0,1fr) minmax(0,1fr)}
 .rs_list li>span{padding:5px 6px}
 .rs_list b{font-size:12px}
 .rs_c b{font-size:19px}
 .rs_n b{font-size:24px}
}

/* ----- CTA帯（2択） ----- */
.ctab_sec{position:relative;z-index:2;background:var(--paper);padding:56px 20px}
.ctab{max-width:1080px;margin:0 auto;display:flex;color:var(--ink);filter:drop-shadow(0 6px 0 rgba(20,20,20,.3))}
.ctab_main{flex:1;min-width:0;background:#fffdf8;padding:22px 26px;border-radius:6px 0 0 6px;
 -webkit-mask:radial-gradient(circle 9px at 100% 0,#0000 97%,#000),radial-gradient(circle 9px at 100% 100%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle 9px at 100% 0,#0000 97%,#000),radial-gradient(circle 9px at 100% 100%,#0000 97%,#000);mask-composite:intersect}
.ctab_k{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;font-weight:700}
.ctab_k b{background:var(--ink);color:#fff;padding:1px 9px}
.ctab_k span{font-family:var(--jp);letter-spacing:0;font-size:13px;color:var(--red)}
.ctab_t{font-weight:900;font-size:clamp(19px,2.3vw,30px);line-height:1.4;margin-top:8px}
.ctab_s{font-size:13px;line-height:1.7;margin-top:6px;font-weight:500}
.ctab_stub{flex:none;display:flex;align-items:center;padding:18px 20px;background:#faf6ea;border-left:2px dashed #c9c0a8;border-radius:0 6px 6px 0;
 -webkit-mask:radial-gradient(circle 9px at 0 0,#0000 97%,#000),radial-gradient(circle 9px at 0 100%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle 9px at 0 0,#0000 97%,#000),radial-gradient(circle 9px at 0 100%,#0000 97%,#000);mask-composite:intersect}
.ctab_btns{display:flex;flex-direction:column;gap:10px;min-width:230px}
.ctab_btns .tbtn_w{display:block}
.ctab_btns .tbtn{width:100%;padding:12px 18px}
.ctab_btns .tbtn span{font-size:15px;font-weight:900}
@media(max-width:767px){
 .ctab_sec{padding:36px 12px}
 .ctab{flex-direction:column}
 .ctab_main{border-radius:6px 6px 0 0;padding:18px 16px;-webkit-mask:none;mask:none}
 .ctab_stub{border-left:0;border-top:2px dashed #c9c0a8;border-radius:0 0 6px 6px;padding:14px 16px;-webkit-mask:none;mask:none}
 .ctab_btns{min-width:0;width:100%}
}

/* ----- 市場データ ----- */
.sec--market{background:#e9e2d0;padding:100px 20px 110px}
.mk{max-width:1120px;margin:0 auto}
.mk_k{font-family:var(--dot);font-size:15px;letter-spacing:.14em;color:var(--red)}
.mk_ttl{margin-top:8px;display:flex;flex-direction:column;gap:0}
.mk_ttl span{font-weight:900;font-size:clamp(17px,2.2vw,28px)}
.mk_ttl b{font-family:var(--en);font-weight:900;font-size:clamp(54px,11vw,150px);line-height:1;letter-spacing:.01em;text-shadow:.03em .03em 0 var(--red)}
.mk_ttl small{font-family:var(--jp);font-size:.28em;margin-left:.3em;text-shadow:none}
.mk_lead{margin-top:14px;font-size:15px;line-height:1.8;font-weight:500;max-width:40em}
.mk_passes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 20px;margin-top:38px}
.mk_pass{display:flex;color:var(--ink);filter:drop-shadow(0 6px 0 rgba(20,20,20,.28))}
.mk_main{flex:1;min-width:0;background:#fffdf8;border-top:10px solid var(--c);padding:12px 16px 14px;border-radius:5px 0 0 5px;
 -webkit-mask:radial-gradient(circle 8px at 100% 0,#0000 97%,#000),radial-gradient(circle 8px at 100% 100%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle 8px at 100% 0,#0000 97%,#000),radial-gradient(circle 8px at 100% 100%,#0000 97%,#000);mask-composite:intersect}
.mk_top{display:flex;justify-content:space-between;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;font-weight:700}
.mk_top span{font-family:var(--jp);letter-spacing:0;opacity:.7}
.mk_ft{display:grid;grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);align-items:center;gap:6px;margin-top:8px}
.mk_ft small{display:block;font-family:var(--mono);font-size:9px;letter-spacing:.14em;opacity:.6;font-weight:700}
.mk_ft b{display:block;font-weight:900;font-size:16px;line-height:1.25}
.mk_ft i{display:block;font-family:var(--mono);font-style:normal;font-size:10px;opacity:.6}
.mk_ft svg{width:30px;height:20px;color:var(--ink)}
.mk_ft div:last-child b{font-family:var(--en);font-size:17px;letter-spacing:.04em}
.mk_n{margin-top:8px;line-height:1.1;white-space:nowrap}
.mk_n b{font-family:var(--en);font-weight:900;font-size:clamp(34px,3.4vw,46px);color:var(--ink)}
.mk_n span{font-weight:900;font-size:15px;margin-left:3px}
.mk_n em{font-style:normal;font-size:11px;font-weight:700;margin-left:6px;color:var(--red);white-space:normal}
.mk_bar{height:8px;background:#e8e1d0;margin-top:6px;border-radius:1px;overflow:hidden}
.mk_bar i{display:block;height:100%;background:var(--c);filter:saturate(1.2) brightness(.92)}
.mk_sh{margin-top:5px;font-size:11.5px;font-weight:700;line-height:1.5}
.mk_stub{flex:none;width:58px;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 6px;background:#faf6ea;border-left:2px dashed #c9c0a8;border-radius:0 5px 5px 0;
 -webkit-mask:radial-gradient(circle 8px at 0 0,#0000 97%,#000),radial-gradient(circle 8px at 0 100%,#0000 97%,#000);-webkit-mask-composite:source-in;
 mask:radial-gradient(circle 8px at 0 0,#0000 97%,#000),radial-gradient(circle 8px at 0 100%,#0000 97%,#000);mask-composite:intersect}
.mk_stub .tk_vert{font-size:10px;order:0;letter-spacing:.18em}
.mk_stub .barcode{width:16px;height:100%;min-height:90px;background:repeating-linear-gradient(0deg,#141414 0 2px,transparent 2px 4px,#141414 4px 5px,transparent 5px 8px)}
.mk_pass--ph .mk_main{border-top-style:dashed;border-top-color:#8a8575}
.mk_pass--ph .mk_n b{color:#8a8575}
.mk_src{margin-top:26px;font-size:12px;line-height:1.8;font-weight:500;max-width:62em;overflow-wrap:anywhere}
.mk_src b{display:inline-block;background:var(--ink);color:#fff;padding:0 8px;margin-right:8px;font-size:11px}
.mk_src a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1023px){.mk_passes{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
 .sec--market{padding:70px 14px 80px}
 .mk_passes{grid-template-columns:1fr;gap:16px;margin-top:28px}
 .mk_lead{font-size:14px}
 .mk_stub{width:48px}
}

/* ----- 事例: 集計の基準 ----- */
.cs_base{display:flex;flex-wrap:wrap;gap:2px 18px;margin-top:10px;padding:7px 10px;background:rgba(20,20,20,.07);border-left:4px solid var(--red);font-size:12px;line-height:1.5}
.cs_base div{display:flex;gap:6px;min-width:0}
.cs_base dt{font-weight:900;white-space:nowrap}
.cs_base dt::after{content:"："}
.cs_base dd{font-weight:700;min-width:0;white-space:nowrap}
.cs .cs_disc{margin-top:6px;font-size:11.5px;font-weight:700;opacity:.8;line-height:1.55}
@media(max-width:767px){.cs_base{flex-direction:column;gap:2px}}

/* ----- 向き不向き ----- */
.fit,.gr{width:min(1000px,100%);margin:56px auto 0;background:#fffdf8;color:var(--ink);padding:24px 28px 22px;border-radius:6px;box-shadow:0 8px 0 rgba(0,0,0,.4)}
.fit_ttl,.gr_ttl{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-bottom:14px}
.fit_ttl b,.gr_ttl b{font-family:var(--mono);font-size:12px;letter-spacing:.16em;background:var(--ink);color:#fff;padding:2px 10px}
.fit_ttl span,.gr_ttl span{font-weight:900;font-size:18px}
.fit_grid,.gr_grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fit_grid section,.gr_grid section{padding:14px 16px;border:2px solid var(--ink);min-width:0}
.fit_y{background:#eaf6ee}.fit_n{background:#f6ecea;border-style:dashed!important}
.fit h3,.gr h3{display:flex;align-items:center;gap:8px;font-weight:900;font-size:16px;margin-bottom:8px}
.fit h3 i,.gr h3 i{font-style:normal;font-family:var(--en);font-size:20px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ink);color:#fff;line-height:1}
.fit_n h3 i{background:var(--red)}
.fit_y h3 i{background:var(--cn)}
.fit li{position:relative;padding:5px 0 5px 20px;font-size:14px;line-height:1.6;font-weight:500;border-bottom:1px dotted rgba(20,20,20,.3)}
.fit li:last-child{border-bottom:0}
.fit_y li::before,.fit_n li::before{position:absolute;left:0;top:5px;font-weight:900}
.fit_y li::before{content:"○";color:var(--cn)}
.fit_n li::before{content:"×";color:var(--red)}
.gr_a{background:#fff6dc}.gr_b{background:#eef3fb}
.gr p{font-size:14px;line-height:1.7;font-weight:500}
.gr li{padding:5px 0;font-size:14px;line-height:1.6;border-bottom:1px dotted rgba(20,20,20,.3)}
.gr li:last-child{border-bottom:0}
.gr li b{display:inline-block;background:var(--ink);color:#fff;font-size:11.5px;padding:0 7px;margin-right:8px}
.gr em{display:block;margin-top:8px;font-style:normal;font-weight:700;font-size:12px;color:var(--red)}
.gr_note{margin-top:12px;font-size:12.5px;line-height:1.7;font-weight:700}
@media(max-width:767px){
 .fit,.gr{margin-top:36px;padding:16px 12px 16px}
 .fit_grid,.gr_grid{grid-template-columns:1fr}
 .fit_ttl span,.gr_ttl span{font-size:16px}
}

/* ----- フォーム: 状況2択 / CTA ----- */
.tmpf{grid-column:1/-1;border:0;margin:0;padding:0;min-width:0}
.tmpf legend{padding:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 5px;font-family:var(--mono);font-size:8.5px;letter-spacing:.14em;opacity:.7;margin-bottom:3px;font-weight:700}
.tmpf legend em{font-style:normal;font-family:var(--jp);font-size:10.5px;letter-spacing:0}
.tmpf{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.tmpf legend{grid-column:1/-1;float:left;width:100%}
.tmp{display:block;position:relative;min-width:0}
.tmp input{position:absolute;opacity:0;pointer-events:none}
.tmp span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:36px;padding:4px 6px;font-size:12px;font-weight:700;line-height:1.3;background:#faf6ea;border:2px solid #141414;cursor:pointer}
.tmp input:checked+span{background:#141414;color:#fff}
.tmp input:focus-visible+span{outline:3px solid var(--red);outline-offset:1px}
.ci_offer{margin-top:18px;padding:10px 14px;background:#fffdf8;border-left:6px solid var(--red);max-width:34em}
.ci_offer b{display:block;font-weight:900;font-size:16px;line-height:1.5}
.ci_offer span{display:block;font-size:12px;font-weight:700;opacity:.75}
.ci_cta{margin-top:14px;max-width:34em}
.ci_cta .ctab_btns{flex-direction:row;min-width:0}
.ci_cta .ctab_btns .tbtn_w{flex:1;min-width:0}
.ci_cta .ctab_btns .tbtn span{font-size:14px}
.ci_line{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}
.ci_line a{display:inline-flex;align-items:center;gap:8px;padding:8px 16px 8px 8px;background:#06c755;color:#fff;font-weight:900;font-size:14px;border-radius:999px}
.ci_line a i{font-style:normal;font-family:var(--en);font-weight:900;font-size:13px;background:#fff;color:#06c755;border-radius:999px;padding:1px 9px;letter-spacing:.04em}
.ci_line small{font-size:11.5px;font-weight:700;opacity:.7}
@media(max-width:767px){.ci_cta .ctab_btns{flex-direction:column}}

.ctab_btns .tbtn--paper{border:2px solid var(--ink)}

/* ======================================================================
   v8: 余白の統一スケール / 不要情報の削減 / スマホ最適化
   スケール（CSSカスタムプロパティ）  SP: 56 / 18 / 12   PC: 96 / 24 / 16
   --sec-y=セクション間の余白（上58%・下42%に配分）  --hd-gap=見出し→本文  --card-gap=カード間
   ====================================================================== */
:root{--sec-y:96px;--hd-gap:24px;--card-gap:16px;--pt:calc(var(--sec-y)*.58);--pb:calc(var(--sec-y)*.42)}
@media(max-width:767px){:root{--sec-y:56px;--hd-gap:18px;--card-gap:12px;--lh:0px}}

/* ----- 文字組み（泣き別れ・孤立行の防止） ----- */
h1,h2,h3,.tb_msg,.ci_offer b,.ctab_k span,.hero_band{text-wrap:balance}
p,li,dd,.fl_desc,.cs_b p{text-wrap:pretty;word-break:auto-phrase;line-break:strict}
.nb{white-space:nowrap}

/* ----- SP固定CTAバー（SPのみ。PCは電光ティッカー） ----- */
.fbar{display:none}
@media(max-width:767px){
 .led{display:none}
 .fbar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:520;height:calc(56px + env(safe-area-inset-bottom,0px));padding:6px 10px env(safe-area-inset-bottom,0px);background:rgba(20,20,20,.96);box-shadow:0 -4px 14px rgba(0,0,0,.25);transform:translateY(110%);visibility:hidden;transition:transform .3s ease,visibility 0s .3s}
 .fbar.is-show{transform:none;visibility:visible;transition:transform .3s ease}
 .fbar_a{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:8px;font-weight:900;font-size:15px;letter-spacing:.04em;color:#fff;text-align:center}
 .fbar_a--main{flex:1 1 0;background:var(--red)}
 .fbar_a--line{flex:0 0 32%;background:#06c755}
 .pagetop{display:none}
 main{padding-bottom:0}
 .footer{padding-bottom:calc(72px + env(safe-area-inset-bottom,0px))}
}

/* ----- セクション共通 ----- */
.sec{padding:var(--pt) 24px var(--pb)}
.hstamp{margin-bottom:var(--hd-gap)}
.sign{margin-bottom:var(--hd-gap)}
@media(max-width:767px){
 .sec{padding:var(--pt) 16px var(--pb)}
 .sec--trouble,.sec--market,.sec--faq,.sec--cta{padding-left:14px;padding-right:14px}
 .header_menu{height:44px}
}

/* ----- HERO ----- */
.hero_note{display:none}
@media(max-width:767px){
 .hero{padding:calc(var(--hh) + 8px) 12px 28px}
 .board{font-size:3.2vw;padding:.6em .8em .7em}
 .board_ttl{margin-bottom:.4em}
 .board_grid .b_r:nth-last-child(-n+2){display:none}
 .hero_h{margin-top:12px}
 .hero_logo{margin-top:3vw;font-size:19.5vw}
 .hero_info{margin-top:10px;gap:10px}
 .hero_pillars b{font-size:19px}
 .hero_band{margin-top:8px}
 .hero_btns .tbtn small{display:none}
 .hero_btns .tbtn{min-height:48px;display:flex;align-items:center;justify-content:center}
 .rs_note{font-size:12px}
 .rs_n em{font-size:12px}
}

/* ----- FEED ----- */
.feed{padding:var(--pt) 0 var(--pb)}
@media(max-width:767px){
 .feed{padding:28px 0 20px}
 .feed_stage{margin-top:8px}
 .feed_dots{margin-top:6px}
 .feed_dot{position:relative}
 .feed_dot::after{content:"";position:absolute;inset:-17px}
}

/* ----- TROUBLE（WHY IT FAILS削除後） ----- */
.sec--trouble{padding:var(--pt) 20px var(--pb)}
.tb_ttl{margin:8px 0 var(--hd-gap)}
.tb_row{padding:12px 0}
.tb_foot{margin-top:16px}
@media(max-width:767px){
 .sec--trouble{padding:var(--pt) 14px var(--pb)}
 .tb_ttl{font-size:26px;margin-bottom:var(--hd-gap)}
 .tb_row{padding:10px 0;gap:2px 10px}
 .tb_msg{font-size:16px}
 .tb_cap{font-size:12.5px}
 .tb_foot{margin-top:12px;font-size:14px}
}

/* ----- MARKET ----- */
.sec--market{padding:var(--pt) 20px var(--pb)}
.mk_passes{margin-top:var(--hd-gap);gap:var(--card-gap)}
.mk_src{margin-top:var(--hd-gap)}
.mk_lead{margin-top:10px}
@media(max-width:767px){
 .sec--market{padding:var(--pt) 14px var(--pb)}
 .mk_ttl b{font-size:13.5vw}
 .mk_lead{font-size:13px;line-height:1.65}
 .mk_passes{gap:8px;margin-top:var(--hd-gap)}
 .mk_pass{filter:drop-shadow(0 3px 0 rgba(20,20,20,.22))}
 .mk_main{border-top:0;border-left:8px solid var(--c);border-radius:4px;padding:8px 12px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"ft n" "bar sh";align-items:center;gap:4px 10px;-webkit-mask:none;mask:none}
 .mk_top,.mk_ft small,.mk_ft svg,.mk_ft>div:last-child,.mk_stub,.mk_n span{display:none}
 .mk_ft{grid-area:ft;display:block;margin:0}
 .mk_ft>div:first-child{display:flex;align-items:baseline;gap:8px}
 .mk_ft b{font-size:17px}
 .mk_ft i{font-size:12px}
 .mk_n{grid-area:n;margin:0;text-align:right}
 .mk_n b{font-size:24px}
 .mk_bar{grid-area:bar;margin:0;height:7px}
 .mk_sh{grid-area:sh;margin:0;font-size:12px;white-space:nowrap}
 .mk_src{font-size:12px;line-height:1.7;margin-top:14px}
}

/* ----- INTRO ----- */
.intro{padding:var(--pt) 16px var(--pb)}
.intro_paper{padding:0}
.intro_ttl{margin-bottom:var(--hd-gap)}
.intro_text span{line-height:2.1}
@media(min-width:768px){.intro_st--r{top:50%}}
@media(max-width:767px){
 .intro{padding:var(--pt) 16px var(--pb)}
 .intro_paper{padding:0}
 .intro_st--r{margin:14px auto 0;width:112px}
 .intro_text span{font-size:15px;line-height:1.95}
 .intro_ttl{font-size:23px;margin-bottom:12px}
}

/* ----- ALL IN ONE ----- */
.aio{padding:0 16px var(--pb)}
.aio_more{padding-top:14px;gap:16px 24px}
@media(max-width:767px){
 .aio{padding:0 16px var(--pb)}
 .aio_in{padding:16px 14px 18px;gap:14px}
 .aio_more{gap:12px;padding-top:12px}
 .aio_num li{padding:5px 0}
 .aio_num li span{font-size:13px}
 .aio_who ul{gap:8px}
 .aio_who li{padding:8px 10px 9px}
 .aio_who span{font-size:13px;line-height:1.55}
 .aio_who b{margin-top:2px}
}

/* ----- GATES ----- */
.gate{height:min(100svh,800px);min-height:0}
.g3_stats{grid-template-columns:1fr}
@media(max-width:767px){
 .gates{background:var(--paper)}
 .gate{position:relative;top:auto;height:auto;min-height:0;display:block;padding:10px 10px;overflow:visible}
 .gate::after{display:none}
 .gatenav{display:none}
 .tk{width:100%}
 .tk_main{padding:14px 14px 12px}
 .tk_quote{font-size:13px;line-height:1.65}
 .tk_badges span,.tk_note{font-size:12px;opacity:.75}
 .tk_badges b{font-size:14px}
 .tk_note{margin-top:4px}
 .gstamp{top:56px}
 .g2{margin-top:6px;padding-top:6px}
 .g2_steps span{font-size:12px;line-height:1.4}
 .g2_steps b{font-size:13px}
 .g3_note{font-size:12px}
 .g3_guar{font-size:12px}
 .tk_stub{padding:8px 12px;flex:none}
 .tk_vert{display:none}
 .tk_stub_body{gap:12px;height:auto}
 .tk_stub .barcode{height:40px;flex:.5}
 .tk_stub .tbtn{min-height:44px;display:flex;align-items:center;justify-content:center;padding:4px 12px}
 .tk_stub .tbtn span{display:none}
}

/* ----- MEDIA ----- */
.sec--media{padding-left:0;padding-right:0}
.mx{margin-top:0}
.mx_tbl tbody th,.mx_tbl td{padding:12px 18px}
@media(max-width:767px){
 .sec--media{padding-bottom:var(--pb)}
 .mx{margin-top:0;width:calc(100% - 28px)}
 .mx_ttl{margin-bottom:10px}
 .mx_tbl tbody tr{display:grid;grid-template-columns:86px minmax(0,1fr);grid-template-rows:auto auto;margin-bottom:8px;padding:0}
 .mx_tbl tbody th{grid-row:1/3;display:flex;align-items:center;justify-content:center;padding:8px 6px;font-size:16px}
 .mx_tbl tbody th i{display:none}
 .mx_tbl td{padding:8px 12px 0;font-size:13px;line-height:1.5}
 .mx_tbl td+td{padding-top:2px;padding-bottom:8px}
 .mx_tbl td::before{display:none}
}

/* ----- FLOW ----- */
.sec--flow .fl_wrap{margin-bottom:60px}
.sec--flow .sec_more{display:none}
@media(max-width:1100px){.fl_wrap{aspect-ratio:360/720}.sec--flow .fl_wrap{margin:14px auto 40px}}
@media(max-width:767px){
 .sec--flow{padding-bottom:var(--pb)}
 .sec--flow .fl_wrap{margin:8px auto 12px;max-width:100%}
 .fl_wrap{aspect-ratio:360/720}
 .mon_screen{padding:12px 10px 12px}
 .fl_title{font-size:16px}
 .fl_desc{font-size:12px;line-height:1.5}
 .fl_cust{margin-top:4px;padding:3px 6px 4px;font-size:12px;line-height:1.4}
 .fl_cust b{display:inline;margin-right:.5em}
 .mon_info div{padding:6px 8px}
 .mon_info dt{font-size:10px}
}

/* ----- PICK UP ----- */
.pick_swiper{padding:var(--hd-gap) 0 28px}
@media(max-width:767px){
 .sec--pick{padding-bottom:var(--pb)}
 .pick_swiper{padding:6px 0 24px}
 .pick_swiper .swiper-slide{width:90vw}
 .cs{padding:14px 12px 14px}
 .cs_ttl{font-size:17px;margin:6px 0 10px}
 .cs_grid{grid-template-columns:minmax(0,1fr) 92px;grid-template-areas:"issue vid" "act vid" "res res";gap:8px 10px}
 .cs_vid{width:100%;justify-self:stretch;align-self:start}
 .cs_b p{font-size:13px;line-height:1.55}
 .cs_b h4{margin-bottom:2px}
 .cs_nums b{font-size:26px}
 .cs_nums span{font-size:12px}
 .cs_res{padding:8px 10px}
 .cs_play{width:34px;height:34px;margin:-17px 0 0 -17px}
 .cs_play svg{width:18px;height:18px}
 .cs_acc{font-size:10px;left:6px;bottom:6px}
 .cs_base{padding:5px 8px;font-size:12px}
 .cs .cs_disc{font-size:12px}
}

/* ----- CTA帯（BOARDING GUIDE・1行見出し＋2ボタン） ----- */
.ctab_sec{padding:28px 24px}
.ctab{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px 24px;background:#fffdf8;padding:14px 22px;border-radius:6px}
.ctab_k{flex:1;min-width:0}
.ctab_btns{flex-direction:row;min-width:0;gap:10px;flex:none}
.ctab_btns .tbtn{min-height:48px;display:flex;align-items:center;justify-content:center;padding:8px 22px}
@media(max-width:767px){
 .ctab_sec{padding:14px 12px}
 .ctab{display:block;padding:10px 12px 12px}
 .ctab_k{margin-bottom:8px}
 .ctab_k span{font-size:14px;line-height:1.4}
 .ctab_btns{width:100%;gap:8px}
 .ctab_btns .tbtn_w{flex:1 1 0;min-width:0}
 .ctab_btns .tbtn{padding:6px 6px;min-height:48px}
 .ctab_btns .tbtn span{font-size:14px;white-space:nowrap}
}

/* ----- PLAN（3枚カード削除・比較表のみ） ----- */
.cmp{margin-top:var(--hd-gap)}
.fit,.gr{margin-top:var(--card-gap)}
.cmp_foot{margin-top:10px}
@media(max-width:767px){
 .sec--plan{padding-bottom:var(--pb)}
 .cmp{margin-top:0;padding:14px 8px 12px}
 .fit,.gr{margin-top:var(--card-gap);padding:14px 12px}
 .cmp_tbl th,.cmp_tbl td{padding:8px 3px;font-size:12px}
 .cmp_tbl thead th{font-size:12px}
 .cmp_tbl thead em{font-size:19px}
 .fit_grid,.gr_grid{gap:10px}
 .fit_grid section,.gr_grid section{padding:10px 12px}
 .fit li,.gr li{font-size:13px;padding:4px 0 4px 20px;line-height:1.55}
 .gr li{padding-left:0}
 .fit h3,.gr h3{margin-bottom:4px}
 .gr p{font-size:13px;line-height:1.6}
 .gr_note{font-size:12px;margin-top:8px}
 .fit_ttl,.gr_ttl{margin-bottom:10px}
}

/* ----- FAQ ----- */
.sec--faq{padding:var(--pt) 20px var(--pb)}
.info_foot{margin-top:20px}
@media(max-width:767px){
 .sec--faq{padding:var(--pt) 12px var(--pb)}
 .q{margin-bottom:8px}
 .q summary{min-height:48px}
 .q_t{font-size:15px;line-height:1.45}
 .q_a p{font-size:13.5px;line-height:1.7}
 .info_foot{margin-top:14px;font-size:13px}
 .info_counter{border-bottom-width:10px}
}

/* ----- CHECK-IN ----- */
.sec--cta{padding:var(--pt) 24px var(--pb)}
.ci{gap:var(--card-gap) 40px}
.ci_r{padding:8px 0 16px}
.ci_foot{max-width:1100px;margin:var(--card-gap) auto 0;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
.ci_foot .ci_line{margin-top:0;justify-content:center}
.ci_foot .cta_demo{margin:0;max-width:none;text-align:center}
.ci_line a{min-height:44px}
.app_reply{margin:0 12px 12px}
@media(max-width:767px){
 .sec--cta{padding:var(--pt) 16px var(--pb)}
 .ci{gap:var(--card-gap)}
 .ci .cta_ttl{font-size:19cqw;margin-top:10px}
 .ci_offer{margin-top:10px;padding:8px 12px}
 .ci_offer b{font-size:15px}
 .ci_r{padding:0 0 10px}
 .phone_w{width:min(292px,100%)}
 .app{min-height:0}
 .app_hd{padding:38px 12px 10px}
 .app_card{margin:10px 10px 0;padding:12px 12px 12px}
 .app_in{gap:6px 8px;padding:10px 0 6px}
 .f>span{font-size:10px}
 .f>span em{font-size:12px}
 .f input{font-size:14px;min-height:36px}
 .f select{font-size:12px;min-height:36px}
 .tmpf legend em{font-size:12px}
 .tmp span{min-height:44px;font-size:12px}
 .app_form .qr_w{width:62px;margin-top:2px}
 .app_form .app_go{margin:10px 10px 4px;width:calc(100% - 20px);min-height:48px}
 .app_reply{font-size:12px;margin:0 10px 12px;text-wrap:balance}
 .ci_foot .cta_demo{font-size:12px}
}

/* ----- フッター・全体 ----- */
.footer{padding-top:var(--pt)}
@media(max-width:767px){
 .footer{padding-top:32px}
 .header_clock{font-size:10px}
}

/* ----- v8 調整（SP実測後） ----- */
@media(max-width:767px){
 .hero{padding-bottom:18px}
 .feed{padding-top:14px}
 .aio_chips{flex-wrap:nowrap;gap:0;justify-content:space-between}
 .aio_chips li+li{flex:none}
 .aio_chips li+li::before{width:7px;margin:0 2px}
 .aio_chip{padding:5px 7px 6px}
 .aio_chip b{font-size:12.5px}
 .aio_num li b{font-size:20px}
 .sec--flow .fl_wrap{margin:34px auto 52px}
 .sec--pick{padding-bottom:var(--pb)}
 .pick_swiper{padding-bottom:10px}
 .tmp span{padding:4px 2px;letter-spacing:-.02em;font-size:12px}
 .app_reply{white-space:nowrap;text-wrap:nowrap;font-size:12px}
}

/* ----- v8 PC圧縮 ----- */
@media(min-width:768px){
 .board{font-size:clamp(11px,1.45vw,24px)}
 .hero{padding-bottom:28px}
 .feed{padding-top:36px}
 .gate{height:min(100svh,610px)}
 .tk_stub .barcode{height:80px}
}

/* v8 SP 文字サイズ下限（日本語ラベルは12px以上・装飾英字のみ10px） */
@media(max-width:767px){
 .board_ttl{font-size:10px}
 .hero small,.hero .rs small,.hero_rec small{font-size:11px}
 .sec--market span,.sec--market b,.market span,.market b{font-size:max(12px,1em)}
 #market [class*=ft],#market [class*=cd]{font-size:12px}
 .sec--media i,.sec--pick i,.sec--pickup i,#media i,#pickup i{font-size:12px}
 #person03 b,.gr_b,#flow b,#faq .q_no{font-size:max(12px,1em)}
 #faq .q_no b{font-size:inherit}
 .aio_kicker{font-size:12px}
}
@media(max-width:767px){
 .hero small,.hero .rs small,.hero_rec small{font-size:12px}
 #market small{font-size:12px}
 .gr_b,.gr_b b,b.gr_b{font-size:12px}
 .sec--flow [class*=kicker] span,#flow .fl_ttl span{font-size:10px}
}
@media(max-width:767px){.gr_a b,.gr_b b,.gr_a span,.gr_b span{font-size:12px!important}}

/* ======================================================================
   v9: PCのHERO 2カラム化 / 進め方をPCも縦 / CTA帯=大きなオファーボタン1つ / 保証枠撤去 / 飛行機の横切り演出
   ====================================================================== */
/* ----- HERO：左＝見出し・ロゴ・3本柱／右＝料金・ボタン・実績 ----- */
.hero_main{margin-top:clamp(14px,2vh,28px)}
.hero_cta{margin-top:0;align-self:auto}
.hero_right{margin-top:22px}
@media(min-width:960px){
 .hero_main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:0 3.5vw;align-items:end}
 .hero_h{margin-top:0}
 .hero_logo{font-size:min(10.2vw,196px);margin-top:.3em}
 .hero_left .hero_pl{margin-top:clamp(18px,3vh,40px)}
 .hero_band{position:static;display:inline-block;margin-top:12px;white-space:normal}
 .hero_right{margin-top:0}
}
@media(max-width:767px){
 .hero_main{margin-top:0}
 .hero_left .hero_pl{margin-top:10px}
 .hero_right{margin-top:10px}
}

/* ----- 進め方：PCも縦。中央の航路に左右交互で経由地 ----- */
@media(min-width:1101px){
 .sec--flow .fl_wrap{aspect-ratio:900/1080;max-width:900px;margin:28px auto 36px}
 .sec--flow .fl_dot{width:64px;height:64px;font-size:28px}
 .fl_txt,.sec--flow .fl_txt{top:50%;left:100%;transform:translateY(-50%);width:300px;margin:0 0 0 24px;text-align:left}
 .sec--flow .fl_stop:nth-child(even) .fl_txt{left:auto;right:100%;margin:0 24px 0 0;text-align:right}
 .sec--flow .fl_stop:nth-child(even) .fl_cust{text-align:right}
 .sec--flow .fl_title{font-size:22px}
 .sec--flow .fl_desc{font-size:14px}
 .sec--flow .fl_cust{display:inline-block;font-size:13px}
}

/* ----- CTA帯：大きなオファーボタン1つ ----- */
.ctab_sec{padding:48px 20px}
.offer{max-width:880px;margin:0 auto}
.offer_w{display:block}
.offer_btn{display:flex;width:100%;min-height:116px;padding:20px 96px;position:relative;gap:6px}
.offer_btn{background:var(--red)}
@media(hover:hover){.offer_btn:hover{background:var(--ink)}}
.offer_btn .offer_t{font-size:clamp(22px,2.5vw,34px);font-weight:900;letter-spacing:.05em;line-height:1.3}
.offer_btn .offer_s{font-size:clamp(12.5px,1.15vw,15px);font-weight:700;opacity:.92}
.offer_pl{position:absolute;right:38px;top:50%;width:48px;height:32px;transform:translateY(-50%);color:#ffd400;transition:transform .35s ease}
@media(hover:hover){.offer_btn:hover .offer_pl{transform:translate(12px,-50%)}}
@media(max-width:767px){
 .ctab_sec{padding:32px 12px}
 .offer_btn{min-height:88px;padding:14px 58px 14px 22px}
 .offer_btn .offer_t{font-size:19px}
 .offer_btn .offer_s{font-size:12px}
 .offer_pl{right:18px;width:32px;height:22px}
}

/* ----- 飛行機が横切る演出（セクションの境目に重ねる。高さは取らない） ----- */
.flyby{position:relative;height:0;z-index:6;pointer-events:none}
.flyby svg{position:absolute;left:0;top:0;transform:translateY(-50%);width:100%;height:max(16.6vw,120px);overflow:hidden}
.fb_guide{stroke:none}
.fb_trail{stroke:var(--red);stroke-width:3;stroke-dasharray:1 11;stroke-linecap:round;opacity:.75}
.fb_plane{color:var(--red);filter:drop-shadow(0 4px 3px rgba(0,0,0,.18))}
@media(prefers-reduced-motion:reduce){.flyby{display:none}}

/* =====================================================================
   v10: CHECK-IN（申込欄）作り直し ＋ 追従オファーボタン（PC・SP）
   ===================================================================== */
.sec--cta{background:var(--paper)}
.ck{max-width:1180px;margin:0 auto}
.ck_head{margin-bottom:calc(var(--hd-gap)*1.4)}
.ck_k{display:flex;align-items:center;gap:12px;margin:0 0 14px}
.ck_k b{font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.2em;color:#fff;background:var(--red);padding:4px 10px;border-radius:3px}
.ck_k span{font-size:14px;font-weight:700}
.ck_ttl{margin:0;font-size:clamp(30px,4.2vw,58px);font-weight:900;line-height:1.3;letter-spacing:.01em}
.ck_ttl span{display:inline-block}
.ck_ttl em{font-style:normal;color:var(--red)}
.ck_grid{display:grid;gap:var(--card-gap)}
.ck_h{display:flex;align-items:baseline;gap:10px;margin:0 0 14px;padding-bottom:10px;border-bottom:2px solid var(--ink)}
.ck_h b{font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.18em;color:var(--red)}
.ck_h span{font-size:16px;font-weight:900}
.ck_items,.ck_steps,.ck_safe{list-style:none;margin:0;padding:0}
.ck_items li{display:grid;grid-template-columns:52px 1fr;gap:12px;padding:14px 0;border-bottom:1px dashed rgba(20,20,20,.25)}
.ck_items i{font-style:normal;font-family:var(--en);font-weight:900;font-size:38px;line-height:1;color:var(--red)}
.ck_items b{display:block;font-size:18px;font-weight:900;line-height:1.45}
.ck_items span{display:block;font-size:13.5px;line-height:1.7;opacity:.78;margin-top:3px}
.ck_steps{position:relative;display:grid;gap:14px;padding-left:26px}
.ck_steps::before{content:"";position:absolute;left:7px;top:8px;bottom:8px;border-left:2px dashed var(--red)}
.ck_steps li{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.ck_steps li::before{content:"";position:absolute;left:-26px;top:5px;width:16px;height:16px;border-radius:50%;background:var(--paper);border:3px solid var(--red)}
.ck_steps li:first-child::before{background:var(--red)}
.ck_steps b{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--red);min-width:8.5em}
.ck_steps span{font-size:15px;font-weight:700}
.ck_safe{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.ck_safe li{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;padding:6px 12px;border-radius:999px;background:#fffdf8;box-shadow:inset 0 0 0 1.5px rgba(20,20,20,.18)}
.ck_safe li::before{content:"✓";color:var(--red);font-weight:900}
.sec--cta .cta_demo{margin:calc(var(--card-gap)*1.5) 0 0;text-align:center;font-size:12px;opacity:.6}

/* --- 搭乗券フォーム --- */
.bp{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 250px;margin:0;background:#fffdf8;border-radius:18px;box-shadow:0 2px 0 rgba(20,20,20,.08),0 24px 50px -18px rgba(20,20,20,.35)}
.bp_main{position:relative;padding:26px 30px 24px;min-width:0}
.bp_top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0}
.bp_top b{font-family:var(--en);font-weight:900;font-size:24px;letter-spacing:.02em}
.bp_top span{font-family:var(--mono);font-size:10.5px;font-weight:700;letter-spacing:.14em;opacity:.55}
.bp_route{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:14px;margin:14px 0 22px;padding:14px 0 18px;border-top:2px solid var(--ink);border-bottom:1px dashed rgba(20,20,20,.3)}
.bp_route div:last-child{text-align:right}
.bp_route small{display:block;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.2em;opacity:.55}
.bp_route b{display:block;font-family:var(--en);font-weight:900;font-size:clamp(30px,3.4vw,46px);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp_route div:first-child b{color:var(--red);transition:color .3s}
.bp_line{position:relative;width:clamp(70px,9vw,130px);height:22px;margin-bottom:6px}
.bp_line::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:2px dashed rgba(20,20,20,.35)}
.bp_line svg{position:absolute;left:50%;top:50%;width:30px;height:20px;transform:translate(-50%,-50%);color:var(--red);background:#fffdf8;padding:0 3px;box-sizing:content-box}
.bp_fields{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.bf--full{grid-column:1/-1}
.bf{display:block;min-width:0}
.bf_l{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:7px;padding:0}
.bf_l em{font-style:normal;font-size:10.5px;font-weight:700;color:#fff;background:var(--red);padding:1px 7px;border-radius:3px;letter-spacing:.06em}
.bf_l small{font-size:11.5px;font-weight:400;opacity:.6}
.bf input{display:block;width:100%;height:54px;padding:0 16px;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid #d6cdb8;border-radius:10px;outline:0;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.bf input::placeholder{color:#aaa197}
.bf input:focus{border-color:var(--ink);box-shadow:0 0 0 4px rgba(226,58,34,.16)}
.bf_err{display:none;font-size:12px;font-weight:700;color:var(--red);margin-top:6px}
.bf.is-err input{border-color:var(--red);background:#fff6f3}
.bf.is-err .bf_err{display:block}
.bc{border:0;margin:0;padding:0;min-width:0}
.bc_opts{display:flex;flex-wrap:wrap;gap:8px}
.bc_opts label{position:relative;display:block}
.bc_opts input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.bc_opts span{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 16px;font-size:14px;font-weight:700;background:#fff;border:1.5px solid #d6cdb8;border-radius:999px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;user-select:none}
.bc_opts input:checked+span{background:var(--ink);border-color:var(--ink);color:#fff}
.bc_opts input:checked+span::before{content:"✓";color:#ffd400;font-weight:900}
.bc_opts input:focus-visible+span{outline:3px solid var(--red);outline-offset:2px}
@media(hover:hover){.bc_opts span:hover{border-color:var(--ink)}}
.bp_go{position:relative;display:flex;align-items:center;justify-content:center;gap:14px;width:100%;min-height:76px;margin-top:24px;padding:12px 70px;font:inherit;font-size:clamp(20px,2vw,25px);font-weight:900;letter-spacing:.04em;color:#fff;background:var(--red);border:0;border-radius:12px;cursor:pointer;box-shadow:0 6px 0 #a8240f;transition:background .25s,transform .15s,box-shadow .15s}
.bp_go:active{transform:translateY(4px);box-shadow:0 2px 0 #a8240f}
@media(hover:hover){.bp_go:hover{background:#c92c15}}
.bp_go_pl{position:absolute;right:26px;top:50%;width:42px;height:28px;transform:translateY(-50%);color:#ffd400}
.bp_go:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.bp_reply{margin:14px 0 0;text-align:center;font-size:13px;opacity:.7}
.bp_alt{margin:6px 0 0;text-align:center;font-size:13px}
.bp_line_a{display:inline-flex;align-items:center;min-height:44px;margin-left:6px;font-weight:900;color:#06a64a;text-decoration:underline;text-underline-offset:3px}
/* 半券（入力に連動） */
.bp_stub{position:relative;display:flex;flex-direction:column;padding:26px 22px 22px;background:var(--ink);color:#f4efe3;border-radius:0 18px 18px 0;min-width:0}
.bp_stub::before,.bp_stub::after{content:"";position:absolute;left:-14px;width:28px;height:28px;border-radius:50%;background:var(--paper)}
.bp_stub::before{top:-14px}.bp_stub::after{bottom:-14px}
.bs_h{margin:0 0 16px;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--amber)}
.bs_dl{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px;margin:0}
.bs_dl div{min-width:0}
.bs_wide{grid-column:1/-1}
.bs_dl dt{font-family:var(--mono);font-size:9.5px;font-weight:700;letter-spacing:.12em;opacity:.55;margin-bottom:3px}
.bs_dl dd{margin:0;font-size:16px;font-weight:900;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color .3s}
.bs_dl dd.is-empty{opacity:.35}
.bs_wide dd{font-size:19px}
.bs_sub dd{font-family:var(--mono);font-size:15px;color:var(--amber)}
.bs_prog{margin-top:auto;padding-top:20px}
.bs_prog p{display:flex;justify-content:space-between;margin:0 0 6px;font-size:12px;font-weight:700}
.bs_prog b{font-family:var(--mono);color:var(--amber)}
.bs_prog i{display:block;height:6px;border-radius:3px;background:rgba(255,255,255,.14);overflow:hidden}
.bs_prog em{display:block;height:100%;width:0;background:var(--red);border-radius:3px;transition:width .4s ease}
.bs_code{height:44px;margin-top:18px;opacity:.85;background:repeating-linear-gradient(90deg,#f4efe3 0 2px,transparent 2px 4px,#f4efe3 4px 5px,transparent 5px 8px,#f4efe3 8px 11px,transparent 11px 13px,#f4efe3 13px 14px,transparent 14px 18px)}
.bs_stamp{position:absolute;left:50%;top:44%;padding:8px 14px;font-family:var(--mono);font-size:22px;font-weight:700;letter-spacing:.08em;white-space:nowrap;color:var(--red);border:3px solid var(--red);border-radius:6px;background:rgba(20,20,20,.75);transform:translate(-50%,-50%) rotate(-14deg) scale(2.2);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.2,1.6,.4,1),opacity .2s}
.bp.is-done .bs_stamp{opacity:1;transform:translate(-50%,-50%) rotate(-14deg) scale(1)}
.bp.is-done .bs_prog em{background:#2fbf71}
.bp.is-done .bp_go{background:var(--ink);box-shadow:0 6px 0 #000}
.bp.is-done .bp_go_pl{animation:bpFly 1.1s cubic-bezier(.5,0,.75,0) forwards}
@keyframes bpFly{0%{transform:translateY(-50%)}25%{transform:translate(-10px,-50%)}100%{transform:translate(220px,-260%) rotate(-24deg);opacity:0}}
.bp.is-done .bp_route div:first-child b{color:#2fbf71}

@media(min-width:1024px){
 .ck_grid{grid-template-columns:minmax(0,5fr) minmax(0,7.4fr);grid-template-areas:"get form" "after form";grid-template-rows:auto 1fr;gap:28px 52px;align-items:start}
 .ck_get{grid-area:get}.ck_r{grid-area:form}.ck_after{grid-area:after}
}
@media(min-width:768px) and (max-width:1023px){
 .ck_grid{grid-template-columns:1fr 1fr;grid-template-areas:"form form" "get after";gap:28px 32px}
 .ck_get{grid-area:get}.ck_r{grid-area:form}.ck_after{grid-area:after}
}
@media(max-width:767px){
 .ck_head{margin-bottom:18px}
 .ck_k{margin-bottom:10px}
 .ck_ttl{font-size:clamp(25px,7.4vw,32px)}
 .ck_grid{gap:28px}
 .ck_r{order:-1}
 .ck_items li{grid-template-columns:40px 1fr;padding:12px 0}
 .ck_items i{font-size:30px}
 .ck_items b{font-size:16px}
 .bp{grid-template-columns:1fr;border-radius:16px}
 .bp_stub{order:-1;padding:16px 18px 18px;border-radius:16px 16px 0 0}
 .bp_stub::before,.bp_stub::after{display:none}
 .bp_main::before,.bp_main::after{content:"";position:absolute;top:-12px;width:24px;height:24px;border-radius:50%;background:var(--paper)}
 .bp_main::before{left:-12px}.bp_main::after{right:-12px}
 .bs_h{margin-bottom:10px}
 .bs_dl{grid-template-columns:1fr 1fr;gap:10px 12px}
 .bs_wide{grid-column:auto}
 .bs_wide dd{font-size:15px}
 .bs_dl dd{font-size:14px}
 .bs_sub,.bs_code{display:none}
 .bs_prog{padding-top:12px}
 .bs_stamp{top:50%;font-size:18px}
 .bp_main{padding:22px 16px 18px}
 .bp_top b{font-size:20px}
 .bp_top span{font-size:9.5px;letter-spacing:.08em}
 .bp_route{margin:10px 0 18px;padding:10px 0 14px;gap:8px}
 .bp_route b{font-size:28px}
 .bp_line{width:54px}
 .bp_fields{grid-template-columns:1fr;gap:16px}
 .bc_opts{gap:6px}
 .bc_opts span{padding:0 13px;font-size:13.5px}
 .bp_go{min-height:68px;padding:12px 56px 12px 20px;font-size:19px}
 .bp_go_pl{right:16px;width:34px;height:23px}
}

/* --- 追従オファーボタン（PC＝下中央の大型チケット／SP＝下部バー） --- */
.fbar_a--main{position:relative;flex-direction:column;gap:1px}
.fbar_t{display:block;line-height:1.25}
.fbar_s{display:block;font-size:10.5px;font-weight:700;opacity:.88;letter-spacing:.02em;line-height:1.3}
.fbar_pl{display:none}
.fbar_a--line{flex-direction:column;gap:0;line-height:1.15}
.fbar_a--line small{font-size:10.5px;font-weight:700}
@media(max-width:767px){
 .fbar{height:calc(64px + env(safe-area-inset-bottom,0px));padding:6px 8px env(safe-area-inset-bottom,0px)}
 .fbar_a{min-height:52px}
 .fbar_a--main .fbar_t{font-size:15.5px}
 .fbar_a--line{flex:0 0 24%;font-size:15px}
 .footer{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}
}
@media(min-width:768px){
 .fbar{display:flex;align-items:stretch;gap:10px;position:fixed;left:50%;bottom:calc(var(--lh) + 14px);z-index:520;width:min(600px,calc(100% - 200px));transform:translate(-50%,calc(100% + var(--lh) + 30px));visibility:hidden;filter:drop-shadow(0 14px 22px rgba(20,20,20,.32));transition:transform .4s cubic-bezier(.3,1.3,.5,1),visibility 0s .4s}
 .fbar.is-show{transform:translate(-50%,0);visibility:visible;transition:transform .45s cubic-bezier(.3,1.3,.5,1)}
 .fbar_a{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;text-align:center}
 .fbar_a--main{flex:1 1 auto;min-height:76px;padding:10px 74px;background:var(--red);border-radius:12px;
  -webkit-mask:radial-gradient(circle 11px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;
  mask:radial-gradient(circle 11px at 0 50%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 50%,#0000 98%,#000) right/51% 100% no-repeat;transition:background .25s}
 .fbar_a--main .fbar_t{font-size:23px;letter-spacing:.04em}
 .fbar_a--main .fbar_s{font-size:12px}
 .fbar_pl{display:block;position:absolute;right:30px;top:50%;width:40px;height:27px;transform:translateY(-50%);color:#ffd400;transition:transform .35s ease}
 .fbar_a--line{flex:0 0 86px;min-height:76px;background:#06c755;border-radius:12px;font-size:17px}
 @media(hover:hover){.fbar_a--main:hover{background:var(--ink)}.fbar_a--main:hover .fbar_pl{transform:translate(10px,-50%)}}
}
@media(prefers-reduced-motion:reduce){.fbar,.fbar.is-show{transition:none}.bp.is-done .bp_go_pl{animation:none}.bs_stamp{transition:none}}
/* v10 調整: PCはフォーム側を広く */
.ck{max-width:1240px}
.bp{grid-template-columns:minmax(0,1fr) 224px}
.bp_route b{font-size:clamp(28px,2.7vw,40px)}
.bp_line{width:clamp(56px,6vw,96px)}
@media(min-width:1024px){
 .ck_grid{grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:28px 48px}
}
@media(max-width:767px){.bp{grid-template-columns:1fr}}
@media(max-width:767px){.ck_steps li{flex-direction:column;gap:0}.ck_steps b{min-width:0}}

/* =====================================================================
   v11: PCのHERO 3パターン（.hp）。SP・タブレットは従来の .hero_main のまま
   ===================================================================== */
.hp,.hp_sw{display:none}
@media(min-width:960px){
 .hero_main{display:none}
 .hp{display:block;margin-top:clamp(18px,3vh,40px)}
 .hp_sw{display:flex;position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:150;gap:4px;padding:4px;background:var(--ink);border-radius:999px;box-shadow:0 4px 12px rgba(0,0,0,.2)}
 .hp_sw a{padding:6px 14px;border-radius:999px;font-size:12px;font-weight:700;color:#f4efe3;letter-spacing:.06em}
 .hp_sw a[aria-current]{background:var(--red);color:#fff}
 /* 共通部品 */
 .hp_lead{margin:0;font-weight:900;font-size:clamp(22px,2.2vw,36px);line-height:1.3;letter-spacing:.02em}
 .hp .hero_logo{margin:.08em 0 0;font-size:min(10vw,17vh,190px);line-height:.9}
 .hp_pills{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:clamp(16px,2.4vh,28px) 0 0;font-size:clamp(16px,1.35vw,21px);font-weight:900}
 .hp_pills span{display:inline-flex;align-items:center}
 .hp_pills span+span::before{content:"";width:6px;height:6px;margin:0 .9em;border-radius:50%;background:var(--red)}
 .hp_pills .is-buzz{color:var(--red)}
 .hp_price{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0}
 .hp_price small{font-size:13px;font-weight:700}
 .hp_price b{font-family:var(--en);font-weight:900;font-size:clamp(44px,4vw,64px);line-height:1;color:var(--red);letter-spacing:.01em}
 .hp_go{position:relative;display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:84px;padding:14px 86px 14px 34px;color:#fff;background:var(--red);border-radius:12px;box-shadow:0 6px 0 #a8240f;transition:background .25s,transform .15s,box-shadow .15s}
 .hp_go span{font-size:clamp(20px,1.6vw,25px);font-weight:900;letter-spacing:.04em;line-height:1.3}
 .hp_go small{font-size:12.5px;font-weight:700;opacity:.9}
 .hp_pl{position:absolute;right:30px;top:50%;width:42px;height:28px;transform:translateY(-50%);color:#ffd400;transition:transform .35s ease}
 .hp_go:active{transform:translateY(4px);box-shadow:0 2px 0 #a8240f}
 .hp_sub{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
 .hp_sub i{font-style:normal;transition:transform .25s}
 @media(hover:hover){.hp_go:hover{background:var(--ink);box-shadow:0 6px 0 #000}.hp_go:hover .hp_pl{transform:translate(10px,-50%)}.hp_sub:hover i{transform:translateX(4px)}}
 .hp_nums{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
 .hp_nums li{min-width:0}
 .hp_nums b{display:block;font-family:var(--en);font-weight:900;line-height:1}
 .hp_nums span{display:block;font-weight:700;line-height:1.45}
 .hp_nums small{display:block;font-family:var(--mono);opacity:.6;line-height:1.5}
 .hp_note{margin:0;font-size:11px;opacity:.55;line-height:1.6}
 .hp_cap{margin:0;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.18em}

 /* --- 案A：中央寄せ・ロゴが主役（実績はHEROから外す） --- */
 .hp--a{text-align:center}
 .hp--a .hero_logo{font-size:min(12vw,19vh,230px)}
 .hp--a .hero_logo span{transform-origin:50% 100%}
 .hp--a .hp_pills{justify-content:center}
 .hp_act{display:flex;align-items:center;justify-content:center;gap:clamp(24px,3vw,48px);margin-top:clamp(20px,3.2vh,40px)}
 .hp--a .hp_go{min-width:min(520px,40vw)}

 /* --- 案B：左＝言葉／右＝搭乗券1枚に料金・申込・実績を集約 --- */
 .hp--b{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:0 clamp(28px,3.4vw,56px);align-items:center}
 .hp_card{display:flex;flex-direction:column;background:#fffdf8;border-radius:16px;box-shadow:0 2px 0 rgba(20,20,20,.08),0 22px 44px -20px rgba(20,20,20,.38);overflow:hidden}
 .hp_card_m{display:flex;flex-direction:column;gap:14px;padding:22px 26px 14px}
 .hp_card_m .hp_sub{align-self:center;margin-top:-4px}
 .hp_card_s{position:relative;padding:16px 26px 18px;border-top:2px dashed rgba(20,20,20,.22);background:var(--paper2)}
 .hp_card_s::before,.hp_card_s::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:var(--paper)}
 .hp_card_s::before{left:-11px}.hp_card_s::after{right:-11px}
 .hp--b .hp_cap{color:var(--red);margin-bottom:10px}
 .hp--b .hp_nums{gap:0 14px;margin-bottom:10px}
 .hp--b .hp_nums li{padding-top:8px;border-top:4px solid var(--c)}
 .hp--b .hp_nums b{font-size:clamp(28px,2.4vw,38px);color:var(--red)}
 .hp--b .hp_nums span{font-size:12px;margin-top:4px}
 .hp--b .hp_nums small{font-size:10.5px}

 /* --- 案C：上＝ロゴと申込／下＝実績の帯（出発案内板と同じ黒で挟む） --- */
 .hp_top{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:0 clamp(28px,3.4vw,56px);align-items:end}
 .hp_r{display:flex;flex-direction:column;gap:14px;padding-bottom:6px}
 .hp_r .hp_sub{align-self:flex-start;margin-top:-4px}
 .hp_strip{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,.62fr);align-items:center;gap:0 clamp(20px,2.4vw,40px);margin-top:clamp(20px,3vh,36px);padding:16px 28px;background:var(--board);color:#f4efe3;border-radius:16px;box-shadow:0 10px 0 -4px rgba(20,20,20,.18)}
 .hp--c .hp_cap{display:flex;flex-direction:column;gap:2px;color:var(--amber);font-size:12px}
 .hp--c .hp_cap span{font-family:var(--jp);font-size:13px;letter-spacing:.1em;color:#f4efe3}
 .hp--c .hp_nums{gap:0 clamp(16px,2vw,32px)}
 .hp--c .hp_nums li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;padding-left:14px;border-left:4px solid var(--c)}
 .hp--c .hp_nums b{grid-row:1/3;font-size:clamp(30px,2.6vw,42px);color:var(--amber);text-shadow:0 0 10px rgba(255,176,0,.35)}
 .hp--c .hp_nums span{font-size:12.5px}
 .hp--c .hp_nums small{font-size:10.5px}
 .hp--c .hp_note{opacity:.5;font-size:10.5px}
}
@media(min-width:960px) and (max-width:1279px){
 .hp_strip{grid-template-columns:auto minmax(0,1fr);row-gap:10px}
 .hp--c .hp_note{grid-column:1/-1}
 .hp--c .hp_nums li{column-gap:8px;padding-left:10px}
 .hp--c .hp_nums b{font-size:30px}
}

/* =====================================================================
   v12: 案A採用＋実績メダル（月桂樹＝IMJサイト v3 の権威性バッジを流用）
   ===================================================================== */
.md{list-style:none;margin:0;padding:0}
.md li{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:140/124;width:100%;text-align:center}
.md_lw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.md_t{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:1px;padding-top:6%}
.md small{display:block;max-width:62%;font-size:11px;line-height:1.3;font-weight:700;color:#5a554b;letter-spacing:.02em;word-break:auto-phrase;text-wrap:balance}
.md b{display:block;font-family:var(--en),var(--jp);font-weight:900;font-size:21px;line-height:1.15;color:var(--ink);white-space:nowrap}
.md_n{margin-left:.15em;font-size:.82em;vertical-align:super;line-height:0;color:inherit;text-decoration:none}
/* SP・タブレット：3本柱の下に2×2（768px〜は1列4つ） */
.md--sp{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 8px;max-width:400px;margin:22px auto 6px}
.md--sp li{max-width:170px;margin:0 auto}
@media(min-width:768px){.md--sp{grid-template-columns:repeat(4,minmax(0,1fr));max-width:680px}}
@media(max-width:380px){.md b{font-size:19px}.md small{font-size:10.5px}}
/* PC：ロゴの左右に2個ずつ縦積み */
.md--l,.md--r{display:none}
@media(min-width:960px){
 .md--sp{display:none}
 .hp_row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:0 clamp(8px,1.6vw,32px)}
 .md--l,.md--r{display:flex;flex-direction:column;gap:2px}
 .md--l{align-items:flex-end}
 .md--r{align-items:flex-start}
 .hp_row .md li{width:clamp(118px,9.6vw,158px)}
 .hp_row .md b{font-size:clamp(18px,1.45vw,24px)}
 .hp_row .md small{font-size:clamp(10px,.8vw,12px)}
 .hp--a .hero_logo{font-size:min(10.4vw,18vh,220px)}
}
/* 注釈（ページ末尾） */
.mdn{max-width:1240px;margin:0 auto;padding:28px 16px 48px;font-size:11px;line-height:1.75;color:#6b665c}
.mdn_l{list-style:none;margin:0;padding:0}
.mdn_l li{display:grid;grid-template-columns:2.6em 1fr}
.mdn_all{margin:.8em 0 0}
.md small.wk{max-width:74%}
@media(max-width:767px){.md--sp{max-width:330px;margin:26px auto 0;gap:0 6px}.md--sp li{max-width:156px}}
.md small.wk{max-width:68%;font-size:10px;letter-spacing:0}
@media(min-width:960px){.hp_row .md small.wk{font-size:clamp(9.5px,.72vw,11px)}}

/* =====================================================================
   v13: SP・タブレット（〜959px）も案A（.hp）に統一。旧 .hero_main は全幅で非表示
   ===================================================================== */
@media(max-width:959px){
 .hero_main{display:none}
 .hp{display:block;margin-top:clamp(14px,3vw,28px);text-align:center}
 .hp_lead{margin:0;font-weight:900;font-size:clamp(16px,4.4vw,26px);line-height:1.3;letter-spacing:.02em}
 .hp .hero_logo{margin:.04em 0 0;font-size:min(19.5vw,150px);line-height:.9}
 .hp .hero_logo span{transform-origin:50% 100%}
 .hp_pills{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;margin:12px 0 0;font-size:clamp(13px,3.5vw,18px);font-weight:900}
 .hp_pills span{display:inline-flex;align-items:center}
 .hp_pills span+span::before{content:"";width:5px;height:5px;margin:0 .6em;border-radius:50%;background:var(--red)}
 .hp_pills .is-buzz{color:var(--red)}
 /* メダル：2×2（左列=※1・2／右列=※3・4 を行順に並べ替え） */
 .hp_row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 4px;max-width:340px;margin:0 auto}
 .hp_c{grid-column:1/-1;margin-bottom:10px}
 .md--l,.md--r{display:contents}
 .hp_row .md li{width:min(100%,138px);justify-self:center}
 .hp_row .md b{font-size:19px}
 .hp_row .md small{font-size:10.5px}
 .hp_row .md small.wk{font-size:9.5px}
 /* 料金＋申込 */
 .hp_act{display:flex;flex-direction:column;align-items:stretch;gap:10px;max-width:440px;margin:12px auto 0}
 .hp_price{display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:2px 8px;margin:0}
 .hp_price small{font-size:12px;font-weight:700}
 .hp_price b{font-family:var(--en);font-weight:900;font-size:clamp(34px,9.6vw,48px);line-height:1;color:var(--red)}
 .hp_go{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-height:74px;padding:12px 64px 12px 22px;text-align:left;color:#fff;background:var(--red);border-radius:12px;box-shadow:0 5px 0 #a8240f}
 .hp_go span{font-size:clamp(17px,4.6vw,21px);font-weight:900;letter-spacing:.03em;line-height:1.3}
 .hp_go small{font-size:11.5px;font-weight:700;opacity:.9}
 .hp_pl{position:absolute;right:20px;top:50%;width:36px;height:24px;transform:translateY(-50%);color:#ffd400}
 .hp_go:active{transform:translateY(3px);box-shadow:0 2px 0 #a8240f}
}
@media(min-width:600px) and (max-width:959px){
 .hp_row{grid-template-columns:repeat(4,minmax(0,1fr));max-width:680px}
}
@media(max-width:959px){.hp_row .hp_c{order:-1}}
@media(max-width:599px) and (max-height:720px){.hp_row .md li{width:min(100%,118px)}.hp_row .md b{font-size:17px}.hp_row .md small{font-size:9.5px}.hp_row .md small.wk{font-size:9px}.hp_c{margin-bottom:4px}.hp_go{min-height:66px}}

/* ===== v14: 料金の「10」が潰れて見える対策＝数字も漢字と同じ Noto Sans JP 極太に ===== */
.hero_price b,.hp_price b{font-family:var(--jp);font-weight:900;letter-spacing:-.01em}

/* ===== v14: 3本柱を塗りつぶし＋白抜きのタグに（点区切りは廃止）／オファーボタンは価格の下 ===== */
.hp_pills{gap:10px}
.hp_pills span+span::before{content:none}
.hp_pills span{padding:.42em 1.05em;color:#fff;background:var(--ink);border-radius:8px;outline:1.5px dashed rgba(255,255,255,.55);outline-offset:-5px;box-shadow:0 3px 0 rgba(20,20,20,.18);letter-spacing:.04em;line-height:1.25}
.hp_pills .is-buzz{color:#fff;background:var(--red);box-shadow:0 3px 0 #a8240f}
@media(min-width:960px){
 .hp_pills{gap:14px}
 .hp_act{flex-direction:column;gap:14px}
}
@media(max-width:599px){
 .hp_pills{gap:6px}
 .hp_pills span{padding:.4em .8em;outline-offset:-4px;border-radius:6px}
}

/* ===== v15: 市場データはメッセージが主役（人数は脇役）／導入見出しの改行／お悩み6件 ===== */
.mk_msg{margin-top:10px;font-weight:900;font-size:clamp(26px,4vw,56px);line-height:1.4;letter-spacing:.02em}
.mk_msg em{font-style:normal;color:var(--red)}
.mk_br{display:none}
.mk_msub{margin-top:12px;font-weight:700;font-size:clamp(15px,1.6vw,21px);line-height:1.7}
.mk_head .mk_ttl{margin-top:clamp(18px,2.6vw,32px)}
.mk_head .mk_ttl span{font-size:clamp(14px,1.4vw,18px)}
.mk_head .mk_ttl b{font-size:clamp(40px,6vw,84px)}
.intro_br{display:none}
@media(max-width:767px){
 .mk_msg{font-size:clamp(23px,6.6vw,30px)}
 .mk_br{display:inline}
 .mk_msub{font-size:14px}
 .mk_head .mk_ttl b{font-size:11vw}
 .intro_br{display:inline}
}
/* v15: 見出しが長くなったので、PCの入国スタンプは本文の右下へ（見出し末尾にかぶらない） */
@media(min-width:768px){.intro_st--r{top:auto;bottom:-24px;right:.5vw;width:clamp(140px,13vw,190px);margin-top:0}}

/* =====================================================================
   v16: 搭乗券 — GATE/CLASS欄と丸い切手を撤去・媒体欄（メイン/サブ）に／03は再生保証／04 KPIマネジメント追加
   ===================================================================== */
body[data-section=person04]{background:#ffb000;--led:#ffb000}
.tk_fields{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
.tk_fields dt span{margin-left:.8em;font-family:var(--jp);letter-spacing:.04em;font-weight:700}
.tk_badges{grid-template-columns:repeat(auto-fit,minmax(0,1fr))}
.g3gu{margin-top:12px;padding-top:10px;border-top:1.5px solid var(--ink)}
.g3gu_k{display:flex;align-items:baseline;gap:12px;margin-bottom:8px}
.g3gu_k b{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--red)}
.g3gu_k span{font-weight:900;font-size:14px}
.g3gu_list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.g3gu_list li{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 10px;padding:8px 14px;background:var(--ink);color:#fff}
.g3gu_list span{font-size:13px;font-weight:700}
.g3gu_list b{font-weight:900;font-size:clamp(24px,2.4vw,34px);line-height:1.1;color:#ffd400}
.g3gu_list small{font-size:.45em;margin-left:.2em;color:#fff}
.g3gu_note{margin-top:6px;font-size:11px;opacity:.6}
@media(max-width:767px){
 .tk_fields dt span{margin-left:.5em}
 .tk_badges{grid-template-columns:repeat(2,minmax(0,1fr))}
 .g3gu_list{gap:6px}
 .g3gu_list li{padding:6px 8px;flex-direction:column;align-items:flex-start}
 .g3gu_list span{font-size:11px}
 .g3gu_list b{font-size:22px}
}
#person03 .g3gu_list b{font-size:clamp(24px,2.4vw,34px)}
@media(max-width:767px){#person03 .g3gu_list b{font-size:24px}}

/* ===== v17: 国×媒体表を市場データ内へ（搭乗券の列幅に揃える） ===== */
.mk .mx{width:100%;margin:56px 0 28px}
@media(max-width:767px){.mk .mx{width:100%;margin:40px 0 22px}}

/* ===== v19 申込欄をフォームのみに ===== */
.ck_grid.ck_grid--solo{display:block;max-width:760px;margin-inline:auto}
.sec--cta .ck_head{text-align:center}
.sec--cta .ck_head .ck_k{justify-content:center}

/* ===== v22 FEEDの「投稿サンプル」は小さいグレー文字 ===== */
.feed_card .pc_title{font-weight:400;font-size:10px;color:#9a9a9a}

/* ===== v23: 本番化（同意チップ内のリンク） ===== */
.bc_opts span a{text-decoration:underline;text-underline-offset:3px}
.footer_text a{text-decoration:underline;text-underline-offset:3px}
