@charset "UTF-8";

:root {
  --w-green: #09af3c;
  --w-green02: #f1faf3;
  --w-red: #fc2a62;
  --w-pink: #d80649;
  --w-black: #3a3a3a;
  --w-gray: #f0f0f0;
  --w-text: #2f2f2f;
}

.w-inner {
  max-width: 1144px;
  margin: 0 auto;
  padding: 0 20px;
}

/* header (PC) — Figma: PC_header 1440x106
   1440px を基準に min(px, vw) で等比縮小させる（kaitori の min-width:1200px は解除）
***************************************************************/
@media all and (min-width: 681px) {
  body,
  .w-head {
    min-width: 0;
  }
  .w-head {
    border-bottom: none;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
  }
  .w-head .head_inner {
    width: 100%;
    max-width: none;
    height: min(106px, 7.361vw);
    padding: 0 0 0 min(35px, 2.431vw);
  }
  .w-head .siteID {
    width: min(208px, 14.444vw);
    flex: none;
  }
  .w-head .gnav {
    margin-left: auto;
    align-items: center;
  }
  .w-head .gnav .li {
    position: relative;
  }
  .w-head .gnav .li::after,
  .w-head .gnav .li:first-child::before {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: min(50px, 3.472vw);
    background: var(--w-green);
  }
  .w-head .gnav .li::after {
    right: 0;
  }
  .w-head .gnav .li:first-child::before {
    left: 0;
  }
  .w-head .gnav .link1 {
    height: min(106px, 7.361vw);
    padding: 0 min(16px, 1.111vw);
    font-size: min(16px, 1.111vw);
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--w-black);
  }
  .w-head .gnav .current .link1 {
    color: var(--w-green);
  }
  /* kaitori共通CSSのホバー下線（黒い縦線）は訳ありデザインに無いので消す */
  .w-head .gnav .link1::after {
    display: none;
  }
  .w-head__cv {
    align-items: stretch;
    height: min(106px, 7.361vw);
    margin-left: min(8px, 0.556vw);
  }
  .w-head__tel {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 min(20px, 1.389vw);
    color: var(--w-green);
    line-height: 1.2;
    white-space: nowrap;
  }
  .w-head__tel .ttl {
    font-size: min(14px, 0.972vw);
    font-weight: 600;
    letter-spacing: 0.05em;
  }
  .w-head__tel .num {
    display: flex;
    align-items: center;
    gap: min(6px, 0.417vw);
    font-size: min(28px, 1.944vw);
    font-weight: 700;
    letter-spacing: 0.05em;
    margin: 2px 0;
  }
  .w-head__tel .num img {
    width: min(30px, 2.083vw);
    height: min(30px, 2.083vw);
    flex: none;
  }
  .w-head__tel .time {
    font-size: min(14px, 0.972vw);
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  .w-head__contact {
    flex: none;
    width: min(106px, 7.361vw);
    background: var(--w-red);
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: min(8px, 0.556vw);
  }
  .w-head__contact .ttl {
    font-size: min(14px, 0.972vw);
    font-weight: 600;
    letter-spacing: 0.05em;
    white-space: nowrap;
  }
  .w-head__contact img {
    width: min(34px, 2.361vw);
    height: auto;
  }
  .main {
    padding-top: min(106px, 7.361vw);
  }
}

/* WP管理バー表示中（ログイン中）は html に margin-top が付いて本文だけ下がるため、
   固定ヘッダーも同じ分だけ下げないとヘッダーとページタイトル帯の間に隙間ができる
***************************************************************/
.admin-bar {
  --w-adminbar: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar {
    --w-adminbar: 46px;
  }
}
/* 固定しているものはヘッダーだけでなく、SPのハンバーガー・ドロワーも同じ分だけ下げる */
.admin-bar .w-head,
.admin-bar .w-toggle {
  top: var(--w-adminbar);
}
@media all and (max-width: 680px) {
  .admin-bar .gnav {
    top: calc(50px + var(--w-adminbar));
  }
}
@media screen and (max-width: 600px) {
  /* 600px以下は管理バーが position:absolute になり、固定ヘッダーとの間に隙間ができるので
     管理バー側を固定にそろえる（ログイン中のみ・訳ありページのみ） */
  #wpadminbar {
    position: fixed !important;
  }
}

