/* ================================================================
  ECフォース「CSS」フィールド用
  B to B CORE-SYSTEM すりむん / 一般向け(公開用)LP
================================================================ */
:root{
  --srm-navy:#0047A5;
  --srm-navy-deep:#00306E;
  --srm-navy-light:#0073E6;
  --srm-gold:#FFD54A;
  --srm-orange:#EF7D00;
  --srm-orange-dark:#D67000;
  --srm-bg:#F4F7F6;
  --srm-white:#FFFFFF;
  --srm-text:#25313C;
  --srm-text-dim:#61707D;
  --srm-line:#DFE6EC;
  --srm-sans:'Noto Sans JP','Hiragino Kaku Gothic ProN','Hiragino Sans',Meiryo,sans-serif;
  --srm-num:'Space Grotesk','Noto Sans JP',sans-serif;
}

/* ECフォースのフォームがこのページ内に差し込まれるため、
   リセットは要素を限定します。* に margin/padding:0 を当てると
   フォームの入力欄やボタンの余白まで潰れてしまいます。 */
*{box-sizing:border-box;}

body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,figure,blockquote{margin:0; padding:0;}

html{scroll-behavior:smooth;}

body{
  background:var(--srm-bg);
  color:var(--srm-text);
  font-family:var(--srm-sans);
  line-height:1.85;
  font-size:16px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

a{color:inherit;}

img{max-width:100%; display:block;}

li{list-style:none;}

.wrap{max-width:1000px; margin:0 auto; padding:0 24px;}

.srm-br-sp{display:none;}

@media (prefers-reduced-motion: reduce){
*{animation-duration:0.01ms !important; transition-duration:0.01ms !important; scroll-behavior:auto !important;}
}

/* ---------- スクロール表示 ---------- */
.reveal{opacity:0; transform:translateY(20px); transition:opacity .7s ease, transform .7s ease;}

.reveal.visible{opacity:1; transform:none;}

/* ================================================================
  ヘッダー
================================================================ */
.srm-head{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--srm-line);
}

.srm-head-inner{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding-top:14px; padding-bottom:14px;
}

.srm-brand{
  display:flex; align-items:center; gap:10px;
  font-weight:700; font-size:15px; letter-spacing:.04em;
  color:var(--srm-navy); line-height:1.4;
}

.srm-brand-mark{
  width:10px; height:22px; flex:none; border-radius:2px;
  background:linear-gradient(180deg, var(--srm-navy-light), var(--srm-navy));
}

.srm-head-cta{
  flex:none;
  display:inline-block; padding:10px 20px; border-radius:50px;
  background:var(--srm-orange); color:#fff;
  font-size:13px; font-weight:700; text-decoration:none; line-height:1.4;
  transition:background .25s ease, transform .25s ease;
}

.srm-head-cta:hover{background:var(--srm-orange-dark); transform:translateY(-1px);}

/* ================================================================
  ファーストビュー
================================================================ */
.srm-fv{
  position:relative; overflow:hidden;
  background:linear-gradient(135deg, var(--srm-navy-deep) 0%, var(--srm-navy) 55%, var(--srm-navy-light) 100%);
  color:#fff;
  padding:76px 0 68px;
  text-align:center;
}

.srm-fv::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
  background-size:100% 44px, 44px 100%;
  opacity:.5;
}

.srm-fv .wrap{position:relative; z-index:1;}

.srm-fv-eyebrow{
  display:inline-block;
  padding:7px 20px; margin-bottom:24px;
  border:1px solid rgba(255,213,74,0.6); border-radius:50px;
  color:var(--srm-gold);
  font-size:13px; font-weight:700; letter-spacing:.14em;
}

.srm-fv-title{
  font-size:36px; font-weight:900; line-height:1.5;
  letter-spacing:.01em; margin-bottom:24px;
}

.srm-fv-em{color:var(--srm-gold);}

.srm-fv-lead{
  max-width:800px; margin:0 auto;
  font-size:17px; line-height:2;
  color:rgba(255,255,255,0.92);
}

