@charset "UTF-8";
/* ============================================================================
   scanner.css  ―― スキャナプラグイン専用ページ（page-scan.php）
   ----------------------------------------------------------------------------
   収録：
   - .scn_*  旧デザイン系（紺主役）
   - .sc_page / .sc_*  現行シンプル版（白基調＋紺アクセント）
   - .scv_*  対応スキャナ・動作環境
   - .contact_tel*  お問い合わせ電話案内
   - .sc_page スコープの文字サイズ底上げオーバーライド
   - ★共有パーツ本体（.snr_ / .pw_about_ / .ia_ / .ez* / .nayami_ / .mig*）
     ※ トップ(front-page.css)と独立して調整できるよう、意図的に重複配置。
        片方だけ変えたい場合はこのファイル側を編集する。
   ============================================================================ */


/* ============================================================================
   スキャナ旧デザイン系（.scn_*：紺 #2D4585 主役）
   ============================================================================ */
.scn_ph { display:flex; align-items:center; justify-content:center; text-align:center; background:rgba(45,69,133,.08); border:2px dashed #2D4585; color:#2D4585; font-size:14px; font-weight:700; line-height:1.6; border-radius:12px; }
.scn_ph_fv { width:100%; min-height:220px; }
.scn_ph_icon { width:64px; height:64px; font-size:11px; border-radius:999px; flex-shrink:0; }
.scn_lv2 { position:relative; text-align:center; font-size:19px; font-weight:700; line-height:1.6; padding:0 0 14px; margin:0 auto 24px; }
.scn_lv2::before { content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:60px; height:3px; border-radius:999px; background:#2D4585; }
.scn_lv2_white { color:#FFF; }
.scn_lv2_white::before { background:#FFF100; }
.scn_marker { background:linear-gradient(transparent 60%, #FFF100 60%); padding:0 .1em; }
.scn_lv2_wrap { text-align:center; padding:0 0 8px; }
.scn_lv2_icon { font-size:0; margin-bottom:5px; }
.scn_lv2_icon img { width:42px; }
.scn_lv2_line { background:linear-gradient(transparent 60%, #FFF100 60%); }
.scn_fv_wrap { background:#2D4585; padding:32px 0 80px; }
.scn_fv { color:#FFF; text-align:center; }
.scn_fv_badge { display:inline-block; background:#FFF100; color:#2D4585; font-size:14px; font-weight:700; line-height:1.4; border-radius:999px; padding:5px 16px; margin-bottom:18px; }
.scn_fv_ttl { font-size:28px; font-weight:700; line-height:1.35; margin-bottom:16px; }
.scn_fv_lead { font-size:15px; line-height:1.8; margin-bottom:16px; }
.scn_fv_caution { font-size:14px; font-weight:700; color:#FFF100; margin-bottom:24px; }
.scn_fv_img { font-size:0; }
.scn_fv_cta { position:relative; }
.scn_video { padding:48px 0; }
.scn_video_box { background:#FFF; border:2px solid #2D4585; border-radius:16px; overflow:hidden; display:flex; flex-direction:column; }
.scn_video_left { background:#000; width:100%; font-size:0; }
.scn_video_player { position:relative; width:100%; padding-top:56.25%; cursor:pointer; overflow:hidden; }
.scn_video_player iframe, .scn_video_thumb { position:absolute; top:0; left:0; width:100%; height:100%; border:0; object-fit:cover; }
.scn_video_play { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:72px; height:50px; border:0; border-radius:12px; background:#D10000; cursor:pointer; padding:0; transition:.2s; box-shadow:0 4px 10px rgba(0,0,0,.3); }
.scn_video_play::after { content:""; position:absolute; top:50%; left:50%; transform:translate(-40%,-50%); border-style:solid; border-width:11px 0 11px 18px; border-color:transparent transparent transparent #FFF; }
.scn_video_player:hover .scn_video_play { background:#F20000; transform:translate(-50%,-50%) scale(1.06); }
.scn_video_right { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:28px 20px; }
.scn_video_catch { font-size:24px; font-weight:700; color:#2D4585; margin-bottom:20px; letter-spacing:.04em; }
.scn_video_logos { display:flex; flex-direction:column; align-items:center; gap:12px; }
.scn_video_logos img { max-width:80%; height:auto; }
.scn_video_player--soon { cursor:default; background:#000; }
.scn_video_soon { position:absolute; top:0; left:0; width:100%; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; text-align:center; padding:20px; }
.scn_video_soon_en { font-size:32px; font-weight:700; color:#FFF; letter-spacing:.08em; }
.scn_video_soon_ja { font-size:15px; color:rgba(255,255,255,.8); letter-spacing:.04em; }
.scn_media_list { display:flex; flex-direction:column; gap:20px; margin-top:32px; }
.scn_media_card { display:block; text-decoration:none; color:#000; background:#FFF; border:2px solid #2D4585; border-radius:12px; overflow:hidden; transition:.2s; }
.scn_media_card:hover { transform:translateY(-4px); box-shadow:0 8px 16px rgba(45,69,133,.18); }
.scn_media_thumb { position:relative; width:100%; padding-top:62%; background:#F2F6DC; overflow:hidden; font-size:0; }
.scn_media_thumb img { position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; }
.scn_ph_media { position:absolute; top:0; left:0; width:100%; height:100%; border:2px dashed #2D4585; }
.scn_media_label { font-size:14px; font-weight:700; color:#2680E0; padding:14px 16px 0; }
.scn_media_ttl { font-size:15px; font-weight:700; line-height:1.6; padding:4px 16px 18px; }
.scn_media_soon { cursor:default; }
.scn_media_soon:hover { transform:none; box-shadow:none; }
.scn_media_soon_inner { position:absolute; top:0; left:0; width:100%; height:100%; display:flex; align-items:center; justify-content:center; background:#2D4585; color:#FFF; font-size:18px; font-weight:700; letter-spacing:.08em; }
.scn_nayami_bg { background:#2D4585; position:relative; overflow:hidden; padding:48px 0; }
.scn_nayami_list { display:flex; flex-direction:column; gap:12px; }
.scn_nayami_card { background:#FFF; border-radius:12px; padding:18px 16px; display:flex; align-items:center; gap:14px; text-align:left; }
.scn_nayami_no { font-size:28px; font-weight:700; color:#2D4585; flex-shrink:0; line-height:1; }
.scn_nayami_txt { font-size:15px; font-weight:500; line-height:1.6; }
.scn_merit_bg { text-align:center; overflow:hidden; padding:0 0 56px; }
.scn_merit_delta { width:0; height:0; border-style:solid; border-color:#2D4585 transparent transparent transparent; border-width:34.64px 20px 0 20px; display:inline-block; margin-bottom:24px; }
.scn_merit_bg .scn_lv2 { margin-bottom:32px; }
.scn_reason { background:#FFF; border-radius:12px; border:2px solid #2D4585; padding:24px 20px; margin-bottom:20px; text-align:left; position:relative; }
.scn_reason_no { position:absolute; top:-16px; left:20px; width:44px; height:44px; line-height:44px; text-align:center; background:#2D4585; color:#FFF; font-weight:700; font-size:18px; border-radius:999px; }
.scn_reason_body { padding-top:18px; }
.scn_reason_eyebrow { font-size:14px; font-weight:700; color:#2680E0; margin-bottom:6px; }
.scn_reason_ttl { font-size:18px; font-weight:700; line-height:1.5; margin-bottom:10px; padding-bottom:10px; border-bottom:1px dashed #BDBDBD; }
.scn_reason_txt { font-size:15px; line-height:1.8; }
.scn_reason_icon { display:none; }
.scn_price_bg { background:#FFF100; padding:48px 0; margin-bottom:0; }
.scn_price_wrap { text-align:center; }
.scn_price_lead { font-size:15px; font-weight:700; line-height:1.7; margin-bottom:24px; }
.scn_plan_flex { display:flex; flex-direction:column; gap:20px; margin-bottom:24px; }
.scn_plan { background:#FFF; border:2px solid #BDBDBD; border-radius:12px; padding:24px 20px; position:relative; text-align:left; }
.scn_plan_best { border-color:#D10000; border-width:3px; box-shadow:0 6px 16px rgba(209,0,0,.12); }
.scn_plan_badge { position:absolute; top:-14px; left:50%; transform:translateX(-50%); background:#D10000; color:#FFF; font-size:14px; font-weight:700; border-radius:999px; padding:4px 20px; white-space:nowrap; }
.scn_plan_no { font-size:14px; font-weight:700; color:#2D4585; margin-bottom:4px; }
.scn_plan_name { font-size:20px; font-weight:700; line-height:1.4; margin-bottom:8px; }
.scn_plan_desc { font-size:14px; color:#4A4A4A; margin-bottom:14px; }
.scn_plan_price { margin-bottom:6px; }
.scn_plan_num { font-size:40px; font-weight:700; color:#2D4585; line-height:1; }
.scn_plan_best .scn_plan_num { color:#D10000; }
.scn_plan_unit { font-size:15px; font-weight:700; }
.scn_plan_breakdown { font-size:14px; color:#4A4A4A; margin-bottom:12px; }
.scn_plan_push { background:#FFF100; border-radius:8px; font-size:14px; font-weight:700; line-height:1.6; padding:12px 14px; margin-bottom:14px; }
.scn_plan_push strong { color:#D10000; }
.scn_plan_list { list-style:none; padding:0; margin:0; }
.scn_plan_list li { position:relative; font-size:15px; line-height:1.6; padding:6px 0 6px 24px; border-top:1px solid #EEE; }
.scn_plan_list li::before { content:"✓"; position:absolute; left:2px; top:6px; color:#2680E0; font-weight:700; }
.scn_plan_best .scn_plan_list li::before { color:#D10000; }
.scn_price_init { background:#FFF; border-radius:12px; padding:20px; text-align:center; margin-bottom:24px; }
.scn_price_init_ttl { font-size:15px; font-weight:700; color:#2D4585; margin-bottom:6px; }
.scn_price_init_main { font-size:16px; font-weight:700; margin-bottom:6px; }
.scn_price_init_num { font-size:28px; color:#D10000; }
.scn_price_init_txt { font-size:14px; line-height:1.6; }
.scn_flow_wrap { text-align:center; padding:48px 0; }
.scn_flow_list { display:flex; flex-direction:column; gap:12px; align-items:stretch; }
.scn_flow_step { background:#FFF; border:2px solid #2D4585; border-radius:12px; padding:20px 16px; }
.scn_flow_no { display:inline-block; background:#2D4585; color:#FFF; font-size:14px; font-weight:700; border-radius:999px; padding:2px 16px; margin-bottom:8px; }
.scn_flow_ttl { font-size:16px; font-weight:700; color:#2D4585; margin-bottom:6px; }
.scn_flow_txt { font-size:14px; line-height:1.7; }
.scn_flow_arrow { text-align:center; color:#2D4585; font-size:22px; font-weight:700; transform:rotate(90deg); }
.scn_trademark { font-size:14px; color:#5A5A5A; line-height:1.7; padding:24px 0 40px; }
/* 本家クラスの色上書き（.scn 配下限定） */
.scn .pew-sim-heading { border-bottom-color:#2D4585; }
.scn .pew-sim-summary:hover, .scn .pew-checkbox-label:hover, .scn .pew-radio-label:hover { background:#FFF100; border-color:#2D4585; }
.scn .pew-input-group input:focus { border-color:#2D4585; }

@media screen and (min-width: 768px) {
	.scn_lv2 { font-size:32px; padding:0 0 20px; margin-bottom:40px; }
	.scn_lv2::before { width:120px; }
	.scn_lv2_icon img { width:52px; }
	.scn_fv_wrap { padding:48px 0 96px; }
	.scn_fv { display:flex; align-items:center; gap:40px; text-align:left; }
	.scn_fv_text { width:54%; }
	.scn_fv_img { width:46%; }
	.scn_ph_fv { min-height:320px; }
	.scn_fv_badge { font-size:14px; }
	.scn_fv_ttl { font-size:40px; }
	.scn_fv_lead { font-size:17px; }
	.scn_nayami_bg { padding:72px 0; }
	.scn_nayami_list { flex-direction:row; justify-content:space-between; }
	.scn_nayami_card { flex-direction:column; width:32%; text-align:center; gap:8px; }
	.scn_nayami_no { font-size:36px; }
	.scn_nayami_txt { text-align:center; }
	.scn_merit_bg { padding:0 0 80px; }
	.scn_merit_delta { border-width:50px 28px 0 28px; margin-bottom:40px; }
	.scn_reason { padding:32px 32px 32px 40px; }
	.scn_reason_ttl { font-size:22px; }
	.scn_reason_txt { font-size:16px; }
	.scn_price_bg { padding:80px 0; }
	.scn_price_lead { font-size:18px; }
	.scn_plan_flex { flex-direction:row; align-items:stretch; gap:24px; }
	.scn_plan { width:50%; padding:32px 28px; }
	.scn_plan_num { font-size:48px; }
	.scn_price_init { padding:28px; }
	.scn_price_init_main { font-size:18px; }
	.scn_price_init_num { font-size:32px; }
	.scn_flow_wrap { padding:72px 0; }
	.scn_flow_list { flex-direction:row; }
	.scn_flow_step { flex:1; }
	.scn_flow_arrow { transform:none; display:flex; align-items:center; }
	.scn_video { padding:72px 0; }
	.scn_video_box { flex-direction:row; align-items:stretch; }
	.scn_video_left { width:58%; align-self:center; }
	.scn_video_right { width:42%; padding:32px; }
	.scn_video_catch { font-size:32px; }
	.scn_media_list { flex-direction:row; justify-content:space-between; margin-top:40px; }
	.scn_media_card { width:32%; }
	.scn_media_ttl { font-size:16px; }
}


/* ============================================================================
   スキャナ シンプル版（.sc_page / .sc_*）
   ============================================================================ */
.sc_page .content_div { max-width:1080px; margin:0 auto; }
.sc_page .ph { display:flex; align-items:center; justify-content:center; text-align:center; background:#EEF1F7; border:1px dashed #A9B4CC; color:#6B7794; font-size:13px; font-weight:700; letter-spacing:.05em; }
.sc_topbar { background:#2D4585; color:#fff; text-align:center; font-size:14px; font-weight:700; padding:8px; letter-spacing:.04em; }
.sc_topbar a { color:#FFF100; text-decoration:underline; }
.sc_fv_in { text-align:center; }
.sc_fv_badge { display:inline-block; border:1.5px solid #2D4585; color:#2D4585; font-size:14px; font-weight:700; border-radius:999px; padding:5px 18px; margin-bottom:22px; letter-spacing:.04em; }
.sc_fv_ttl .hl { color:#2D4585; }
.sc_fv_lead { font-size:15px; line-height:1.9; color:#555; margin-bottom:28px; }
.sc_fv_img .ph { aspect-ratio:16/9; border-radius:16px; }
.sc_head { text-align:center; margin-bottom:40px; }
.sc_head_en {
  display:inline-block; font-size:14px; font-weight:700;
  letter-spacing:.16em; margin-bottom:12px;
  padding:6px 16px; border-radius:999px;
}
.sc_head_ja {
 	position:relative;
  font-size:26px; font-weight:800; letter-spacing:.03em;
  padding-bottom:16px;
}
.sc_head_ja::after {
  content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%);
  width:48px; height:3px; border-radius:2px;
}
.sc_head--light .sc_head_en { color:#2D4585; background:#EEF1F8; }
.sc_head--light .sc_head_ja { color:#1F2A44; }
.sc_head--light .sc_head_ja::after { background:#8fa0c6; }
.sc_head--light .sc_head_ja .hl { color:#2D4585; }
.sc_head--dark .sc_head_en { color:#C5D0EC; background:rgba(255,255,255,.08); }
.sc_head--dark .sc_head_ja { color:#F5F7FC; }
.sc_head--dark .sc_head_ja::after { background:linear-gradient(90deg,#7E9BDC,#B7C6EE); }
.sc_head--dark .sc_head_ja .hl { color:#9FB5E6; }
.sc_feat { padding:56px 0; background:#F7F9FC; }
.sc_feat_row { display:flex; flex-direction:column; gap:20px; margin-bottom:40px; }
.sc_feat_row:last-child { margin-bottom:0; }
.sc_feat_img .ph { aspect-ratio:4/3; border-radius:14px; }
.sc_feat_no { font-size:14px; font-weight:800; color:#2D4585; letter-spacing:.1em; margin-bottom:8px; }
.sc_feat_ttl { font-size:20px; font-weight:800; line-height:1.5; margin-bottom:10px; }
.sc_feat_txt { font-size:14px; line-height:1.9; color:#555; }
.sc_flow { padding:56px 0; }
.sc_flow_list { display:flex; flex-direction:column; gap:20px; }
.sc_flow_step { text-align:center; }
.sc_flow_img { aspect-ratio:1/1; background:#EEF1F7; border:1px solid #A9B4CC; border-radius:14px; margin-bottom:14px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.sc_flow_img .ph { aspect-ratio:1/1; border-radius:14px; }
.sc_flow_img img { width:60%; height:auto; display:block; }
.sc_flow_no { display:inline-block; background:#2D4585; color:#fff; font-size:12px; font-weight:700; border-radius:999px; padding:3px 16px; margin-bottom:8px; }
.sc_flow_ttl { font-size:16px; font-weight:800; margin-bottom:6px; }
.sc_flow_txt { font-size:14px; line-height:1.8; color:#555; }
.sc_price { padding:56px 0; background:#2D4585; }
.sc_price .sc_head_en { color:#8FA0C6; }
.sc_price .sc_head_ja { color:#fff; }
.sc_plan_flex { display:flex; flex-direction:column; gap:32px; margin-bottom:24px; }
.sc_plan { background:#fff; border-radius:14px; position:relative; overflow:hidden; border: #000000 3px solid;}
.sc_plan_head { background:#FFF100; color:#000; font-size:30px; font-weight:800; text-align:center; line-height:1.4; padding:14px 16px; border-bottom:3px solid #000; }
.sc_plan_body { padding:24px 24px 28px; }
.sc_plan_no { font-size:12px; font-weight:800; color:#2D4585; margin-bottom:10px; }
.sc_plan_price { display:flex; align-items:baseline; justify-content:center; gap:6px; margin-bottom:14px; flex-wrap:wrap; }
.sc_plan_unit_pre { font-size:25px; font-weight:800; }
.sc_plan_num_wrap { background:linear-gradient(transparent 65%, #FFF100 55%); padding:0 6px; }
.sc_plan_num { font-size:44px; font-weight:800; color:#000; line-height:1; }
.sc_plan_unit { font-size:25px; font-weight:800; position:relative; }
.sc_plan_tax { font-size:15px; font-weight:700; position:absolute; top:-20px; left:50%; transform:translateX(-50%); white-space:nowrap; }
.sc_plan_break { font-size:14px; color:#777; margin-bottom:14px; text-align:center; }
.sc_plan_list { list-style:none; padding:0; margin:0; }
.sc_plan_list li { position:relative; font-size:14px; line-height:1.6; padding:7px 0 7px 22px; border-top:2px dashed rgba(0,0,0,.2); }
.sc_plan_list li::before { content:"✓"; position:absolute; left:0; top:7px; color:#2D4585; font-weight:800; }
.sc_plan_best { border:#d10000 3px solid; }
.sc_plan_best .sc_plan_head { background:#D10000; color:#fff; border-bottom-color:#D10000; }
.sc_plan_best .sc_plan_num { color:#000; }
.sc_plan_best .sc_plan_break { color:#555; font-weight:700; }
.sc_plan_best .sc_plan_list li { border-top:2px dashed rgba(0,0,0,.25); }
.sc_plan_best .sc_plan_list li::before { color:#D10000; }
.sc_plan_badge { position:absolute; top:18px; right:-38px; z-index:5; width:150px; background:#D10000; color:#fff; font-size:14px; font-weight:800; text-align:center; line-height:1.8; transform:rotate(45deg); box-shadow:0 2px 4px rgba(0,0,0,.25); }
.sc_price_init { background:rgba(255,255,255,.12); border-radius:12px; padding:20px; text-align:center; color:#fff; }
.sc_price_init_ttl { font-size:14px; font-weight:700; color:#FFF100; margin-bottom:6px; }
.sc_price_init_main { font-size:16px; font-weight:800; }
.sc_price_init_num { font-size:28px; }
.sc_plan_cap { display:flex; align-items:center; justify-content:center; gap:10px; margin:20px 0; flex-wrap:wrap; }
.sc_plan_cap_badge { background:#000; color:#FFF100; font-size:20px; font-weight:800; padding:5px 10px; border-radius:4px; line-height:1; }
.sc_plan_cap_num { font-size:25px; font-weight:800; color:#000; line-height:1; }
.sc_plan_cap_unit { font-size:20px; font-weight:800; line-height:1; }
.sc_plan_cap_note { font-size:15px; color:#777; text-align:center; line-height:1.5; margin-bottom:6px; }
.sc_plan_cap_note_sum { color:#333; background:#FFF9C4; border:1px solid #FFF100; border-radius:6px; padding:8px 10px; font-weight:600; margin-bottom:8px; }
.sc_plan_cap_note_sum strong { color:#D10000; }
.sc_price_cta { margin-top:32px; text-align:center; }
.sc_price_cta_btn {
	display:inline-flex; align-items:center; gap:14px;
	background:#FFF100; color:#000;
	border:3px solid #000; border-radius:12px;
	padding:18px 40px;
	font-weight:800; text-decoration:none;
	box-shadow:0 4px 0 #000;
	transition:transform .15s ease, box-shadow .15s ease;
}
.sc_price_cta_btn:hover {
	transform:translateY(2px);
	box-shadow:0 2px 0 #000;
}
.sc_price_cta_sub {
	font-size:14px; font-weight:800;
	background:#000; color:#FFF100;
	padding:3px 10px; border-radius:20px;
	line-height:1;
}
.sc_price_cta_main { font-size:20px; line-height:1.3; }
.sc_price_cta_arrow { font-size:22px; font-weight:800; }
.sc_price_cta_note { color:#fff; font-size:15px; margin-top:12px; }
@media (max-width:600px){
	.sc_price_cta_btn { flex-direction:column; gap:8px; padding:18px 28px; width:100%; box-sizing:border-box; }
	.sc_price_cta_main { font-size:17px; }
	.sc_price_cta_arrow { display:none; }
}
.sc_cta { padding:56px 0; text-align:center; }
.sc_cta_ttl { font-size:22px; font-weight:800; margin-bottom:10px; }
.sc_cta_txt { font-size:14px; color:#555; line-height:1.8; margin-bottom:24px; }
.sc_cta_btns { display:flex; flex-direction:column; gap:12px; align-items:center; }
.sc_btn { display:inline-block; font-weight:800; border-radius:999px; padding:16px 40px; font-size:16px; width:100%; max-width:340px; transition:.2s; }
.sc_btn_primary { background:#2D4585; color:#fff; box-shadow:0 3px 8px rgba(45,69,133,.3); }
.sc_btn_primary:hover { transform:translateY(-2px); }
.sc_btn_ghost { background:#fff; color:#2D4585; border:2px solid #2D4585; }
.sc_btn_ghost:hover { background:#2D4585; color:#fff; }
.sc_note { padding:28px 0 48px; }
.sc_note_box { background:#F7F9FC; border-radius:10px; padding:18px 20px; }
.sc_note_warn { color:#D10000; font-size:14px; font-weight:700; margin-bottom:8px; }
.sc_note_txt { font-size:14px; color:#888; line-height:1.8; }

@media screen and (min-width: 768px) {
	.sc_fv_ttl { font-size:44px; }
	.sc_head_ja { font-size:36px; }
	.sc_feat { padding:88px 0; }
	.sc_feat_row { flex-direction:row; align-items:center; gap:48px; }
	.sc_feat_row.rev { flex-direction:row-reverse; }
	.sc_feat_img { width:50%; }
	.sc_feat_body { width:50%; }
	.sc_feat_ttl { font-size:24px; }
	.sc_flow { padding:88px 0; }
	.sc_flow_list { flex-direction:row; }
	.sc_flow_step { flex:1; }
	.sc_price { padding:88px 0; }
	.sc_plan_flex { flex-direction:row; align-items:stretch; }
	.sc_plan { width:50%;}
	.sc_plan_num { font-size:65px; }
	.sc_cta_btns { flex-direction:row; justify-content:center; }
	.sc_btn { width:auto; min-width:260px; }
}


/* ============================================================================
   FV（パターンC：2カラム・キーワードタグ型）※スキャナFVで使用
   ----------------------------------------------------------------------------
   ※元CSSでは .sc_fv 系が複数回定義され後勝ちで解決していた。ここでは
     効いていた最終値に統合して記載（挙動は現状と同一）。
   ============================================================================ */
.sc_fv { padding:48px 0 56px; background:#F7F9FC; }
.sc_fv_in { text-align:center; }
.sc_fv_badge { display:inline-block; border:2px solid #2D4585; color:#2D4585; font-size:14px; font-weight:800; border-radius:999px; padding:5px 18px; margin-bottom:18px; letter-spacing:.04em; }
.sc_fv_ttl { font-size:49px; font-weight:800; line-height:1.4; letter-spacing:.02em; margin-bottom:14px; }
.sc_fv_ttl .hl { color:#2D4585; }
.sc_fv_marker { background:linear-gradient(transparent 60%, #FFF100 60%); padding:0 .08em; }
.sc_fv_lead { font-size:14px; line-height:1.5; color:#555; margin-bottom:22px; }
.sc_fv_keys { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin-bottom:26px; }
.sc_fv_key { background:#fff; border:2px solid #000; border-radius:8px; box-shadow:3px 3px 0 #000; font-size:14px; font-weight:800; padding:8px 14px; }
.sc_fv_img { margin:0 auto; max-width:520px; }
.sc_fv_img img { width:70%; display:block; margin:0 auto; }

@media screen and (min-width: 768px) {
	.sc_fv .content_div { max-width:1200px; }
	.sc_fv { padding:72px 0 80px; }
	.sc_fv_in { display:flex; align-items:center; gap:44px; text-align:left; }
	.sc_fv_text { width:60%; }
	.sc_fv_img { width:40%; margin:0; max-width:none; }
	.sc_fv_img img { width:85%; margin-left:auto; }
	.sc_fv_ttl { font-size:48px; }
	.sc_fv_lead { font-size:17px; }
	.sc_fv_keys { justify-content:flex-start; }
}


/* ============================================================================
   対応スキャナ・動作環境（.scv_*）
   ============================================================================ */
.sc_page .scv_grid { display:flex; flex-wrap:wrap; gap:20px; margin-top:24px; }
.sc_page .scv_card { flex:1 1 300px; background:#fff; border:1px solid #e3e8ee; border-radius:14px; padding:24px; box-shadow:0 4px 14px rgba(0,0,0,.05); }
.sc_page .scv_os { display:flex; align-items:center; gap:10px; padding-bottom:14px; margin-bottom:16px; border-bottom:2px solid #f0f3f7; }
.sc_page .scv_os_icon { display:inline-flex; align-items:center; justify-content:center; min-width:48px; height:28px; padding:0 10px; background:#0a66c2; color:#fff; border-radius:6px; font-weight:700; font-size:14px; }
.sc_page .scv_os_name { font-size:20px; font-weight:700; }
.sc_page .scv_row { margin-bottom:16px; }
.sc_page .scv_row:last-child { margin-bottom:0; }
.sc_page .scv_row_label { display:inline-block; font-size:14px; font-weight:700; color:#5a6a7a; margin-bottom:8px; }
.sc_page .scv_models, .sc_page .scv_browsers { display:flex; flex-wrap:wrap; gap:8px; }
.sc_page .scv_model { display:inline-block; padding:6px 12px; background:#eef4fb; color:#0a66c2; border-radius:20px; font-size:15px; font-weight:600; }
.sc_page .scv_browser { display:inline-block; padding:6px 12px; background:#f4f6f8; color:#33404d; border-radius:20px; font-size:15px; }
.sc_page .scv_note { margin-top:20px; font-size:14px; line-height:1.7; color:#6a7684; }

@media screen and (min-width: 768px) {
	.sc_page .scv_os_name { font-size:22px; }
	.sc_page .scv_model, .sc_page .scv_browser { font-size:16px; }
}


/* ============================================================================
   お問い合わせ（電話案内・フォーム整備中）（.contact_tel*）
   ============================================================================ */
.sc_page .contact_tel { max-width:640px; margin:24px auto 0; text-align:center; background:#fff; border:1px solid #e3e8ee; border-radius:14px; padding:32px 24px; box-shadow:0 4px 14px rgba(0,0,0,.05); }
.sc_page .contact_tel_notice { font-size:16px; line-height:1.8; margin-bottom:24px; }
.sc_page .contact_tel_btn { display:inline-flex; flex-direction:column; gap:4px; padding:18px 40px; background:#0a66c2; color:#fff; border-radius:12px; text-decoration:none; box-shadow:0 6px 16px rgba(10,102,194,.25); transition:.2s; }
.sc_page .contact_tel_btn:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(10,102,194,.32); }
.sc_page .contact_tel_label { font-size:14px; opacity:.9; }
.sc_page .contact_tel_num { font-size:30px; font-weight:800; letter-spacing:1px; }
.sc_page .contact_tel_hours { margin-top:18px; font-size:14px; color:#6a7684; }

@media screen and (min-width: 768px) {
	.sc_page .contact_tel_num { font-size:34px; }
}


/* ============================================================================
   ★ スキャナページ 文字サイズ 底上げ（.sc_page スコープ オーバーライド）
   ============================================================================ */
.sc_page .sc_fv_badge { font-size:14px; }
.sc_page .sc_fv_lead  { font-size:16px; }
.sc_page .sc_fv_key   { font-size:16px; }
.sc_page .sc_head_en  { font-size:13px; }
.sc_page .sc_feat_no  { font-size:14px; }
.sc_page .sc_feat_ttl { font-size:22px; }
.sc_page .sc_feat_txt { font-size:16px; }
.sc_page .sc_flow_ttl { font-size:18px; }
.sc_page .sc_flow_txt { font-size:16px; }
.sc_page .sc_plan_head      { font-size:26px; }
.sc_page .sc_plan_list li   { font-size:16px; }
.sc_page .sc_plan_break     { font-size:14px; }
.sc_page .sc_plan_cap_note  { font-size:13px; }
.sc_page .sc_plan_cap_unit  { font-size:16px; }
.sc_page .sc_price_init_ttl { font-size:15px; }
.sc_page .sc_price_init_main{ font-size:18px; }
.sc_page .sc_price_cta_main { font-size:20px; }
.sc_page .sc_price_cta_sub  { font-size:14px; }
.sc_page .sc_price_cta_note { font-size:15px; }
.sc_page .sc_topbar { font-size:14px; }
.sc_page .scanner_cta_bg .cta_txt1        { font-size:15px; }
.sc_page .scanner_cta_bg .cta_txt2        { font-size:24px; }
.sc_page .scanner_cta_bg .cta_reassure    { font-size:16px; }
.sc_page .scanner_cta_bg .cta_main_sub    { font-size:16px; }
.sc_page .scanner_cta_bg .cta_main_lg     { font-size:27px; }
.sc_page .scanner_cta_bg .cta_bottom_lead { font-size:15px; }
.sc_page .sc_cta_ttl { font-size:24px; }
.sc_page .sc_cta_txt { font-size:16px; }
.sc_page .sc_btn     { font-size:17px; }
.sc_page .sc_note_warn { font-size:15px; }
.sc_page .sc_note_txt  { font-size:14px; }
.sc_page .snr_lv2   { font-size:20px; }
.sc_page .snr_ttl   { font-size:20px; }
.sc_page .snr_no_en { font-size:16px; }
.sc_page .snr_bubble{ font-size:16px; }
.sc_page .snr_cap   { font-size:18px; }
.sc_page .snr_final .snr_cap { font-size:15px; }
.sc_page .snr_tag   { font-size:15px; }
.sc_page .pw_about_eyebrow { font-size:14px; }
.sc_page .pw_about_ttl     { font-size:26px; }
.sc_page .pw_about_txt     { font-size:16px; }
.sc_page .pw_about_btn     { font-size:17px; }
.sc_page .ia_note      { font-size:14px; }
.sc_page .ia_ttl       { font-size:24px; }
.sc_page .ia_lead      { font-size:15px; }
.sc_page .ia_card_ttl  { font-size:19px; }
.sc_page .ia_card_txt  { font-size:17px; }
.sc_page .ia_card_link { font-size:16px; }
.sc_page .ez_eyebrow { font-size:14px; }
.sc_page .ez_ttl     { font-size:28px; }
.sc_page .ez_step    { font-size:16px; }
.sc_page .ez_big     { font-size:32px; }
.sc_page .ez_sub     { font-size:16px; }
.sc_page .ez_pew_flag{ font-size:14px; }
.sc_page .ez_pew_ttl { font-size:19px; }
.sc_page .ez_pew_txt { font-size:16px; }
.sc_page .scn_fv_badge      { font-size:14px; }
.sc_page .scn_fv_caution    { font-size:14px; }
.sc_page .scn_media_label   { font-size:14px; }
.sc_page .scn_reason_eyebrow{ font-size:14px; }
.sc_page .scn_plan_breakdown{ font-size:15px; }
.sc_page .scn_price_init_txt{ font-size:15px; }
.sc_page .scn_trademark     { font-size:14px; }

@media screen and (min-width: 768px) {
	.sc_page .sc_fv_lead  { font-size:18px; }
	.sc_page .sc_feat_ttl { font-size:24px; }
	.sc_page .sc_flow_txt { font-size:16px; }
	.sc_page .sc_plan_list li { font-size:16px; }
	.sc_page .scanner_cta_bg .cta_txt1     { font-size:17px; }
	.sc_page .scanner_cta_bg .cta_txt2     { font-size:30px; }
	.sc_page .scanner_cta_bg .cta_reassure { font-size:16px; }
	.sc_page .scanner_cta_bg .cta_main_lg  { font-size:27px; }
	.sc_page .snr_lv2 { font-size:30px; }
	.sc_page .snr_ttl { font-size:27px; }
	.sc_page .pw_about_ttl { font-size:32px; }
	.sc_page .pw_about_txt { font-size:17px; }
	.sc_page .ia_ttl { font-size:28px; }
	.sc_page .ez_ttl     { font-size:34px; }
	.sc_page .ez_big     { font-size:36px; }
	.sc_page .ez_pew_ttl { font-size:20px; }
	.sc_page .ez_pew_txt { font-size:17px; }
}


/* ============================================================================
   ★ 共有パーツ本体（トップと重複配置：方針どおり独立管理用）
   ----------------------------------------------------------------------------
   選ばれる理由(.snr_) / ロゴ見出し(.hlead_) / お悩み(.nayami_) /
   pewとは(.pw_about_) / 案内(.ia_) / 導入(.ez* .ezflow_) / 移行(.mig* .mgc_ .mig2_)
   ※ 上の「.sc_page 底上げオーバーライド」は、この本体があって初めて効く。
   ※ トップ側は front-page.css に同一本体を保持。片方だけ変えたい時は各ファイルで。
   ============================================================================ */

/* ============================================================================
   選ばれる理由 ノート型 現行版（.snr_*）
   ============================================================================ */
.snr_sec { overflow:hidden; padding:20px 0 56px; text-align:center; }
.snr_delta { width:0; height:0; border-style:solid; border-color:#2D4585 transparent transparent transparent; border-width:34.64px 20px 0 20px; display:inline-block; margin-bottom:24px; }
.snr_lv2 { position:relative; font-size:18px; font-weight:800; line-height:1.6; padding:0 24px 14px; margin:0 auto 32px; }
.snr_lv2::before { content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:60px; height:3px; border-radius:999px; background:#2D4585; }
.snr_marker { background:linear-gradient(transparent 60%,#FFF100 60%); padding:0 .1em; }
.snr_inner { max-width:1450px; margin:0 auto; }
.snr_card { position:relative; background:#FFF100; border-radius:22px; padding:28px 24px 28px 52px; margin-bottom:36px; text-align:left; box-shadow:8px 8px 0 rgb(0 0 0 / 50%); }
.snr_card:last-child { margin-bottom:0; }
.snr_card::before {
	content:""; position:absolute; top:26px; bottom:26px; width:44px; left:14px;
	background-image:url(https://benemo.jp/pew/sub/wp-content/themes/hello-elementor-child/img/ring-hall.svg);
	background-repeat:no-repeat;
	background-position:left center;
	background-size:38px 100%;
}
.snr_card.right { padding:28px 52px 28px 24px; box-shadow:-8px 8px 0 rgb(0 0 0 / 50%); }
.snr_card.right::before {
	left:auto; right:14px;
	background-image:url(https://benemo.jp/pew/sub/wp-content/themes/hello-elementor-child/img/ring-hall-right.svg);
	background-repeat:no-repeat;
	background-position:right center;
	background-size:38px 100%;
}
.snr_head { display:flex; align-items:flex-start; gap:18px; margin-bottom:20px; }
.snr_no { line-height:1; flex-shrink:0; text-align:center; }
.snr_no_num { font-size:48px; font-weight:800; letter-spacing:-.02em; }
.snr_no_en { font-size:15px; font-weight:bold; letter-spacing:.15em; }
.snr_ttl { font-size:18px; font-weight:800; line-height:1.5; padding-top:4px; }
.snr_ttl .hl { color:#D10000; }
.snr_divider { border:0; border-top:2px dashed rgba(0,0,0,.25); margin:0 0 22px; }
.snr_bubble { margin:18px auto 0; max-width:320px; background:#2D4585; color:#fff; border-radius:12px; text-align:center; font-size:14px; font-weight:800; line-height:1.5; padding:14px 18px; box-shadow:4px 4px 0 #000; border:2px solid #000; }
.snr_bubble_inline { margin:0 0 16px; max-width:none; }
.snr_flow { display:flex; flex-direction:column; align-items:center; gap:14px; }
.snr_step { position:relative; width:100%; max-width:260px; }
.snr_badge { position:absolute; left:8px; top:-10px; z-index:2; width:32px; height:32px; border-radius:999px; background:#FFF100; border:2px dashed #1a1a1a; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:800; font-style:italic; }
.snr_img .ph { display:flex; align-items:center; justify-content:center; text-align:center; aspect-ratio:9/16; background:#F0F0F0; color:#999; font-size:12px; font-weight:700; padding:8px; }
.snr_img { height:320px; display:flex; align-items:center; justify-content:center; margin-bottom: 10px;}
.snr_img img { width:100%; height:auto; display:block; }
.snr_cap { text-align:center; font-size:17px; font-weight:700; line-height:1.5; background:#fff; border-radius:8px; padding:14px 18px; box-shadow:4px 4px 0 #000; border:2px solid #000; }
.snr_arrow { font-size:70px; color:#2D4585; font-weight:800; transform:rotate(90deg); }
.snr_final { position:relative; width:100%; max-width:340px; }
.snr_final_img { position:relative; height:320px; display:flex; align-items:center; justify-content:center; }
.snr_final .ph { display:flex; align-items:center; justify-content:center; text-align:center; aspect-ratio:4/3; background:#F0F0F0; color:#999; font-size:12px; font-weight:700; border-radius:12px; box-shadow:0 3px 8px rgba(0,0,0,.12); }
.snr_final img { width:100%; height:auto; display:block; margin:0 auto; }
.snr_final .snr_cap { margin:5px auto 0; max-width:320px; background:#2D4585; color:#fff; border-radius:8px; font-size:14px; font-weight:700; padding:8px 35px; box-shadow:3px 3px 0 #000; border:2px solid #000; }
.snr_split { display:flex; flex-direction:column; gap:20px; align-items:center; }
.snr_split_main { width:100%; }
.snr_split_main .ph { display:flex; align-items:center; justify-content:center; text-align:center; aspect-ratio:16/10; background:#F0F0F0; color:#999; font-size:12px; font-weight:700; border-radius:12px; box-shadow:0 3px 8px rgba(0,0,0,.12); }
.snr_split_main img { width:100%; display:block; padding:10px; }
.snr_split_side { width:100%; }
.snr_tags { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; }
.snr_tag { background:#fff; border-radius:8px; font-size:14px; font-weight:700; padding:8px 14px; box-shadow:3px 3px 0 #000; border:2px solid #000; text-align: center; }

@media screen and (min-width: 768px) {
	.snr_sec { padding:20px 0 80px; }
	.snr_delta { border-width:50px 28px 0 28px; margin-bottom:40px; }
	.snr_lv2 { font-size:30px; margin-bottom:48px; }
	.snr_lv2::before { width:120px; }
	.snr_card { width:92%; max-width:1360px; padding:36px 40px 36px 76px; margin-bottom:48px; }
	.snr_card.left { margin-left:0; margin-right:auto; }
	.snr_card.right { margin-left:auto; margin-right:0; padding:36px 76px 36px 40px; }
	.snr_card::before { left:0px; }
	.snr_card.right::before { left:auto; right:0px; }
	.snr_no_num { font-size:45px; }
	.snr_ttl { font-size:27px; }
	.snr_flow { flex-direction:row; align-items:stretch; justify-content:center; gap:10px; }
	.snr_step { max-width:none; flex:1; display:flex; flex-direction:column; }
	.snr_arrow { transform:none; display:flex; align-items:center; height:320px; }
	.snr_final { flex:1.3; display:flex; flex-direction:column; justify-content:center; }
	.snr_bubble { margin-left:auto; margin-right:0; }
	.snr_split { flex-direction:row; align-items:center; gap:32px; }
	.snr_split_main { width:60%; }
	.snr_split_side { width:40%; }
	.snr_lr { flex-direction:row; align-items:center; gap:40px; }
	.snr_lr_img { width:55%; }
	.snr_lr_txt { width:45%; }
}
/* 料金プランのテイストを反映（追記） */
.snr_card {
	border: 3px solid #000;
	box-shadow: 8px 8px 0 #000;
}
.snr_card.right {
	box-shadow: -8px 8px 0 #000;
}
.snr_no {
	background: #000;
	border-radius: 10px;
	padding: 10px 14px;
	color: #FFF100;
}
.snr_no_num { color: #FFF100; }
.snr_no_en {
	color: #FFF100;
	opacity: .85;
}
.snr_ttl .hl {
	background: linear-gradient(transparent 60%, rgba(255,241,0,.7) 60%);
	padding: 0 .1em;
}

/* reason02(共有) / reason03(AI精度) 専用レイアウト */
.snr_share { display:flex; flex-direction:column; gap:20px; align-items:stretch; }
.snr_share_cost {
	background:#FFF100; border:3px solid #000; border-radius:16px;
	box-shadow:6px 6px 0 #000;
	text-align:center; padding:24px 20px;
}
.snr_share_cost_lead { font-size:16px; font-weight:800; margin-bottom:6px; }
.snr_share_cost_price { line-height:1; margin-bottom:10px; }
.snr_share_cost_num {
	font-size:48px; font-weight:800; color:#D10000;
	background:linear-gradient(transparent 60%, rgba(255,255,255,.6) 60%);
	padding:0 .1em;
}
.snr_share_cost_note { font-size:15px; font-weight:700; line-height:1.6; }
.snr_share_spread { display:flex; flex-direction:column; gap:14px; }
.snr_ai { display:flex; flex-direction:column; gap:20px; align-items:center; }
.snr_ai_visual { width:100%; }
.snr_ai_visual img {
	width:100%; display:block; border-radius:12px;
	box-shadow:0 6px 16px rgba(0,0,0,.15);
}
.snr_ai_body { width:100%; display:flex; flex-direction:column; gap:14px; }
.snr_ai_list { list-style:none; margin:0; padding:0; }
.snr_ai_list li {
	position:relative; background:#fff; border:2px solid #000; border-radius:10px;
	box-shadow:3px 3px 0 #000;
	font-size:15px; font-weight:700; line-height:1.6;
	padding:12px 14px 12px 40px; margin-bottom:10px;
}
.snr_ai_list li:last-child { margin-bottom:0; }
.snr_ai_list li::before {
	content:"✓"; position:absolute; left:14px; top:12px;
	color:#D10000; font-weight:800; font-size:16px;
}
@media screen and (min-width:768px){
	.snr_share { flex-direction:row; align-items:center; gap:32px; }
	.snr_share_cost { width:40%; padding:32px 24px; }
	.snr_share_cost_num { font-size:64px; }
	.snr_share_spread { width:60%; }
	.snr_ai { flex-direction:row; align-items:center; gap:40px; }
	.snr_ai_visual { width:52%; }
	.snr_ai_body { width:48%; }
	.snr_ai_list li { font-size:16px; }
}

/* reason01(撮影→登録→共有) / 02(定額) / 03(精度) */
.snr_flow01 { display:flex; flex-direction:column; gap:16px; align-items:center; }
.snr_f01_step { position:relative; width:100%; max-width:280px; text-align:center; }
.snr_f01_badge {
	position:absolute; left:10px; top:-6px; z-index:3;
	width:38px; height:38px; border-radius:999px;
	background:#FFF100; border:2px dashed #1a1a1a;
	display:flex; align-items:center; justify-content:center;
	font-size:14px; font-weight:800; font-style:italic;
}
.snr_f01_shot { margin-bottom:12px; }
.snr_f01_shot:empty::after {
	content:"［スマホ画面\A 画像枠］"; white-space:pre; text-align:center;
	color:#999; font-size:12px; font-weight:700; line-height:1.6;
}
.snr_f01_shot img { width:100%; height:100%; object-fit:cover; display:block; }
.snr_f01_cap { font-size:20px; font-weight:800; line-height:1.5; }
.snr_f01_arrow { font-size:40px; color:#2D4585; font-weight:800; line-height:1; transform:rotate(90deg); }
.snr_f01_goal { width:100%; max-width:340px; text-align:center; }
.snr_f01_pc { margin-bottom:14px; }
.snr_f01_pc:empty::after {
	content:"［kintone画面\A 画像枠］"; white-space:pre; text-align:center;
	color:#999; font-size:12px; font-weight:700; line-height:1.6;
}
.snr_f01_pc img { width:100%; height:100%; object-fit:cover; display:block; }
.snr_f01_bubble {
	display:inline-block; background:#2D4585; color:#fff;
	border:2px solid #000; border-radius:12px; box-shadow:3px 3px 0 #000;
	font-size:20px; font-weight:800; line-height:1.5; padding:12px 45px;
}
.snr_f01_share { margin-top:14px; }
.snr_f01_share img { width:100%; display:block; border-radius:10px; }

/* reason02：画像＋吹き出し ／ 100名比較グラフ */
.snr_flat { display:flex; flex-direction:column; gap:24px; align-items:stretch; }
.snr_flat_left { text-align:center; }
.snr_flat_img { margin-bottom:14px; font-size:0; }
.snr_flat_img:empty { display:none; }
.snr_flat_img img { width:75%; height:auto; display:block; margin:0 auto; border-radius:12px; }
.snr_flat_vis { display:flex; flex-direction:column; }
.bargraph {
	background:#fff; border:3px solid #000; border-radius:14px; box-shadow:4px 4px 0 #000;
	padding:22px 20px; display:flex; flex-direction:column; gap:16px;
}
.bargraph_title { font-size:20px; font-weight:800; text-align:center; line-height:1.5; margin-bottom:2px; }
.bargraph_title_badge {
	display:inline-block; background:#D10000; color:#fff; font-size:1.05em;
	border-radius:6px; padding:1px 10px; margin-right:2px;
}
.bargraph_row { display:flex; flex-direction:column; gap:6px; }
.bargraph_name { font-size:14px; font-weight:700; color:#666; }
.bargraph_row--pew .bargraph_name { font-size:17px; font-weight:800; color:#2D4585; }
.bargraph_track { position:relative; background:#EFEFEF; border-radius:999px; overflow:visible; }
.bargraph_row--pew .bargraph_track { background:#DDE5F2; padding:4px 0; }
.bargraph_bar {
	height:34px; border-radius:999px; display:flex; align-items:center; justify-content:flex-end;
	padding:0 16px; box-sizing:border-box; min-width:180px; position:relative;
}
.bargraph_bar--other1 { background:#8A8A8A; }
.bargraph_bar--other2 { background:#ADADAD; }
.bargraph_bar--pew {
	background:#2D4585; justify-content:flex-start;
	height:46px; border:3px solid #000; box-shadow:3px 3px 0 #000;
}
.bargraph_val { font-size:14px; font-weight:800; color:#fff; white-space:nowrap; }
.bargraph_bar--pew .bargraph_val { font-size:16px; }
.bargraph_flag {
	position:absolute; left:calc(42% + 12px); top:50%; transform:translateY(-50%);
	background:#FFF100; color:#000; font-size:18px; font-weight:800;
	border:2px solid #000; border-radius:999px; padding:3px 12px; white-space:nowrap;
	box-shadow:2px 2px 0 #000;
}
@media screen and (min-width:768px){
	.snr_flat { flex-direction:row; align-items:center; gap:36px; }
	.snr_flat_left { width:42%; flex-shrink:0; }
	.snr_flat_vis { width:58%; }
	.bargraph_title { font-size:17px; }
	.bargraph { padding:28px 26px; gap:20px; }
	.bargraph_bar { height:38px; }
	.bargraph_bar--pew { height:52px; }
	.bargraph_name { font-size:15px; }
	.bargraph_row--pew .bargraph_name { font-size:19px; }
	.bargraph_val { font-size:15px; }
	.bargraph_bar--pew .bargraph_val { font-size:18px; }
}

/* reason03：Before→After */
.snr_acc { display:flex; flex-direction:column; gap:24px; align-items:stretch; }
.snr_acc_shots { display:flex; align-items:center; justify-content:center; gap:10px; }
.snr_acc_shot { flex:1; text-align:center; }
.snr_acc_shot_pic { margin-bottom:12px; }
.snr_acc_shot_pic img { width:100%; height:100%; object-fit:cover; display:block; }
.snr_acc_shot_ph { color:#999; font-size:12px; font-weight:700; line-height:1.6; text-align:center; }
.snr_acc_shot_pic:has(img) .snr_acc_shot_ph { display:none; }
.snr_acc_shot_cap {
	display:inline-block; font-size:18px; font-weight:800; color:#fff;
	border-radius:999px; padding:3px 18px; letter-spacing:.04em;
}
.snr_acc_shot_cap--before { background:#999; }
.snr_acc_shot_cap--after { background:#D10000; }
.snr_acc_shot_arrow {
	flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:6px;
}
.snr_acc_time {
	background:#FFF100; color:#000; font-size:18px; font-weight:800;
	border:2px solid #000; border-radius:999px; padding:3px 12px; white-space:nowrap;
	box-shadow:2px 2px 0 #000;
}
.snr_acc_arrow_mark { font-size:32px; font-weight:800; color:#2D4585; line-height:1; }
@media screen and (min-width:768px){
	.snr_acc_time { font-size:14px; padding:4px 14px; }
	.snr_acc_arrow_mark { font-size:38px; }
}
.snr_acc_body { display:flex; flex-direction:column; gap:16px; }
.snr_acc_stat {
	display:flex; align-items:center; gap:16px;
	background:#2D4585; border:3px solid #000; border-radius:16px; box-shadow:6px 6px 0 #000;
	padding:20px 22px; color:#fff;
}
.snr_acc_stat_ico {
	flex-shrink:0; width:54px; height:54px; font-size:0;
	display:flex; align-items:center; justify-content:center;
}
.snr_acc_stat_ico:empty { display:none; }
.snr_acc_stat_ico img { width:100%; height:100%; object-fit:contain; display:block; }
.snr_acc_stat_hl { color:#FFF100; padding:0 .1em; }
.snr_acc_stat_txt { text-align:left; }
.snr_acc_stat_label { display:block; font-size:19px; font-weight:800; line-height:1.4; }
.snr_acc_stat_note { display:block; font-size:16px; font-weight:700; color:#C8D2E8; margin-top:4px; }
.snr_acc_lead { font-size:18px; font-weight:700; line-height:1.8; }
.snr_acc_lead b { color:#D10000; }
.snr_acc_list { list-style:none; margin:0; padding:0; }
.snr_acc_list li {
	position:relative; background:#fff; border:2px solid #000; border-radius:10px; box-shadow:3px 3px 0 #000;
	font-size:15px; font-weight:700; line-height:1.6;
	padding:14px 14px 14px 42px; margin-bottom:12px;
}
.snr_acc_list li:last-child { margin-bottom:0; }
.snr_acc_list li::before {
	content:"✓"; position:absolute; left:15px; top:14px;
	color:#D10000; font-weight:800; font-size:16px;
}
@media screen and (min-width:768px){
	.snr_acc { flex-direction:row; align-items:center; gap:40px; }
	.snr_acc_shots { width:52%; gap:14px; }
	.snr_acc_body { width:48%; }
	.snr_acc_stat_ico { width:64px; height:64px; font-size:36px; }
	.snr_acc_stat_label { font-size:22px; }
	.snr_acc_list li { font-size:18px; }
}
@media screen and (min-width:768px){
	.snr_flow01 { flex-direction:row; align-items:stretch; justify-content:center; gap:8px; }
	.snr_f01_step { max-width:none; flex:1; display:flex; flex-direction:column; }
	.snr_f01_step .snr_f01_cap { margin-top:auto; }
	.snr_f01_arrow { transform:none; display:flex; align-items:center; font-size:32px; }
	.snr_f01_goal { flex:1.3; display:flex; flex-direction:column; justify-content:center; }
	.snr_flat { flex-direction:row; align-items:center; gap:32px; }
	.snr_flat_price { width:40%; padding:32px 24px; }
	.snr_flat_price_num { font-size:96px; }
	.snr_flat_vis { width:60%; }
}


/* ============================================================================
   ロゴ差し込み見出し（.hlead_*）
   ============================================================================ */
.hlead { text-align:center; padding:40px 16px; }
.hlead_sub { font-size:18px; font-weight:800; line-height:1.6; margin-bottom:16px; }
.hlead_mark { color:#D10000; background-image:radial-gradient(circle 1.5px, #D10000 1.5px, transparent 1.5px); background-size:8px 3px; background-repeat:repeat-x; background-position:left bottom; padding-bottom:6px; }
.hlead_main { font-size:24px; font-weight:800; line-height:1.5; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:2px; }
.hlead_logo { display:inline-flex; align-items:center; }
.hlead_logo img { height:1.1em; width:auto; display:block; vertical-align:middle; }
.hlead_num { color:#D10000; font-size:70px; line-height:1; position:relative; padding:0 .05em; }

@media screen and (min-width: 768px) {
	.hlead { padding:56px 16px; }
	.hlead_sub { font-size:24px; margin-bottom:20px; }
	.hlead_main { font-size:34px; }
}


/* ============================================================================
   お悩み（吹き出し型・HTML再現版 見出し）
   ============================================================================ */
.nayami_lv2 {
	text-align:center; color:#fff;
	font-size:19px; font-weight:800; line-height:1.6;
	margin:32px;
}
.nayami_mark {
	color:#FFF100;
	background-image:radial-gradient(circle 1.5px, #FFF100 1.5px, transparent 1.5px);
	background-size:8px 3px; background-repeat:repeat-x; background-position:left bottom;
	padding-bottom:6px;
}
@media screen and (min-width:768px){
	.nayami_lv2 { font-size:30px; margin:70px 0; }
}
/* お悩み 案4（吹き出し交互） */
.nayami_lv2 { text-align:center; }
.nayami_bubble { position:relative; }
.nayami_chara { flex-shrink:0; }

/* お悩み CASEカード型（吹き出しセリフ版・現行） */
.nayami_cases { display:flex; flex-direction:column; gap:24px; }
.nayami_case {
	position:relative; background:#fff; border:3px solid #2D4585; border-radius:14px;
	padding:0 0 22px; overflow:hidden;
}
.nayami_case_badge { display:inline-block; background:#2D4585; color:#fff; font-size:14px; font-weight:800; padding:6px 18px; border-radius:0 0 12px 0; margin-bottom:6px; }
.nayami_case_illust { float:right; width:100px; margin:0 16px 8px 12px; font-size:0; }
.nayami_case_illust img { width:100%; display:block; }
.nayami_case_bubble { position:relative; background:#F2F6DC; border-radius:12px; margin:8px 20px 0; padding:14px 16px; font-size:15px; font-weight:700; line-height:1.7; }
.nayami_case_bubble::before { content:""; position:absolute; left:24px; top:-10px; border-style:solid; border-width:0 8px 10px 8px; border-color:transparent transparent #F2F6DC transparent; }
.nayami_case_ttl { font-size:18px; font-weight:800; line-height:1.5; padding:14px 20px 0; }
.nayami_case_ttl .hl { color:#D10000; }
.nayami_case_list { list-style:none; margin:0; padding:12px 20px 0; }
.nayami_case_list li { position:relative; font-size:14px; line-height:1.8; padding:4px 0 4px 22px; }
.nayami_case_list li::before { content:"✓"; position:absolute; left:2px; top:4px; color:#2D4585; font-weight:800; }
.nayami_danger { color:#D10000; font-weight:800; }

@media screen and (min-width:768px){
	.nayami_cases { flex-direction:row; flex-wrap:wrap; }
	.nayami_case { flex:1 1 320px; }
	.nayami_case_ttl { font-size:20px; }
	.nayami_case_illust { width:130px; }
}


/* ============================================================================
   名刺管理アプリpewとは（.pw_about_*）
   ============================================================================ */
.pw_about_sec { width:100%; background:#2D4585; padding:48px 0; }
.pw_about_card { color:#fff; }
.pw_about_eyebrow { display:inline-block; background:#FFF100; color:#2D4585; font-size:16px; font-weight:800; border-radius:999px; padding:5px 16px; margin-bottom:14px; }
.pw_about_ttl { font-size:24px; font-weight:800; line-height:1.5; margin:0 0 12px; }
.pw_about_ttl .hl { color:#FFF100; }
.pw_about_txt { font-size:14px; line-height:1.9; color:#D8E0F0; margin:0 0 20px; }
.pw_about_img { margin:0 0 4px; }
.pw_about_img img { width:100%; display:block; border-radius:12px; }
.pw_about_btn { display:inline-flex; align-items:center; gap:10px; background:#FFF100; color:#000; border:3px solid #000; border-radius:12px; box-shadow:0 4px 0 #000; padding:14px 28px; font-size:20px; font-weight:800; transition:.15s; }
.pw_about_btn:hover { transform:translateY(2px); box-shadow:0 2px 0 #000; }
.pw_about_btn_arrow { font-size:18px; }
.pw_about_list { list-style:none; margin:0 0 20px; padding:0; }
.pw_about_list li { position:relative; font-size:14px; line-height:1.8; padding:4px 0 4px 22px; }
.pw_about_list li::before { content:"✓"; position:absolute; left:0; top:4px; color:#FFF100; font-weight:800; }

@media screen and (min-width:768px){
	.pw_about_sec { padding:72px 0; }
	.pw_about_card { display:flex; align-items:center; gap:48px; }
	.pw_about_body { width:56%; }
	.pw_about_img { width:44%; margin:0; }
	.pw_about_ttl { font-size:35px; }
	.pw_about_txt { font-size:16px; }
}


/* ============================================================================
   FAQ・アップデート案内（.ia_*）
   ============================================================================ */
.ia_sec { padding:48px 0; }
.ia_head { text-align:center; margin-bottom:24px; }
.ia_note { display:inline-block; background:#FFF100; border:2px solid #000; border-radius:999px; font-size:14px; font-weight:800; padding:5px 16px; margin-bottom:12px; }
.ia_ttl { font-size:22px; font-weight:800; line-height:1.5; }
.ia_lead { font-size:14px; color:#666; margin-top:8px; line-height:1.7; }
.ia_grid { display:flex; flex-direction:column; gap:16px; }
.ia_card { display:block; background:#fff; border:3px solid #000; border-radius:14px; box-shadow:6px 6px 0 #000; padding:24px; transition:.15s; }
.ia_card:hover { transform:translate(2px,2px); box-shadow:4px 4px 0 #000; }
.ia_icon { display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:10px; font-size:22px; font-weight:800; color:#fff; margin-bottom:12px; }
.ia_icon_faq { background:#2D4585; }
.ia_icon_upd { background:#D10000; }
.ia_card_ttl { display:block; font-size:18px; font-weight:800; margin-bottom:6px; }
.ia_card_txt { display:block; font-size:14px; line-height:1.8; color:#555; margin-bottom:14px; }
.ia_card_link { display:block; font-size:14px; font-weight:800; color:#338DF4; }

@media screen and (min-width:768px){
	.ia_sec { padding:72px 0; }
	.ia_ttl { font-size:28px; }
	.ia_grid { flex-direction:row; }
	.ia_card { flex:1; }
}


/* ============================================================================
   導入かんたん（.ez_*）
   ============================================================================ */
.ez_sec { padding:48px 0; }
.ez_head { text-align:center; margin-bottom:32px; }
.ez_eyebrow { display:inline-block; font-size:14px; font-weight:800; color:#2D4585; letter-spacing:.14em; margin-bottom:10px; }
.ez_ttl { font-size:26px; font-weight:800; line-height:1.5; }
.ez_marker { background:linear-gradient(transparent 60%, #FFF100 60%); padding:0 .08em; }
.ez_hero { background:#FFF100; border:3px solid #000; border-radius:16px; box-shadow:8px 8px 0 #000; padding:32px 24px; text-align:center; margin-bottom:20px; }
.ez_step { display:inline-block; background:#000; color:#FFF100; font-size:14px; font-weight:800; border-radius:999px; padding:5px 20px; margin-bottom:14px; }
.ez_big { font-size:30px; font-weight:800; line-height:1.4; margin-bottom:10px; }
.ez_under { border-bottom:4px solid #D10000; padding-bottom:2px; }
.ez_sub { font-size:14px; font-weight:700; line-height:1.8; color:#333; }
.ez_pew { background:#2D4585; color:#fff; border-radius:14px; padding:24px; text-align:left; }
.ez_pew_flag { display:inline-block; background:#FFF100; color:#2D4585; font-size:14px; font-weight:800; border-radius:999px; padding:5px 16px; margin-bottom:12px; }
.ez_pew_ttl { font-size:17px; font-weight:800; line-height:1.6; margin-bottom:8px; }
.ez_pew_ttl .hl { color:#FFF100; }
.ez_pew_txt { font-size:14px; line-height:1.9; color:#D8E0F0; }
.ez_pew_txt strong { color:#fff; }

@media screen and (min-width:768px){
	.ez_sec { padding:72px 0; }
	.ez_ttl { font-size:34px; }
	.ez_big { font-size:35px; }
	.ez_pew_ttl { font-size:19px; }
	.ez_pew_txt { font-size:15px; }
}

/* 導入かんたん（2ステップ：申込→利用開始 .ezflow_*） */
.ezflow_wrap { padding:48px 0; text-align:center; }
.ezflow_sub { font-size:15px; font-weight:700; line-height:1.7; margin-bottom:28px; }
.ezflow_steps { display:flex; flex-direction:column; gap:16px; align-items:stretch; }
.ezflow_step { position:relative; border-radius:16px; padding:24px 20px; text-align:left; overflow:hidden; }
.ezflow_step--yellow { background:#FFF100; border:3px solid #000; box-shadow:6px 6px 0 #000; }
.ezflow_step--navy { background:#2D4585; border:3px solid #000; box-shadow:6px 6px 0 #000; color:#fff; }
.ezflow_shape { position:absolute; top:-10px; right:-10px; font-size:74px; font-weight:800; font-style:italic; line-height:1; opacity:.16; }
.ezflow_badge { display:inline-block; font-size:14px; font-weight:800; border-radius:999px; padding:4px 16px; margin-bottom:10px; }
.ezflow_step--yellow .ezflow_badge { background:#000; color:#FFF100; }
.ezflow_step--navy .ezflow_badge { background:#FFF100; color:#2D4585; }
.ezflow_ttl { font-size:20px; font-weight:800; line-height:1.5; margin-bottom:8px; }
.ezflow_body { font-size:15px; line-height:1.8; }
.ezflow_step--navy .ezflow_body { color:#D8E0F0; }
.ezflow_manual { margin-top:32px; background:#fff; border:2px dashed #2D4585; border-radius:14px; padding:24px 20px; text-align:center; }
.ezflow_manual_ttl { font-size:16px; font-weight:800; color:#2D4585; margin-bottom:8px; }
.ezflow_manual_txt { font-size:14px; line-height:1.8; margin-bottom:16px; }
.ezflow_manual_btn { display:inline-flex; align-items:center; gap:8px; background:#2D4585; color:#fff; font-weight:800; font-size:15px; border-radius:999px; padding:12px 28px; transition:.15s; }
.ezflow_manual_btn:hover { transform:translateY(2px); }

@media screen and (min-width:768px){
	.ezflow_wrap { padding:72px 0; }
	.ezflow_sub { font-size:17px; }
	.ezflow_steps { flex-direction:row; }
	.ezflow_step { flex:1; }
	.ezflow_ttl { font-size:22px; }
	.ezflow_step { flex-direction:row; align-items:center; gap:16px; }
}


/* ============================================================================
   移行方法（.mig_* / .mgc_* / .mig2_*）
   ============================================================================ */
.mig_wrap { padding:48px 0; }
.mig_hero { background:#FFF100; border:3px solid #000; border-radius:16px; box-shadow:8px 8px 0 #000; padding:28px 22px; text-align:center; margin-bottom:24px; }
.mig_hero_price { font-size:44px; font-weight:800; color:#D10000; line-height:1; margin-bottom:8px; }
.mig_subs { display:flex; flex-direction:column; gap:16px; }
.mig_cta { margin-top:24px; text-align:center; }
.mig_hero { position:relative; overflow:hidden; }
.mig_hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at top right, rgba(255,255,255,.4), transparent 60%); pointer-events:none; }
.mig_hero_ribbon { display:inline-block; background:#D10000; color:#fff; font-size:14px; font-weight:800; border-radius:999px; padding:4px 18px; margin-bottom:12px; }
.mig_sub--csv { background:#fff; border:2px solid #2D4585; border-radius:12px; padding:20px; }
.mig_sub--outsource { background:#2D4585; color:#fff; border-radius:12px; padding:20px; }

@media screen and (min-width:768px){
	.mig_wrap { padding:72px 0; }
	.mig_subs { flex-direction:row; }
	.mig_sub--csv, .mig_sub--outsource { flex:1; }
}

/* 移行方法 v4（.mgc_*） */
.mgc_wrap { padding:48px 0; }
.mgc_panel { background:#fff; border:3px solid #000; border-radius:16px; box-shadow:6px 6px 0 #000; padding:28px 22px; }
.mgc_hero { text-align:center; margin-bottom:24px; }
.mgc_alts { display:flex; flex-direction:column; gap:16px; }

@media screen and (min-width:768px){
	.mgc_wrap { padding:72px 0; }
	.mgc_alts { flex-direction:row; }
}

/* 移行方法 案B（.mig2_*：現行使用） */
.mig2_wrap { padding:48px 0; }
.mig2_lead { text-align:center; font-size:15px; font-weight:700; line-height:1.7; margin-bottom:28px; }
.mig2_hero { position:relative; background:#FFF100; border:3px solid #000; border-radius:16px; box-shadow:8px 8px 0 #000; padding:28px 22px; text-align:center; margin-bottom:24px; overflow:hidden; }
.mig2_ribbon { display:inline-block; background:#D10000; color:#fff; font-size:14px; font-weight:800; border-radius:999px; padding:4px 18px; margin-bottom:12px; }
.mig2_points { display:flex; flex-direction:column; gap:10px; margin:16px 0; text-align:left; }
.mig2_price { line-height:1; margin-bottom:8px; }
.mig2_price_num { font-size:48px; font-weight:800; color:#D10000; }
.mig2_price_unit { font-size:16px; font-weight:800; }
.mig2_alts { display:flex; flex-direction:column; gap:16px; }
.mig2_alt { background:#fff; border:2px solid #000; border-radius:12px; box-shadow:4px 4px 0 #000; padding:20px; }
.mig2_alt_ttl { font-size:16px; font-weight:800; color:#2D4585; margin-bottom:8px; }
.mig2_alt_txt { font-size:14px; line-height:1.8; }

@media screen and (min-width:768px){
	.mig2_wrap { padding:72px 0; }
	.mig2_lead { font-size:17px; }
	.mig2_alts { flex-direction:row; }
	.mig2_alt { flex:1; }
	.mig2_price_num { font-size:64px; }
}