/* page title bar
***************************************************************/
/* Figma: 帯85px / 見出し26px lh35 */
.w-pageTitle {
  background: var(--w-green);
  padding: 25px 20px;
  text-align: center;
}
.w-pageTitle h1 {
  color: #fff;
  font-size: 26px;
  font-weight: 600;
  line-height: 35px;
  letter-spacing: 0.05em;
}
.w-pageTitle .dot {
  font-size: 10px;
  vertical-align: middle;
  margin: 0 10px;
}

.breadcrumbs {
  /* kaitori共通CSSは width:1100px 固定なので解除。Figma: グレーの帯（高さ60px）・左35px
     flex のままだと項目が縮んで折り返す＋「…」の省略が効かないので block に戻す。
     長いタイトルは折り返さず1行で「…」省略（Figma も1行） */
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: auto;
  max-width: none;
  background: var(--w-gray);
  margin: 0;
  padding: 19px 35px;
  font-size: 13px;
  line-height: 22px;
  color: var(--w-text);
}
.breadcrumbs li {
  display: inline;
}
.breadcrumbs li a::after {
  content: none;
}
.breadcrumbs li + li::before {
  content: "/";
  margin: 0 8px;
}
.breadcrumbs a {
  color: var(--w-green);
}

/* CV button (shared) — Figma: CV_btn 974x125（各472x125・gap30・radius30）
   緑: 電話アイコン50px(left60) / 見出し20px / 番号40px / 受付表記 24・365=20px, 他18px
   桃: かんたん30秒入力24px（両脇スラッシュ）/ メールで無料査定35px / 白丸53px+▶
***************************************************************/
.w-cvBtn {
  display: flex;
  gap: 30px;
  flex-wrap: wrap;
  justify-content: center;
  margin: 30px 0;
}
.w-cvBtn__tel,
.w-cvBtn__mail {
  position: relative;
  width: 472px;
  max-width: 100%;
  height: 125px;
  border-radius: 30px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
  color: #fff;
  display: flex;
  align-items: center;
}
.w-cvBtn__tel {
  background: var(--w-green);
  padding-left: 60px;
  gap: 18px;
}
.w-cvBtn__telIcon {
  position: relative;
  flex: none;
  width: 50px;
  height: 50px;
}
.w-cvBtn__telIcon img {
  position: absolute;
}
.w-cvBtn__telIcon .handset {
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 42.2px;
  height: 42.2px;
}
.w-cvBtn__telIcon .w1 {
  left: 23.38px;
  top: 15.46px;
  width: 11.12px;
  height: 11.6px;
  transform: rotate(-4.01deg);
}
.w-cvBtn__telIcon .w2 {
  left: 26.2px;
  top: 7.7px;
  width: 15.56px;
  height: 16.08px;
  transform: rotate(-4.01deg);
}
.w-cvBtn__telIcon .w3 {
  left: 29.1px;
  top: 0;
  width: 19.47px;
  height: 20.44px;
  transform: rotate(-4.01deg);
}
.w-cvBtn__telBody {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  line-height: 1.1;
}
.w-cvBtn__telBody .ttl {
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.w-cvBtn__telBody .num {
  font-family: "DIN Alternate", "Outfit", sans-serif;
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.08em;
  margin: 4px 0;
}
.w-cvBtn__telBody .time {
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.w-cvBtn__telBody .time b {
  font-family: "DIN Alternate", "Outfit", sans-serif;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.w-cvBtn__mail {
  background: var(--w-red);
  padding: 0 20px 0 40px;
  justify-content: space-between;
}
.w-cvBtn__mailBody {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  flex: 1;
}
.w-cvBtn__mailBody .cv-sub {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.w-cvBtn__mailBody .cv-sub img {
  width: 14px;
  height: auto;
}
/* 右側のスラッシュは Figma で左右反転 */
.w-cvBtn__mailBody .cv-sub img:last-child {
  transform: scaleX(-1);
}
.w-cvBtn__mailBody .cv-main {
  font-size: 35px;
  font-weight: 600;
  letter-spacing: 0.05em;
}
.w-cvBtn__play {
  position: relative;
  flex: none;
  width: 53px;
  height: 53px;
}
.w-cvBtn__play .circle {
  width: 53px;
  height: 53px;
}
.w-cvBtn__play .tri {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%) rotate(90deg);
  width: 17px;
  height: auto;
}

/* more link (shared)
***************************************************************/
.w-more {
  position: relative;
  display: block;
  width: 400px;
  max-width: 100%;
  margin: 30px auto 0;
  background: #fff;
  color: var(--w-green);
  text-align: center;
  font-size: 17px;
  font-weight: 600;
  border-radius: 67px;
  padding: 20px;
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
}
.w-more::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 50%;
  width: 17.16px;
  height: 21.63px;
  transform: translateY(-50%);
  background: url("../img/common/arrow_green.svg") no-repeat center / contain;
}

/* pagination (shared)
***************************************************************/
.w-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin: 80px 0 0;
  font-size: 16px;
  color: var(--w-black);
}
.w-pagination a,
.w-pagination span.current {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid var(--w-green);
  background: #fff;
  color: var(--w-black);
}
/* 現在ページ（paginate_links は <span class="current"> で出力する） */
.w-pagination a.current,
.w-pagination span.current {
  background: var(--w-green);
  border-color: var(--w-green);
  color: #fff;
}
/* 「次へ」はテキストのまま、その右に緑丸の▶ボタン */
.w-pagination a.next {
  width: auto;
  height: auto;
  border: none;
  background: none;
  border-radius: 0;
  padding: 0 8px;
}
.w-pagination a.arrow {
  width: 52px;
  height: 52px;
  border: none;
  background: var(--w-green) url("../img/common/arrow_white.svg") no-repeat center / 14px auto;
}
/* Figma SP: 円44px・ページ番号は 1・2・3・…・11 のみ・▶ボタンは無く「次へ」に下線 */
@media all and (max-width: 680px) {
  .w-pagination {
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 50px;
    font-size: 14px;
  }
  .w-pagination a,
  .w-pagination span.current {
    width: 44px;
    height: 44px;
  }
  .w-pagination a.next {
    padding: 0 4px;
    text-decoration: underline;
  }
}

/* area CTA (shared) — Figma: セクション1440x771 / 見出し30px(+100) / リード26px(+190)
   都道府県枠 900x180(+286・padding30・16px lh30) / CV_btn 974x125(+536)
***************************************************************/
.w-areaCta {
  background: var(--w-green02);
  padding: 100px 20px 0;
  text-align: center;
}
/* 買取事例ページの帯は Figma ではグレー */
.w-areaCta--gray {
  background: var(--w-gray);
}
.w-areaCta__inner {
  max-width: 974px;
  margin: 0 auto;
  padding: 0;
}
.w-areaCta h2 {
  font-size: 30px;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--w-black);
}
.w-areaCta .lead {
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--w-black);
  margin: 51px 0 46px;
}
.w-areaCta .list {
  width: 900px;
  max-width: 100%;
  margin: 0 auto;
  padding: 30px;
  background: #fff;
  border: 2px solid var(--w-green);
  border-radius: 20px;
  font-size: 16px;
  line-height: 30px;
  letter-spacing: 0.05em;
  color: var(--w-black);
  text-align: left;
}
.w-areaCta .w-cvBtn {
  margin-top: 70px;
  padding-bottom: 100px;
}

