/* contact.html 専用スタイル */
/* HERO */
.pg-hero{padding:160px 48px 80px;position:relative;overflow:hidden;border-bottom:1px solid var(--border)}
.pg-hero::before{content:'CONTACT';position:absolute;z-index:0;font-family:var(--en);font-weight:900;font-size:clamp(80px,14vw,200px);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.03);letter-spacing:-.04em;bottom:-20px;right:-10px;pointer-events:none;white-space:nowrap}
.pg-hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 60% 80% at 80% 50%,black 20%,transparent 70%);pointer-events:none}
.pg-hero-orb{position:absolute;width:600px;height:600px;top:-200px;right:-100px;border-radius:50%;filter:blur(100px);background:radial-gradient(circle,rgba(201,168,76,.05) 0%,transparent 70%);pointer-events:none}
.pg-hero-inner{position:relative;z-index:1;max-width:800px}
.pg-label{font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--gold);opacity:.7;text-transform:uppercase;margin-bottom:20px;display:flex;align-items:center;gap:12px}
.pg-label::before{content:'';display:inline-block;width:28px;height:1px;background:var(--gold-line)}
.pg-en{font-family:var(--en);font-size:clamp(48px,7vw,96px);font-weight:900;line-height:.9;letter-spacing:-.02em;text-transform:uppercase;margin-bottom:16px}
.pg-jp{font-family:var(--jp);font-size:clamp(18px,2vw,24px);font-weight:700;color:#666;margin-bottom:32px}
.pg-lead{font-size:14px;line-height:2.2;color:#777;font-weight:300}

/* MAIN LAYOUT */
.contact-wrap{display:grid;grid-template-columns:1fr 1.8fr;gap:0}

/* LEFT INFO */
.contact-info{padding:72px 48px;background:#080808;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:48px}
.info-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--gold);opacity:.6;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.info-lbl::after{content:'';flex:1;height:1px;background:var(--border)}
.info-title{font-size:17px;font-weight:700;color:var(--white);margin-bottom:12px}
.info-feats{display:flex;flex-direction:column}
.info-feat{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #111;font-size:13px;color:#777;font-weight:300}
.info-feat:first-child{border-top:1px solid #111}
.info-feat-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.5;flex-shrink:0}
.info-svcs{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.info-svc{font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:#444;padding:10px 16px;border:1px solid #1a1a1a}
.info-company{font-size:13px;color:#555;line-height:2;font-weight:300}
.info-company a{color:#555;text-decoration:none;transition:color .2s}
.info-company a:hover{color:var(--gold)}

/* FORM AREA */
.contact-form-area{padding:72px 64px;display:flex;flex-direction:column}
.form-area-title{font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--gold);opacity:.7;text-transform:uppercase;margin-bottom:40px;display:flex;align-items:center;gap:12px}
.form-area-title::after{content:'';flex:1;height:1px;background:var(--border)}

/* IFRAME WRAP */
.gform-wrap{
  position:relative;
  background:#080808;
  border:1px solid var(--border);
  border-top: 1px solid rgba(201,168,76,0.25);
  overflow:hidden;
  border-radius:2px;
  box-shadow: inset 0 0 60px rgba(0,0,0,0.6);
}
/* ゴールドライン（上部） */
.gform-wrap::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(to right,transparent 0%,var(--gold) 40%,var(--gold) 60%,transparent 100%);
  opacity:.6;z-index:2;
}
/* 下部フェードアウト（フォーム下端の白い余白を隠す） */
.gform-wrap::after{
  content:'';position:absolute;bottom:0;left:0;right:0;height:48px;
  background:linear-gradient(to bottom,transparent,#080808);
  z-index:2;pointer-events:none;
}
.gform-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#080808;z-index:0;pointer-events:none;opacity:1;transition:opacity .5s}
.gform-loading.hidden{opacity:0}
.gform-loading-bar{width:80px;height:1px;background:#1a1a1a;overflow:hidden}
.gform-loading-prog{height:100%;width:0;background:var(--gold);animation:ldprog 1.5s ease-in-out infinite}
@keyframes ldprog{0%{width:0;margin-left:0}50%{width:100%;margin-left:0}100%{width:0;margin-left:100%}}
.gform-loading-txt{font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:#333}
iframe.gform{
  display:block;width:100%;min-height:1060px;border:none;
  position:relative;z-index:1;
  background:transparent;
  opacity:0.97;
  /* 白背景を暗くなじませるフィルター */
  filter: brightness(0.88) contrast(1.05) saturate(0.9);
}

/* MOBILE */
@media(max-width:768px){
  .pg-hero{padding:120px 20px 60px}
  .contact-wrap{grid-template-columns:1fr}
  .contact-info{padding:48px 20px;border-right:none;border-bottom:1px solid var(--border)}
  .contact-form-area{padding:48px 20px}
  iframe.gform{min-height:1100px}
}