.srm-fv-lead b{font-weight:700; color:#fff;}

.srm-fv-actions{margin:34px 0 30px;}

.srm-btn-note{
  display:block; margin-top:14px;
  font-size:13px; color:rgba(255,255,255,0.75);
}

/* 補助金ボックス */
.srm-notice{
  max-width:720px; margin:0 auto;
  background:rgba(255,255,255,0.08);
  border:1px solid rgba(255,213,74,0.55);
  border-radius:10px;
  padding:22px 26px;
  text-align:left;
}

.srm-notice-title{
  position:relative; padding-left:18px;
  font-size:17px; font-weight:700; color:var(--srm-gold); line-height:1.6;
}

.srm-notice-title::before{
  content:""; position:absolute; left:0; top:.55em;
  width:9px; height:9px; border-radius:2px; background:var(--srm-gold);
}

.srm-notice-body{
  margin-top:8px; padding-left:18px;
  font-size:13px; color:rgba(255,255,255,0.8); line-height:1.8;
}

/* 数値 */
.srm-fv-figures{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  max-width:760px; margin:40px auto 0;
  background:rgba(255,255,255,0.18);
  border:1px solid rgba(255,255,255,0.18); border-radius:10px;
  overflow:hidden;
}

.srm-fig{
  background:rgba(0,32,80,0.45);
  padding:22px 12px;
}

.srm-fig-num{
  font-family:var(--srm-num);
  font-size:32px; font-weight:700; line-height:1.2;
  color:var(--srm-gold); letter-spacing:.01em;
}

.srm-fig-unit{font-size:.45em; font-weight:600; margin-left:2px;}

.srm-fig-label{
  margin-top:6px; font-size:12px; letter-spacing:.04em;
  color:rgba(255,255,255,0.78); line-height:1.6;
}

/* ================================================================
  共通セクション
================================================================ */
.srm-sec{padding:74px 0;}

.srm-sec-alt{background:var(--srm-white);}

.srm-sec-head{text-align:center; margin-bottom:44px;}

.srm-sec-index{
  display:inline-block; margin-bottom:12px;
  font-family:var(--srm-num);
  font-size:12px; font-weight:600; letter-spacing:.22em;
  color:var(--srm-navy-light); text-transform:uppercase;
}

.srm-sec-title{
  font-size:27px; font-weight:900; line-height:1.55;
  color:var(--srm-navy); letter-spacing:.01em;
}

.srm-sec-title::after{
  content:""; display:block; width:52px; height:3px; border-radius:2px;
  margin:16px auto 0;
  background:linear-gradient(90deg, var(--srm-navy), var(--srm-navy-light));
}

.srm-sec-sub{
  max-width:720px; margin:18px auto 0;
  font-size:15px; color:var(--srm-text-dim); line-height:1.95;
}

/* ================================================================
  Issue 課題
================================================================ */
.srm-problem-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}

.srm-problem-card{
  background:var(--srm-white);
  border:1px solid var(--srm-line);
  border-top:4px solid #C9302C;
  border-radius:8px;
  padding:28px 24px 26px;
  box-shadow:0 4px 14px rgba(0,48,110,0.05);
}

.srm-problem-num{
  font-family:var(--srm-num);
  font-size:26px; font-weight:700; line-height:1;
  color:#C9302C; opacity:.45; margin-bottom:12px;
}

.srm-problem-card h3{
  font-size:18px; font-weight:700; line-height:1.6;
  color:var(--srm-text); margin-bottom:12px;
}

.srm-problem-card p{
  font-size:14px; color:var(--srm-text-dim); line-height:1.95;
}

/* ================================================================
  Solution 解決
================================================================ */
.srm-solve{
  background:var(--srm-bg);
  border-left:5px solid var(--srm-navy-light);
  border-radius:6px;
  padding:30px 34px;
  margin-bottom:22px;
}

.srm-solve:last-child{margin-bottom:0;}

.srm-solve-head{margin-bottom:14px;}

.srm-solve-index{
  display:block; margin-bottom:8px;
  font-family:var(--srm-num);
  font-size:11px; font-weight:600; letter-spacing:.18em;
  color:var(--srm-navy-light);
}

.srm-solve h3{
  font-size:21px; font-weight:700; line-height:1.55;
  color:var(--srm-navy);
}

.srm-solve-lead{
  font-size:15px; line-height:1.95; color:var(--srm-text);
}

.srm-solve-list{margin-top:16px;}

.srm-solve-list li{
  position:relative; padding-left:22px; margin-bottom:9px;
  font-size:15px; line-height:1.9;
}

.srm-solve-list li:last-child{margin-bottom:0;}

.srm-solve-list li::before{
  content:""; position:absolute; left:4px; top:.7em;
  width:7px; height:7px; border-radius:50%;
  background:var(--srm-navy-light); opacity:.55;
}

/* STEP */
.srm-step{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
  margin-top:20px;
}

.srm-step-item{
  background:var(--srm-white);
  border:1px solid var(--srm-line);
  border-radius:6px;
  padding:18px 18px;
  text-align:center;
}

.srm-step-num{
  display:inline-block; margin-bottom:8px; padding:4px 11px;
  border-radius:4px; background:var(--srm-navy); color:#fff;
  font-family:var(--srm-num);
  font-size:10px; font-weight:600; letter-spacing:.12em;
}

.srm-step-item h4{
  font-size:15px; font-weight:700; line-height:1.6; color:var(--srm-navy);
}

/* ================================================================
  AI機能
================================================================ */
.srm-ai-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}

.srm-ai-card{
  position:relative; overflow:hidden;
  background:var(--srm-white);
  border:1px solid var(--srm-line);
  border-radius:8px;
  padding:28px 24px;
  box-shadow:0 4px 14px rgba(0,48,110,0.05);
  transition:transform .3s ease, box-shadow .3s ease;
}

.srm-ai-card::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:linear-gradient(180deg, var(--srm-navy-light), var(--srm-navy));
}

.srm-ai-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(0,48,110,0.10);
}

.srm-ai-index{
  font-family:var(--srm-num);
  font-size:11px; font-weight:600; letter-spacing:.18em;
  color:var(--srm-navy-light); margin-bottom:10px;
}

.srm-ai-card h3{
  font-size:20px; font-weight:700; line-height:1.5;
  color:var(--srm-navy); margin-bottom:8px;
}