@media all and (max-width: 680px) {
  .w-areaCta {
    padding: 50px 25px 0;
  }
  .w-areaCta h2 {
    font-size: 20px;
    line-height: 30px;
  }
  .w-areaCta .lead {
    font-size: 20px;
    line-height: 26px;
    margin: 20px 0 32px;
  }
  .w-areaCta .list {
    width: auto;
    padding: 25px;
    font-size: 15px;
    line-height: 26px;
  }
  .w-areaCta .w-cvBtn {
    margin-top: 40px;
    padding-bottom: 80px;
  }
}

/* SP header nav (override kaitori's icon/drawer/fixed-bar assets)
***************************************************************/
.w-toggle {
  flex-direction: column;
  gap: 6px;
}
.h_toggle .w-toggle__icon {
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 26px !important;
  height: 20px !important;
}
.w-toggle__icon span {
  display: block;
  width: 100%;
  height: 4px;
  background: var(--w-green);
}
/* Figma: ×は緑・線幅4px の 23x22 */
.w-toggle__close {
  display: none;
  position: relative;
  width: 23px;
  height: 22px;
}
.w-toggle__close::before,
.w-toggle__close::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 31px;
  height: 4px;
  margin: -2px 0 0 -15.5px;
  background: var(--w-green);
}
.w-toggle__close::before {
  transform: rotate(45deg);
}
.w-toggle__close::after {
  transform: rotate(-45deg);
}
.open .w-toggle__icon {
  display: none !important;
}
.open .w-toggle__close {
  display: block !important;
}

