@charset "UTF-8";
/* =========================================================
   HUNTER フォーム共通スタイル（contact / download / thanks）
   LP（index.html）とトンマナ統一
   ========================================================= */
:root{
  --green:#06C755;
  --green-d:#04A445;
  --green-dd:#05933F;
  --green-l:#3DD27D;
  --mint:#E6F7EE;
  --mint-2:#D5F1E0;
  --mint-3:#C2EAD3;
  --orange:#F6AC0E;
  --orange-d:#F09A05;
  --ink:#1A1A1A;
  --text:#5A6B61;
  --line:#E4E8EB;
  --err:#E5483C;
  --grad:linear-gradient(135deg,#0BD55F,#06C755 45%,#04A445);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:"Noto Sans JP",sans-serif;color:var(--ink);background:#F6F8F7;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:var(--green-d);}

/* ---- ヘッダー（LPと完全統一：fixed＋スクロールで白ブラー化） ---- */
.header{position:fixed;top:0;left:0;width:100%;z-index:50;transition:background .3s,box-shadow .3s,border-color .3s;border-bottom:1px solid transparent;}
.header.scrolled{background:rgba(255,255,255,.9);backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);box-shadow:0 6px 22px -14px rgba(20,40,30,.25);border-bottom-color:rgba(220,232,225,.6);}
.header-inner{max-width:1640px;margin:0 auto;padding:28px 70px;display:flex;align-items:center;justify-content:space-between;gap:30px;transition:padding .3s;}
.header.scrolled .header-inner{padding-top:13px;padding-bottom:13px;}
.logo img{height:58px;width:auto;transition:height .3s;}
.header.scrolled .logo img{height:46px;}
.gnav{display:flex;align-items:center;gap:34px;margin-left:auto;}
.gnav ul{display:flex;gap:27px;list-style:none;}
.gnav ul a{font-size:15px;font-weight:600;color:#1d2b22;letter-spacing:.02em;transition:color .2s;position:relative;text-decoration:none;}
.gnav ul a::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--green);transform:scaleX(0);transition:transform .25s;border-radius:2px;}
.gnav ul a:hover{color:var(--green-d);}
.gnav ul a:hover::after{transform:scaleX(1);}
.h-cta{display:flex;align-items:center;gap:11px;}
.hbtn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:700;letter-spacing:.03em;
  border-radius:999px;white-space:nowrap;text-decoration:none;cursor:pointer;font-size:17.5px;padding:22px 58px;
  transition:transform .25s,box-shadow .25s,background .25s;color:#fff;}
.hbtn.dl{background:var(--orange);box-shadow:0 12px 24px -10px rgba(246,172,14,.65);}
.hbtn.dl:hover{background:var(--orange-d);transform:translateY(-2px);box-shadow:0 16px 28px -10px rgba(246,172,14,.82);}
.hbtn.ct{background:var(--grad);box-shadow:0 12px 24px -10px rgba(6,199,85,.6);}
.hbtn.ct:hover{transform:translateY(-2px);box-shadow:0 18px 30px -12px rgba(6,199,85,.76);}
.hbtn.sm{font-size:14.5px;padding:12px 22px;gap:7px;}
@media (max-width:1080px){
  .gnav{display:none;}
  .header-inner{padding:20px 24px;}
  .logo img{height:46px;}
}

/* ---- レイアウト（fixedヘッダーぶん上に余白） ---- */
.fm-main{max-width:1080px;margin:0 auto;padding:158px 24px 72px;}
@media (max-width:1080px){.fm-main{padding-top:122px;}}
.fm-head{text-align:center;margin-bottom:30px;}
.fm-eyebrow{font-family:"Overpass","Poppins",sans-serif;font-weight:800;font-size:13px;letter-spacing:.24em;color:var(--green);text-transform:uppercase;}
.fm-title{font-size:clamp(23px,3.4vw,34px);font-weight:900;line-height:1.4;margin-top:10px;}
.fm-note{font-size:13.5px;color:var(--text);line-height:1.9;margin-top:12px;}
.fm-note b{color:var(--green-d);}

.fm-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:36px;align-items:start;}
.fm-grid.single{grid-template-columns:minmax(0,640px);justify-content:center;}
@media (max-width:860px){
  .fm-grid{grid-template-columns:1fr;}
  .fm-grid .fm-info{order:2;}  /* モバイルはフォームを先に表示（EFO） */
}