.srm-ai-lead{
  font-size:14px; color:var(--srm-text); line-height:1.9;
  padding-bottom:14px; margin-bottom:14px;
  border-bottom:1px solid var(--srm-line);
}

.srm-ai-card li{
  position:relative; padding-left:18px; margin-bottom:8px;
  font-size:13px; color:var(--srm-text-dim); line-height:1.85;
}

.srm-ai-card li:last-child{margin-bottom:0;}

.srm-ai-card li::before{
  content:""; position:absolute; left:2px; top:.7em;
  width:6px; height:6px; border-radius:50%;
  background:var(--srm-navy-light); opacity:.5;
}

/* ================================================================
  料金プラン
================================================================ */
.srm-plan-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  align-items:start;
}

.srm-plan-card{
  position:relative;
  background:var(--srm-white);
  border:1px solid var(--srm-line);
  border-radius:10px;
  padding:30px 24px 28px;
  text-align:center;
  box-shadow:0 4px 14px rgba(0,48,110,0.05);
}

.srm-plan-card-pick{
  border:2px solid var(--srm-navy);
  box-shadow:0 10px 26px rgba(0,48,110,0.13);
}

.srm-plan-badge{
  position:absolute; top:-13px; left:50%; transform:translateX(-50%);
  padding:5px 18px; border-radius:50px;
  background:var(--srm-orange); color:#fff;
  font-size:12px; font-weight:700; letter-spacing:.06em; white-space:nowrap;
}

.srm-plan-name{
  font-size:18px; font-weight:700; color:var(--srm-navy);
  padding-bottom:14px; margin-bottom:16px;
  border-bottom:1px solid var(--srm-line);
}

.srm-plan-price{
  font-family:var(--srm-num);
  font-size:38px; font-weight:700; color:var(--srm-navy); line-height:1.2;
}

.srm-plan-unit{
  font-family:var(--srm-sans);
  font-size:.34em; font-weight:700; margin-left:5px; letter-spacing:0;
  color:var(--srm-text-dim);
}

.srm-plan-desc{
  margin-top:14px;
  font-size:13px; color:var(--srm-text-dim); line-height:1.9;
}

.srm-plan-note{
  margin-top:18px; text-align:right;
  font-size:13px; color:var(--srm-text-dim); line-height:1.8;
}

.srm-callout{
  margin-top:34px;
  background:var(--srm-white);
  border:1px solid var(--srm-line);
  border-left:5px solid var(--srm-navy-light);
  border-radius:6px;
  padding:26px 28px;
}

.srm-callout p{font-size:15px; line-height:2;}

.srm-mark{
  font-weight:700;
  background:linear-gradient(transparent 62%, rgba(255,213,74,0.55) 62%);
}

.srm-callout-sub{
  margin-top:12px; font-size:13px !important; color:var(--srm-text-dim);
}

/* ================================================================
  導入伴走 STEP
================================================================ */
.srm-flow{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}

.srm-flow-item{
  background:var(--srm-white);
  border:1px solid var(--srm-line);
  border-radius:8px;
  padding:26px 22px;
  box-shadow:0 4px 14px rgba(0,48,110,0.05);
}

.srm-flow-num{
  display:inline-block; margin-bottom:12px; padding:5px 12px;
  border-radius:4px; background:var(--srm-navy); color:#fff;
  font-family:var(--srm-num);
  font-size:11px; font-weight:600; letter-spacing:.12em;
}

.srm-flow-item h3{
  font-size:17px; font-weight:700; line-height:1.6;
  color:var(--srm-navy); margin-bottom:10px;
}

.srm-flow-item p{
  font-size:13px; color:var(--srm-text-dim); line-height:1.9;
}

/* ================================================================
  導入事例
================================================================ */
.srm-case-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
  align-items:start;
}

.srm-case-card{
  position:relative;
  background:var(--srm-bg);
  border-radius:8px;
  padding:44px 24px 24px;
}

.srm-case-card::before{
  content:"";
  position:absolute; left:24px; top:22px;
  width:26px; height:3px; border-radius:2px;
  background:var(--srm-navy-light); opacity:.6;
}

.srm-case-text{
  font-size:14px; line-height:1.95; color:var(--srm-text);
}

.srm-case-who{
  margin-top:16px; padding-top:14px;
  border-top:1px solid var(--srm-line);
  font-size:13px; font-weight:700; color:var(--srm-navy);
}

/* ================================================================
  FAQ
================================================================ */
.srm-faq{
  max-width:820px; margin:0 auto;
}

.srm-faq-item{
  background:var(--srm-white);
  border:1px solid var(--srm-line);
  border-radius:8px;
  padding:24px 26px;
  margin-bottom:16px;
}

.srm-faq-item:last-child{margin-bottom:0;}

.srm-faq-q{
  position:relative; padding-left:34px;
  font-size:17px; font-weight:700; line-height:1.6; color:var(--srm-navy);
}

.srm-faq-q::before{
  content:"Q"; position:absolute; left:0; top:0;
  width:24px; height:24px; border-radius:4px;
  background:var(--srm-navy); color:#fff;
  font-family:var(--srm-num); font-size:13px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}

