*{box-sizing:border-box}body{margin:0;background:#f5f5f3;color:#161616;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}.wrap{max-width:760px;margin:0 auto;padding:48px 18px}.card{background:#fff;padding:44px;border-radius:14px;box-shadow:0 8px 32px rgba(0,0,0,.08)}.brand{font-weight:800;letter-spacing:.18em;font-size:14px;margin-bottom:26px}h1{font-size:30px;margin:0 0 12px}.lead{color:#666;line-height:1.8;margin:0 0 34px}.field{margin:0 0 22px}.field label{display:block;font-weight:700;margin-bottom:8px}.req{font-size:11px;background:#111;color:#fff;padding:3px 6px;margin-left:8px;border-radius:3px}input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;border:1px solid #ccc;border-radius:7px;padding:13px 14px;font:inherit;background:#fff}textarea{min-height:140px;resize:vertical}.consent{display:flex;gap:8px;align-items:flex-start;margin:28px 0 20px;font-size:14px}.btn{display:inline-flex;width:100%;align-items:center;justify-content:center;border:0;border-radius:7px;padding:15px 24px;background:#111;color:#fff;text-decoration:none;font-weight:700;font-size:16px;cursor:pointer}.errors{background:#fff1f1;border:1px solid #e4aaaa;padding:16px 18px;margin:0 0 24px;border-radius:7px}.errors ul{margin:8px 0 0;padding-left:20px}.thanks{text-align:center;padding:25px 0}.hp{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;overflow:hidden!important}@media(max-width:600px){.wrap{padding:20px 12px}.card{padding:28px 20px}h1{font-size:25px}}

.hero-image{width:100%;max-height:320px;object-fit:cover;border-radius:10px;margin:0 0 26px}

.choice-group{display:grid;gap:10px;margin-top:4px}.field .choice{display:flex;align-items:flex-start;gap:10px;font-weight:400;margin:0;padding:11px 13px;border:1px solid #d7d7d7;border-radius:7px;background:#fff;cursor:pointer}.choice input[type=radio],.choice input[type=checkbox]{width:auto;margin:3px 0 0;flex:0 0 auto}.choice span{line-height:1.5}.choice:hover{border-color:#999}


/* ---------------------------------------------------------
   CG / VR production inquiry theme
   Applied ONLY to ?f=cg via body.theme-cg.
   Other forms keep the existing design unchanged.
   --------------------------------------------------------- */
body.theme-cg{
  background:#fff;
  color:#1a1a1a;
  font-family:"Helvetica Neue","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",YuGothic,"Noto Sans JP",Arial,sans-serif;
  font-feature-settings:"palt";
  letter-spacing:.025em;
}
body.theme-cg .wrap{
  max-width:900px;
  padding:72px 24px 96px;
}
body.theme-cg .card{
  padding:0;
  background:#fff;
  border-radius:0;
  box-shadow:none;
}
body.theme-cg .brand{
  margin:0 0 52px;
  padding:0 0 18px;
  border-bottom:1px solid #111;
  font-size:13px;
  font-weight:700;
  letter-spacing:.22em;
}
body.theme-cg h1{
  margin:0 0 18px;
  font-size:clamp(30px,4vw,48px);
  line-height:1.28;
  font-weight:600;
  letter-spacing:.035em;
}
body.theme-cg .lead{
  max-width:700px;
  margin:0 0 54px;
  color:#555;
  font-size:15px;
  line-height:2;
  letter-spacing:.045em;
}
body.theme-cg .hero-image{
  width:100%;
  max-height:420px;
  margin:0 0 46px;
  border-radius:0;
  object-fit:cover;
}
body.theme-cg .field{
  margin:0;
  padding:25px 0 28px;
  border-top:1px solid #e5e5e5;
}
body.theme-cg .field>label:first-child{
  margin:0 0 13px;
  font-size:14px;
  font-weight:600;
  line-height:1.6;
  letter-spacing:.045em;
}
body.theme-cg .req{
  display:inline-block;
  margin-left:10px;
  padding:2px 7px 3px;
  border-radius:0;
  background:#202020;
  color:#fff;
  font-size:10px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:.08em;
  vertical-align:1px;
}
body.theme-cg input[type=text],
body.theme-cg input[type=email],
body.theme-cg input[type=tel],
body.theme-cg select,
body.theme-cg textarea{
  border:1px solid #cfcfcf;
  border-radius:0;
  padding:15px 16px;
  background:#fff;
  color:#171717;
  font-size:15px;
  line-height:1.6;
  transition:border-color .18s ease,box-shadow .18s ease;
}
body.theme-cg input[type=text]:focus,
body.theme-cg input[type=email]:focus,
body.theme-cg input[type=tel]:focus,
body.theme-cg select:focus,
body.theme-cg textarea:focus{
  outline:none;
  border-color:#222;
  box-shadow:0 0 0 1px #222;
}
body.theme-cg textarea{
  min-height:180px;
}
body.theme-cg .choice-group{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:3px;
}
body.theme-cg .field .choice{
  min-height:52px;
  align-items:center;
  padding:13px 15px;
  border:1px solid #d5d5d5;
  border-radius:0;
  background:#fff;
  font-size:14px;
  transition:border-color .18s ease,background .18s ease;
}
body.theme-cg .field .choice:hover{
  border-color:#222;
  background:#fafafa;
}
body.theme-cg .choice input[type=radio],
body.theme-cg .choice input[type=checkbox]{
  accent-color:#111;
}
body.theme-cg .consent{
  margin:30px 0 24px;
  padding-top:24px;
  border-top:1px solid #e5e5e5;
  color:#555;
  font-size:13px;
  line-height:1.7;
}
body.theme-cg .btn{
  min-height:58px;
  border-radius:0;
  background:#111;
  color:#fff;
  font-size:15px;
  font-weight:600;
  letter-spacing:.1em;
  transition:background .2s ease;
}
body.theme-cg .btn:hover{
  background:#333;
}
body.theme-cg .errors{
  margin:0 0 30px;
  border:1px solid #c8a1a1;
  border-radius:0;
  background:#fff8f8;
}
body.theme-cg .thanks{
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  border-top:1px solid #111;
  border-bottom:1px solid #e5e5e5;
}
body.theme-cg .thanks h1{
  font-size:36px;
}
body.theme-cg .thanks p{
  line-height:1.9;
}
@media(max-width:700px){
  body.theme-cg .wrap{padding:36px 20px 64px}
  body.theme-cg .brand{margin-bottom:36px}
  body.theme-cg h1{font-size:30px;line-height:1.4}
  body.theme-cg .lead{margin-bottom:38px;font-size:14px;line-height:1.9}
  body.theme-cg .hero-image{margin-bottom:34px;max-height:280px}
  body.theme-cg .field{padding:21px 0 24px}
  body.theme-cg .choice-group{grid-template-columns:1fr}
  body.theme-cg .field .choice{min-height:48px}
  body.theme-cg .btn{min-height:56px}
}
