@charset "UTF-8";
/* 住まい探し・居住支援のご相談（page-housing_support.php）専用 */
.housing-support-page{--hs-blue:#c2000b;--hs-blue-deep:#c2000b;--hs-blue-soft:#fff7f7;--hs-gold:#c2000b;--hs-heading:#242424;--hs-text:#333;--hs-bg:#fff;--hs-bg-sub:#f7f8f6;--hs-border:#e3e3e3;color:var(--hs-text);background:var(--hs-bg);font-size:16px;line-height:1.9;}
.housing-support-page *{box-sizing:border-box;}
.housing-support-page img{max-width:100%;height:auto;display:block;}
.housing-support-page a{color:var(--hs-blue-deep);}
.housing-support-page svg{display:block;}
.housing-support-page .hs-inner{max-width:1120px;margin:0 auto;padding:0 24px;}
.housing-support-page section{padding:80px 0;}
.housing-support-page .hs-bg-sub{background:var(--hs-bg-sub);}
.housing-support-page .hs-en{display:block;font-size:.8em;letter-spacing:.15em;color:var(--hs-gold);font-weight:700;margin-bottom:.6em;}
.housing-support-page .hs-sec-ttl{font-size:1.7em;line-height:1.6;font-weight:700;color:var(--hs-heading);margin:0 0 .5em;white-space:nowrap;word-break:keep-all;overflow-wrap:break-word;}
.housing-support-page .hs-sec-lead{font-size:1em;line-height:2;margin:0 0 2.2em;color:var(--hs-text);}
.housing-support-page .hs-sec-head{text-align:center;max-width:920px;margin:0 auto 3em;}
.housing-support-page .hs-icon{flex:0 0 auto;width:3em;height:3em;border-radius:50%;background:var(--hs-blue-soft);color:var(--hs-blue-deep);display:flex;align-items:center;justify-content:center;}
.housing-support-page .hs-icon svg{width:52%;height:52%;}
/* ---------- ナビ ---------- */
.housing-support-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--hs-border);backdrop-filter:blur(4px);}
.housing-support-nav .hs-nav_list{display:flex;flex-wrap:wrap;justify-content:center;gap:0;list-style:none;margin:0;padding:0;}
.housing-support-nav .hs-nav_item{}
.housing-support-nav .hs-nav_link{display:block;padding:16px 18px;font-size:.9em;font-weight:700;color:var(--hs-heading);text-decoration:none;white-space:nowrap;}
.housing-support-nav .hs-nav_link:hover{color:var(--hs-blue-deep);}
.housing-support-page .hs-ph_box{aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:#eceeec;}
.housing-support-page .hs-ph_box img{width:100%;height:100%;object-fit:cover;display:block;}
.housing-support-page .hs-btn{display:inline-flex;align-items:center;justify-content:center;width:fit-content;padding:1em 1.6em;padding-right:calc(1.6em + 1.4em);position:relative;border-radius:6px;font-weight:700;font-size:1em;text-decoration:none;transition:opacity .2s;}
.housing-support-page .hs-btn::after{content:"";position:absolute;right:1.4em;top:50%;width:.5em;height:.5em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-60%) rotate(-45deg);}
.housing-support-page .hs-btn:hover{opacity:.85;}
.housing-support-page .hs-btn-primary{background:var(--hs-gold);color:#fff;}
.housing-support-page .hs-btn-secondary{background:#fff;color:var(--hs-blue-deep);border:1px solid var(--hs-blue);}
/* ---------- 02 お困りごと ---------- */
.housing-support-target{}
.housing-support-target .hs-target_body{display:flex;gap:48px;align-items:flex-start;}
.housing-support-target .hs-target_visual{flex:0 0 34%;position:sticky;top:90px;}
.housing-support-target .hs-target_list{flex:1 1 auto;list-style:none;margin:0;padding:0;min-width:0;}
.housing-support-target .hs-target_item{display:flex;align-items:center;gap:14px;padding:18px 4px;border-bottom:1px solid var(--hs-border);font-size:1.05em;line-height:1.6;}
.housing-support-target .hs-target_item:first-child{border-top:1px solid var(--hs-border);}
.housing-support-target .hs-target_mark{flex:0 0 auto;width:1.6em;height:1.6em;border-radius:50%;background:var(--hs-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8em;font-weight:700;line-height:1;}
.housing-support-target .hs-target_note{margin-top:2.4em;padding:1.6em;background:var(--hs-bg-sub);border-radius:6px;font-size:.95em;line-height:1.9;}
/* ---------- 03 私たちが目指す居住支援 ---------- */
.housing-support-service{}
.housing-support-service .hs-service_list{list-style:none;margin:0;padding:0;}
.housing-support-service .hs-service_item{display:flex;gap:18px;align-items:flex-start;padding:34px 0;border-top:1px solid var(--hs-border);}
.housing-support-service .hs-service_item:last-child{border-bottom:1px solid var(--hs-border);}
.housing-support-service .hs-service_num{flex:0 0 auto;width:auto;font-size:1.8em;font-weight:700;color:var(--hs-gold);line-height:1;font-family:'Yu Gothic',sans-serif;}
.housing-support-service .hs-service_body{flex:1 1 auto;}
.housing-support-service .hs-service_ttl{font-size:1.2em;font-weight:700;color:var(--hs-heading);margin:0 0 .5em;}
.housing-support-service .hs-service_txt{margin:0;font-size:.98em;}
/* ---------- 04 不動産会社だからこそ ---------- */
.housing-support-strength{}
.housing-support-strength .hs-strength_body{display:flex;gap:56px;align-items:center;margin-bottom:3em;}
.housing-support-strength .hs-strength_visual{flex:0 0 42%;}
.housing-support-strength .hs-strength_text{flex:1 1 auto;min-width:0;}
.housing-support-strength .hs-strength_points{display:flex;gap:24px;list-style:none;margin:0;padding:0;}
.housing-support-strength .hs-strength_point{flex:1 1 0;background:#fff;border:1px solid var(--hs-border);border-radius:6px;padding:28px 22px;text-align:center;}
.housing-support-strength .hs-strength_point .hs-icon{margin:0 auto .9em;}
.housing-support-strength .hs-strength_point_label{display:block;font-size:.8em;color:var(--hs-gold);font-weight:700;letter-spacing:.1em;margin-bottom:.6em;}
.housing-support-strength .hs-strength_point_txt{font-size:.95em;line-height:1.7;}
/* ---------- 05 居住支援法人とは ---------- */
.housing-support-houjin{}
.housing-support-houjin .hs-houjin_body{max-width:820px;margin:0 auto 3em;}
.housing-support-houjin .hs-houjin_self{background:var(--hs-bg-sub);border-radius:6px;padding:2em 2.2em;margin:0 auto 3em;max-width:820px;font-size:.98em;}
.housing-support-houjin .hs-houjin_self_label{display:inline-block;background:var(--hs-blue-deep);color:#fff;font-size:.78em;font-weight:700;padding:.3em .9em;border-radius:3px;margin-bottom:1em;}
.housing-support-houjin .hs-houjin_diagram{max-width:760px;margin:0 auto;}
.housing-support-houjin .hs-diagram_row{display:flex;justify-content:center;}
.housing-support-houjin .hs-diagram_box{border:1px solid var(--hs-blue);color:var(--hs-blue-deep);border-radius:6px;padding:1em 1.4em;text-align:center;font-size:.92em;font-weight:700;background:#fff;}
.housing-support-houjin .hs-diagram_box-main{background:var(--hs-blue);color:#fff;border-color:var(--hs-blue);}
.housing-support-houjin .hs-diagram_arrow{display:flex;justify-content:center;align-items:center;height:2.6em;font-size:1.4em;color:var(--hs-blue-deep);}
.housing-support-houjin .hs-diagram_branch{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;}
/* ---------- 06 流れ ---------- */
.housing-support-flow{}
.housing-support-flow .hs-flow_list{list-style:none;margin:0;padding:0;max-width:760px;margin-left:auto;margin-right:auto;}
.housing-support-flow .hs-flow_item{display:flex;gap:24px;align-items:flex-start;}
.housing-support-flow .hs-flow_step{flex:0 0 auto;width:3.4em;height:3.4em;border-radius:50%;background:var(--hs-blue-soft);color:var(--hs-blue-deep);display:flex;align-items:center;justify-content:center;}
.housing-support-flow .hs-flow_step svg{width:52%;height:52%;}
.housing-support-flow .hs-flow_body{flex:1 1 auto;padding-bottom:2.2em;position:relative;}
.housing-support-flow .hs-flow_item:not(:last-child) .hs-flow_body::before{content:"";position:absolute;left:calc(-1.7em - 24px);top:3.4em;width:2px;height:calc(100% - 3.4em);background:var(--hs-border);}
.housing-support-flow .hs-flow_step_label{display:block;font-size:.78em;font-weight:700;color:var(--hs-gold);letter-spacing:.05em;margin-bottom:.3em;}
.housing-support-flow .hs-flow_ttl{font-size:1.1em;font-weight:700;color:var(--hs-heading);margin:0 0 .4em;}
.housing-support-flow .hs-flow_txt{margin:0;font-size:.95em;}
.housing-support-flow .hs-flow_note{text-align:center;font-size:.85em;color:#666;margin-top:2em;}
/* ---------- 07 相談ケース ---------- */
.housing-support-case{}
.housing-support-case .hs-case_list{display:flex;flex-wrap:wrap;gap:24px;list-style:none;margin:0;padding:0;}
.housing-support-case .hs-case_item{flex:1 1 calc(50% - 12px);background:#fff;border:1px solid var(--hs-border);border-radius:6px;padding:28px 26px;}
.housing-support-case .hs-case_label{display:inline-block;font-size:.78em;font-weight:700;color:#fff;background:var(--hs-blue-deep);padding:.3em .9em;border-radius:3px;margin-bottom:1em;}
.housing-support-case .hs-case_txt{margin:0;font-size:.98em;line-height:1.8;}
/* ---------- 08 行政・福祉・医療関係者 ---------- */
.housing-support-agency{background:var(--hs-blue-soft);}
.housing-support-agency .hs-agency_text{max-width:780px;margin:0 auto;}
.housing-support-agency .hs-agency_list{list-style:none;margin:1.6em 0 2em;padding:0;}
.housing-support-agency .hs-agency_item{display:flex;align-items:flex-start;gap:10px;padding:.5em 0;font-size:.98em;border-bottom:1px solid rgba(194,0,11,.18);}
.housing-support-agency .hs-agency_item .hs-icon{width:1.6em;height:1.6em;background:#fff;}
.housing-support-agency .hs-agency_item .hs-icon svg{width:60%;height:60%;}
.housing-support-agency .hs-agency_cta{text-align:center;margin-top:2.6em;padding-top:2.2em;border-top:1px solid rgba(194,0,11,.25);}
.housing-support-agency .hs-agency_note{font-size:.88em;margin-top:1.2em;color:#555;}
/* ---------- 09 店舗案内 ---------- */
.housing-support-store{}
.housing-support-store .hs-store_body{display:flex;gap:48px;}
.housing-support-store .hs-store_info{flex:1 1 50%;}
.housing-support-store .hs-store_map{flex:1 1 50%;}
.housing-support-store .hs-store_map_frame{width:100%;aspect-ratio:4/3;border:0;border-radius:6px;}
.housing-support-store .hs-store_table{width:100%;border-collapse:collapse;}
.housing-support-store .hs-store_table th,.housing-support-store .hs-store_table td{text-align:left;padding:.9em 0;border-bottom:1px solid var(--hs-border);vertical-align:top;font-size:.95em;}
.housing-support-store .hs-store_table th{width:7em;color:var(--hs-heading);font-weight:700;}
/* ---------- 10 FAQ ---------- */
.housing-support-faq{}
.housing-support-faq .hs-faq_list{list-style:none;margin:0;padding:0;max-width:820px;margin-left:auto;margin-right:auto;}
.housing-support-faq .hs-faq_item{border-bottom:1px solid var(--hs-border);}
.housing-support-faq .hs-faq_item:first-child{border-top:1px solid var(--hs-border);}
.housing-support-faq .hs-faq_q{display:flex;align-items:center;gap:16px;width:100%;background:none;border:none;text-align:left;padding:1.3em .5em;font-size:1.02em;font-weight:700;color:var(--hs-heading);cursor:pointer;}
.housing-support-faq .hs-faq_q_mark{flex:0 0 auto;width:1.8em;height:1.8em;border-radius:50%;background:var(--hs-blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9em;}
.housing-support-faq .hs-faq_q_txt{flex:1 1 auto;}
.housing-support-faq .hs-faq_q_toggle{flex:0 0 auto;font-size:1.3em;color:var(--hs-blue-deep);transition:transform .2s;}
.housing-support-faq .hs-faq_item.is-open .hs-faq_q_toggle{transform:rotate(45deg);}
.housing-support-faq .hs-faq_a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.housing-support-faq .hs-faq_item.is-open .hs-faq_a{max-height:400px;}
.housing-support-faq .hs-faq_a_inner{display:flex;gap:16px;padding:0 .5em 1.5em calc(.5em);font-size:.95em;line-height:1.8;}
.housing-support-faq .hs-faq_a_mark{flex:0 0 auto;width:1.8em;height:1.8em;border-radius:50%;background:var(--hs-gold);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9em;font-weight:700;}
/* ---------- 11 最終CTA ---------- */
.housing-support-cta{background:linear-gradient(180deg,#fff 0%,#f4f7f5 100%);text-align:center;}
.housing-support-cta .hs-cta_inner{max-width:820px;margin:0 auto;}
.housing-support-cta .hs-cta_ttl{font-size:1.9em;font-weight:700;color:var(--hs-heading);line-height:1.6;margin:0 0 .8em;}
.housing-support-cta .hs-cta_txt{font-size:1em;line-height:2;margin:0 0 2em;}
.housing-support-cta .hs-cta_ctas{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-bottom:1.6em;}
.housing-support-cta .hs-cta_option{display:flex;flex-direction:column;align-items:center;gap:.7em;}
.housing-support-cta .hs-cta_card{display:inline-flex;align-items:center;gap:.6em;width:fit-content;padding:.9em 1.6em;border-radius:999px;font-weight:700;font-size:1em;text-decoration:none;transition:opacity .2s;}
.housing-support-cta .hs-cta_card:hover{opacity:.85;}
.housing-support-cta .hs-cta_card svg{width:1.2em;height:1.2em;}
.housing-support-cta .hs-cta_card-tel{background:var(--hs-gold);color:#fff;}
.housing-support-cta .hs-cta_card-web{background:#fff;color:var(--hs-blue-deep);border:1px solid var(--hs-blue);}
.housing-support-cta .hs-cta_card_sub{font-size:.82em;color:#666;}
.housing-support-cta .hs-cta_card_sub-tel{font-size:1.15em;font-weight:700;color:var(--hs-heading);margin:0 0 1.6em;}
.housing-support-cta .hs-cta_note{font-size:.85em;color:#666;}
/* ---------- SP固定フッターCTA ---------- */
/* ============ SP ============ */
@media (max-width:750px){
  .housing-support-page{font-size:15px;line-height:1.85;}
  .housing-support-page section{padding:48px 0;}
  .housing-support-page .hs-inner{padding:0 20px;}
  /* keep-all のままだとiPhone（WebKit）で読点でも折り返さず、見出しが画面幅を押し広げるため解除（改行位置は<br class="sp">で指定） */
  .housing-support-page .hs-sec-ttl{font-size:5.6vw;white-space:normal;word-break:normal;overflow-wrap:anywhere;}
  .housing-support-page .hs-sec-head{margin-bottom:2em;}
  .housing-support-nav{display:none;}
  .housing-support-cta .hs-cta_ctas{flex-direction:column;}
  .housing-support-cta .hs-cta_card{width:84vw;max-width:320px;justify-content:center;}
  .housing-support-page .hs-pc-only{display:none;}
  .housing-support-page .hs-btn{font-size:3.8vw;padding:1em 1.4em;padding-right:calc(1.4em + 1.2em);}
  .housing-support-target .hs-target_body{flex-direction:column;gap:24px;}
  .housing-support-target .hs-target_visual{position:static;flex:0 0 auto;width:100%;}
  .housing-support-target .hs-target_item{font-size:3.8vw;}
  .housing-support-service .hs-service_item{gap:12px;padding:24px 0;}
  .housing-support-service .hs-service_num{width:auto;font-size:6vw;}
  .housing-support-service .hs-service_ttl{font-size:4.2vw;}
  .housing-support-service .hs-service_txt{font-size:3.6vw;}
  .housing-support-strength .hs-strength_body{flex-direction:column;gap:24px;}
  .housing-support-strength .hs-strength_visual{width:100%;}
  .housing-support-strength .hs-strength_points{flex-direction:column;gap:14px;}
  .housing-support-houjin .hs-diagram_box{font-size:3.4vw;padding:.9em 1em;}
  .housing-support-houjin .hs-diagram_branch{gap:10px;}
  .housing-support-houjin .hs-houjin_self{padding:1.6em 1.4em;}
  .housing-support-flow .hs-flow_step{width:2.8em;height:2.8em;}
  .housing-support-flow .hs-flow_ttl{font-size:4.2vw;}
  .housing-support-flow .hs-flow_txt{font-size:3.6vw;}
  .housing-support-case .hs-case_item{flex:1 1 100%;padding:22px 20px;}
  .housing-support-store .hs-store_body{flex-direction:column;gap:24px;}
  .housing-support-faq .hs-faq_q{font-size:3.8vw;padding:1.1em .2em;}
  .housing-support-faq .hs-faq_a_inner{font-size:3.6vw;}
  .housing-support-cta .hs-cta_ttl{font-size:5.8vw;}
  .housing-support-cta .hs-cta_txt{font-size:3.6vw;}
  /* 見出し帯の下の共通余白（.common_page_wrap の padding-top）を打ち消す */
  .housing-support-page{margin-top:-20vw;}
  /* SPはアイコンの円が2.8emなので、縦線の位置も円の中心・下端に合わせる */
  .housing-support-flow .hs-flow_list .hs-flow_item:not(:last-child) .hs-flow_body::before{left:calc(-1.4em - 24px);top:2.8em;height:calc(100% - 2.8em);}
}