.srm-faq-a{
  position:relative; padding-left:34px; margin-top:14px;
  font-size:15px; line-height:1.95; color:var(--srm-text-dim);
}

.srm-faq-a::before{
  content:"A"; position:absolute; left:0; top:0;
  width:24px; height:24px; border-radius:4px;
  background:var(--srm-bg); color:var(--srm-navy);
  border:1px solid var(--srm-line);
  font-family:var(--srm-num); font-size:13px; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}

/* ================================================================
  ボタン
================================================================ */
.srm-btn{
  display:inline-block;
  background:var(--srm-orange); color:#fff;
  font-size:17px; font-weight:700; text-decoration:none;
  padding:17px 42px; border-radius:50px;
  box-shadow:0 6px 16px rgba(239,125,0,0.32);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease;
}

.srm-btn:hover{
  background:var(--srm-orange-dark);
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(239,125,0,0.38);
}

.srm-btn-lg{
  font-size:19px; padding:21px 54px;
  margin:32px 0 12px;
}

/* ================================================================
  Contact
================================================================ */
.srm-contact{
  background:#E9F1FA;
  padding:74px 0;
  text-align:center;
}

.srm-contact-lead{
  max-width:780px; margin:0 auto;
  font-size:15px; line-height:2.05; color:var(--srm-text);
}

.srm-contact-caution{
  margin-top:16px;
  font-size:13px; color:var(--srm-text-dim); line-height:1.9;
}

/* ================================================================
  ECフォースのフォーム（__PAYMENT_FORM__ で差し込まれる部分）

  ※このLPのCSSは /assets/lp-*.css より後に読み込まれるため、
    a / img / li への指定がフォーム側を上書きしてしまいます。
    ここで打ち消しています。
================================================================ */
.srm-form{
  max-width:900px; margin:28px auto 0;
  background:var(--srm-white);
  border:1px solid var(--srm-line);
  border-radius:10px;
  padding:10px 22px 26px;
  text-align:left;
  box-shadow:0 4px 14px rgba(0,48,110,0.06);
}

.srm-form li{list-style:revert;}

.srm-form img{display:inline-block; max-width:100%;}

.srm-form a{color:var(--srm-navy); text-decoration:underline;}

/* 固定幅(940px)で組まれているため可変にする ------------------- */
.srm-form .form_container_ec{
  width:100%; max-width:100%; margin:0; padding:0;
}

.srm-form .form_main_container_ec{width:100%;}

/* セクション見出し ------------------------------------------- */
/* 入力テーブルを1カラムに組み替える -------------------------- */
/* 入力欄 ----------------------------------------------------- */
/* 郵便番号・電話番号は短い欄を横並びにする
   （ECフォース側の指定が勝つため !important で上書き） */
/* 資料請求フォームに不要なセクションを非表示 -----------------
   ※この商品では課金が発生しないため、支払方法は非表示にしています。
   ※いずれも初期値が入っているため、隠しても送信は通ります。
     (お届け先住所=「上記住所と同じ」/ お支払い方法=1択が選択済み)
   ※パスワード欄と規約同意は必須かつ初期値が無いため、
     ここで隠すと送信できなくなります。絶対に追加しないでください。 */
.srm-form #view-shipping-information,
.srm-form #view-payment-information,
.srm-form #view-coupon,
.srm-form #view-payment-schedule,
.srm-form #view-shipping-carrier,
.srm-form #view-pickup-location{display:none !important;}

/* 商品名の行（入力欄が無く、表示も紛らわしいため非表示） */
/* 規約同意 --------------------------------------------------- */
/* 送信ボタン
   ※ECフォース側で value が空のため、文言はECフォースの
     フォーム設定（ボタン画像またはボタン文言）で指定してください。
     画像を使っている場合は、この background 指定を削除してください。 */
.srm-form .submit_ec{margin-top:22px;}

.srm-form .submit_button_complete_ec,
.srm-form .login_button_ec{
  display:block; width:100%; max-width:420px; margin:0 auto;
  padding:18px 20px; border:0; border-radius:50px; cursor:pointer;
  background:var(--srm-orange); color:#fff;
  font-family:inherit; font-size:17px; font-weight:700;
  box-shadow:0 6px 16px rgba(239,125,0,0.32);
  transition:background .25s ease, transform .25s ease;
}

.srm-form .submit_button_complete_ec:hover,
.srm-form .login_button_ec:hover{
  background:var(--srm-orange-dark); transform:translateY(-2px);
}

.srm-entry-policy{
  display:flex; justify-content:center; flex-wrap:wrap; gap:8px 22px;
  margin-top:22px;
}

.srm-entry-policy a{
  font-size:13px; color:var(--srm-navy); text-decoration:underline;
}

.srm-entry-policy a:hover{text-decoration:none;}

.srm-contact-note{
  margin-top:14px;
  font-size:13px; color:var(--srm-text-dim); line-height:1.9;
}

/* ================================================================
  フッター
================================================================ */
.srm-foot{
  background:var(--srm-navy-deep); color:#fff;
  padding:44px 0 34px; text-align:center;
}

