@charset "utf-8";
/*--------------------------------------------------------------------
  ホームページ制作ガイド（/guide/ 配下 全ページ共通）
--------------------------------------------------------------------*/
.guide_main { padding-bottom: 8.855vw; }

/* stickyナビを機能させるため、ガイドページでは横クリップをスクロールコンテナ化しない clip に置き換える */
body, html { overflow-x: clip; }

/*------------hero------------*/
.guide_hero {position: relative;padding: 2vw 0 0 0;padding-bottom: 6em;border-bottom: 1px solid #cccccc;}
.guide_hero_num {position: absolute;top: 0;right: 0;font-family: din-2014, sans-serif;font-weight: 600;font-style: normal;font-size: 20vw;line-height: 1;color: #ffffff;z-index: 0;pointer-events: none;}
.guide_hero_en, .guide_hero_title, .guide_lead { position: relative; z-index: 1; }
.guide_hero_en {font-family: 'Cormorant Garamond', serif;font-style: normal;font-weight: 500;font-size: 7.5vw;line-height: 0.9;letter-spacing: -0.03em;}
.guide_hero_en span { display: block; }
.guide_hero_title { font-size: 1.82vw; font-weight: 300; letter-spacing: 0.2vw; margin: 3.5vw 0 0 0; padding-top: 1.3vw; }
.guide_hero_title::before {content: '';position: absolute;left: 0;top: 0;width: 35px;height: 2px;background: #0068B2;}
.guide_lead {/* max-width: 44em; */color: #777;line-height: 2.2;margin-top: 2.3vw;}
.guide_lead + .guide_lead { margin-top: 1.2em; }

/*------------hero 画像つき（web1レイアウト準拠 / guide01から順次適用）------------*/
.guide_hero_inner {align-items: end;}
.guide_hero_text {width: 47%;position: relative;z-index: 2;}
.guide_hero_text .guide_hero_en {width: 160%;}
.guide_hero .business_title_sub { margin-top: 1.6vw; position: relative; z-index: 1; }
.guide_hero_bgWhite {background: #fff;width: 125%;padding: 2.6vw 0 0 0;column-count: 2;column-gap: 0;}
.guide_hero_bgWhite .guide_lead { margin-top: 0; padding-right: 3.5vw; }
.guide_hero_bgWhite .guide_lead + .guide_lead { margin-top: 1.2em; }
.guide_hero_img {width: 49.72vw;margin-right: -7.2vw;position: relative;z-index: 1;}
.guide_hero_img .guide_hero_num {bottom: -.18em;top: auto;right: 0;left: auto;font-size: 15vw;z-index: 3;}
.guide_hero_img_inner img {display: block;width: 100%;height: auto;aspect-ratio: 1114 / 1019;object-fit: cover;}

/*------------section 共通------------*/
.guide_sec {padding: 5em 0 0 0;position: relative;}
.guide_sec_inner { justify-content: space-between; align-items: flex-start; }
.guide_sec_head {width: 27%;}
.guide_sec_body {width: 70%;}
.guide_sec_wide .guide_sec_head,
.guide_sec_wide .guide_sec_body { width: 100%; }
.guide_sec_wide .guide_sec_head { margin-bottom: 3vw; }

.guide_h2 .step {display: inline-block;font-size: 160%;font-weight: 700;color: #fff; padding-left: 1.2vw; background: #1E1E1E;margin-bottom: 0.9vw;line-height: 1;font-family: din-2014, sans-serif;padding: .1em .4em;}
.guide_h2 .jp {display: block;font-size: 2vw;font-weight: 400;letter-spacing: 2px;line-height: 1.6;position: relative;padding-left: 1.2vw;word-break: auto-phrase;}
.guide_h2 .jp::before {content: '';position: absolute;left: 0;top: 0.5vw;width: 0.42vw;height: 2.3vw; background: #1E1E1E; }
.guide_h2 .step + .jp { padding-left:0;}
.guide_h2 .step + .jp::before { content:none;}

.guide_sec_body > p { color: #777; line-height: 2.2; margin-bottom: 1.6em; }
.guide_sec_body > p:last-child { margin-bottom: 0; }

/*------------外注先の主な種類（company2_bottomの数字リストを踏襲）------------*/
.guide_type_list { display: grid; grid-template-columns: repeat(2, 1fr); grid-column-gap: 4vw; }
.guide_type_list > li { position: relative; padding: 0 0 1.56vw 6.5vw; margin-bottom: 1.56vw; border-bottom: 1px solid #ccc; }
.guide_type_list > li::before { content: '01'; position: absolute; left: 0; top: -0.8vw; font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 4.5vw; line-height: 1.2; color: #1E1E1E; }
.guide_type_list > li:nth-of-type(2)::before { content: '02'; }
.guide_type_list > li:nth-of-type(3)::before { content: '03'; }
.guide_type_list > li:nth-of-type(4)::before { content: '04'; }
.guide_type_name { font-size: 1.3vw; letter-spacing: 2px; padding-bottom: 0.5vw; }
.guide_type_feat { font-size: 14px; color: #777; line-height: 2; }
.guide_type_case_label { display: block; font-size: 11px; letter-spacing: 0.1em; color: #777; margin-top: 1vw; }
.guide_type_case { display: flex; flex-wrap: wrap; gap: 0.5em; margin-top: 0.6em; }
.guide_type_case span { display: inline-block; border: 1px solid #1E1E1E; border-radius: 999px; font-size: 11.5px; letter-spacing: 1px; padding: 0.25em 1.1em; }

/*------------コスト内訳リスト------------*/
.guide_cost { margin-top: 1.5em; margin-bottom: 1.8em; }
.guide_cost li { display: flex; flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid #ccc; padding: 1.15em 0; }
.guide_cost li:first-of-type { border-top: 1px solid #ccc; }
.guide_sub h3 + .guide_cost li:first-of-type, .guide_sub h4 + .guide_cost li:first-of-type { border-top: none; }
.guide_sub h3 + .guide_cost, .guide_sub h4 + .guide_cost { margin-top: -0.4em; }
.guide_cost_item { width: 30%; color: #1E1E1E; letter-spacing: 1px; line-height: 1.9; position: relative; padding-left: 1.3em; }
.guide_cost_item::before { content: ''; position: absolute; left: 0; top: 0.9em; width: 0.6em; height: 1px; background: #1E1E1E; }
.guide_cost_desc { width: 67%; color: #777; font-size: 14px; line-height: 2; }

/*------------素材チェックシート------------*/
.guide_sheet { display: grid; grid-template-columns: repeat(4, 1fr); grid-column-gap: 2.2vw; grid-row-gap: 3vw; }
.guide_sheet_cat { font-size: 16px; letter-spacing: 2px; padding-bottom: 0.9vw; border-bottom: 1px solid #1E1E1E; margin-bottom: 1.1vw; }
.guide_sheet_items li { margin-bottom: 0.2em; }
.guide_sheet_items label { display: inline-block; cursor: pointer; }
.guide_sheet_items input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.guide_sheet_items label span { position: relative; display: inline-block; padding-left: 1.8em; color: #777; font-size: 14px; line-height: 2.1; transition: color .2s; }
.guide_sheet_items label span::before { content: ''; position: absolute; left: 0; top: 0.55em; width: 0.8em; height: 0.8em; border: 1px solid #1E1E1E; background: #fff; }
.guide_sheet_items label span::after { content: ''; position: absolute; left: 0.26em; top: 0.52em; width: 0.34em; height: 0.62em; border-right: 2px solid #0068B4; border-bottom: 2px solid #0068B4; transform: rotate(45deg) scale(0); transition: transform .15s; }
.guide_sheet_items input:checked + span { color: #1E1E1E; }
.guide_sheet_items input:checked + span::after { transform: rotate(45deg) scale(1); }
.guide_sheet_items input:focus-visible + span::before { outline: 2px solid #0068B4; outline-offset: 2px; }

/*------------探す具体的な方法------------*/
.guide_sub { margin-bottom: 3.4vw; }
.guide_sub:last-child { margin-bottom: 0; }
.guide_sub h3 { font-size: 20px; font-weight: 400; letter-spacing: 2px; padding-bottom: 0.7em; margin-bottom: 1.2em; border-bottom: 1px solid #ccc; }
.guide_list li { position: relative; padding-left: 1.4em; color: #777; line-height: 2.1; margin-bottom: 0.35em; }
.guide_list li::before { content: ''; position: absolute; left: 0; top: 1.05em; width: 0.6em; height: 1px; background: #1E1E1E; }
.guide_sub > p { color: #777; line-height: 2.2; margin-bottom: 1.4em; }
.guide_sub > p:last-child { margin-bottom: 0; }

/*---業種ジャンプリンク---*/
.guide_jump { display: flex; flex-wrap: wrap; gap: 0.75em; margin-bottom: 3em; }
.guide_jump a { display: inline-block; border: 1.5px solid #1E1E1E; border-radius: 999px; font-size: 14.5px; letter-spacing: 1.5px; padding: 0.75em 1.8em; color: #1E1E1E; transition: all .3s; }
.guide_jump a:hover { background: #1E1E1E; color: #fff; }

/*---業種別セクション（左カラムに追従ナビ）---*/
.guide_sec_sticky .guide_sec_head { position: sticky; top: 120px; align-self: flex-start; }
.guide_sec_sticky .guide_jump { display: block; margin: 2.5vw 0 0 0; }
.guide_sec_sticky .guide_jump li { margin-bottom: 0.35em; }
.guide_sec_sticky .guide_jump a { border: none; border-radius: 0; padding: 0 0 0 1.4em; font-size: 14px; letter-spacing: 1px; color: #777; position: relative; display: inline-block; line-height: 1.9; }
.guide_sec_sticky .guide_jump a::before { content: ''; position: absolute; left: 0; top: 0.95em; width: 0.6em; height: 1px; background: #1E1E1E; transition: all .3s; }
.guide_sec_sticky .guide_jump a:hover { color: #0068B4; background: none; }
.guide_sec_sticky .guide_jump a:hover::before { width: 1em; }

/*---業種見出しアイコン（モノクロ線画・3em）---*/
.guide_sec_sticky .guide_sub h3 { border-bottom: none; padding: 0 0 0 3.8em; margin-bottom: 1.2em; min-height: 3em; display: flex; align-items: center; position: relative; }
.guide_sec_sticky .guide_sub h3::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 3em; height: 3em; background-repeat: no-repeat; background-position: center; background-size: contain; }
.guide_sec_sticky .guide_sub h3 + .guide_cost li:first-of-type { border-top: 1px solid #ccc; }
.guide_sec_sticky .guide_sub h3 + .guide_cost { margin-top: 0; }
#ind-factory h3::before, .guide_ind .ind_factory::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21h18"/><path d="M5 21V10.5l4.7 3.2v-3.2l4.7 3.2v-3.2l4.6 3.2V21"/><path d="M6.5 10.5V4h2.8v6.5"/></svg>'); }
#ind-construction h3::before, #ind-demolition h3::before, #ind-reform h3::before, .guide_ind .ind_construction::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M3 21h18"/><path d="M7.5 21V5"/><path d="M4.5 5H19"/><path d="M7.5 9.5L12 5"/><path d="M17 5v4.5"/><rect x="15" y="9.5" width="4" height="4"/></svg>'); }
#ind-logistics h3::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 6.5H14V16H2.5z"/><path d="M14 9.5h3.8l3.7 3.5v3h-7.5"/><circle cx="6.8" cy="18" r="1.9"/><circle cx="16.8" cy="18" r="1.9"/></svg>'); }
#ind-realestate h3::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 21h19"/><path d="M4 21V4.5h8.5V21"/><path d="M6.7 8h3M6.7 11.5h3"/><path d="M12.5 21v-8l4.3-3.4 4.2 3.4V21"/><path d="M15.5 21v-4h2.6v4"/></svg>'); }
#ind-consulting h3::before, .guide_ind .ind_consulting::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="7.5" width="17" height="11.5" rx="1.5"/><path d="M9 7.5V5h6v2.5"/><path d="M3.5 12h17"/><path d="M10.8 12v2h2.4v-2"/></svg>'); }
#ind-medical h3::before, #ind-naika h3::before, #ind-dental h3::before, #ind-derma h3::before, #ind-pediatrics h3::before, .guide_ind .ind_medical::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="M12 8.3v7.4M8.3 12h7.4"/></svg>'); }
#ind-education h3::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M12 4.5L2.5 9l9.5 4.5L21.5 9z"/><path d="M6.5 11v4.4c0 1.5 2.5 2.8 5.5 2.8s5.5-1.3 5.5-2.8V11"/><path d="M21.5 9v5.5"/></svg>'); }
#ind-beauty h3::before, .guide_ind .ind_beauty::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="6" r="2.3"/><circle cx="6" cy="18" r="2.3"/><path d="M7.9 7.5L20 18.5M7.9 16.5L20 5.5"/></svg>'); }
#ind-food h3::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M7.5 3.5v17"/><path d="M4.8 3.5v4a2.7 2.7 0 0 0 5.4 0v-4"/><path d="M18.5 3.5v17"/><path d="M18.5 3.5c-2.4 2.4-3.2 5.6-2 8.5h2"/></svg>'); }
#ind-fitness h3::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 10v4"/><rect x="4.5" y="7.5" width="3" height="9" rx="0.8"/><rect x="16.5" y="7.5" width="3" height="9" rx="0.8"/><path d="M7.5 12h9"/><path d="M21.5 10v4"/></svg>'); }
#ind-hotel h3::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M2.5 18.5V6.5"/><path d="M2.5 15.5h19v3"/><path d="M21.5 15.5v-2.7a2.8 2.8 0 0 0-2.8-2.8H10v5.5"/><circle cx="6.2" cy="11.8" r="1.7"/></svg>'); }
#ind-pharmacy h3::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><rect x="2.5" y="8" width="12.5" height="6" rx="3"/><path d="M8.75 8v6"/><circle cx="18.5" cy="15.5" r="3"/><path d="M16.4 13.4l4.2 4.2"/></svg>'); }
#ind-seitai h3::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M7.2 11.5V5.8a1.15 1.15 0 0 1 2.3 0v4.9"/><path d="M9.5 10.2V4.4a1.15 1.15 0 0 1 2.3 0v5.4"/><path d="M11.8 9.8V5a1.15 1.15 0 0 1 2.3 0v5.2"/><path d="M14.1 10.4V6.6a1.15 1.15 0 0 1 2.3 0v6.6c0 4.6-2.6 7.8-6.1 7.8-2.6 0-4.3-1.4-5.9-4.4l-1.8-3.4a1.25 1.25 0 0 1 2.1-1.3l1.5 2.2"/></svg>'); }

/*---業種内の小分類見出し---*/
.guide_sub h4 { font-family: 'Noto Sans JP', sans-serif; font-size: 16px; font-weight: 700; letter-spacing: 1.5px; color: #1E1E1E; margin: 2.6em 0 1em; padding-left: 0.9em; position: relative; }
.guide_sub h4::before { content: ''; position: absolute; left: 0; top: 0.18em; width: 4px; height: 1.15em; background: #1E1E1E; }
.guide_sub h3 + h4 { margin-top: 0; }
.guide_acc_body > h4:first-child { margin-top: 0; }
.guide_acc_body > .guide_cost:first-child { margin-top: -0.4em; }

/*---注意点コールアウト---*/
.guide_point { position: relative; border: 1px solid #1E1E1E; padding: 1.9em 2em 1.7em; margin-top: 2em; margin-bottom: 1.6em; }
.guide_sub .guide_point:last-child { margin-bottom: 0; }
.guide_point .guide_cost { margin-bottom: 0; }
.guide_point .guide_cost li:first-of-type { border-top: none; }
.guide_point .guide_cost li:last-of-type { border-bottom: none; }
.guide_point_label { position: absolute; top: -0.8em; left: 1.6em; background: #fff; padding: 0 1em; font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 13px; letter-spacing: 0.2em; color: #0068B4; }
.guide_point_label span { font-family: 'Noto Sans JP', sans-serif; font-weight: 400; font-size: 12px; color: #1E1E1E; letter-spacing: 0.1em; padding-left: 1em; }
.guide_point p { margin: 0; font-size: 14px; line-height: 2.1; color: #777; }

/*------------並行してできること（チェックリスト）------------*/
.guide_check li { position: relative; padding-left: 1.5em; color: #1E1E1E; line-height: 2.2; margin-bottom: 0.5em; }
.guide_check li::before { content: ''; position: absolute; left: 0; top: 0.95em; width: 6px; height: 6px; border-radius: 50%; background: #0068B4; }
.guide_check li span { display: block; font-size: 13px; color: #777; line-height: 1.9; }
.guide_check { margin-bottom: 1.6em; }

/*------------確認すべきポイント------------*/
.guide_cp > li { position: relative; padding: 0 0 1.9vw 5.6vw; margin-bottom: 1.9vw; border-bottom: 1px solid #ccc; }
.guide_cp > li:last-of-type { margin-bottom: 0; }
.guide_cp + p { margin-top: 1.8em; }
.guide_cp > li::before { content: '01'; position: absolute; left: 0; top: -0.55vw; font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 3.4vw; line-height: 1.2; color: #1E1E1E; }
.guide_cp > li:nth-of-type(2)::before { content: '02'; }
.guide_cp > li:nth-of-type(3)::before { content: '03'; }
.guide_cp > li:nth-of-type(4)::before { content: '04'; }
.guide_cp > li:nth-of-type(5)::before { content: '05'; }
.guide_cp > li:nth-of-type(6)::before { content: '06'; }
.guide_cp > li:nth-of-type(7)::before { content: '07'; }
.guide_cp > li p:first-of-type { font-size: 18px; letter-spacing: 1px; margin-bottom: 0.5em; color: #1E1E1E; }
.guide_cp > li p:not(:first-of-type) { font-size: 14px; color: #777; line-height: 2; }

/*---番号リストの3カラム表示---*/
.guide_cp_col3 { display: grid; grid-template-columns: repeat(3, 1fr); grid-column-gap: 3vw; margin-bottom: 4vw; }
.guide_cp_col3 li { display: grid; grid-template-columns: auto 1fr; grid-column-gap: 0.8em; align-items: center; padding: 0; margin-bottom: 0; border-bottom: none; }
.guide_cp_col3 li::before { position: static; grid-column: 1; grid-row: 1; margin: 0; }
.guide_cp_col3 li p:first-of-type { grid-column: 2; grid-row: 1; margin: 0; }
.guide_cp_col3 li p:last-of-type { grid-column: 1 / -1; grid-row: 2; margin-top: 1.2vw; }

/*---予算別カード（コイン表示）---*/
.guide_budget { display: grid; grid-template-columns: repeat(3, 1fr); grid-column-gap: 3vw; }
.guide_budget_coins { display: flex; gap: 0.35em; margin-bottom: 1.1vw; }
.guide_budget_coins span { width: 1.9em; height: 1.9em; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M8.6 7.8l3.4 4.9 3.4-4.9"/><path d="M12 12.7v3.9"/><path d="M9.2 12.9h5.6"/><path d="M9.2 15h5.6"/></svg>') no-repeat center / contain; }
.guide_budget_label { font-size: 18px; letter-spacing: 1.5px; color: #1E1E1E; margin-bottom: 0.6em; }
.guide_budget_pages { font-size: 14px; color: #777; line-height: 2; }

/*---テーブル横スクロールラッパー（列数の多い表用）---*/
.guide_table_wrap { width: 100%; }


/*---大数字リスト 2列グリッド---*/
.guide_cp_col2 { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 4vw; }
.guide_cp_col2 > li { border-bottom: none; }

/*---比較テーブル---*/
.guide_table { width: 100%; border-collapse: collapse; border-top: none; }
.guide_table th, .guide_table td {text-align: left;vertical-align: middle;padding: 1.1em 1.4em;border: none;border-bottom: 1px solid #ccc;}
.guide_table thead th { border-bottom: 1px solid #1E1E1E; font-size: 15px; font-weight: 700; letter-spacing: 2px; color: #1E1E1E; padding-top: 0; }
.guide_table tbody th {width: 24%;color: #777;padding-left: 0;}
.guide_table td {width: 38%;color: #1E1E1E;line-height: 1.9;}
.guide_table td .guide_mark { display: inline-block; margin-right: 0.7em; font-weight: 700; }
.guide_mark_best { color: #0068B4; }
.guide_mark_good { color: #1E1E1E; }
.guide_mark_fair { color: #777; }
.guide_mark_poor { color: #999; }
/*---多カラムテーブル（列幅自動・評価セル中央揃え）---*/
.guide_table_multi thead th { white-space: nowrap; }
.guide_table_multi tbody th, .guide_table_multi td { width: auto; }
.guide_table_multi td.c { text-align: center; }
.guide_table_multi td.c .guide_mark { margin-right: 0; }

/*---外部リンクカード---*/
.guide_link { display: grid; grid-template-columns: 200px 1fr; position: relative; border: 4px solid #E9E9E9; padding: 0; margin-top: 2em; }
.guide_link_thumb { display: block; min-height: 130px; background: #F5F5F5 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%23C9C9C9" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><rect x="3.5" y="5" width="17" height="14" rx="1.5"/><circle cx="9" cy="10" r="1.6"/><path d="M4.5 17.5l4.5-4.5 3.5 3.5 3-3 4 4"/></svg>') no-repeat center / 2.6em; }
.guide_link_thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.guide_link_body { display: block; padding: 1.6em 4.6em 1.5em 1.8em; }
.guide_link_label { display: block; font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 11px; letter-spacing: 2.5px; color: #0068B4; margin-bottom: 0.8em; }
.guide_link_title { display: block; font-size: 17px; letter-spacing: 1.5px; color: #1E1E1E; margin-bottom: 0.5em; transition: color .3s; }
.guide_link_desc { display: block; font-size: 13.5px; color: #777; line-height: 1.9; }
.guide_link_url { display: block; font-family: din-2014, sans-serif; font-weight: 400; font-style: normal; font-size: 12px; letter-spacing: 1.5px; color: #777; margin-top: 0.9em; }
.guide_link::after { content: ''; position: absolute; right: 1.7em; top: 50%; transform: translateY(-50%); width: 1.3em; height: 1.3em; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h6v6"/><path d="M20 4L11 13"/><path d="M18 13v6a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 4 19V8a1.5 1.5 0 0 1 1.5-1.5H11"/></svg>') no-repeat center / contain; transition: transform .3s; }
.guide_link + p { margin-top: 1.6em; }
.guide_link:hover .guide_link_title { color: #0068B4; }
.guide_link:hover::after { transform: translateY(calc(-50% - 2px)) translateX(2px); }

/*---フェーズジャンプ（hero内）---*/
/* hero直下のジャンプリンク：折り返さず1行のまま横スクロール */
.guide_hero .guide_jump {margin: 5em 0 0;position: relative;z-index: 1;flex-wrap: nowrap;overflow-x: auto;-webkit-overflow-scrolling: touch;padding-bottom: 0.4em;width: 109%;padding-right: 4vw;}
.guide_hero .guide_jump li { flex: none; }
.guide_hero .guide_jump a { white-space: nowrap; }

/*---カラー構成（guide11）---*/
.guide_color { margin: 0.5em 0 1.2em; }
.guide_color li { display: flex; flex-wrap: wrap; justify-content: space-between; border-bottom: 1px solid #ccc; padding: 0.9em 0; }
.guide_color li:first-of-type { border-top: 1px solid #ccc; }
.guide_color_name { width: 30%; position: relative; padding-left: 1.9em; color: #1E1E1E; font-size: 14px; letter-spacing: 1px; line-height: 1.9; }
.guide_color_name::before { content: ''; position: absolute; left: 0; top: 0.45em; width: 1em; height: 1em; border-radius: 50%; background: #fff; border: 1px solid #999; box-sizing: border-box; }
.guide_color li:nth-of-type(2) .guide_color_name::before { background: #1E1E1E; border-color: #1E1E1E; }
.guide_color li:nth-of-type(3) .guide_color_name::before { background: #0068B4; border-color: #0068B4; }
.guide_color_desc { width: 67%; color: #777; font-size: 14px; line-height: 2; }

/*---相性の良い業種リスト（guide11）---*/
.guide_ind li { position: relative; padding: 0 0 1.5em 4.4em; margin-bottom: 1.5em; border-bottom: 1px solid #ccc; min-height: 3em; }
.guide_ind li::before { content: ''; position: absolute; left: 0; top: 0.1em; width: 3em; height: 3em; background-repeat: no-repeat; background-position: center; background-size: contain; }
.guide_ind_name { font-size: 17px; letter-spacing: 2px; color: #1E1E1E; margin-bottom: 0.5em; }
.guide_ind_desc { font-size: 14px; color: #777; line-height: 2; }

/*---CMSメリットアイコン（guide16）---*/
.guide_ind .ind_cms_cost::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M8.5 7.8l3.5 4.4 3.5-4.4"/><path d="M12 12.2V17"/><path d="M9 13.2h6"/><path d="M9 15.4h6"/></svg>'); }
.guide_ind .ind_cms_speed::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M13 2.5L4.5 13.5h6L11 21.5l8.5-11h-6z"/></svg>'); }
.guide_ind .ind_cms_page::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M14 3H6.5A1.5 1.5 0 0 0 5 4.5v15A1.5 1.5 0 0 0 6.5 21h11a1.5 1.5 0 0 0 1.5-1.5V8z"/><path d="M14 3v5h5"/><path d="M8.5 12.5h7"/><path d="M8.5 16h7"/></svg>'); }
.guide_ind .ind_cms_people::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="9" cy="8.5" r="3.2"/><path d="M3.5 20c.6-3.4 2.9-5.2 5.5-5.2s4.9 1.8 5.5 5.2"/><circle cx="16.8" cy="9.5" r="2.6"/><path d="M15.6 14.9c2.3.2 4.2 1.9 4.7 5.1"/></svg>'); }
.guide_ind .ind_cms_manage::before { background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z"/></svg>'); }

/*---ペルソナ事例（2カラム）---*/
.guide_persona { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 4.5em; align-items: start; }
.guide_persona_label { font-size: 12px; color: #777; letter-spacing: 1.5px; margin-bottom: 1em; }
.guide_persona_name { position: relative; padding-left: 3.1em; margin-bottom: 1.1em; min-height: 2.5em; display: flex; flex-direction: column; justify-content: center; }
.guide_persona_name::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 2.5em; height: 2.5em; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><circle cx="12" cy="9.6" r="2.9"/><path d="M6.6 18.5c.8-3 2.9-4.5 5.4-4.5s4.6 1.5 5.4 4.5"/></svg>') no-repeat center / contain; }
.guide_persona_name .nm { font-size: 17px; font-weight: 700; letter-spacing: 1.5px; color: #1E1E1E; }
.guide_persona_name .kana { font-size: 11px; color: #777; letter-spacing: 2px; margin-top: 0.2em; }
.guide_persona_fields li { border-bottom: 1px solid #ccc; padding: 0.8em 0; }
.guide_persona_fields li:first-of-type { border-top: 1px solid #ccc; }
.guide_persona_fields .k { display: block; font-size: 11.5px; color: #777; letter-spacing: 1px; margin-bottom: 0.35em; }
.guide_persona_fields .v { display: block; font-size: 14px; color: #1E1E1E; line-height: 1.9; }
.guide_persona_card + .guide_persona_card { margin-top: 2.5em; }
.guide_persona_direction { position: relative; border: 1px solid #1E1E1E; padding: 1.8em 1.8em 1.6em; }
.guide_persona_direction::before {content: '';position: absolute;left: -2.8em;top: 2.2em;width: 2.6em;height: 1px;background: #1E1E1E;}
.guide_persona_direction::after {content: '';position: absolute;left: -.2em;top: calc(2.2em - 2px);width: 5px;height: 5px;border-radius: 50%;background: #1E1E1E;}
.guide_persona_dirtitle { font-size: 15px; font-weight: 700; letter-spacing: 1px; color: #1E1E1E; margin-bottom: 0.9em; }
.guide_persona_direction p { font-size: 14px; color: #777; line-height: 2.1; margin-bottom: 1em; }
.guide_persona_direction p.guide_persona_dirtitle { font-size: 15px; color: #1E1E1E; margin-bottom: 0.9em; }
.guide_persona_direction p:last-child { margin-bottom: 0; }

/*---ターゲット比較（guide10）---*/
.guide_compare { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 4vw; margin-bottom: 1.8em; }
.guide_compare_title { font-size: 16px; font-weight: 700; letter-spacing: 2px; color: #1E1E1E; padding-bottom: 0.6em; border-bottom: 1px solid #1E1E1E; }
.guide_compare .guide_persona_fields li:first-of-type { border-top: none; }

/*---クエスチョン見出し（h2：guide10 同じ業種でも…）---*/
.guide_h2.guide_h2_q .jp { padding-left: 2em; }
.guide_h2.guide_h2_q .jp::before { top: 0.05em; width: 1.5em; height: 1.5em; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M9.1 9a3 3 0 0 1 5.8 1c0 2-2.9 3-2.9 3"/><path d="M12 17v.01"/></svg>') no-repeat center / contain; }

/*---CMS正式名称（guide16）---*/
.guide_point p.guide_cms_full { font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 2.2vw; letter-spacing: 1px; color: #1E1E1E; line-height: 1.3; margin: 0; }
.guide_point p.guide_cms_full_jp { font-size: 13px; color: #777; letter-spacing: 1.5px; margin: 0.6em 0 0; }

/*---比較カラム内リード---*/
.guide_compare_lead { font-size: 14px; color: #777; line-height: 2; margin: 1.2em 0 0.6em; }

/*---更新フロー（guide16）---*/
.guide_flow_label { font-size: 12px; color: #777; letter-spacing: 1.5px; margin: 1.8em 0 0.9em; }
.guide_flow { display: flex; flex-wrap: wrap; align-items: center; row-gap: 0.9em; }
.guide_flow li { position: relative; font-size: 12.5px; letter-spacing: 0.5px; color: #1E1E1E; background: #F5F5F5; border-radius: 999px; padding: 0.45em 1.1em; margin-right: 2em; }
.guide_flow li:last-child { margin-right: 0; }
.guide_flow li:not(:last-child)::after { content: ''; position: absolute; right: -1.7em; top: 50%; width: 1.1em; height: 1px; background: #1E1E1E; }
.guide_flow li:not(:last-child)::before { content: ''; position: absolute; right: -0.85em; top: calc(50% - 2px); width: 4px; height: 4px; border-radius: 50%; background: #1E1E1E; }
.guide_flow li.ok { color: #0068B4; font-weight: 700; }
.guide_flow + p { margin-top: 1.8em; }

/*---星評価・tips内リンク（guide17）---*/
.guide_stars { color: #1E1E1E; letter-spacing: 2px; }
.guide_stars small { color: #777; font-size: 11px; letter-spacing: 0.5px; margin-left: 0.4em; }
.guide_tips a { color: #0068B4; text-decoration: underline; text-underline-offset: 0.2em; }

/*---FAQブロック内リード（guide18）---*/
.faq-container .guide_faq_lead { color: #777; line-height: 2.2; margin: -2em 0 2.5em; }

/*---素材サイト行リンク（guide04）---*/
.guide_sitelink { color: #1E1E1E; position: relative; padding-right: 1.5em; font-size: 15px; letter-spacing: 1px; transition: color .3s; }
.guide_sitelink::after { content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 0.95em; height: 0.95em; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h6v6"/><path d="M20 4L11 13"/><path d="M18 13v6a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 4 19V8a1.5 1.5 0 0 1 1.5-1.5H11"/></svg>') no-repeat center / contain; }
.guide_sitelink:hover { color: #0068B4; }
.guide_site { margin: 1em 0 0; }
.guide_site li { border-bottom: 1px solid #eee; padding: 0.95em 0; }
.guide_site li:first-of-type { border-top: 1px solid #eee; }
.guide_site_desc { display: block; font-size: 13.5px; color: #777; line-height: 1.9; margin-top: 0.35em; }
.guide_sub h4 + .guide_site { margin-top: 0.5em; }
.guide_site + p { margin-top: 1.4em; }

/*---本文内テキストリンク---*/
.guide_a { color: #0068B4; text-decoration: underline; text-underline-offset: 0.2em; }
.guide_a:hover { opacity: 0.7; }

/*---反対理由と切り返し（guide07）---*/
.guide_obj { margin: 0.5em 0 0; }
.guide_obj > li { position: relative; padding: 0 0 2vw 5.6vw; margin-bottom: 2vw; border-bottom: 1px solid #ccc; }
.guide_obj > li:last-of-type { margin-bottom: 0; border-bottom: none; }
.guide_obj > li::before { content: '01'; position: absolute; left: 0; top: -0.5vw; font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 3.2vw; line-height: 1.2; color: #1E1E1E; }
.guide_obj > li:nth-of-type(2)::before { content: '02'; }
.guide_obj > li:nth-of-type(3)::before { content: '03'; }
.guide_obj > li:nth-of-type(4)::before { content: '04'; }
.guide_obj > li:nth-of-type(5)::before { content: '05'; }
.guide_obj > li:nth-of-type(6)::before { content: '06'; }
.guide_obj > li:nth-of-type(7)::before { content: '07'; }
.guide_obj > li:nth-of-type(8)::before { content: '08'; }
.guide_obj > li:nth-of-type(9)::before { content: '09'; }
.guide_obj > li:nth-of-type(10)::before { content: '10'; }
.guide_obj_q { font-size: 18px; letter-spacing: 1px; color: #1E1E1E; line-height: 1.7; margin-bottom: 1em; }
.guide_obj_honne, .guide_obj_kaeshi { font-size: 14px; line-height: 2; margin-top: 0.7em; }
.guide_obj_honne { color: #777; }
.guide_obj_kaeshi { color: #1E1E1E; }
.guide_obj_honne .lbl, .guide_obj_kaeshi .lbl { display: inline-block; font-size: 11px; letter-spacing: 1.5px; padding: 0.25em 0.9em; margin-right: 0.9em; line-height: 1.5; vertical-align: 0.12em; }
.guide_obj_honne .lbl { color: #777; background: #f2f2f2; }
.guide_obj_kaeshi .lbl { color: #fff; background: #1E1E1E; }

/*---番号付きステップリスト（丸数字）---*/
.guide_steplist { counter-reset: step; margin: 1.4em 0; }
.guide_steplist li { position: relative; padding-left: 3em; line-height: 1.8; color: #1E1E1E; margin-bottom: 0.9em; }
.guide_steplist li:last-child { margin-bottom: 0; }
.guide_steplist li::before { counter-increment: step; content: counter(step); position: absolute; left: 0; top: 0.05em; width: 1.9em; height: 1.9em; line-height: 1.75em; text-align: center; font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 13px; color: #1E1E1E; border: 1px solid #1E1E1E; border-radius: 50%; }

/*---ガイド一覧（親ページ）---*/
.guide_index_cat { padding-top: 7vw; }
.guide_index_cat:first-of-type { padding-top: 4vw; }
.guide_index_lead { color: #777; font-size: 14px; line-height: 2; margin: 1em 0 0; }
.guide_index_grid { display: grid; grid-template-columns: repeat(3, 1fr); grid-column-gap: 2.5vw; grid-row-gap: 3.2vw; margin-top: 2.8vw; }
.guide_index_grid > li > a { display: block; }
.guide_index_thumb { display: block; aspect-ratio: 16 / 10; overflow: hidden; }
.guide_index_thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.guide_index_num { display: block; font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 12px; letter-spacing: 1.5px; color: #777; margin-top: 1.1em; }
.guide_index_ttl { display: block; font-size: 15px; letter-spacing: 1px; line-height: 1.7; color: #1E1E1E; margin-top: 0.45em; transition: color .3s; }
.guide_index_text { display: block; }
.guide_index_grid > li > a:hover .guide_index_ttl { color: #0068B4; }

/*---関連ガイド（あわせて読みたい）---*/
.guide_related {margin-top: 3em;}
.guide_related_label { padding-bottom: 1.2vw; border-bottom: 1px solid #1E1E1E; margin-bottom: 0.5vw; }
.guide_related_label .ja { font-size: 17px; letter-spacing: 2px; color: #1E1E1E; }
.guide_related_label .en { font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 10px; letter-spacing: 2px; color: #999; margin-left: 1em; }
.guide_related ul { display: grid; grid-template-columns: 1fr 1fr; grid-column-gap: 3vw; }
.guide_related li a { display: flex; align-items: baseline; gap: 1.1em; padding: 1.15em 0; border-bottom: 1px solid #ccc; transition: color .3s; }
.guide_related .num { flex: none; font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 13px; letter-spacing: 1px; color: #1E1E1E; }
.guide_related .ttl { font-size: 14px; letter-spacing: 1px; line-height: 1.7; color: #1E1E1E; }
.guide_related li a:hover .num, .guide_related li a:hover .ttl { color: #0068B4; }

/*---クエスチョン見出し---*/
.guide_q h3 { position: relative; padding: 0.15em 0 0.15em 2.4em; font-size: 16px; font-weight: 700; letter-spacing: 1.5px; color: #1E1E1E; margin-bottom: 1em; border-bottom: none; }
.guide_q h3::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1.8em; height: 1.8em; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="9"/><path d="M9.1 9a3 3 0 0 1 5.8 1c0 2-2.9 3-2.9 3"/><path d="M12 17v.01"/></svg>') no-repeat center / contain; }

/*---リスク注意ボックス---*/
.guide_risk, .guide_tips { border: 1px solid #1E1E1E; padding: 1.8em 2em; }
.guide_tips { margin: 2.2em 0; }
.guide_risk h3, .guide_tips h3 { position: relative; padding: 0.15em 0 0.15em 2.4em; font-size: 16px; font-weight: 700; letter-spacing: 1.5px; color: #1E1E1E; margin-bottom: 1em; border-bottom: none; }
.guide_sub .guide_risk { margin-top: 2em; }
.guide_risk h3::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1.8em; height: 1.8em; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M10.7 4.6L2.7 18.4a1.5 1.5 0 0 0 1.3 2.25h16a1.5 1.5 0 0 0 1.3-2.25l-8-13.8a1.5 1.5 0 0 0-2.6 0z"/><path d="M12 9.8v4.4"/><path d="M12 17.3v.01"/></svg>') no-repeat center / contain; }
.guide_tips h3::before { content: ''; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 1.8em; height: 1.8em; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M12 2.8a6.2 6.2 0 0 0-3.6 11.24c.75.55 1.1 1.36 1.1 2.16h5c0-.8.35-1.61 1.1-2.16A6.2 6.2 0 0 0 12 2.8z"/><path d="M9.7 19.4h4.6"/><path d="M10.5 21.6h3"/></svg>') no-repeat center / contain; }
.guide_risk p, .guide_tips p { margin: 0; font-size: 14px; line-height: 2.1; color: #777; }

/*---1カラムの別枠ノート---*/
.guide_note { border: 1px solid #1E1E1E; padding: 2.2em 2.5em; margin-top: 5vw; }
.guide_note p { color: #777; line-height: 2.2; margin: 0; }

/*---ペルソナ設定ツール誘導バナー---*/
.guide_tool { border: 1px solid #1E1E1E; padding: 3.2vw 2em 3.6vw; margin-top: 5vw; }
.guide_tool_label { font-family: din-2014, sans-serif; font-weight: 600; font-style: normal; font-size: 13px; letter-spacing: 0.25em; color: #0068B4; text-align: center; }
.guide_tool_title { font-size: 1.45vw; font-weight: 400; letter-spacing: 2px; margin: 0.8vw 0 1.2vw; text-align: center; }
.guide_tool_text { max-width: 40em; margin: 0 auto 2.2em; color: #777; line-height: 2.1; text-align: center; }
.guide_tool .link_wrapper { justify-content: center; }

/*------------要注意------------*/
.guide_warning_list li { position: relative; padding-left: 1.6em; color: #1E1E1E; line-height: 2.3; margin-bottom: 0.4em; letter-spacing: 0.5px; }
.guide_warning_list li::before { content: ''; position: absolute; left: 0; top: 1.15em; width: 0.7em; height: 2px; background: #1E1E1E; }

/*------------結論------------*/
.guide_choice { margin-bottom: 3.2vw; }
.guide_choice li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; border-bottom: 1px solid #ccc; padding: 1.7em 0; }
.guide_choice li:first-of-type { border-top: 1px solid #ccc; }
.guide_choice_q { width: 52%; color: #1E1E1E; letter-spacing: 1px; line-height: 1.8; position: relative; padding-left: 1.4em; }
.guide_choice_q::before { content: ''; position: absolute; left: 0; top: 0.72em; width: 6px; height: 6px; border-radius: 50%; background: #1E1E1E; }
.guide_choice_a { width: 44%; color: #0068B4; letter-spacing: 1px; line-height: 1.8; position: relative; padding-left: 3.4em; }
.guide_choice_a::before { content: ''; position: absolute; left: 0; top: 0.9em; width: 2.2em; height: 1px; background: #606060; }
.guide_choice_a::after { content: ''; position: absolute; left: 1.9em; top: calc(0.9em - 2px); width: 5px; height: 5px; border-radius: 50%; background: #606060; }

/*------------CTA（独立セクション）------------*/
.guide_cta {background: #f5f5f5;margin-top: 5em;padding: 4.2vw 2em 4.6vw;}
.guide_cta_text { max-width: 40em; margin: 0 auto 2.2em; color: #777; line-height: 2.2; text-align: center; }
.guide_cta .link_wrapper { justify-content: center; }

/*------------前後ナビ------------*/
.guide_nav {display: flex;margin-top: 3em;border-top: 1px solid #777;border-bottom: 1px solid #777;}
.guide_nav > div { flex: 1 1 0; text-align: center; padding: 2em 1em; }
.guide_nav > div + div { border-left: 1px solid #777; }
.guide_nav .en { display: block; font-family: din-2014, sans-serif; font-weight: 400; font-style: normal; font-size: 13px; letter-spacing: 0.25em; color: #1E1E1E; }
.guide_nav .jp { display: block; font-size: 12px; color: #777; line-height: 1.7; margin-top: 0.7em; }
.guide_nav a { display: block; }
.guide_nav a:hover .en, .guide_nav a:hover .jp { color: #0068B4; }
.guide_nav .soon { display: block; opacity: 0.45; }

/*--------------------------------------------------------------------
  レスポンシブ
--------------------------------------------------------------------*/
@media(max-width:1480px) {
.guide_persona { grid-template-columns: 1fr; }
.guide_persona_left { display: grid; grid-template-columns: 1fr; grid-column-gap: 3em; }
.guide_persona_left:has(.guide_persona_card + .guide_persona_card) { grid-template-columns: 1fr 1fr; }
.guide_persona_left:has(.guide_persona_card + .guide_persona_card) .guide_persona_card + .guide_persona_card { margin-top: 0; }
.guide_persona_direction { margin-top: 3em; }
.guide_persona_direction::before {left: 0;top: -1.9em;right: 0;width: 1px;height: 1.8em;margin: auto;}
.guide_persona_direction::after {left: 0;top: -0.2em;right: 0;margin: auto;}
}

@media(max-width:1450px) {
.guide_type_name { font-size: 1.5vw; }
}

@media(max-width:1200px) {
.guide_hero_title { font-size: 2vw; }
.guide_h2 .jp { font-size: 2.3vw; }
.guide_h2 .jp::before { height: 2.6vw; }
.guide_hero_bgWhite { background: none; width: 100%; padding-bottom: 0; }
.guide_hero_text .guide_hero_bgWhite { column-count: 1; }
.guide_hero_img_inner img { aspect-ratio: auto; }
}

/* hero 画像つき：2カラム維持の中間幅では英字見出しの画像への被りを抑える */
@media(min-width:801px) and (max-width:1024px) {
.guide_hero_text .guide_hero_en { font-size: 8vw; }
}

@media(max-width:1024px) {
.guide_sec_head, .guide_sec_body { width: 100%; }
.guide_sec_sticky .guide_sec_head { position: static; }
.guide_sec_sticky .guide_jump { display: flex; margin: 5vw 0 0 0; }
.guide_sec_sticky .guide_jump li { margin-bottom: 0; }
.guide_sec_sticky .guide_jump a { border: 1px solid #1E1E1E; border-radius: 999px; padding: 0.35em 1.2em; font-size: 12.5px; color: #1E1E1E; }
.guide_sec_sticky .guide_jump a::before { display: none; }
.guide_sec_head { margin-bottom: 4.5vw; }
.guide_sec { padding-top: 11vw; }
.guide_hero_en {font-size: 10.5vw;}
.guide_hero_num { font-size: 24vw; }
.guide_hero_title { font-size: 2.9vw; margin-top: 5vw; padding-top: 14px; }
.guide_h2 .step { padding-left: 1.8vw; margin-bottom: 1.4vw; }
.guide_h2 .jp { font-size: 3.4vw; padding-left: 1.8vw; }
.guide_h2 .jp::before { width: 0.65vw; height: 3.9vw; top: 0.7vw; }
.guide_sheet { grid-template-columns: repeat(2, 1fr); grid-column-gap: 5vw; grid-row-gap: 5vw; }
.guide_sheet_cat { padding-bottom: 1.6vw; margin-bottom: 2vw; }
.guide_type_list { grid-column-gap: 5vw; }
.guide_type_list > li { padding: 0 0 2.4vw 9vw; margin-bottom: 2.4vw; }
.guide_type_list > li::before { font-size: 5.8vw; top: -1vw; }
.guide_type_name { font-size: 17px; }
.guide_sec_sticky .guide_sub.guide_acc { margin-bottom: 0; border-bottom: 1px solid #ccc; }
.guide_sec_sticky .guide_acc:first-of-type { border-top: 1px solid #ccc; }
.guide_sec_sticky .guide_acc > h3 { margin-bottom: 0; padding: 1em 2.4em 1em 2.6em; cursor: pointer; min-height: 0; }
.guide_sec_sticky .guide_acc > h3::before { width: 1.8em; height: 1.8em; }
.guide_sec_sticky .guide_acc > h3::after { content: ''; position: absolute; right: 0.4em; top: 50%; width: 15px; height: 15px; transform: translateY(-50%); background: linear-gradient(#1E1E1E, #1E1E1E) center/15px 1.5px no-repeat, linear-gradient(#1E1E1E, #1E1E1E) center/1.5px 15px no-repeat; display: block; }
.guide_sec_sticky .guide_acc.is-open > h3::after { background: linear-gradient(#1E1E1E, #1E1E1E) center/15px 1.5px no-repeat; }
.guide_sec_sticky .guide_acc .guide_acc_body { display: none; padding: 0.6em 0 6vw 0; }
.guide_cp > li { padding-left: 9.5vw; padding-bottom: 3vw; margin-bottom: 3vw; }
.guide_obj > li { padding-left: 10vw; padding-bottom: 6vw; margin-bottom: 6vw; }
.guide_obj > li::before { font-size: 6vw; top: -1vw; }
.guide_obj_q { font-size: 17px; }
.guide_cp > li::before { font-size: 5.6vw; top: -1vw; }
.guide_compare { grid-template-columns: 1fr; grid-row-gap: 6vw; }
.guide_related ul { grid-template-columns: 1fr; }
.guide_index_grid { grid-template-columns: repeat(2, 1fr); grid-column-gap: 4vw; }
.guide_related_label { padding-bottom: 3vw; margin-bottom: 1vw; }
.guide_cp_col2 { grid-template-columns: 1fr; }
.guide_cp_col3 { grid-template-columns: 1fr; margin-bottom: 7vw; }
.guide_cp_col3 li { padding: 0; margin-bottom: 6vw; }
.guide_budget { grid-template-columns: 1fr; }
.guide_budget li { margin-bottom: 6vw; }
.guide_budget li:last-of-type { margin-bottom: 0; }
.guide_budget_coins { margin-bottom: 2vw; }
.guide_cp_col3 li::before { font-size: 5.6vw; margin: 0; }
.guide_cp_col3 li p:last-of-type { margin-top: 2vw; }
.guide_note { margin-top: 8vw; }
.guide_tool { margin-top: 8vw; padding: 6vw 1.5em; }
.guide_tool_title { font-size: 2.6vw; margin: 1.4vw 0 2vw; }
.guide_choice_q, .guide_choice_a { width: 100%; }
.guide_choice_a { margin-top: 0.9em; padding-left: 3.4em; margin-left: 1.4em; }
.guide_cta { margin-top: 6.5vw; padding: 6vw 1.5em 6.5vw; }
.guide_nav { margin-top: 9vw; }
}

@media(max-width:800px) {
.guide_table_wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.guide_table_wrap .guide_table { min-width: 640px; }
.page_header_common .header_common_right { margin-top: 3em; }
.guide_hero_text {width: 100%;order: 1;margin: -17vw 0 0 0;padding: 6vw 0 0 0;z-index: 4;}
.guide_hero_text .guide_hero_en {width: auto;display: inline-block;background: #fff;padding: 0.2em .24em 0 0;text-align: left;}
.guide_hero_bgWhite { background: none; width: 100%; padding: 0; column-count: 1; }
.guide_hero_bgWhite .guide_lead { margin-top: 4vw; padding-right: 0; }
.guide_hero_img { width: calc(100% + 7.2vw); order: 0; }
.guide_hero_img .guide_hero_num {font-size: 26vw;top: -.18em;left: -.05em;bottom: auto;right: auto;}
.guide_hero .guide_jump {margin-top:3em;}
}

@media(max-width:600px) {
.guide_main { padding-bottom: 14vw; }
.guide_hero_en { font-size: 11.5vw; }
.guide_hero_num { font-size: 30vw; }
.guide_hero_title { font-size: 4.6vw; margin-top: 7vw; }
.guide_lead { margin-top: 5vw; }
.guide_sec { padding-top: 15vw; }
.guide_sec_head { margin-bottom: 7vw; }
.guide_h2 .step { font-size: 15px; padding-left: 2.6vw; margin-bottom: 2vw; }
.guide_h2 .jp { font-size: 5.8vw; padding-left: 2.6vw; }
.guide_h2 .jp::before { width: 1vw; height: 6.6vw; top: 1.2vw; }
.guide_sheet { grid-template-columns: 1fr; grid-row-gap: 8vw; }
.guide_sheet_cat { padding-bottom: 2.5vw; margin-bottom: 3vw; }
.guide_type_list { grid-template-columns: 1fr; }
.guide_type_list > li { padding: 0 0 5vw 14vw; margin-bottom: 5vw; }
.guide_type_list > li::before { font-size: 9vw; top: -1.6vw; }
.guide_type_name { font-size: 16px; }
.guide_type_case_label { margin-top: 2vw; }
.guide_sub { margin-bottom: 10vw; }
.guide_sub h3 { font-size: 17px; }
.guide_point p.guide_cms_full { font-size: 5.6vw; }
.guide_persona_left, .guide_persona_left:has(.guide_persona_card + .guide_persona_card) { grid-template-columns: 1fr; }
.guide_persona_left:has(.guide_persona_card + .guide_persona_card) .guide_persona_card + .guide_persona_card { margin-top: 2.5em; }
.guide_point { padding: 1.7em 1.4em 1.5em; margin-top: 2.4em; }
.guide_cp > li { padding-left: 14vw; padding-bottom: 5vw; margin-bottom: 5vw; }
.guide_index_grid { grid-template-columns: 1fr; grid-row-gap: 6vw; }
.guide_index_grid > li > a { display: flex; align-items: center; gap: 4.5vw; }
.guide_index_text { order: 1; flex: 1; }
.guide_index_thumb { order: 2; flex: none; width: 42%; }
.guide_index_num { margin-top: 0; }
.guide_index_ttl { font-size: 14px; }
.guide_obj > li { padding-left: 15vw; }
.guide_obj > li::before { font-size: 9vw; top: -1.6vw; }
.guide_cp > li::before { font-size: 9vw; top: -1.6vw; }
.guide_cp > li p:first-of-type { font-size: 16px; }
.guide_cp_col3 li { padding: 0; margin-bottom: 9vw; }
.guide_cp_col3 li::before { font-size: 8vw; }
.guide_budget li { margin-bottom: 9vw; }
.guide_budget_label { font-size: 16px; }
.guide_budget_coins { margin-bottom: 3vw; }
.guide_cp_col3 li p:last-of-type { margin-top: 3vw; }
.guide_risk, .guide_tips { padding: 1.5em 1.3em; }
.guide_note { padding: 1.7em 1.4em; margin-top: 10vw; }
.guide_tool { margin-top: 10vw; padding: 8vw 1.2em; }
.guide_tool_title { font-size: 4.4vw; margin: 2vw 0 3vw; }
.guide_cta { margin-top: 10vw; padding: 9vw 1.2em 10vw; }
.guide_nav { flex-wrap: wrap; margin-top: 12vw; }
.guide_nav > div { flex: none; width: 100%; }
.guide_table th, .guide_table td { padding: 0.9em 0.7em; }
.guide_table tbody th { width: 30%; }
.guide_table thead th { font-size: 13px; letter-spacing: 1px; }
.guide_table td {}
.guide_link { grid-template-columns: 96px 1fr; }
.guide_link_thumb { min-height: 90px; background-size: 2em; }
.guide_link_body { padding: 1.2em 1.2em 1.1em; }
.guide_link_label { display: none; }
.guide_link_desc { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.guide_link::after { display: none; }
.guide_link_title { display: inline-block; position: relative; padding-right: 1.5em; margin-bottom: 0.4em; }
.guide_link_title::after { content: ''; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 1em; height: 1em; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="%231E1E1E" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"><path d="M14 4h6v6"/><path d="M20 4L11 13"/><path d="M18 13v6a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 4 19V8a1.5 1.5 0 0 1 1.5-1.5H11"/></svg>') no-repeat center / contain; }
.guide_color_name, .guide_color_desc { width: 100%; }
.guide_color_desc { margin-top: 0.4em; padding-left: 1.9em; }
.guide_ind li { padding-left: 3.6em; }
.guide_ind li::before { width: 2.4em; height: 2.4em; }
.guide_cost_item, .guide_cost_desc { width: 100%; }
.guide_cost_desc { margin-top: 0.4em; padding-left: 1.3em; }
.guide_nav > div + div { border-left: none; border-top: 1px solid #777; }
}
