@charset "utf-8";

/* =========================================================
   Veast — 下層ページ（お問い合わせ／二次創作ガイドライン）
   style.css のトークン・ヘッダー・ボタン・フッターを継承
   ========================================================= */

.pg{background:var(--paper);}

/* ---------- page hero ---------- */
.pg-hero{
  position:relative;overflow:hidden;background:var(--deep);color:#fff;text-align:center;
  padding:calc(var(--header-h) + env(safe-area-inset-top,0px) + clamp(56px,8vw,96px)) var(--pad) clamp(64px,8vw,104px);
}
.pg-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 50% 60% at 18% 20%,rgba(138,107,224,.28),transparent 70%),
    radial-gradient(ellipse 45% 55% at 85% 90%,rgba(100,73,168,.32),transparent 70%);
}
.pg-hero .float-mark{color:var(--accent-soft);opacity:.09;}
.pg-hero__f1{width:clamp(180px,22vw,300px);left:-4%;top:12%;transform:rotate(-12deg);}
.pg-hero__f2{width:clamp(120px,14vw,200px);right:-2%;bottom:-8%;transform:rotate(16deg);}
.pg-hero__inner{position:relative;max-width:760px;margin:0 auto;}
.pg-hero__eyebrow{font-family:var(--ff-en);font-weight:700;font-size:12px;letter-spacing:.34em;color:var(--accent-soft);margin-bottom:16px;}
.pg-hero__title{font-family:var(--ff-en);font-weight:800;font-size:clamp(38px,7vw,72px);line-height:1.05;letter-spacing:.04em;}
.pg-hero__ja{margin-top:12px;font-size:clamp(14px,1.6vw,16px);font-weight:700;letter-spacing:.12em;color:var(--on-deep);}
.pg-hero__lead{margin:clamp(22px,3vw,30px) auto 0;max-width:560px;font-size:14.5px;line-height:2;color:var(--on-deep);}

/* ---------- body ---------- */
.pg-body{padding:clamp(56px,8vw,100px) var(--pad) clamp(80px,10vw,120px);}
.pg-body__inner{max-width:880px;margin:0 auto;}
.pg-card{
  background:#fff;border:1px solid var(--line);border-radius:var(--squircle);
  padding:clamp(26px,4.4vw,52px);box-shadow:0 18px 50px rgba(31,50,98,.06);
}

/* ---------- contact ---------- */
.ct-guide{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:clamp(30px,4vw,40px);}
.ct-guide__item{background:var(--mist);border-radius:var(--squircle-sm);padding:18px 20px;}
.ct-guide__k{font-family:var(--ff-en);font-weight:700;font-size:11px;letter-spacing:.2em;color:var(--accent-deep);margin-bottom:6px;}
.ct-guide__item p{font-size:13.5px;line-height:1.85;color:var(--ink);}
.ct-guide__item a{color:var(--accent-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px;}

.cform{display:flex;flex-direction:column;gap:22px;}
.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.cf-field{display:flex;flex-direction:column;gap:8px;}
.cf-label{font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--ink);}
.cf-label em{font-style:normal;font-size:11px;color:#fff;background:var(--accent);border-radius:999px;padding:1px 8px;margin-left:8px;vertical-align:1px;}
.cf-label i{font-style:normal;font-size:11px;color:var(--muted);margin-left:8px;}
.cf-field input,.cf-field select,.cf-field textarea{
  width:100%;font:inherit;font-size:15px;color:var(--ink);background:var(--paper);
  border:1.5px solid var(--line);border-radius:14px;padding:13px 16px;
  transition:border-color .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease);
}
.cf-field textarea{resize:vertical;min-height:180px;line-height:1.8;}
.cf-field select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236449A8' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:42px;}
.cf-field input:focus,.cf-field select:focus,.cf-field textarea:focus{
  outline:none;background:#fff;border-color:var(--accent);box-shadow:0 0 0 4px rgba(138,107,224,.16);
}
.cf-field.is-error input,.cf-field.is-error select,.cf-field.is-error textarea{border-color:#D9534F;}
.cf-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
.cf-agree{font-size:12.5px;line-height:1.8;color:var(--muted);}
.cf-foot{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:6px;}
.cf-submit{min-width:240px;justify-content:center;}
.cf-submit:disabled{opacity:.55;pointer-events:none;}
.cf-msg{min-height:1.4em;font-size:14px;font-weight:700;text-align:center;line-height:1.8;}
.cf-msg.ok{color:var(--accent-deep);}
.cf-msg.err{color:#C9302C;}
.cf-msg a{text-decoration:underline;text-underline-offset:3px;}

/* ---------- guidelines ---------- */
.gl-note{
  display:flex;gap:12px;align-items:flex-start;background:var(--mist);border-radius:var(--squircle-sm);
  padding:16px 20px;margin-bottom:clamp(28px,4vw,40px);font-size:13px;line-height:1.85;color:var(--ink);
}
.gl-note b{flex:none;font-family:var(--ff-en);font-size:11px;letter-spacing:.16em;color:#fff;background:var(--accent-deep);border-radius:999px;padding:3px 10px;margin-top:2px;}
.gl-intro{font-size:15px;line-height:2.05;color:var(--ink);margin-bottom:clamp(30px,4vw,44px);}
.gl-sec + .gl-sec{margin-top:clamp(34px,4.6vw,48px);padding-top:clamp(30px,4vw,40px);border-top:1px dashed var(--line);}
.gl-sec h2{display:flex;align-items:center;gap:12px;font-size:clamp(17px,2vw,20px);font-weight:900;color:var(--ink);margin-bottom:16px;letter-spacing:.04em;}
.gl-sec h2 span{
  flex:none;display:grid;place-items:center;width:30px;height:30px;font-family:var(--ff-en);font-size:14px;color:#fff;
  background:var(--accent);border-radius:9px 9px 14px 9px;
}
.gl-sec p{font-size:14.5px;line-height:2;color:var(--ink);}
.gl-sec p + p,.gl-sec p + ul,.gl-sec ul + p{margin-top:12px;}
.gl-list{display:flex;flex-direction:column;gap:9px;}
.gl-list li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.9;color:var(--ink);}
.gl-list li::before{content:"";position:absolute;left:3px;top:.72em;width:8px;height:8px;border-radius:2px 2px 4px 2px;background:var(--accent);transform:rotate(45deg);}
.gl-list--ng li::before{background:#E07A7A;}
.gl-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;}
.gl-tags li{font-size:13.5px;font-weight:700;background:var(--mist);color:var(--accent-deep);border-radius:999px;padding:6px 14px;}
.gl-tags li small{font-weight:500;color:var(--muted);margin-left:6px;}
.gl-meta{margin-top:clamp(36px,4.6vw,48px);text-align:right;font-size:12.5px;line-height:1.9;color:var(--muted);}
.gl-cta{margin-top:clamp(36px,4.6vw,48px);text-align:center;}
.gl-cta p{font-size:13.5px;color:var(--muted);margin-bottom:16px;}

@media (max-width:640px){
  .ct-guide,.cf-row{grid-template-columns:1fr;}
  .cf-submit{width:100%;}
  .pg-card{border-radius:22px 22px 44px 22px;}
}
