/* 株式会社VELXIA 公式サイト スタイル。色は :root の変数で一括管理（--bg 背景 / --gold アクセント など） */
:root{color-scheme:dark;--bg:#17191C;--fg:#E9EBEE;--alt:#30343A;--mute:#A9AEB5;--line:#3b4046;--ac:#B8BDC4;--gold:#B9A17B;--c:#30343A;--serif:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 88px)}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:300 16px/1.9 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:60}
a{color:inherit}img{max-width:100%}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:#000;color:#fff;padding:.6em 1em;z-index:99}.skip:focus{left:0}
.wrap{width:min(1120px,100% - 48px);margin-inline:auto}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--bg);border-bottom:1px solid rgba(185,161,123,.35)}
.hd{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:inline-flex;align-items:center;text-decoration:none;height:46px}
.logo img{height:100%;width:auto;display:block}.fl{height:64px}
.wm{font:200 22px/1 var(--sans);letter-spacing:.42em;margin-right:-.42em}
nav ul{display:flex;gap:30px;list-style:none;margin:0;padding:0}
nav a{text-decoration:none;font-size:13px;letter-spacing:.14em;padding:8px 0;border-bottom:1px solid transparent;transition:border-color .25s}
nav a:hover{border-color:currentColor}nav a[aria-current=page]{border-color:var(--gold)}
nav a small{display:block;font-size:10px;color:var(--mute);letter-spacing:.08em;line-height:1.2;text-align:center}
.mb{display:none;background:none;border:1px solid var(--line);color:inherit;width:44px;height:44px;cursor:pointer}
.mb i,.mb i::before{display:block;width:18px;height:1px;background:currentColor;margin:auto;position:relative;transition:transform .25s}
.mb i::before{content:"";top:-6px;margin:0}
.mb[aria-expanded=true] i{background:transparent}.mb[aria-expanded=true] i::before{top:0;transform:rotate(45deg)}
@media(max-width:860px){.mb{display:block}nav{position:absolute;left:0;right:0;top:100%;background:var(--bg);border-bottom:1px solid var(--line);display:none}nav.open{display:block}nav ul{flex-direction:column;gap:0;padding:8px 24px 20px}nav a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}nav a small{display:inline}}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.5;margin:0;letter-spacing:.04em}
.frame{aspect-ratio:4/5;background:linear-gradient(160deg,#3a3d41,#1e2022);color:rgba(255,255,255,.4);position:relative;background-size:cover;background-position:center}
.hero{position:relative;overflow:hidden;min-height:min(88vh,880px);display:flex;align-items:center;background:radial-gradient(110% 90% at 80% 25%,#30343A,#17191C 65%);padding:clamp(72px,10vw,140px) 0}
.hero::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#17191C 4%,rgba(23,25,28,.62) 34%,rgba(23,25,28,.08) 72%),linear-gradient(0deg,#17191C,rgba(23,25,28,0) 26%),linear-gradient(180deg,rgba(23,25,28,.55),rgba(23,25,28,0) 22%)}
.hero .wrap{position:relative;z-index:2}
.hero h1{font-size:clamp(30px,5.2vw,70px);line-height:1.4;letter-spacing:.06em;animation:up 1.2s .6s both}
h1:focus{outline:none}
.hero p{max-width:32em;color:#c5c9ce;margin:36px 0 44px;animation:up 1.2s .9s both}
.acts{display:flex;gap:16px;flex-wrap:wrap;animation:up 1.2s 1.1s both}
.art{position:absolute;right:0;top:0;bottom:0;width:min(72%,980px);margin:0;color:rgba(184,189,196,.55);background-size:cover;background-position:center}
.art svg{position:absolute;inset:0;width:100%;height:100%}.art.has{width:100%;left:0}.art.has svg{display:none}
.art path{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 3.2s .3s ease forwards}.art path:nth-child(n+2){animation-delay:.9s}
@media(max-width:860px){.hero{min-height:calc(100svh - 120px);align-items:flex-end;padding-bottom:92px}.art{width:100%}.art:not(.has){opacity:.5}.hero::after{background:linear-gradient(0deg,#17191C 6%,rgba(23,25,28,.84) 52%,rgba(23,25,28,.3) 100%)}}
.big{font:400 clamp(22px,4.4vw,32px)/1.7 var(--serif)}.tl{text-underline-offset:5px}
.tbox .tl{display:inline-block;padding:8px 0;text-decoration:none;border-bottom:1px solid var(--gold);letter-spacing:.06em}

@keyframes draw{to{stroke-dashoffset:0}}@keyframes up{from{opacity:0;transform:translateY(14px)}}
.btn{display:inline-block;text-decoration:none;border:1px solid var(--gold);padding:15px 36px;font-size:14px;letter-spacing:.12em;background:none;color:inherit;font-family:inherit;cursor:pointer;transition:background .25s,color .25s}
.btn:hover{background:var(--gold);color:#17191C}
section.s{padding:clamp(64px,9vw,120px) 0}
.alt{background:var(--alt)}
.sh{display:flex;align-items:baseline;gap:20px;margin-bottom:48px;flex-wrap:wrap}
.sh h2,.ph h1{font-size:clamp(26px,3.6vw,40px)}
.sh small,.ph small{color:var(--mute);font:300 14px var(--sans);letter-spacing:.12em}
.ph{padding:clamp(56px,8vw,104px) 0 clamp(32px,5vw,56px);border-bottom:1px solid var(--line)}
.ph h1{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap}
.ph p{max-width:38em;margin:24px 0 0;color:var(--mute)}
.rows a{display:grid;grid-template-columns:minmax(0,1fr) 2fr 24px;gap:24px;padding:28px 0;border-top:1px solid var(--line);text-decoration:none;align-items:center;transition:padding .3s}
.rows a:last-child{border-bottom:1px solid var(--line)}
.rows a:hover{padding-left:12px}
.rows h3{font-size:22px}.rows p{margin:0;color:var(--mute);font-size:14px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:32px}
.card .frame{aspect-ratio:3/2}.card h3{font-size:18px;margin:16px 0 8px}
.card dl{margin:0;font-size:13px;color:var(--mute)}.card dt{float:left;clear:left;width:5em}.card dd{margin:0 0 2px 5em}
.empty{border:1px dashed var(--line);padding:56px 24px;text-align:center;color:var(--mute)}
.dark{background:var(--alt);color:var(--fg)}.dark p{color:var(--mute)}
.band{display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap}
.band h2{font-size:clamp(24px,3.2vw,34px)}.band p{margin:12px 0 0}
.two{display:grid;grid-template-columns:1fr 1fr;gap:56px}
@media(max-width:860px){.two{grid-template-columns:1fr;gap:36px}.frame{aspect-ratio:3/2}.rows a{grid-template-columns:1fr 24px}.rows p{grid-column:1}.rows a>span{grid-row:1;grid-column:2}}
.flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:stretch}
.flow div{border:1px solid var(--line);padding:28px 24px}.flow h3{font-size:18px;margin-bottom:8px}.flow p{margin:0;font-size:14px;color:var(--mute)}
.flow span{align-self:center;color:var(--mute)}
@media(max-width:860px){.flow{grid-template-columns:1fr}.flow span{transform:rotate(90deg);justify-self:center}}
.note{font-size:12px;color:var(--mute);margin-top:24px}
.dl{display:grid;grid-template-columns:200px 1fr;margin:0;border-top:1px solid rgba(185,161,123,.6)}
.dl dt,.dl dd{margin:0;padding:22px 0;border-bottom:1px solid var(--line)}.dl dt{font-family:var(--serif)}
.tbd{color:var(--mute);border-bottom:1px dashed var(--mute)}
@media(max-width:600px){.dl{grid-template-columns:1fr}.dl dt{border:0;padding-bottom:0}}
footer{background:var(--bg);border-top:1px solid rgba(185,161,123,.4);color:var(--mute);padding:64px 0 40px;font-size:13px}
footer .wrap{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
footer ul{list-style:none;margin:0;padding:0;display:flex;gap:24px;flex-wrap:wrap}footer a{text-decoration:none}footer a:hover{text-decoration:underline}
.logo .wm{color:var(--gold)}.cp{width:min(1120px,100% - 48px);margin:40px auto 0;color:#8a8d92;font-size:12px}
.js .rv{opacity:0;transform:translateY(12px);transition:opacity .9s,transform .9s}.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.art path{stroke-dashoffset:0}.js .rv{opacity:1;transform:none}}
.biz{list-style:none;margin:0 auto;padding:0;display:grid;gap:clamp(16px,3vw,32px);max-width:980px}
.tile{display:block;position:relative;width:100%;padding:0;border:1px solid var(--line);background:#000;cursor:zoom-in;line-height:0;transition:border-color .25s}
.tile:hover{border-color:var(--gold)}.tile img{display:block;width:100%;height:auto}
.tile::after{content:"+";position:absolute;right:12px;top:12px;width:32px;height:32px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font:300 20px/30px var(--sans);text-align:center}
dialog#lb{margin:0;padding:0;border:0;width:100vw;height:100dvh;max-width:none;max-height:none;background:rgba(10,11,12,.96);color:#fff}
dialog#lb::backdrop{background:#000}
.lbw{box-sizing:border-box;display:flex;align-items:center;justify-content:center;height:100%;padding:64px 16px 40px;overflow:auto}
.lbw img{width:100%;max-width:1400px;max-height:100%;height:auto;object-fit:contain}
.x{position:absolute;right:calc(12px + env(safe-area-inset-right,0px));top:calc(12px + env(safe-area-inset-top,0px));width:48px;height:48px;border:1px solid rgba(255,255,255,.6);border-radius:50%;background:rgba(0,0,0,.5);color:#fff;font:300 26px/1 var(--sans);cursor:pointer}
.lbh{display:none;position:absolute;left:0;right:0;bottom:calc(10px + env(safe-area-inset-bottom,0px));text-align:center;font-size:12px;color:#c5c9ce}
@media(max-width:860px) and (orientation:portrait){.lbh{display:block}}
.hero .hd1{position:relative;padding-left:clamp(20px,3vw,40px)}
.hero .hd1::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:1px;background:var(--gold);transform-origin:top;animation:grow 1.6s .3s both}
.en{display:block;margin-top:22px;font-size:clamp(11px,1.2vw,14px);letter-spacing:.26em;line-height:2;color:var(--mute);animation:up 1.2s 1s both}
.hero .hd1 h1{margin:0}.hero p{margin-top:32px}
.cap{position:absolute;right:16px;bottom:14px;z-index:2;margin:0;font-size:11px;color:rgba(255,255,255,.62)}
.art.has{left:auto;width:80%;background-position:60% 45%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%);mask-image:linear-gradient(90deg,transparent,#000 40%);animation:zoom 3.2s ease-out both}
@keyframes grow{from{transform:scaleY(0)}}@keyframes zoom{from{transform:scale(1.06)}}
@media(max-width:860px){.art.has{left:0;width:100%;-webkit-mask-image:none;mask-image:none;background-position:66% 40%}}
.biz2{max-width:none;grid-template-columns:1fr 1fr}
@media(max-width:860px){.biz2{grid-template-columns:1fr}}
@media(max-width:600px){.biz{margin-inline:-24px;max-width:none}.tile{border-left:0;border-right:0}}
.rot{display:none;position:absolute;left:calc(12px + env(safe-area-inset-left,0px));top:calc(12px + env(safe-area-inset-top,0px));height:48px;padding:0 20px;border:1px solid rgba(255,255,255,.6);border-radius:24px;background:rgba(0,0,0,.5);color:#fff;font:300 14px var(--sans);cursor:pointer}
@media(max-width:860px) and (orientation:portrait){.rot{display:block}}
dialog.r .lbw{position:relative;overflow:hidden;padding:0}
dialog.r .lbw img{position:absolute;left:50%;top:50%;max-width:none;max-height:none;width:min(calc(100dvh - 130px),calc((100vw - 32px) * var(--ar,2.66)));transform:translate(-50%,-50%) rotate(90deg)}
@media(min-width:861px){.hero{min-height:clamp(540px,46vw,720px);padding:clamp(56px,6vw,96px) 0}}
@media(max-width:600px){.hero h1{font-size:clamp(28px,9.4vw,38px);line-height:1.5;letter-spacing:.05em}.hero p{font-size:15px;line-height:1.9;margin:24px 0 32px}.en{margin-top:16px;font-size:11px}.acts .btn{flex:1 1 150px;text-align:center;padding:15px 12px}.hero .hd1{padding-left:18px}}
.eb{display:block;margin-bottom:18px;font-size:clamp(11px,1.2vw,14px);letter-spacing:.32em;color:var(--gold)}
.sh h2,.ph h1{position:relative;padding-top:22px}
.sh h2::before,.ph h1::before{content:"";position:absolute;left:0;top:0;width:36px;height:1px;background:var(--gold)}
.tile::after{border-color:rgba(205,185,147,.85)}.x,.rot{border-color:rgba(205,185,147,.7)}
.dl dt{color:#d9c8a6}.tl{text-decoration-color:var(--gold)}
.ar{margin-left:1.4em}@media(max-width:600px){.ar{display:none}}
.phil{text-align:center;background:radial-gradient(90% 130% at 50% 0,#30343A,#17191C 72%);border-bottom:1px solid var(--line)}
.phil .k{margin:0;display:flex;align-items:center;justify-content:center;gap:18px;font-size:13px;letter-spacing:.3em;color:var(--gold)}
.phil .k::before,.phil .k::after{content:"";width:40px;height:1px;background:var(--gold);opacity:.7}
.phil h2{font-size:clamp(28px,5.4vw,58px);line-height:1.5;letter-spacing:.08em;margin:32px 0 36px}
.phil h2 span{display:inline-block}
.phil hr{width:56px;height:1px;border:0;background:var(--gold);margin:0 auto 40px}
.phil .pt{max-width:35em;margin:0 auto;text-align:left}
.phil .pt p{margin:0 0 1.3em;font-size:clamp(15px,1.7vw,17px);line-height:2.15;color:#d6d8db;text-wrap:pretty}
@media(max-width:600px){.phil .k{font-size:11px;letter-spacing:.14em;gap:10px}.phil .k::before,.phil .k::after{width:18px}.phil h2{margin:24px 0 28px}.phil hr{margin-bottom:32px}}
.wgrid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,48px) clamp(20px,3vw,40px)}.wgrid.w3{grid-template-columns:repeat(3,1fr)}
@media(max-width:860px){.wgrid,.wgrid.w3{grid-template-columns:1fr}}
.wk h3{font-size:clamp(17px,1.6vw,20px);margin:18px 0 0;padding-top:16px;position:relative;letter-spacing:.06em}
.wk h3::before{content:"";position:absolute;top:0;left:0;width:32px;height:1px;background:var(--gold)}
.dock{display:none}
@media(max-width:860px){body{padding-bottom:84px}
.dock{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px max(12px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left));background:rgba(23,25,28,.97);border-top:1px solid rgba(185,161,123,.45)}
.dk{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;text-decoration:none;font-size:15px;font-weight:500;letter-spacing:.06em;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.dk svg{flex:none}.dk{border:1px solid transparent;border-radius:3px}.dk.tel{background:var(--gold);border-color:var(--gold);color:#17191C}.dk.line{background:#30343A;border-color:rgba(184,189,196,.6);color:#fff}}
.ln{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border:1px solid rgba(184,189,196,.6);border-radius:3px;background:#30343A;color:#fff;text-decoration:none;font-size:14px;letter-spacing:.06em}
.qr{display:none}@media(min-width:861px){.qr{display:block;margin-top:16px}.qr .qrs{width:112px;height:112px;display:block}.qr p{margin:8px 0 0;font-size:11px;max-width:16em;line-height:1.7}}
.wd{margin:10px 0 0;font-size:14px;line-height:1.9;color:var(--mute)}
@media(max-width:860px){.wgrid,.wgrid.w3{max-width:560px;margin-inline:auto}}
.area .al{max-width:34em;margin:0;font:400 clamp(17px,2vw,22px)/2 var(--serif);letter-spacing:.04em}
.mt{margin-top:40px}
@media(max-width:860px){.hero{min-height:clamp(520px,calc(100svh - 170px),700px);padding-bottom:36px}}
@media(max-width:600px){section.s{padding:clamp(22px,5.8vw,24px) 0}.sh{margin-bottom:22px;gap:4px 16px}.sh h2,.ph h1{padding-top:14px}.ph{padding:clamp(26px,7vw,30px) 0 clamp(16px,5vw,22px)}.mt{margin-top:22px}.rows a{padding:20px 0}.dl dt,.dl dd{padding:16px 0}.phil h2{margin:22px 0 22px}.phil hr{margin-bottom:26px}.wk h3{margin-top:14px}.wgrid{gap:24px}}
.hl{display:inline-block}
.wk{border:1px solid var(--line);background:rgba(48,52,58,.4)}
.wk .tile{border:0;border-bottom:1px solid rgba(185,161,123,.4)}
.wk h3{margin:0;padding:14px 16px 16px;font-size:clamp(16px,1.5vw,19px);line-height:1.5}
.wk h3::before{display:none}
.wk .wd{margin:-6px 0 0;padding:0 16px 16px}