.srm-foot-brand{
  font-size:16px; font-weight:700; letter-spacing:.04em;
}

.srm-foot-company{
  margin-top:16px;
  display:flex; justify-content:center; flex-wrap:wrap; gap:6px 28px;
}

.srm-foot-company p{
  font-size:13px; color:rgba(255,255,255,0.82); line-height:1.7;
}

.srm-foot-label{
  display:inline-block; margin-right:9px; padding:2px 9px;
  border:1px solid rgba(255,255,255,0.28); border-radius:3px;
  font-size:11px; font-weight:500; letter-spacing:.06em;
  color:rgba(255,255,255,0.62);
}

.srm-foot-links{
  margin-top:24px; padding-top:22px;
  border-top:1px solid rgba(255,255,255,0.16);
  display:flex; justify-content:center; flex-wrap:wrap;
  gap:10px 0;
}

.srm-foot-links li{
  padding:0 18px;
  border-left:1px solid rgba(255,255,255,0.22);
  line-height:1.4;
}

.srm-foot-links li:first-child{border-left:0;}

.srm-foot-links a{
  font-size:13px; color:rgba(255,255,255,0.78); text-decoration:none;
  transition:color .2s ease;
}

.srm-foot-links a:hover{color:#fff; text-decoration:underline;}

.srm-foot-copy{
  margin-top:26px;
  font-family:var(--srm-num);
  font-size:11px; letter-spacing:.06em; color:rgba(255,255,255,0.5);
}

/* ================================================================
  レスポンシブ
================================================================ */
@media (max-width:900px){
.srm-problem-grid{grid-template-columns:1fr;}
.srm-ai-grid{grid-template-columns:1fr;}
.srm-plan-grid{grid-template-columns:1fr;}
.srm-case-grid{grid-template-columns:1fr;}
.srm-flow{grid-template-columns:1fr;}
}

@media (max-width:768px){
body{font-size:15px;}
.srm-br-sp{display:block;}
.srm-head-inner{padding-top:11px; padding-bottom:11px;}
.srm-brand{font-size:12px;}
.srm-head-cta{padding:9px 14px; font-size:11px;}
.srm-fv{padding:52px 0 48px;}
.srm-fv-eyebrow{font-size:11px; letter-spacing:.1em; padding:6px 14px;}
.srm-fv-title{font-size:25px;}
.srm-fv-lead{font-size:15px; line-height:1.95;}
.srm-notice{padding:18px 20px;}
.srm-notice-title{font-size:15px;}
.srm-fv-figures{grid-template-columns:1fr;}
.srm-fig{padding:16px 12px;}
.srm-fig-num{font-size:27px;}
.srm-sec, .srm-contact{padding:52px 0;}
.srm-sec-head{margin-bottom:32px;}
.srm-sec-title{font-size:21px;}
.srm-sec-sub{font-size:14px; text-align:left;}
.srm-solve{padding:22px 20px;}
.srm-solve h3{font-size:18px;}
.srm-solve-lead{font-size:14px;}
.srm-solve-list li{font-size:14px;}
.srm-step{grid-template-columns:1fr; gap:10px;}
.srm-ai-card{padding:22px 20px;}
.srm-ai-card h3{font-size:18px;}
.srm-plan-card{padding:26px 20px 24px;}
.srm-plan-price{font-size:32px;}
.srm-plan-note{text-align:left;}
.srm-callout{padding:20px 20px;}
.srm-callout p{font-size:14px;}
.srm-case-card{padding:38px 20px 20px;}
.srm-case-card::before{left:20px; top:20px;}
.srm-faq-item{padding:20px 20px;}
.srm-faq-q{font-size:16px; padding-left:30px;}
.srm-faq-a{font-size:14px; padding-left:30px;}
.srm-faq-q::before, .srm-faq-a::before{width:21px; height:21px; font-size:12px;}
.srm-btn{font-size:15px; padding:16px 28px; width:100%; max-width:400px;}
.srm-btn-lg{font-size:16px; padding:18px 28px;}
.srm-contact-lead{font-size:14px; text-align:left;}
.srm-contact-caution{font-size:12px; text-align:left;}
.srm-form{padding:6px 14px 20px; margin-top:22px;}
.srm-form .submit_button_complete_ec,
  .srm-form .login_button_ec{font-size:16px; padding:16px 18px;}
.srm-entry-policy{gap:8px 16px;}
.srm-entry-policy a{font-size:12px;}
.srm-contact-note{font-size:12px;}
.srm-foot{padding:36px 0 28px;}
.srm-foot-brand{font-size:14px;}
.srm-foot-company{gap:4px 0; flex-direction:column;}
.srm-foot-links{gap:12px 0; flex-direction:column;}
.srm-foot-links li{padding:0; border-left:0;}
}



/* ==========================================================
   ECフォース標準フォーム（健康経営・EN-NET と同一デザイン）
   template_11 から移植  2026-09-04
   ========================================================== */
.form_container_ec {
  width: 940px;
  margin-right: auto;
  margin-left: auto;
  padding-left: 0px;
  padding-right: 0px;
  overflow: hidden;
}
.form_main_container_ec {
  font-size:12px;
  width: 100%;
  border-radius:3px
}
.landing_form_label_ec {
  padding: 15px;
}
.form_box_label {
  background: #cadefc;
  border-bottom: 1px solid #C3C3C3;
  border-top: 1px solid #C3C3C3;
  padding: 2%;
  vertical-align: middle;
  text-align: left;
  color: #333;
  margin-bottom: 2%;
}
span.form_required_ec{
  padding: 2px 4px;
  margin-left: 5px;
  display: inline-block;
  float: right !important;
}
table.landing_form_ec {
  width: 852px;
  margin: 0 auto;
}
.landing_form_ec tr {
  line-height: 18px;
  font-size: 14px;
}
.landing_form_ec th {
  text-align: left;
  vertical-align: top;
  padding: 13px 11px;
}
.landing_form_ec td {
  width: 584px;
  padding: 13px 5px;
}
.login_message_ec,
.purchase_message_ec {
  font-weight: normal;
  font-size: 14px;
  padding:20px 0px;
  margin-left: 4%;
  margin-right: 4%;
}
.form_main_container_sp_ec .formError {
  width: 200px;
}
.form_main_container_ec .formError {
  width: 470px;
}
.formError .formErrorContent {
  width: 60%;
  font-size: 100%;
}
p.caution_ec {
  padding-top:10px;
  font-size: 14px;
}
.optin_view_ec,
.agreement_view_ec,
.order_checklist_view_ec {
  margin-left: 4%;
  padding-top: 20px;
  position: relative;
}
.form_group_ec {
  padding-left: 2%;
  padding-right: 2%;
  position: relative;
}
.form_main_container_ec div.form_group_ec input{
  padding: 10px 10px;
  font-size: 12px;
  margin-left: auto;
  margin-right: auto;
  color: #555555;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #cccccc;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form_main_container_ec div.form_group_ec input[type=checkbox]{
  margin-left: 3px;
  margin-right: 3px;
}
.form_main_container_ec div.form_group_ec select{
  padding: 10px 10px;
  height: 40px;
  font-size: 12px;
  margin-left: auto;
  margin-right: auto;
  color: #555555;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #cccccc;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  box-shadow: inset 0 1px 1px rgba(0,0,0,0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form_main_container_ec div.form_group_ec .disabled-input-ec {
  pointer-events: none;
  background-color: #ccc !important;
  opacity: 0.7;
}
input.input_box_ec { width:70%; }
select.input_box_product_ec { min-width:50%; }
p.input_product_ec { display:inline-block; }
input.input_box_name_ec { width:70%; }
input.input_box_name1_ec { width:70%; }
input.input_box_name2_ec { width:70%; }
input.input_box_kana_ec { width:70%; }
input.input_box_kana1_ec { width:70%; }
input.input_box_kana2_ec { width:70%; }
select.input_box_sex_ec { width: 25%; }
select.input_box_job_ec { width: 70%; }
select.input_box_birth_year_ec { width: 25%; }
select.input_box_birth_month_ec { width: 15%; }
select.input_box_birth_day_ec { width: 15%; }
input.input_box_zip1_ec { width: 50px; }
input.input_box_zip2_ec { width: 60px; }
select.input_box_pref_ec { width: 150px; }
input.input_box_addr1_ec { width: 70%; }
input.input_box_addr2_ec { width: 70%; }
input.input_box_addr3_ec { width: 70%; }
input.input_box_tel_ec { width: 70%; }
input.input_box_tel1_ec { width: 45px; }
input.input_box_tel2_ec { width: 45px; }
input.input_box_tel3_ec { width: 45px; }
input.input_box_fax_ec { width: 70%; }
input.input_box_fax1_ec { width: 45px; }
input.input_box_fax2_ec { width: 45px; }
input.input_box_fax3_ec { width: 45px; }
input.input_box_email_ec { width: 70%; }
input.input_box_email_confirm_ec { width: 70%; }
input.input_box_customer_number_ec { width: 70%; }
select.input_box_card_method_ec { width: 50%; }
select.input_box_card_times_ec { width: 15%; }
input.input_box_card_number_ec { width: 70%; }
select.input_box_card_month_ec { width: 15%; }
select.input_box_card_year_ec { width: 15%; }
input.input_box_card_name_ec { width: 70%; }
input.input_box_password_ec { width: 70%; }
input.input_box_password_confirm_ec { width: 70%; }
p.form_box_label_ec strong { font-weight: bold; }
p.form_box_label_ec label { font-weight: bold; }
div.form_group_ec p {}
div.form_group_ec span { font-weight: bold; }
.amazon_pay_button_wallet_ec input.billing_agreement_ec {
  visibility: hidden;
  font-size: 0px !important;
}
.login_message_box_ec {
  width: 852px;
  margin: 20px auto 0px auto;
  border: solid 1px #C3C3C3;
}
p.login_message_wrapper_ec {
  font-size: 14px;
  margin: 20px 0 !important;
  text-align: center;
}
.free_columns-section_ec .form_group_ec label {
  font-weight: normal;
}
.order_free_columns-section_ec .form_group_ec label {
  font-weight: normal;
}
.form_container_sp_ec {
  padding: 0;
  background-size: 100%;
  font-size: 16px;
  position: relative;
  overflow: hidden;
}
.landing_form_label_sp_ec {
  padding: 15px;
}
.form_main_container_sp_ec div.form_group_sp_ec input{
  padding: 8px 4px;
  line-height: 2.4;
  font-size: 16px;
  margin-left: auto;
  margin-right: auto;
}
.form_main_container_sp_ec div.form_group_sp_ec input[type=checkbox]{
  margin-left: 3px;
  margin-right: 3px;
}
.form_main_container_sp_ec div.form_group_sp_ec select{
  height: 50px;
  font-size: 14px;
  margin-left: auto;
  margin-right: auto;
}
.form_group_sp_ec {
  padding-left: 15px;
  padding-right: 15px;
  padding-bottom: 30px;
  padding-top: 15px;
  position: relative;
}
.form_main_container_sp_ec div.form_group_sp_ec .disabled-input-ec {
  pointer-events: none;
  color: #555;
  background-color: #ccc !important;
  border: 1px solid #cccccc;
  opacity: 0.7;
}
.login_message_sp_ec,
.purchase_message_sp_ec {
  font-weight: normal;
  font-size: 14px;
  padding:20px 0px;
  margin-left: 4%;
  margin-right: 4%;
}
.form_main_container_sp_ec {
  width: 100%;
  border-radius:3px
}
span.form_required_sp_ec{
  padding: 2px 4px;
  margin-left: 5px;
  display: inline-block;
}
.form_box_label_sp_ec {
  padding: 2%;
  vertical-align: middle;
  text-align: left;
  margin-bottom: 2%;
}
select.input_box_sp_ec {
  padding: 10px;
  font-size: 14px;
  width: 100%;
  height: 50px;
}
input.input_box_sp_ec { width:98%; }
select.input_box_product_sp_ec { width:98%; }
select.input_box_quantity_sp_ec { width:98%; }
input.input_box_name_sp_ec { width:98%; }
input.input_box_name1_sp_ec { width:45%; }
input.input_box_name2_sp_ec { width:45%; }
input.input_box_kana_sp_ec { width:98%; }
input.input_box_kana1_sp_ec { width:45%; }
input.input_box_kana2_sp_ec { width:45%; }
select.input_box_sex_sp_ec { width:98%; }
select.input_box_job_sp_ec { width:98%; }
select.input_box_birth_year_sp_ec { width: 40%; }
select.input_box_birth_month_sp_ec { width: 25%; }
select.input_box_birth_day_sp_ec { width: 25%; }
input.input_box_zip1_sp_ec { width: 80px; }
input.input_box_zip2_sp_ec { width: 100px; }
select.input_box_pref_sp_ec { width:98%; }
input.input_box_addr1_sp_ec { width:98%; }
input.input_box_addr2_sp_ec { width:98%; }
input.input_box_addr3_sp_ec { width:98%; }
input.input_box_tel_sp_ec { width: 98%; }
input.input_box_tel1_sp_ec { width: 24%; }
input.input_box_tel2_sp_ec { width: 24%; }
input.input_box_tel3_sp_ec { width: 24%; }
input.input_box_fax_sp_ec { width: 98%; }
input.input_box_fax1_sp_ec { width: 24%; }
input.input_box_fax2_sp_ec { width: 24%; }
input.input_box_fax3_sp_ec { width: 24%; }
input.input_box_company_sp_ec { width: 98%; }
input.input_box_email_sp_ec { width:98%; }
input.input_box_email_confirm_sp_ec { width:98%; }
input.input_box_customer_number_sp_ec { width:98%; }
select.input_box_shipping_address_sp_ec { width:98%; }
select.input_box_wrapping_sp_ec { width:98%; }
select.input_box_card_method_sp_ec { width:98%; }
select.input_box_card_times_sp_ec { width:98%; }
input.input_box_card_number_sp_ec { width:98%; }
select.input_box_card_month_sp_ec { width: 25%; }
select.input_box_card_year_sp_ec { width: 25%; }
input.input_box_card_name_sp_ec { width:98%; }
select.input_box_container_payment_schedule_sp_ec { width:98%; }
input.input_box_password_sp_ec { width:98%; }
input.input_box_password_confirm_sp_ec { width:98%; }
p.form_box_label_sp_ec strong { font-weight: bold; }
p.form_box_label_sp_ec label { font-weight: bold; }
div.form_group_sp_ec p {}
div.form_group_sp_ec span { font-weight: bold; }
.optin_view_sp_ec,
.agreement_view_sp_ec,
.order_checklist_view_sp_ec {
  margin-left: 4%;
  padding-top: 15px;
  position: relative;
}
.free_columns-section_sp_ec .form_group_ec label {
  font-weight: normal;
}
.order_free_columns-section_sp_ec .form_group_sp_ec label {
  font-weight: normal;
}
span.form_required_ec{
  /* セクションラベルの色 */
  background: #7E0F09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}
.landing_form_label_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}
table.landing_form_ec {
  border-top: 1px solid #d0dcec;
  border-right: 1px solid #d0dcec;
  background: #FFF;
  border-bottom: 1px solid #999;
}
.landing_form_ec th {
  background-color: #e1edfd;
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #e1edfd;
}
.landing_form_ec td {
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #ffffff;
}
.submit_bottom_ec {
  border: 0px;
  width: 400px;
  height: 150px;
  background: url("/assets/default_btn-f6c2a9bc1ad7a90718756cd965847d700d3750ab3c837bf74bcf30dd3d083ea0.png") center;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}
span.form_required_sp_ec{
  /* セクションラベルの色 */
  background: #7E0F09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}
.landing_form_label_sp_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}
.form_box_label_sp_ec {
  background: #cadefc;
  border-bottom: 1px solid #C3C3C3;
  border-top: 1px solid #C3C3C3;
}
.submit_bottom_sp_ec {
  border: 0px;
  width: 100%;
  height: 150px;
  background: url("/assets/default_btn-f6c2a9bc1ad7a90718756cd965847d700d3750ab3c837bf74bcf30dd3d083ea0.png") center;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}
.amazon_pay_button_wallet_sp_ec input.billing_agreement_sp_ec {
  visibility: hidden;
  font-size: 0px !important;
}
.login_message_box_sp_ec {
  width: 100%;
  margin: 0 auto;
  border: solid 1px #d0dcec;
}
p.login_message_wrapper_sp_ec {
  font-size: 14px;
  margin: 20px 0 !important;
  text-align: center;
}
.form_container_sp_ec .line_alert_sp_ec {
  font-size: 12px;
  padding: 0px;
}
.input_required_ec {
  background-color: rgba(242, 133, 12, 0.2) !important;
}
span.form_required_ec{
  /* セクションラベルの色 */
  background: #7E0F09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}
.landing_form_label_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}
table.landing_form_ec {
  border-top: 1px solid #d0dcec;
  border-right: 1px solid #d0dcec;
  background: #FFF;
  border-bottom: 1px solid #999;
}
.landing_form_ec th {
  background-color: #e1edfd;
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #e1edfd;
}
.landing_form_ec td {
  border-bottom: 1px solid #d0dcec;
  border-left: 1px solid #d0dcec;
  background-color: #ffffff;
}
.submit_bottom_ec {
  border: 0px;
  width: 400px;
  height: 150px;
  background-size: 394px auto;
  background-repeat: no-repeat;
  cursor: pointer;
}
table.landing_form_ec,
table.landing_form_sp_ec {
  width: 100%;
  max-width: 852px;
}
.landing_form_ec td {
  width: auto;
}
.landing_form_ec input[type="text"],
.landing_form_ec input[type="tel"],
.landing_form_ec input[type="email"],
.landing_form_ec input[type="password"],
.landing_form_ec textarea {
  width: 100%;
  max-width: 480px;
  box-sizing: border-box;
  padding: 11px 12px;
  font-size: 16px;
}
.landing_form_ec select {
  width: auto;
  min-width: 200px;
  max-width: 100%;
  box-sizing: border-box;
  padding: 11px 12px;
  font-size: 16px;
}
.landing_form_ec input.input_box_zip1_ec,
.landing_form_ec input.input_box_zip2_ec,
.landing_form_ec input.input_box_tel1_ec,
.landing_form_ec input.input_box_tel2_ec,
.landing_form_ec input.input_box_tel3_ec {
  width: 6em;
  max-width: 6em;
  display: inline-block;
}
#view-shipping-information,
#view-payment-information {
  display: none !important;
}
.landing_form_ec th,
.landing_form_ec td,
.landing_form_ec .form_group_ec {
  text-align: left;
}
.landing_form_ec input,
.landing_form_ec select,
.landing_form_ec textarea {
  margin-left: 0;
  margin-right: auto;
}
span.form_required_sp_ec{
  /* セクションラベルの色 */
  background: #7E0F09;
  /* セクションラベルのフォント色*/
  color: #ffffff;
}
.landing_form_label_sp_ec {
  /* セクションラベルの色 */
  background: #203594;
  /* セクションラベルのフォント色*/
  color: #ffffff;
  /* セクションラベルのフォントサイズ */
  font-size: 18px;
}
.form_box_label_sp_ec {
  background: #cadefc;
  border-bottom: 1px solid #C3C3C3;
  border-top: 1px solid #C3C3C3;
}
.submit_bottom_sp_ec {
  border: 0px;
  width: 100%;
  height: 150px;
  background-size: 100% auto;
  background-repeat: no-repeat;
  cursor: pointer;
}

/* 画像（2026-11-03）：株式会社コアシスプランのサイトの画像（許諾済み） */
.srm-img{display:block;margin:0 auto;height:auto;max-width:100%}
.srm-fv-laptop{width:min(720px,100%);margin:36px auto 0;filter:drop-shadow(0 20px 30px rgba(0,0,40,.25))}
.srm-feature-ui{width:min(820px,100%);margin:0 auto 36px;border-radius:10px;box-shadow:0 12px 30px rgba(20,40,90,.12)}
.srm-illust{width:min(300px,70%);margin:0 auto 28px}
.srm-case-photo{width:min(560px,100%);margin:0 auto 6px;border-radius:10px}
.srm-img-note{font-size:11px;color:#8a93a6;text-align:center;margin:6px 0 28px}
