/* NT-D で書き出したホームページの共通スタイル */
*{margin:0;padding:0;box-sizing:border-box}
body{overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
a{color:inherit;text-decoration:none}
img{display:block;max-width:none}
/* デザインの幅で組んだページ(.nt-page)を、画面の幅に合わせて拡大縮小する(js/main.js) */
.nt-view{position:relative;margin:0 auto;overflow:hidden}
.nt-page{position:absolute;left:0;top:0;transform-origin:0 0}
.nt-e{position:absolute}
.nt-t{white-space:pre;font-style:normal}
.nt-l{display:block;position:absolute;left:0;white-space:pre}
.nt-svg{overflow:visible}
/* 高さを画面いっぱいにする区画(js/main.js が高さを決める) */
.nt-vhin{position:absolute;left:0;top:0;width:100%}
.nt-vhfill img{object-fit:cover}
/* 画面の幅ごとに、そのページ用のデザインだけを出す */
@media (max-width:767.98px){.nt-view:not(.nt-r-sp){display:none}}
@media (min-width:768px) and (max-width:1023.98px){.nt-view:not(.nt-r-tab){display:none}}
@media (min-width:1024px){.nt-view:not(.nt-r-pc){display:none}}
/* 動き(スクロールして見えたら .nt-in が付いて表示される) */
.nt-u{position:absolute;left:0;top:0;width:0;height:0}
.nt-js .nt-an{opacity:0;transition:opacity var(--t) ease var(--d),translate var(--t) cubic-bezier(.2,.7,.2,1) var(--d),scale var(--t) cubic-bezier(.2,.7,.2,1) var(--d),rotate var(--t) cubic-bezier(.2,.7,.2,1) var(--d),transform var(--t) cubic-bezier(.2,.7,.2,1) var(--d),filter var(--t) ease var(--d),clip-path var(--t) cubic-bezier(.7,0,.2,1) var(--d)}
.nt-js .nt-an-up{translate:0 48px}
.nt-js .nt-an-down{translate:0 -48px}
.nt-js .nt-an-left{translate:-64px 0}
.nt-js .nt-an-right{translate:64px 0}
.nt-js .nt-an-zoom{scale:.86}
.nt-js .nt-an-zoomout{scale:1.18}
.nt-js .nt-an-blur{filter:blur(12px)}
.nt-js .nt-an-rotate{rotate:-8deg;translate:0 24px}
.nt-js .nt-an-flip{transform:perspective(900px) rotateX(75deg)}
.nt-sen{position:absolute;visibility:hidden;pointer-events:none}
.nt-js .nt-an-clipup,.nt-js .nt-an-clipleft,.nt-js .nt-an-circle,.nt-js .nt-an-wipe{opacity:1}
.nt-js .nt-an>.nt-cl{clip-path:var(--c0);transition:clip-path var(--t) cubic-bezier(.7,0,.2,1) var(--d)}
.nt-js .nt-an-wipe{scale:1.06}
.nt-js .nt-an.nt-in{opacity:1;translate:0 0;scale:1;rotate:0deg;transform:none;filter:none}
.nt-js .nt-an.nt-in>.nt-cl{clip-path:var(--c1)}
/* 幕が上がる: 色の幕が下から上がって抜け、その間に中身が現れる */
.nt-js .nt-an-curtain{opacity:1}
.nt-js .nt-an-curtain>:not(.nt-curtain){opacity:0;transition:opacity .01s linear calc(var(--d) + var(--t) * .5)}
.nt-js .nt-an-curtain.nt-in>:not(.nt-curtain){opacity:1}
.nt-curtain{scale:1 0;pointer-events:none}
.nt-js .nt-an-curtain.nt-in .nt-curtain{animation:nt-curtain var(--t) cubic-bezier(.7,0,.3,1) var(--d) both}
@keyframes nt-curtain{0%{scale:1 0;transform-origin:50% 100%}50%{scale:1 1;transform-origin:50% 100%}50.1%{scale:1 1;transform-origin:50% 0}100%{scale:1 0;transform-origin:50% 0}}
/* 文字の演出 */
.nt-li{display:inline}
.nt-js .nt-tx-chars .nt-l,.nt-js .nt-tx-slide .nt-l{overflow:hidden}
.nt-ch{display:inline-block;white-space:pre}
.nt-js .nt-tx-chars .nt-ch{translate:0 105%;opacity:0;transition:translate var(--t) cubic-bezier(.2,.7,.2,1),opacity var(--t) ease;transition-delay:calc(var(--d) + var(--i) * var(--st))}
.nt-js .nt-tx-chars.nt-in .nt-ch{translate:0 0;opacity:1}
.nt-tx-slide .nt-li{display:inline-block}
.nt-js .nt-tx-slide .nt-li{translate:-105% 0;transition:translate var(--t) cubic-bezier(.7,0,.2,1);transition-delay:calc(var(--d) + var(--li) * var(--st))}
.nt-js .nt-tx-slide.nt-in .nt-li{translate:0 0}
.nt-js .nt-tx-lines .nt-l{opacity:0;translate:0 .7em;transition:opacity var(--t) ease,translate var(--t) cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d) + var(--li) * var(--st))}
.nt-js .nt-tx-lines.nt-in .nt-l{opacity:1;translate:0 0}
.nt-tx-marker .nt-li{background:linear-gradient(transparent 58%,var(--mk) 58%) no-repeat 0 0/100% 100%}
.nt-js .nt-tx-marker.nt-draw .nt-li{background-size:0% 100%;transition:background-size var(--t) cubic-bezier(.4,0,.2,1);transition-delay:calc(var(--d) + var(--li) * var(--st))}
.nt-js .nt-tx-marker.nt-draw.nt-in .nt-li{background-size:100% 100%}
.nt-tx-uline .nt-li{background:linear-gradient(var(--mk),var(--mk)) no-repeat 0 100%/100% 2px}
.nt-js .nt-tx-uline .nt-li{background-size:0% 2px;transition:background-size var(--t) cubic-bezier(.4,0,.2,1);transition-delay:calc(var(--d) + var(--li) * var(--st))}
.nt-js .nt-tx-uline.nt-in .nt-li{background-size:100% 2px}
/* マウスを乗せた時(マウスのある画面だけ) */
.nt-h-lift,.nt-h-grow,.nt-h-shrink{transition:translate .25s ease,scale .25s ease}
.nt-h-shadow,.nt-h-bright{transition:filter .3s ease}
.nt-h-magnet{transition:translate .35s cubic-bezier(.3,1.6,.5,1)}
.nt-h-zoomimg img{transition:scale .5s cubic-bezier(.2,.7,.2,1)}
.nt-h-tuline .nt-li{background:linear-gradient(currentColor,currentColor) no-repeat 100% 100%/0% 1.5px;transition:background-size .35s cubic-bezier(.4,0,.2,1)}
.nt-hbox{overflow:hidden}
.nt-h-circle .nt-hbox::after{content:"";position:absolute;left:50%;top:50%;width:var(--hd);height:var(--hd);margin:calc(var(--hd) / -2) 0 0 calc(var(--hd) / -2);border-radius:50%;background:var(--hc,#1F2A44);scale:0;transition:scale .45s cubic-bezier(.2,.7,.2,1)}
.nt-h-slide .nt-hbox::after{content:"";position:absolute;inset:0;background:var(--hc,#1F2A44);translate:-101% 0;transition:translate .4s cubic-bezier(.7,0,.2,1)}
.nt-h .nt-t{transition:color .3s ease}
@media (hover:hover){
.nt-h-lift:hover{translate:0 -6px}
.nt-h-grow:hover{scale:1.05}
.nt-h-shrink:hover{scale:.96}
.nt-h-shadow:hover{filter:drop-shadow(0 14px 22px rgba(0,0,0,.22))}
.nt-h-bright:hover{filter:brightness(1.1)}
.nt-h-zoomimg:hover img{scale:1.08}
.nt-h-tuline:hover .nt-li{background-size:100% 1.5px;background-position:0 100%}
.nt-h-circle:hover .nt-hbox::after{scale:1}
.nt-h-slide:hover .nt-hbox::after{translate:0 0}
.nt-h[style*="--ht"]:hover .nt-t{color:var(--ht)!important}
}
.nt-rpl{position:absolute;border-radius:50%;background:var(--hc,rgba(255,255,255,.55));scale:0;opacity:.7;pointer-events:none;animation:nt-rpl .65s ease-out forwards}
@keyframes nt-rpl{to{scale:1;opacity:0}}
/* ずっと動く */
.nt-lp-float{animation:nt-float var(--ld) ease-in-out infinite}
@keyframes nt-float{0%,100%{translate:0 0}25%{translate:8px -10px}50%{translate:-4px -18px}75%{translate:-10px -6px}}
.nt-lp-sway{animation:nt-sway var(--ld) ease-in-out infinite}
@keyframes nt-sway{0%,100%{rotate:-3deg}50%{rotate:3deg}}
.nt-lp-spin{animation:nt-spin var(--ld) linear infinite}
@keyframes nt-spin{to{rotate:360deg}}
.nt-lp-blink{animation:nt-blink var(--ld) ease-in-out infinite}
@keyframes nt-blink{50%{opacity:.3}}
.nt-ring{position:absolute;border:2px solid var(--lc,#FF2E5E);pointer-events:none;animation:nt-ring var(--ld) ease-out infinite}
@keyframes nt-ring{0%{scale:1;opacity:.7}100%{scale:1.7;opacity:0}}
.nt-lpgrad{background-size:300% 300%!important;animation:nt-grad var(--ld) ease infinite}
@keyframes nt-grad{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
/* ローディング画面 */
.nt-loader{display:none}
.nt-js .nt-loader{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--lb);color:var(--lf);font:700 15px/1.5 system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;letter-spacing:.08em;transition:opacity .5s ease,visibility .5s}
.nt-loader.nt-done{opacity:0;visibility:hidden}
.nt-ld-in i{display:none}
.nt-ld-spin .nt-ld-in{width:44px;height:44px;border-radius:50%;border:4px solid color-mix(in srgb,var(--lf) 20%,transparent);border-top-color:var(--lf);animation:nt-spin .8s linear infinite}
.nt-ld-dots .nt-ld-in{display:flex;gap:9px}
.nt-ld-dots i{display:block;width:12px;height:12px;border-radius:50%;background:var(--lf);animation:nt-ldot 1s ease-in-out infinite}
.nt-ld-dots i:nth-child(2){animation-delay:.15s}.nt-ld-dots i:nth-child(3){animation-delay:.3s}
@keyframes nt-ldot{0%,80%,100%{scale:.5;opacity:.4}40%{scale:1;opacity:1}}
.nt-ld-bar .nt-ld-in{width:160px;height:3px;border-radius:3px;overflow:hidden;background:color-mix(in srgb,var(--lf) 20%,transparent)}
.nt-ld-bar i:first-child{display:block;width:40%;height:100%;background:var(--lf);animation:nt-lbar 1.1s ease-in-out infinite}
@keyframes nt-lbar{0%{translate:-100% 0}100%{translate:250% 0}}
.nt-loader p{margin:0}
/* カスタムカーソル */
.nt-cur{display:none}
@media (hover:hover) and (pointer:fine){
.nt-js .nt-cur{display:block}
.nt-curon,.nt-curon *{cursor:none!important}
.nt-curon input,.nt-curon textarea,.nt-curon select{cursor:auto!important}
}
.nt-cur i{position:fixed;left:0;top:0;z-index:3000;pointer-events:none;border-radius:50%}
.nt-cur-d{width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--cc)}
.nt-cur-r{width:36px;height:36px;margin:-18px 0 0 -18px;border:1.5px solid var(--cc);transition:width .25s,height .25s,margin .25s,background-color .25s}
.nt-cur-dot .nt-cur-d{width:14px;height:14px;margin:-7px 0 0 -7px;transition:scale .25s}
.nt-cur-dot .nt-cur-r{display:none}
.nt-cur-dot.nt-hov .nt-cur-d{scale:2.6;opacity:.6}
.nt-cur-ring.nt-hov .nt-cur-r{width:64px;height:64px;margin:-32px 0 0 -32px;background:color-mix(in srgb,var(--cc) 14%,transparent)}
/* メディア */
.nt-media{overflow:hidden}
.nt-video iframe,.nt-video video{position:absolute;border:0;display:block}
.nt-video video{object-fit:cover;background:#000}
.nt-vbg iframe,.nt-vbg video{pointer-events:none}
.nt-car-track{position:absolute;inset:0;display:flex;transition:translate .6s cubic-bezier(.3,.7,.2,1)}
.nt-car-s{flex:0 0 100%;height:100%;position:relative}
.nt-car-s img{width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none}
.nt-car-fade .nt-car-track{display:block;transition:none}
.nt-car-fade .nt-car-s{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}
.nt-car-fade .nt-car-s.on{opacity:1}
.nt-car-prev,.nt-car-next{position:absolute;top:50%;width:44px;height:44px;margin-top:-22px;border:0;border-radius:50%;background:rgba(0,0,0,.38);color:#fff;font-size:30px;line-height:40px;cursor:pointer;z-index:2}
.nt-car-prev{left:12px}.nt-car-next{right:12px}
.nt-car-prev:hover,.nt-car-next:hover{background:rgba(0,0,0,.6)}
.nt-car-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px;z-index:2}
.nt-car-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}
.nt-car-dots button.on{background:#fff}
.nt-mq{display:flex;align-items:center}
.nt-mq-track{display:flex;gap:var(--gap);width:max-content;will-change:transform}
.nt-mq-set{display:flex;align-items:center;gap:var(--gap);flex:none}
.nt-mq-set img{height:80%;max-height:100%;width:auto;flex:none}
.nt-mq-set span{white-space:nowrap;flex:none;line-height:1.2}
.nt-mq .nt-mq-set img{height:calc(var(--mqh,100px) * .8)}
.nt-mq-run .nt-mq-track{animation:nt-mq var(--mqd,20s) linear infinite}
.nt-mq-run[data-dir="right"] .nt-mq-track{animation-direction:reverse}
.nt-mq-run[data-pause]:hover .nt-mq-track{animation-play-state:paused}
@keyframes nt-mq{to{transform:translateX(calc(-50% - var(--gap) / 2))}}
.nt-mq-inv span{mix-blend-mode:difference;color:#fff!important}
@media (prefers-reduced-motion:reduce){.nt-mq-run .nt-mq-track{animation:none}.nt-car-track,.nt-car-fade .nt-car-s{transition:none}}
/* 往復・円を描いて回る */
.nt-lp-move{animation:nt-move var(--ld) ease-in-out infinite}
@keyframes nt-move{0%,100%{translate:0 0}50%{translate:var(--mx) var(--my)}}
.nt-lp-orbit{animation:nt-spin var(--ld) linear infinite}
.nt-orb-in{animation:nt-spin var(--ld) linear infinite reverse}
/* 線が描かれる・組み上がる */
.nt-js .nt-an-draw{opacity:1}
.nt-js .nt-an-assemble{translate:var(--ax,0) var(--ay,60px);rotate:var(--ar,0deg);scale:.8}
/* 文字: バラバラから・シャッフル・スクロールで塗る・ドラムロール */
.nt-tx-scatter .nt-ch{display:inline-block;white-space:pre}
.nt-js .nt-tx-scatter .nt-ch{opacity:0;translate:var(--sx) var(--sy);rotate:var(--sr);transition:translate var(--t) cubic-bezier(.2,.8,.2,1),rotate var(--t) cubic-bezier(.2,.8,.2,1),opacity var(--t) ease;transition-delay:calc(var(--d) + var(--i) * var(--st))}
.nt-js .nt-tx-scatter.nt-in .nt-ch{opacity:1;translate:0 0;rotate:0deg}
.nt-js .nt-tx-shuffle:not(.nt-in) .nt-ch{opacity:0}
.nt-tx-sfill .nt-ch{transition:opacity .25s ease}
.nt-js .nt-tx-sfill .nt-ch{opacity:.18}
.nt-js .nt-tx-sfill .nt-ch.on{opacity:1}
.nt-dg{display:inline-block;position:relative;height:1.15em;line-height:1.15em;overflow:hidden;vertical-align:bottom;color:transparent}
.nt-dg::after{content:"0\A 1\A 2\A 3\A 4\A 5\A 6\A 7\A 8\A 9\A 0\A 1\A 2\A 3\A 4\A 5\A 6\A 7\A 8\A 9";white-space:pre;position:absolute;left:0;top:0;width:100%;text-align:center;color:var(--dgc);line-height:1.15em;translate:0 calc(var(--n) * -1.15em)}
.nt-js .nt-tx-drum .nt-dg::after{transition:translate var(--t) cubic-bezier(.2,.7,.2,1) calc(var(--d) + var(--i) * var(--st))}
.nt-js .nt-tx-drum:not(.nt-in) .nt-dg::after{translate:0 0}
/* ホバー: 3Dに傾く・スポットライト・ゆがむ */
.nt-h-tilt{transition:transform .25s ease}
.nt-spot{position:absolute;inset:0;pointer-events:none;z-index:5;background:radial-gradient(circle at var(--sx,50%) var(--sy,50%),transparent 0,transparent 140px,var(--scol) 240px)}
@media (hover:hover){.nt-h-wave:hover img,.nt-h-wave:hover .nt-media{filter:url(#nt-wavef)}}
/* スクロールで進む区画・部品(舞台) */
.nt-stage{position:absolute;left:0;top:0;width:100%;height:100%}
.nt-hs{position:absolute;left:0;top:0;will-change:translate}
.nt-ztarget{z-index:3;will-change:translate,scale}
.nt-sw-i,.nt-wv-i{position:absolute;inset:0}
.nt-swap .nt-sw-i{opacity:0;transition:opacity .7s ease}
.nt-swap .nt-sw-i.on{opacity:1}
.nt-sw-i img,.nt-wv-i img{width:100%;height:100%;object-fit:cover;display:block}
.nt-sw-c{position:absolute;left:0;right:0;bottom:0;margin:0;padding:32px 36px;background:linear-gradient(transparent,rgba(0,0,0,.55));font-weight:700;line-height:1.6;font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif}
.nt-tn{perspective:900px;overflow:hidden}
.nt-tn-g{position:absolute;inset:0;transform-style:preserve-3d}
.nt-tn-i{position:absolute;left:50%;top:50%;object-fit:cover;border-radius:10px;box-shadow:0 20px 50px rgba(0,0,0,.35);backface-visibility:hidden}
.nt-ct{display:block;overflow:visible}
.nt-ct-g{animation:nt-spin 14s linear infinite}
/* ページの切り替え演出 */
.nt-pfx{position:fixed;inset:0;z-index:2500;pointer-events:none;background:var(--pc);visibility:hidden}
.nt-pfx-curtain{translate:-101% 0}
.nt-pfx-fade{opacity:0}
.nt-pfx.on{visibility:visible;transition:translate .55s cubic-bezier(.7,0,.3,1),opacity .45s ease}
.nt-pfx-curtain.on.in{translate:0 0}
.nt-pfx-curtain.on.out{translate:101% 0}
.nt-pfx-fade.on.in{opacity:1}
/* ローディング: パネルが開く */
.nt-js .nt-ld-panels{background:transparent}
.nt-ld-panels .nt-ld-in{position:fixed;inset:0;display:flex}
.nt-ld-panels .nt-ld-in i{display:block;flex:1;background:var(--lb);transition:translate .75s cubic-bezier(.7,0,.3,1)}
.nt-ld-panels .nt-ld-in i:nth-child(2){transition-delay:.09s}
.nt-ld-panels .nt-ld-in i:nth-child(3){transition-delay:.18s}
.nt-ld-panels p{position:relative;z-index:1;transition:opacity .3s}
.nt-loader.nt-ld-panels.nt-done{opacity:1;visibility:hidden;transition:visibility 0s 1s}
.nt-ld-panels.nt-done .nt-ld-in i{translate:0 -101%}
.nt-ld-panels.nt-done p{opacity:0}
@media (prefers-reduced-motion:reduce){.nt-lp-move,.nt-lp-orbit,.nt-orb-in,.nt-ct-g{animation:none}.nt-js .nt-tx-scatter .nt-ch{opacity:1;translate:none;rotate:none;transition:none}}
@media (prefers-reduced-motion:reduce){
.nt-js .nt-an,.nt-js .nt-an>.nt-cl{opacity:1;translate:none;scale:none;rotate:none;transform:none;filter:none;clip-path:none;transition:none}
.nt-js .nt-an-curtain>:not(.nt-curtain){opacity:1;transition:none}
.nt-curtain{display:none}
.nt-js .nt-tx-chars .nt-ch,.nt-js .nt-tx-slide .nt-li,.nt-js .nt-tx-lines .nt-l{opacity:1;translate:none;transition:none}
.nt-lp,.nt-ring,.nt-lpgrad{animation:none}
}
/* ハンバーガーメニュー */
.nt-burger{position:fixed;top:14px;right:14px;z-index:999;width:48px;height:48px;border:0;border-radius:12px;background:#0F1B2D;box-shadow:0 2px 12px rgba(0,0,0,.18);display:none;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.nt-burger span{display:block;width:22px;height:2px;border-radius:2px;background:#FFFFFF}
.nt-menu{position:fixed;inset:0;z-index:1000;visibility:hidden;transition:visibility 0s .35s}
.nt-menu.on{visibility:visible;transition:none}
.nt-menu-bg{position:absolute;inset:0;background:rgba(0,0,0,.4);opacity:0;transition:opacity .3s}
.nt-menu.on .nt-menu-bg{opacity:1}
.nt-menu-panel{position:absolute;top:0;right:0;bottom:0;width:min(340px,86vw);padding:76px 28px 32px;overflow-y:auto;background:#0F1B2D;color:#FFFFFF;transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif}
.nt-menu.on .nt-menu-panel{transform:none}
.nt-menu ul{list-style:none}
.nt-menu li a{display:block;padding:15px 4px;font-size:17px;font-weight:600;border-bottom:1px solid color-mix(in srgb,currentColor 18%,transparent)}
.nt-menu-close{position:absolute;top:14px;right:14px;width:48px;height:48px;border:0;background:none;color:inherit;font-size:32px;line-height:1;cursor:pointer}
/* お問い合わせフォーム(見た目はデザインのまま、入力欄などを本物にする) */
.nt-form .nt-fi{font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;font-size:16px;color:var(--tx);padding:0 14px;-webkit-appearance:none;appearance:none}
.nt-form textarea.nt-fi{padding:12px 14px;resize:none;line-height:1.6}
.nt-form .nt-fi:focus{outline-color:var(--ac)!important;outline-width:2px!important}
.nt-form .nt-fi::placeholder{color:color-mix(in srgb,var(--tx) 40%,transparent)}
.nt-opt{-webkit-appearance:none;appearance:none;margin:0;cursor:pointer}
.nt-opt[type=radio]:checked{background-image:radial-gradient(circle,var(--ac) 0 34%,transparent 38%)!important}
.nt-opt[type=checkbox]:checked{background:var(--ac) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/80% no-repeat!important;outline-color:var(--ac)!important}
.nt-opt:focus-visible{outline-color:var(--ac)!important;outline-width:2px!important}
.nt-form label{cursor:pointer}
.nt-btn{cursor:pointer;border:0;font:inherit}
.nt-btn:disabled{opacity:.6;cursor:wait}
.nt-btxt{pointer-events:none}
.nt-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.nt-fmsg{display:none;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:28px;text-align:center;white-space:pre-line;font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;font-size:18px;font-weight:700;line-height:1.7;color:var(--tx);z-index:2}
.nt-sent .nt-fmsg,.nt-ferr-on .nt-fmsg{display:flex}
.nt-sent>:not(.nt-fbg):not(.nt-fmsg){visibility:hidden}
.nt-fmsg-x{display:none;font:inherit;font-size:15px;padding:10px 26px;border:0;border-radius:999px;background:var(--ac);color:#fff;cursor:pointer}
.nt-ferr .nt-fmsg-x{display:block}
.nt-ferr .nt-fmsg-t{color:#C62828}
/* お知らせ */
.nt-news{padding:8px 24px;overflow:hidden;font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif}
.nt-news ul{list-style:none}
.nt-news li{height:var(--nrh);border-bottom:1px solid var(--nl)}
.nt-news-i{display:flex;align-items:center;gap:0;width:100%;height:100%;padding:0;border:0;background:none;font:inherit;color:var(--nt);text-align:left}
button.nt-news-i,a.nt-news-i{cursor:pointer}
.nt-news-i time{flex:none;width:calc(var(--nfs) * 6.2);font-size:calc(var(--nfs) * .85);font-weight:500;color:var(--nd)}
.nt-news-i span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--nfs);font-weight:500}
button.nt-news-i:hover span,a.nt-news-i:hover span{text-decoration:underline}
.nt-news-none{display:flex;align-items:center;color:var(--nd);font-size:var(--nfs)}
.nt-nmodal{position:fixed;inset:0;z-index:1001;display:none;align-items:center;justify-content:center;padding:20px}
.nt-nmodal.on{display:flex}
.nt-nm-bg{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.nt-nm-panel{position:relative;width:min(640px,100%);max-height:85vh;overflow-y:auto;padding:40px 28px 28px;border-radius:16px;background:#fff;color:#1F2A44;font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;box-shadow:0 10px 40px rgba(0,0,0,.25)}
.nt-nm-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:none;font-size:28px;line-height:1;color:inherit;cursor:pointer}
.nt-nm-date{display:block;font-size:14px;color:#8B93A6}
.nt-nm-title{font-size:20px;line-height:1.5;margin:4px 0 16px}
.nt-nm-body{font-size:16px;line-height:1.9;white-space:pre-line}
.nt-nm-link{display:inline-block;margin-top:20px;padding:10px 22px;border-radius:999px;background:#1F2A44;color:#fff;font-size:15px;font-weight:700}