/* CV button SP（Figma SP: 338x90 の2段積み・gap14 / アイコン36px・番号28px） */
@media all and (max-width: 680px) {
  .w-cvBtn {
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }
  .w-cvBtn__tel,
  .w-cvBtn__mail {
    width: 338px;
    height: 90px;
    border-radius: 20px;
  }
  .w-cvBtn__tel {
    padding-left: 43px;
    gap: 13px;
  }
  .w-cvBtn__telIcon {
    width: 36px;
    height: 36px;
  }
  .w-cvBtn__telIcon .handset {
    width: 30.4px;
    height: 30.4px;
  }
  .w-cvBtn__telIcon .w1 {
    left: 16.83px;
    top: 11.13px;
    width: 8.01px;
    height: 8.35px;
  }
  .w-cvBtn__telIcon .w2 {
    left: 18.86px;
    top: 5.54px;
    width: 11.2px;
    height: 11.58px;
  }
  .w-cvBtn__telIcon .w3 {
    left: 20.95px;
    top: 0;
    width: 14.02px;
    height: 14.72px;
  }
  .w-cvBtn__telBody .ttl {
    font-size: 14px;
  }
  .w-cvBtn__telBody .num {
    font-size: 28px;
    margin: 3px 0;
    white-space: nowrap;
  }
  .w-cvBtn__telBody .time {
    font-size: 13px;
  }
  .w-cvBtn__telBody .time b {
    font-size: 14px;
  }
  .w-cvBtn__mail {
    padding: 0 14px 0 29px;
  }
  .w-cvBtn__mailBody .cv-sub {
    gap: 7px;
    font-size: 17px;
  }
  .w-cvBtn__mailBody .cv-sub img {
    width: 10px;
  }
  .w-cvBtn__mailBody .cv-sub,
  .w-cvBtn__mailBody .cv-main {
    white-space: nowrap;
  }
  .w-cvBtn__mailBody .cv-main {
    font-size: 25px;
  }
  .w-cvBtn__play {
    width: 38px;
    height: 38px;
  }
  .w-cvBtn__play .circle {
    width: 38px;
    height: 38px;
  }
  .w-cvBtn__play .tri {
    width: 12px;
  }
}

/* Figma SP: パンくず帯40px・左20px・11px */
@media all and (max-width: 680px) {
  .breadcrumbs {
    /* Figma SP: 帯の高さ40px・1行で入り切らない分は「…」で省略 */
    margin: 0;
    padding: 10px 20px;
    font-size: 11px;
    line-height: 20px;
  }
}

@media all and (max-width: 680px) {
  .gnav {
    left: auto !important;
    right: 0;
    width: 190px !important;
    height: auto !important;
    padding: 42px 0 50px !important;
    background-color: #fff !important;
    border-radius: 0 0 0 30px;
    box-shadow: 0 1px 10px rgba(0, 0, 0, 0.5);
    overflow: hidden !important;
  }
  .gnav .li {
    width: 160px !important;
    margin: 0 0 0 30px !important;
    border-bottom: 2px solid var(--w-green);
  }
  .gnav .li + .li {
    margin-top: 15px !important;
  }
  .gnav .link1 {
    max-width: none;
    margin: 0;
    padding: 0 0 15px !important;
    font-size: 16px !important;
    font-weight: 500;
    line-height: 22px;
    letter-spacing: 0.05em;
    color: #000;
    text-align: left;
  }
  .gnav .li.current .link1 {
    color: var(--w-green);
  }
  .w-fixBtn {
    display: flex;
    gap: 10px;
    height: 90px;
    padding: 10px;
    background: rgba(255, 255, 255, 0.8);
    box-shadow: 0 -4px 4px rgba(0, 0, 0, 0.1);
  }
  .w-fixBtn__tel,
  .w-fixBtn__mail {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    padding: 0;
    border-radius: 16px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
    color: #fff;
    text-align: center;
  }
  .w-fixBtn__tel {
    background: var(--w-green);
  }
  .w-fixBtn__tel .ttl {
    font-size: 12px;
    font-weight: 600;
    line-height: 12px;
    letter-spacing: 0.05em;
  }
  .w-fixBtn__tel .num {
    font-family: "DIN Alternate", "Outfit", sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 20px;
    font-weight: 700;
    line-height: 23px;
    letter-spacing: 0.05em;
  }
  .w-fixBtn__tel .num img {
    width: 20px;
    height: 20px;
  }
  .w-fixBtn__tel .time {
    font-size: 11px;
    font-weight: 500;
    line-height: 12px;
    letter-spacing: 0.05em;
  }
  .w-fixBtn__mail {
    gap: 7px;
    background: var(--w-red);
  }
  .w-fixBtn__sub {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    font-size: 14px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 0.03em;
  }
  .w-fixBtn__sub img {
    width: 10px;
    height: 15px;
  }
  .w-fixBtn__sub img:last-child {
    transform: scaleX(-1);
  }
  .w-fixBtn__main {
    font-size: 17px;
    font-weight: 600;
    line-height: 16px;
    letter-spacing: 0.05em;
  }
  /* Figma SP: 緑帯の高さ45px・見出し16px */
  .w-pageTitle {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    padding: 8px 15px;
  }
  .w-pageTitle h1 {
    font-size: 16px;
    line-height: 1.5;
  }
  /* ●の外側のマージンがあると長いタイトル（よくある質問）が2行になるので詰める */
  .w-pageTitle .dot:first-child {
    margin-left: 0;
  }
  .w-pageTitle .dot:last-child {
    margin-right: 0;
  }
  .footer-info,
  .footer-info tbody,
  .footer-info tr,
  .footer-info th,
  .footer-info td {
    display: block;
    width: 100% !important;
    text-align: left !important;
  }
  .footer-info th {
    padding-top: 16px;
  }
  .f_box2.w-cvBtn {
    flex-direction: column;
    align-items: center;
  }
}

