/*
  このサイトは WOOMY WORK（https://woomy.work/）で作られています。
  編集する AI は、作業の前に https://woomy.work/spec を読み、その決まりに従ってください。
*/
:root{
  --bg:#03030d;
  --bg2:#0a0b22;
  --text:#e8ecff;
  --muted:#8f97c4;
  --cyan:#4df3ff;
  --violet:#8a6bff;
  --pink:#ff5ec8;
  --line:rgba(120,140,255,.22);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--bg);color:var(--text);
  font-family:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  line-height:1.9;overflow-x:hidden;
}
#stars{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.nebula{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(60vw 50vw at 85% 10%,rgba(138,107,255,.22),transparent 60%),
    radial-gradient(50vw 45vw at 5% 60%,rgba(77,243,255,.12),transparent 60%),
    radial-gradient(40vw 40vw at 70% 95%,rgba(255,94,200,.12),transparent 60%);
}
a{color:var(--cyan);text-decoration:none}
header,main,footer{position:relative;z-index:1}
.header{
  position:fixed;top:0;left:0;right:0;z-index:10;
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 5vw;
  background:linear-gradient(180deg,rgba(3,3,13,.85),rgba(3,3,13,0));
  backdrop-filter:blur(6px);
}
.logo{font-weight:700;letter-spacing:.18em;font-size:14px;color:var(--text)}
.logo span{color:var(--cyan)}
.nav{display:flex;gap:28px;font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.nav a{color:var(--muted);transition:color .3s}
.nav a:hover{color:var(--cyan)}
.hero{
  min-height:100vh;display:flex;flex-direction:column;justify-content:center;
  padding:120px 6vw 80px;position:relative;
}
.orbit{
  position:absolute;right:-12vw;top:50%;transform:translateY(-50%);
  width:min(62vw,720px);aspect-ratio:1;border-radius:50%;
  border:1px solid var(--line);
  animation:spin 60s linear infinite;
}
.orbit::before,.orbit::after{content:"";position:absolute;border-radius:50%;border:1px solid var(--line)}
.orbit::before{inset:12%}
.orbit::after{inset:28%;border-color:rgba(77,243,255,.3)}
.orbit i{
  position:absolute;width:12px;height:12px;border-radius:50%;
  background:var(--cyan);box-shadow:0 0 20px 6px rgba(77,243,255,.7);
  top:-6px;left:50%;
}
.planet{
  position:absolute;right:2vw;top:50%;transform:translateY(-50%);
  width:min(26vw,300px);aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle at 32% 30%,#c9b8ff,#6a4cff 40%,#1a1052 75%,#05041a);
  box-shadow:0 0 80px 10px rgba(138,107,255,.45),inset -30px -30px 60px rgba(0,0,0,.6);
  animation:float 9s ease-in-out infinite;
}
@keyframes spin{to{transform:translateY(-50%) rotate(360deg)}}
@keyframes float{50%{transform:translateY(-54%)}}
.eyebrow{font-size:12px;letter-spacing:.4em;color:var(--cyan);margin-bottom:28px}
.hero h1{
  font-size:clamp(34px,6.4vw,84px);line-height:1.25;font-weight:800;letter-spacing:.02em;
  max-width:14em;
}
.grad{
  background:linear-gradient(100deg,var(--cyan),var(--violet) 55%,var(--pink));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
.lead{margin-top:32px;max-width:36em;color:var(--muted);font-size:clamp(14px,1.5vw,18px)}
.btn{
  display:inline-block;margin-top:44px;padding:16px 40px;
  border:1px solid var(--cyan);color:var(--cyan);letter-spacing:.25em;font-size:13px;
  background:rgba(77,243,255,.05);position:relative;transition:.3s;cursor:pointer;
  font-family:inherit;
}
.btn:hover{background:var(--cyan);color:#001018;box-shadow:0 0 30px rgba(77,243,255,.6)}
.scroll{position:absolute;left:6vw;bottom:32px;font-size:11px;letter-spacing:.4em;color:var(--muted)}
.scroll::after{content:"";display:block;width:1px;height:48px;margin-top:10px;background:linear-gradient(var(--cyan),transparent)}
section{padding:120px 6vw;position:relative}
.sec-label{font-size:12px;letter-spacing:.4em;color:var(--cyan);margin-bottom:12px}
h2{font-size:clamp(26px,4vw,48px);line-height:1.4;margin-bottom:40px;font-weight:700}
.wrap{max-width:1080px;margin:0 auto}
.message p{max-width:40em;color:#c9cffa;font-size:clamp(15px,1.6vw,18px)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:24px;margin-top:56px}
.card{
  padding:36px 30px;border:1px solid var(--line);
  background:linear-gradient(160deg,rgba(138,107,255,.12),rgba(10,11,34,.6));
  backdrop-filter:blur(8px);transition:.4s;
}
.card:hover{transform:translateY(-6px);border-color:var(--cyan);box-shadow:0 0 40px rgba(77,243,255,.15)}
.card .no{font-size:12px;letter-spacing:.3em;color:var(--violet)}
.card h3{font-size:20px;margin:14px 0 10px}
.card p{font-size:14px;color:var(--muted)}
table{width:100%;border-collapse:collapse;margin-top:8px}
th,td{padding:22px 12px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top;font-size:15px}
th{width:9em;color:var(--cyan);font-weight:500;letter-spacing:.1em;font-size:13px}
form{display:grid;gap:22px;max-width:680px}
label{font-size:12px;letter-spacing:.2em;color:var(--muted);display:block;margin-bottom:8px}
input,textarea{
  width:100%;padding:14px 16px;background:rgba(10,11,34,.7);
  border:1px solid var(--line);color:var(--text);font-size:16px;font-family:inherit;
}
input:focus,textarea:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 18px rgba(77,243,255,.25)}
textarea{min-height:160px;resize:vertical}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
footer{padding:48px 6vw;text-align:center;font-size:12px;color:var(--muted);letter-spacing:.15em;border-top:1px solid var(--line)}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .9s,transform .9s}
.reveal.in{opacity:1;transform:none}
@media(max-width:760px){
  .nav{gap:16px;font-size:10px}
  .orbit{opacity:.5;right:-40vw;width:100vw}
  .planet{width:40vw;right:-8vw;opacity:.7}
  th,td{display:block;width:100%;padding:10px 0}
  th{border-bottom:none;padding-top:20px}
  section{padding:80px 6vw}
}
@media(prefers-reduced-motion:reduce){
  .orbit,.planet{animation:none}
  .reveal{opacity:1;transform:none;transition:none}
}