/* ---- 左：資料紹介パネル（downloadのみ） ---- */
.fm-info{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 28px;box-shadow:0 16px 34px -24px rgba(20,40,30,.25);}
.fm-info__badge{display:inline-block;background:var(--grad);color:#fff;font-weight:800;font-size:12px;padding:6px 16px;border-radius:999px;margin-bottom:16px;}
.fm-info h2{font-size:18px;font-weight:900;line-height:1.6;margin-bottom:16px;}
.fm-info ul{list-style:none;display:flex;flex-direction:column;gap:12px;}
.fm-info li{font-size:14px;font-weight:700;color:var(--ink);line-height:1.7;display:flex;gap:10px;align-items:flex-start;}
.fm-info li::before{content:"✓";flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:bold;display:flex;align-items:center;justify-content:center;margin-top:3px;}
.fm-info__sub{margin-top:18px;padding-top:16px;border-top:1px dashed var(--line);font-size:12.5px;color:var(--text);line-height:1.9;}

/* ---- フォームカード ---- */
.fm-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 32px 36px;box-shadow:0 22px 46px -26px rgba(20,40,30,.3);}
@media (max-width:600px){.fm-card{padding:26px 20px 30px;}}
.fm-field{margin-bottom:20px;}
.fm-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;margin-bottom:8px;}
.fm-req,.fm-opt{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:4px;line-height:1.6;}
.fm-req{background:var(--err);color:#fff;}
.fm-opt{background:#EDF0EF;color:#8A968F;}
.fm-input,.fm-textarea{
  width:100%;font-family:inherit;font-size:16px;color:var(--ink);
  background:#FAFBFB;border:1.5px solid #DCE2DF;border-radius:10px;
  padding:14px 15px;transition:border-color .2s, background .2s, box-shadow .2s;
  -webkit-appearance:none;appearance:none;
}
.fm-input{height:52px;}
.fm-textarea{min-height:150px;resize:vertical;line-height:1.8;}
.fm-input::placeholder,.fm-textarea::placeholder{color:#ADB8B2;}
.fm-input:focus,.fm-textarea:focus{outline:none;border-color:var(--green);background:#fff;box-shadow:0 0 0 3px rgba(6,199,85,.14);}
.fm-field.is-error .fm-input,.fm-field.is-error .fm-textarea{border-color:var(--err);background:#FEF6F5;}
.fm-error{display:none;font-size:12.5px;font-weight:700;color:var(--err);margin-top:6px;}
.fm-field.is-error .fm-error{display:block;}

/* ---- 送信ボタン（LPのCTAと統一） ---- */
.fm-submit{
  display:flex;align-items:center;justify-content:center;width:100%;
  font-family:inherit;font-size:17px;font-weight:700;letter-spacing:.03em;color:#fff;
  background:var(--grad);border:none;border-radius:999px;padding:19px 20px;cursor:pointer;
  box-shadow:0 14px 28px -12px rgba(6,199,85,.55);transition:transform .2s, box-shadow .2s, opacity .2s;margin-top:6px;
}
.fm-submit:hover{transform:translateY(-2px);box-shadow:0 18px 32px -12px rgba(6,199,85,.6);}
.fm-submit:disabled{opacity:.6;cursor:default;transform:none;}
.fm-submit.dl{background:linear-gradient(135deg,#FFC24A,#F6AC0E 45%,#F09A05);box-shadow:0 14px 28px -12px rgba(246,172,14,.55);}
.fm-submit.dl:hover{box-shadow:0 18px 32px -12px rgba(246,172,14,.6);}
.fm-privacy{font-size:12px;color:var(--text);line-height:1.9;margin-top:14px;text-align:center;}

/* ---- サンクスページ ---- */
.fm-thanks{max-width:640px;margin:0 auto;text-align:center;background:#fff;border:1px solid var(--line);border-radius:18px;padding:52px 34px;box-shadow:0 22px 46px -26px rgba(20,40,30,.3);}
.fm-thanks__ic{width:74px;height:74px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 22px;box-shadow:0 14px 28px -12px rgba(6,199,85,.5);}
.fm-thanks__ic svg{width:34px;height:34px;}
.fm-thanks h1{font-size:clamp(20px,3vw,26px);font-weight:900;line-height:1.5;margin-bottom:14px;}
.fm-thanks p{font-size:14px;color:var(--text);line-height:2;}
.fm-thanks .btns{display:flex;flex-direction:column;gap:12px;align-items:center;margin-top:26px;}
.fm-btn{display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;text-decoration:none;border-radius:999px;padding:15px 42px;transition:transform .2s;}
.fm-btn:hover{transform:translateY(-2px);}
.fm-btn.primary{background:var(--grad);color:#fff;box-shadow:0 14px 28px -12px rgba(6,199,85,.55);}
.fm-btn.ghost{color:var(--text);font-size:13px;padding:8px 20px;}

/* ---- フッター（LPと統一） ---- */
.ft{background:#F4F7F8;border-top:1px solid #E6EBEC;padding:54px 0 26px;}
.ft-inner{max-width:1080px;margin:0 auto;padding:0 40px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:34px;align-items:flex-start;}
.ft-brand{max-width:340px;}
.ft-brand img{height:34px;margin-bottom:14px;}
.ft-brand p{font-size:12.5px;color:#7E8C84;line-height:1.9;}
.ft-cta{display:flex;flex-wrap:wrap;gap:11px;margin-top:18px;}
.ft-nav{display:flex;gap:54px;flex-wrap:wrap;}
.ft-nav h5{font-family:"Overpass",sans-serif;font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--ink);margin-bottom:13px;}
.ft-nav ul{list-style:none;margin:0;padding:0;}
.ft-nav li{margin-bottom:9px;}
.ft-nav a{font-size:12.5px;color:#5A6B61;text-decoration:none;transition:color .2s;}
.ft-nav a:hover{color:var(--green-d);}
.ft-bottom{max-width:1080px;margin:38px auto 0;padding:18px 40px 0;border-top:1px solid #E6EBEC;text-align:center;font-size:11px;color:#9AA49E;}
@media(max-width:600px){.ft-inner{flex-direction:column;padding:0 22px;}.ft-bottom{padding:18px 22px 0;}}