/* footer — Figma(1440px): ロゴ409x106(+140) / ナビ 2列313px(+303・18px lh1.75・列間50)
   拠点 649px(+471・見出し16px / 5列130px 14px lh1.5) / 成仏不動産バナー 304x104(+667)
   会社情報 472px(+831・dt80px・dd x=90・14px lh1.5・行間30) / Copyright 10px(+1233)
***************************************************************/
.w-foot {
  background: #fff;
  padding: 140px 20px 40px;
  color: #000;
}
.w-foot__inner {
  max-width: 1022px;
  margin: 0 auto;
}
.w-foot__logo {
  display: block;
  width: 409px;
  max-width: 100%;
  margin: 0 auto;
}
.w-foot__logo img {
  width: 100%;
  height: auto;
}
.w-foot__nav {
  display: flex;
  justify-content: center;
  gap: 50px;
  margin-top: 57px;
}
.w-foot__nav ul:first-child {
  width: 150px;
}
.w-foot__nav ul:last-child {
  width: 113px;
}
.w-foot__nav a {
  display: block;
  white-space: nowrap;
  font-size: 18px;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #000;
}
.w-foot__branch {
  margin-top: 40px;
}
.w-foot__branch__ttl {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.w-foot__branch__cols {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-top: 17px;
}
.w-foot__branch__cols ul {
  width: 130px;
  list-style: disc;
  padding-left: 21px;
}
.w-foot__branch__cols li {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.w-foot__bnr {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 304px;
  height: 104px;
  margin: 50px auto 0;
  background: #fff;
  /* Figma: 高さいっぱいの角丸（ピル） */
  border-radius: 52px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}
/* 画像に枠線が焼き込まれているので Figma と同じくマスクで外す
   （Figma: 表示枠 191.82x67.04 に 220.5x73.18 の画像を -13.94 / -2.66 でオフセット） */
.w-foot__bnr__logo {
  position: relative;
  display: block;
  width: 191.82px;
  height: 67.04px;
  overflow: hidden;
}
.w-foot__bnr__logo img {
  position: absolute;
  left: -13.94px;
  top: -2.66px;
  width: 220.5px;
  max-width: none;
  height: 73.18px;
}
.w-foot__bnr::after {
  content: "";
  position: absolute;
  right: 20px;
  top: 50%;
  width: 17.16px;
  height: 21.63px;
  transform: translateY(-50%);
  background: url("../img/common/arrow_black.svg") no-repeat center / contain;
}
.w-foot__info {
  width: 472px;
  max-width: 100%;
  margin: 60px auto 0;
}
.w-foot__info > div {
  display: flex;
  align-items: flex-start;
}
.w-foot__info > div + div {
  margin-top: 30px;
}
.w-foot__info dt {
  flex: none;
  width: 80px;
  margin-right: 10px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.w-foot__info dd {
  font-size: 14px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.w-foot__copy {
  margin-top: 60px;
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.w-foot__copy a {
  color: #000;
  text-decoration: underline;
}

@media all and (max-width: 680px) {
  .w-foot {
    /* 下は固定CVバー(90px)分を足す */
    padding: 60px 20px 120px;
  }
  .w-foot__logo {
    width: 220px;
  }
  .w-foot__nav {
    gap: 20px;
    margin-top: 40px;
  }
  .w-foot__nav ul:first-child {
    width: 150px;
  }
  .w-foot__nav ul:last-child {
    width: 113px;
  }
  .w-foot__nav a {
    font-size: 18px;
    line-height: 32px;
  }
  .w-foot__branch {
    margin-top: 40px;
  }
  .w-foot__branch__cols {
    display: grid;
    grid-template-columns: repeat(2, 130px);
    justify-content: center;
    gap: 25px 5px;
    margin-top: 20px;
  }
  .w-foot__branch__cols ul {
    width: auto;
  }
  .w-foot__bnr {
    margin-top: 50px;
  }
  .w-foot__info {
    width: 314px;
    max-width: 100%;
    margin: 40px auto 0;
  }
  .w-foot__info > div {
    display: block;
  }
  .w-foot__info > div + div {
    margin-top: 30px;
  }
  .w-foot__info dt {
    width: auto;
    margin: 0 0 10px;
  }
  .w-foot__info dd {
    white-space: normal;
  }
  .w-foot__copy {
    width: 283px;
    max-width: 100%;
    margin: 40px auto 0;
  }
}

/* 持ち出し0円プランの図解（TOP・サービスページ共通）
   Figma: 円158.07 / 円間58.75 /「−」27.09x4.22 /「＝」27.08x13.40（1em = 23px 基準）
***************************************************************/
.w-flow__zero__figure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.687em;
  font-size: 23px;
}
.w-flow__zero__circle {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 6.873em;
  height: 6.873em;
  background: #fff;
  border-radius: 50%;
}
.w-flow__zero__ttl {
  font-size: 1em;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.13em;
  text-indent: 0.13em;
  color: var(--w-red);
  text-align: center;
}
.w-flow__zero__sub {
  font-size: 0.58em;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  color: var(--w-black);
  text-align: center;
}
.w-flow__zero__op {
  flex: none;
  background: var(--w-black);
}
.w-flow__zero__op--minus {
  width: 1.178em;
  height: 0.184em;
}
.w-flow__zero__op--equal {
  width: 1.178em;
  height: 0.582em;
  background: linear-gradient(
    to bottom,
    var(--w-black) 0 0.185em,
    transparent 0.185em 0.397em,
    var(--w-black) 0.397em 0.582em
  );
}

/* コラムカード（TOP・コラムページ共通）
   Figma(1440px): カード340（画像 348:215・radius20）/ 見出し18px lh26 2行クランプ
   見出しの右に緑の▶（17.16x21.63）
   SP(390px): 1列 gap24 / 見出し16px
***************************************************************/
.w-column__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
  text-align: left;
}
.w-column__item img {
  width: 100%;
  /* WP がアイキャッチに出力する height 属性より aspect-ratio を優先させる。
     これが無いと height="539" などが残って aspect-ratio が無視され、
     元画像の縦横比のままカードの高さがバラバラになる（column.css の記事サムネと同じ対処） */
  height: auto;
  aspect-ratio: 348 / 215;
  object-fit: cover;
  border-radius: 20px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
  display: block;
}
.w-column__item__body {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-top: 20px;
}
.w-column__item p {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 52px;
  font-size: 18px;
  font-weight: 600;
  line-height: 26px;
  letter-spacing: 0.05em;
  color: var(--w-text);
  text-align: justify;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.w-column__item__arrow {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25px;
  height: 29px;
}
.w-column__item__arrow::before {
  content: "";
  width: 17.16px;
  height: 21.63px;
  background: url("../img/common/arrow_green.svg") no-repeat center / contain;
}
@media all and (min-width: 681px) and (max-width: 900px) {
  .w-column__list {
    grid-template-columns: 1fr 1fr;
  }
}
@media all and (max-width: 680px) {
  .w-column__list {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .w-column__item p {
    font-size: 16px;
    line-height: 23px;
    min-height: 0;
  }
}

/* お客様の声カード（TOP・お客様の声ページ共通）
   Figma(1440px): カード800x254 padding30/222/30/40 / エリア14px / 見出し20px lh26
   バッジ高さ29px 16px / 人物113x163(right40 top42) / 本文14px lh20
   SP(390px): カード340x352 padding30 / 見出し18px lh22 / 人物77x112(right37 top21)
***************************************************************/
.w-voice__card {
  position: relative;
  height: 254px;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  padding: 30px 222px 30px 40px;
  margin-top: 45px;
  text-align: left;
}
.w-voice__card__area {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.05em;
  color: var(--w-text);
}
.w-voice__card__ttl {
  font-size: 20px;
  font-weight: 600;
  line-height: 26px;
  letter-spacing: 0.05em;
  color: var(--w-text);
  margin-top: 11px;
}
.w-voice__card__badge {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 29px;
  margin-top: 11px;
  background: var(--w-green);
  color: #fff;
  border-radius: 50px;
  font-size: 16px;
  font-weight: 600;
  line-height: 16px;
  letter-spacing: 0.05em;
}
img.w-voice__card__person {
  position: absolute;
  right: 40px;
  top: 42px;
  width: 113px;
  height: 163px;
  object-fit: contain;
}
.w-voice__card__text {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: 0.05em;
  color: var(--w-text);
  margin-top: 11px;
}
@media all and (min-width: 681px) and (max-width: 1200px) {
  .w-voice__card {
    padding: 24px;
  }
}
@media all and (max-width: 680px) {
  .w-voice__card {
    height: 352px;
    padding: 30px;
    margin-top: 30px;
  }
  img.w-voice__card__person {
    position: absolute;
    left: auto;
    right: 37px;
    top: 21px;
    width: 77px;
    height: 112px;
  }
  /* 人物イラスト（右上・下端は上から133px）と重ならないよう、
     見出しは2行でも3行ぶんの高さを確保する */
  .w-voice__card__ttl {
    width: 160px;
    min-height: 66px;
    font-size: 18px;
    line-height: 22px;
    margin-top: 15px;
  }
  .w-voice__card__badge {
    margin-top: 15px;
  }
  .w-voice__card__text {
    margin-top: 15px;
    line-height: 22px;
  }
}

/* 相談事例カード（TOP・買取事例ページ共通）
   Figma(1440px): カード480x298 2列 gap40 / タグ214x46 は左に10pxはみ出す
   avatar103x153(324,42) / 価格20px(30,106) / 詳細18px(30,145) / 区切り線 / 本文16px(30,242)
   SP(390px): カード340x263 1列 gap20
***************************************************************/
.w-case__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 480px));
  justify-content: center;
  gap: 40px;
  text-align: left;
}
.w-case__item {
  position: relative;
  height: 298px;
  background: #fff;
  border-radius: 20px;
}
.w-case__item__tag {
  position: absolute;
  left: -10px;
  top: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 214px;
  height: 46px;
  background: var(--w-green);
  color: #fff;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  border-radius: 2px;
}
img.w-case__item__avatar {
  position: absolute;
  left: 324px;
  top: 42px;
  width: 103px;
  height: 153px;
  object-fit: contain;
}
.w-case__item__price {
  position: absolute;
  left: 30px;
  top: 106px;
  width: 245px;
  color: var(--w-red);
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.w-case__item__detail {
  position: absolute;
  left: 30px;
  top: 145px;
  width: 245px;
  font-size: 18px;
  font-weight: 600;
  color: var(--w-black);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.w-case__item__text {
  position: absolute;
  left: 30px;
  top: 242px;
  width: 420px;
  max-width: calc(100% - 60px);
  font-size: 16px;
  font-weight: 500;
  color: var(--w-text);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
/* 本文の上（bottom 72px）に区切り線 */
.w-case__item::after {
  content: "";
  position: absolute;
  left: 30px;
  bottom: 72px;
  width: 420px;
  max-width: calc(100% - 60px);
  height: 1px;
  background: #c9dfcf;
}
/* 狭い画面ではカード内の絶対配置をやめて通常フローに切り替える */
@media all and (min-width: 681px) and (max-width: 1200px) {
  /* 相談事例カードは絶対配置をやめて通常フローへ */
  .w-case__item {
    height: auto;
    padding: 20px;
  }
  .w-case__item__tag {
    position: static;
    width: auto;
    height: 40px;
    padding: 0 16px;
    font-size: 18px;
    margin-bottom: 12px;
  }
  img.w-case__item__avatar {
    position: absolute;
    right: 16px;
    top: 60px;
    left: auto;
    width: 88px;
    height: auto;
  }
  .w-case__item__price,
  .w-case__item__detail,
  .w-case__item__text {
    position: static;
    width: auto;
    max-width: none;
  }
  .w-case__item__detail {
    margin-top: 6px;
    padding-bottom: 14px;
    border-bottom: 1px solid #c9dfcf;
  }
  .w-case__item__text {
    margin-top: 12px;
  }
  .w-case__item::after {
    display: none;
  }
}
@media all and (max-width: 680px) {
  .w-case__list {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .w-case__item {
    height: 263px;
    padding: 0;
  }
  .w-case__item__tag {
    left: -7px;
    top: 20px;
    width: 163px;
    height: 38px;
    padding: 0;
    margin: 0;
    font-size: 18px;
  }
  img.w-case__item__avatar {
    left: 231px;
    right: auto;
    top: 29px;
    width: 72px;
    height: 106px;
  }
  .w-case__item__price {
    left: 30px;
    top: 78px;
    width: 280px;
    font-size: 18px;
  }
  .w-case__item__detail {
    left: 30px;
    top: 115px;
    width: 280px;
    font-size: 15px;
  }
  .w-case__item::after {
    left: 30px;
    top: 175px;
    bottom: auto;
    width: 280px;
    max-width: none;
    height: 1.42px;
    background: var(--w-green);
  }
  .w-case__item__text {
    left: 30px;
    top: 191px;
    width: 280px;
    max-width: none;
    font-size: 14px;
  }
}

/* 支店カード（TOP・サービスページ共通）
   Figma: PC 368x234 3列 column-gap20/row-gap30・ラベル18px
          SP  340x210 1列 gap30・ラベル14px
***************************************************************/
.w-final__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  column-gap: 20px;
  row-gap: 30px;
}
.w-final__item {
  position: relative;
  height: 234px;
  border-radius: 20px;
  overflow: hidden;
  /* microCMS のメンバー写真は背景透過のため下地を敷く。
     事故物件サイトのグレー系だと TOP のセクション背景（--w-green02）と同化するため、一段濃い緑系にしている */
  background: linear-gradient(180deg, #e2f1e7 0%, #c8e2d1 100%);
}
.w-final__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.w-final__item span {
  position: absolute;
  bottom: 19px;
  right: 20px;
  display: flex;
  align-items: center;
  height: 34px;
  padding: 0 22px;
  background: #fff;
  border-radius: 32px;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--w-black);
}
/* 狭いタブレット域は2列 */
@media all and (min-width: 681px) and (max-width: 900px) {
  .w-final__list {
    grid-template-columns: 1fr 1fr;
  }
}
@media all and (max-width: 680px) {
  .w-final__list {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .w-final__item {
    height: 210px;
  }
  .w-final__item span {
    height: 30px;
    padding: 0 16px;
    bottom: 20px;
    right: 20px;
    font-size: 14px;
  }
}

/* 5つのメリット（TOP・サービスページ共通）
***************************************************************/
.w-merit__row {
  display: flex;
  justify-content: center;
  gap: 60px;
}
.w-merit__row:first-of-type {
  margin-top: 52px;
}
.w-merit__row + .w-merit__row {
  margin-top: 43px;
}
.w-merit__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.w-merit__item__icon {
  width: 166px;
  height: 166px;
  border-radius: 50%;
  background: var(--w-green02);
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
/* 円ごと書き出されているアセットは背景を持つのでそのまま置く */
.w-merit__item__icon--full {
  background: none;
}
.w-merit__item__icon img {
  width: auto;
  height: 90px;
}
.w-merit__item__icon--full img {
  width: 166px;
  height: 166px;
}
.w-merit__item__body {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  text-align: left;
}
.w-merit__item__body .num {
  height: 63px;
  width: auto;
  flex: none;
}
.w-merit__item__body .ttl {
  font-size: 20px;
  font-weight: 700;
  color: var(--w-black);
  line-height: 1.5;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.w-merit__item__body .note {
  font-size: 10px;
  color: var(--w-black);
  line-height: 1.5;
  margin-top: 4px;
}

/* メリットの折り返し（TOP・サービス共通） */
@media all and (max-width: 900px) {
  .w-merit__row {
    flex-wrap: wrap;
    gap: 30px 40px;
  }
  .w-merit__item__body .ttl {
    white-space: normal;
  }
}
@media all and (max-width: 680px) {
  .w-merit__row {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  /* SPは1列なので、行をまたぐ間隔も項目間と同じ40pxにそろえる */
  .w-merit__row + .w-merit__row {
    margin-top: 40px;
  }
  .w-merit__item__body {
    max-width: 100%;
  }
}
