@charset "utf-8";
/* ==================================================
 不動産買取ページ
 PC（768px〜）：Wix「kconnct02/blank」のデザイン。1280px幅を基準に拡大縮小（最大1.25倍）
                 寸法は U(数値) = 1280px幅でのpx値
 SP（〜767px）：元の purchase.html のレイアウト・サイズ
================================================== */
@font-face {
  font-family: "madefor-display-bold";
  src: url("../fonts/madefor-display-bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0-24F, U+2000-206F, U+20AC, U+2122;
}
@font-face {
  font-family: "madefor-text";
  src: url("../fonts/madefor-text.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0-24F, U+2000-206F, U+20AC, U+2122;
}

/* ---------- 共通 ---------- */
main {
  /* 拡大率はスクロールバーを除いた main の幅（1265px で等倍）から計算 */
  container-type: inline-size;
  --u: min(calc(100cqw / 1265), 1.25px);
  font-family: madefor-display-bold, sans-serif;
  color: #000;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;   /* アニメーション中の回転で横スクロールが出ないように */
}
main section {
  padding: 0;
}
main h2, main h3, main h4, main p, main li {
  margin: 0;
  letter-spacing: normal;
}
main strong {
  font-weight: bold;
}
main img {
  display: block;
  max-width: 100%;
  height: auto;
}
.color-orange { color: #F39E0E; }
.color-red { color: #D76060; }
.color-white { color: #fff; }
.bg-orange { background: #F3B30E; }
.bg-white { background: #fff; }
.reason-box .txt-s, .voice-box .txt-box p, .flow-box p {
  font-family: madefor-text, sans-serif;
}
.btn-line a, .btn-tel a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  opacity: 1;
}
.btn-line a { background: #70E12C; }
.btn-tel a { background: #082F7B; }
.btn-line a:hover, .btn-tel a:hover { opacity: .8; }
.voice-box .name {
  background: #6E6E6E;
  color: #fff;
  clip-path: polygon(0 0, 100% 0, calc(100% - 6.08%) 50%, 100% 100%, 0 100%);
}
.reason-box .risk01 h4 {
  background: #D76060;
  color: #fff;
  font-weight: bold;
  text-align: center;
}
.reason-box .risk01 li:before {
  content: "□";
}

/* ---------- 登場アニメーション（Wixと同じ動き。時間は短め・出だしを速く） ---------- */
@keyframes kp-fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
@keyframes kp-foldIn {
  from { transform: translateY(-50%) perspective(800px) rotateX(-90deg) translateY(50%); }
  to { transform: translateY(-50%) perspective(800px) rotateX(0deg) translateY(50%); }
}
@keyframes kp-arcIn {
  from { transform: perspective(800px) translateZ(-640px) rotateY(-80deg) translateZ(640px); }
  to { transform: perspective(800px) translateZ(-640px) rotateY(0deg) translateZ(640px); }
}
.js-anim {
  opacity: 0;
}
.js-anim.is-in[data-anim="fold"] {
  animation: kp-fadeIn .5s ease-out both, kp-foldIn .8s cubic-bezier(.175, .885, .32, 1.275) both;
}
.js-anim.is-in[data-anim="fade"] {
  animation: kp-fadeIn .6s ease-out both;
}
.js-anim.is-in[data-anim="arc"] {
  animation: kp-fadeIn .5s ease-out both, kp-arcIn .8s cubic-bezier(.22, .61, .36, 1) both;
}
@media (prefers-reduced-motion: reduce) {
  .js-anim, .js-anim.is-in {
    opacity: 1;
    animation: none !important;
  }
}

/* ---------- PC ---------- */
@media screen and (min-width: 768px) {
  .site-footer {
    margin-top: 0;
  }
  main .wrap, main .wrap-f {
    width: calc(var(--u) * 1265);
    max-width: none;
    padding: 0;
    margin: 0 auto;
  }
  main .br-pc { display: inline; }

  /* ファーストビュー */
  .main-sec {
    display: block;
    position: relative;
    width: calc(var(--u) * 1259);
    height: calc(var(--u) * 650);
    margin: 0 auto;
    background: url("../img/purchase/kc_main.jpg") no-repeat center / cover;
  }
  .main-sec .wrap {
    display: block;
    width: 100%;
  }
  .main-sec h2 {
    position: absolute;
    top: calc(var(--u) * 244);
    left: 0;
    width: 100%;
    text-align: center;
    color: #fff;
    font-size: calc(var(--u) * 82.383);
    line-height: calc(var(--u) * 107.098);
    font-weight: normal;
    text-shadow: calc(var(--u) * 3.507) calc(var(--u) * 3.507) calc(var(--u) * 1.981) rgba(0, 0, 0, .34);
  }
  .main-sec h2 .txt02 {
    display: block;
    margin-top: calc(var(--u) * 54);
    font-size: calc(var(--u) * 49.9);
    line-height: calc(var(--u) * 64.87);
    font-weight: bold;
    text-shadow: calc(var(--u) * 3.507) calc(var(--u) * 3.507) calc(var(--u) * 1.981) rgba(0, 0, 0, .4);
  }

  /* K-connect */
  .about-sec {
    position: relative;
    background: none;
    padding: calc(var(--u) * 18) 0 calc(var(--u) * 150);
  }
  .about-sec h2 {
    text-align: center;
    font-size: calc(var(--u) * 67.227);
    line-height: calc(var(--u) * 87.395);
  }
  .about-box {
    justify-content: flex-start;
    align-items: flex-start;
    margin: calc(var(--u) * 72.6) 0 0 calc(var(--u) * 258);
  }
  .about-box .img-box {
    width: calc(var(--u) * 134);
    margin-top: calc(var(--u) * 42);
  }
  .about-box .txt-box {
    padding: 0;
  }
  .about-box .txt-box p {
    font-size: calc(var(--u) * 29.648);
    line-height: calc(var(--u) * 38.543);
    font-weight: bold;
  }
  .about-box .txt-box p + p {
    margin-top: calc(var(--u) * 17.5);
  }
  .about-box .txt-box p.txt02 { margin-left: calc(var(--u) * 33); }
  .about-box .txt-box p.txt03 { margin-left: calc(var(--u) * 63); }

  /* お悩み */
  .worries-sec h2 {
    text-align: center;
    font-size: calc(var(--u) * 42);
    line-height: calc(var(--u) * 54.6);
    margin-bottom: calc(var(--u) * 19.4);
  }
  .worries-box {
    position: relative;
    height: calc(var(--u) * 249);
    padding-top: calc(var(--u) * 12);
  }
  .worries-box .txt {
    position: relative;
    z-index: 2;
    margin: 0 calc(var(--u) * 24);
  }
  .worries-box .txt li {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--u) * 411);
    height: calc(var(--u) * 71);
    padding-bottom: calc(var(--u) * 8);          /* 下のしっぽ部分を除いた白地の中央に */
    font-size: calc(var(--u) * 20);
    line-height: calc(var(--u) * 28);
    letter-spacing: 0;
    white-space: nowrap;
    background: no-repeat center / contain;
  }
  .worries-box .txt li:nth-child(n+3) {
    margin-top: calc(var(--u) * 34);
  }
  .worries-box .txt li.l {
    background-image: url("../img/purchase/kc_fukidasi_a.png");
    padding-right: calc(var(--u) * 18);          /* しっぽ（右下）側 */
  }
  .worries-box .txt li.r {
    background-image: url("../img/purchase/kc_fukidasi_b.png");
    padding-left: calc(var(--u) * 18);           /* しっぽ（左下）側 */
  }
  .worries-box .icon {
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(var(--u) * 373);
    transform: translateX(-50%);
  }
  .worries-box .icon img {
    height: calc(var(--u) * 249);
    object-fit: cover;
  }
  .worries-sec:after {
    content: "";
    display: block;
    width: calc(var(--u) * 106);
    height: calc(var(--u) * 46);
    margin: calc(var(--u) * 28) auto 0;
    background: url("../img/purchase/kc_arrow_dots.svg") no-repeat center / contain;
  }

  /* 選ばれる理由 */
  .reason-lead {
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: calc(var(--u) * -61);
    padding-left: calc(var(--u) * 304);
  }
  .reason-lead p {
    width: calc(var(--u) * 421);
    margin: calc(var(--u) * 94) calc(var(--u) * 13) 0 0;
    font-size: calc(var(--u) * 37.601);
    line-height: calc(var(--u) * 48.881);
    font-weight: bold;
  }
  .reason-lead .img {
    width: calc(var(--u) * 132);
  }
  .reason-sec h2 {
    margin-top: calc(var(--u) * 71);
    text-align: center;
    font-size: calc(var(--u) * 34.59);
    line-height: calc(var(--u) * 77.086);
  }
  .reason-sec h2 span {
    font-size: calc(var(--u) * 59.297);
  }
  .reason-sec h2 span:first-child {
    padding-right: calc(var(--u) * 12);
  }
  .reason-sec h2 span:last-child {
    padding-left: calc(var(--u) * 9);
  }
  .reason-sec h2 .leaf {
    display: inline-block;
    width: calc(var(--u) * 81);
    margin-left: calc(var(--u) * 18);
    vertical-align: calc(var(--u) * -6);
  }
  .reason-box {
    width: calc(var(--u) * 1121);
    margin: calc(var(--u) * 91) 0 0 calc(var(--u) * 98);
  }
  .reason-box > .flex-box {
    align-items: flex-start;
    border-bottom: calc(var(--u) * 3) solid #70E12C;
    padding-bottom: calc(var(--u) * 96);
    margin-bottom: calc(var(--u) * 117);
  }
  .reason-box > .flex-box:last-child {
    border: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .reason-box .img-box {
    width: calc(var(--u) * 593);
  }
  .reason-box .img-box img {
    height: calc(var(--u) * 334);
    object-fit: cover;
  }
  .reason-box .box03 .img-box img {
    height: auto;
  }
  .reason-box .txt-box {
    width: calc(var(--u) * 495);
    padding-top: calc(var(--u) * 10);
  }
  .reason-box .box01 .txt-box, .reason-box .box03 .txt-box {
    width: auto;
    padding-left: calc(var(--u) * 13);
  }
  .reason-box .box01 .txt-box p { width: calc(var(--u) * 469); }
  .reason-box .box01 .txt-box p.txt-s { width: calc(var(--u) * 457); }
  .reason-box .box02 .txt-box p { width: calc(var(--u) * 469); }
  .reason-box .box03 .img-box { width: calc(var(--u) * 350); }
  .reason-box .box03 .txt-box h3 { width: calc(var(--u) * 599); }
  .reason-box .box03 .txt-box p { width: calc(var(--u) * 634); }
  .reason-box h3 {
    font-size: calc(var(--u) * 54.356);
    line-height: calc(var(--u) * 65.227);
    font-weight: bold;
    margin-bottom: calc(var(--u) * 50);
  }
  .reason-box p {
    font-size: calc(var(--u) * 22);
    line-height: calc(var(--u) * 30.8);
  }
  .reason-box p.txt-s {
    margin-top: calc(var(--u) * 30);
    font-size: calc(var(--u) * 14);
    line-height: calc(var(--u) * 21);
  }
  /* 空き家のリスク・その放置危険です・空き家税 */
  .reason-box .risk01 {
    width: calc(var(--u) * 716);
    margin-top: calc(var(--u) * 57);
    padding: 0 0 0 calc(var(--u) * 13);
  }
  .reason-box .risk01 .flex-box {
    justify-content: flex-start;
  }
  .reason-box .risk01 h4 {
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(var(--u) * 231);
    height: calc(var(--u) * 65);
    margin-right: calc(var(--u) * 71);
    border-radius: calc(var(--u) * 14.5);
    font-size: calc(var(--u) * 26.903);
    line-height: calc(var(--u) * 34.974);
  }
  .reason-box .risk01 li {
    font-size: calc(var(--u) * 22);
    line-height: calc(var(--u) * 30.8);
    font-weight: bold;
  }
  .reason-box .risk01 li + li {
    margin-top: calc(var(--u) * 17.2);
  }
  .reason-box .risk02 {
    width: calc(var(--u) * 405);
    margin-top: calc(var(--u) * 40);
    padding: 0;
  }
  .reason-box .risk02 h4 {
    font-size: calc(var(--u) * 42);
    line-height: calc(var(--u) * 54.6);
    font-weight: bold;
  }
  .reason-box .risk02 p {
    margin-top: calc(var(--u) * 6.4);
    font-size: calc(var(--u) * 24.019);
    line-height: calc(var(--u) * 33.626);
    font-weight: bold;
  }
  .reason-box .tax-box {
    width: 100%;
    margin-top: calc(var(--u) * 100);
    padding-left: calc(var(--u) * 13);
  }
  .reason-box .tax-box h4 {
    font-size: calc(var(--u) * 42);
    line-height: calc(var(--u) * 54.6);
    font-weight: bold;
  }
  .reason-box .tax-box p {
    width: calc(var(--u) * 905);
    margin-top: calc(var(--u) * 43);
  }

  /* ボタン */
  .btn-line, .btn-tel {
    width: calc(var(--u) * 492);
    margin: calc(var(--u) * 80) auto 0;
  }
  .btn-tel {
    margin-top: calc(var(--u) * 26);
  }
  /* PCは文言の下に電話番号を表示（発信できないのでリンクとしては反応させない） */
  .btn-tel a {
    pointer-events: none;
    cursor: default;
  }
  .btn-tel a {
    flex-direction: column;
  }
  .btn-tel a .txt {
    font-size: calc(var(--u) * 24);
    line-height: calc(var(--u) * 30);
  }
  .btn-tel a .num {
    font-size: calc(var(--u) * 30);
    line-height: calc(var(--u) * 36);
    letter-spacing: .05em;
  }
  .btn-line a, .btn-tel a {
    height: calc(var(--u) * 80);
    font-size: calc(var(--u) * 34);
    line-height: calc(var(--u) * 44.2);
  }

  /* 売るなら今 */
  .rise-sec {
    padding-top: calc(var(--u) * 92);
  }
  .rise-box {
    position: relative;
    width: calc(var(--u) * 984);
    height: calc(var(--u) * 536);
    margin: 0 auto;
    background: url("../img/purchase/kc_rise.jpg") no-repeat center / cover;
  }
  .rise-box h2 {
    padding-top: calc(var(--u) * 72);
    text-align: center;
    font-weight: bold;
  }
  .rise-box h2 span {
    display: block;
  }
  .rise-box .txt01 {
    font-size: calc(var(--u) * 72);
    line-height: calc(var(--u) * 86.4);
    color: #fff;
    text-shadow: calc(var(--u) * 1) 0 0 #1A6AFF, calc(var(--u) * -1) 0 0 #1A6AFF, 0 calc(var(--u) * 1) 0 #1A6AFF, 0 calc(var(--u) * -1) 0 #1A6AFF;
  }
  .rise-box .txt02 {
    margin-top: calc(var(--u) * 24.6);
    font-size: calc(var(--u) * 58.749);
    line-height: calc(var(--u) * 70.498);
  }
  .rise-box .txt03 {
    margin-top: calc(var(--u) * 70.5);
    font-size: calc(var(--u) * 148.675);
    line-height: calc(var(--u) * 178.41);
    color: #fff;
    text-shadow: calc(var(--u) * 1) 0 0 #000, calc(var(--u) * -1) 0 0 #000, 0 calc(var(--u) * 1) 0 #000, 0 calc(var(--u) * -1) 0 #000;
  }
  .rise-box .txt03:after {
    content: "";
    position: absolute;
    left: calc(var(--u) * 762);
    top: calc(var(--u) * 277);
    width: calc(var(--u) * 198);
    height: calc(var(--u) * 198);
    background: url("../img/purchase/kc_rise_arrow.svg") no-repeat center / contain;
  }

  /* お客様の声 */
  .voice-sec {
    padding-top: calc(var(--u) * 31);
  }
  .voice-sec h2 {
    text-align: center;
    font-size: calc(var(--u) * 48.622);
    line-height: calc(var(--u) * 63.209);
  }
  .voice-sec h2:before {
    content: "";
    display: inline-block;
    width: calc(var(--u) * 156);
    height: calc(var(--u) * 219);
    margin-right: calc(var(--u) * 19);
    vertical-align: middle;
    background: url("../img/purchase/kc_voice.jpg") no-repeat center / contain;
  }
  .voice-block {
    margin-top: calc(var(--u) * -14.7);
  }
  .voice-box {
    margin: 0 0 calc(var(--u) * 100) calc(var(--u) * 87);
  }
  .voice-box:last-child {
    margin-bottom: 0;
  }
  .voice-box .name {
    width: calc(var(--u) * 281);
    height: calc(var(--u) * 41.3);
    margin: 0 0 calc(var(--u) * 17.1) calc(var(--u) * 5);
    padding-left: calc(var(--u) * 8);
    font-size: calc(var(--u) * 16.801);
    line-height: calc(var(--u) * 41.3);
  }
  .voice-box .flex-box {
    justify-content: flex-start;
    align-items: flex-start;
  }
  .voice-box .img-box {
    width: calc(var(--u) * 331);
  }
  .voice-box .txt-box {
    width: calc(var(--u) * 733);
    margin-left: calc(var(--u) * 78);
  }
  .voice-box h3 {
    color: #6E6E6E;
    font-size: calc(var(--u) * 34.59);
    line-height: calc(var(--u) * 44.967);
    font-weight: bold;
    padding-bottom: calc(var(--u) * 15);
    border-bottom: 1px dashed #9D9D9D;
  }
  .voice-box .txt-box p {
    width: calc(var(--u) * 682);
    margin-top: calc(var(--u) * 28);
    font-size: calc(var(--u) * 18);
    line-height: calc(var(--u) * 27);
  }

  /* ご売却の流れ */
  .flow-sec {
    padding: calc(var(--u) * 108) 0 calc(var(--u) * 32);
  }
  .flow-box {
    padding: calc(var(--u) * 70) 0;
  }
  .flow-box:first-child {
    padding-top: 0;
    background: linear-gradient(transparent calc(var(--u) * 95), #F3B30E calc(var(--u) * 95));
  }
  .flow-box h2 {
    color: #F39E0E;
    text-align: center;
    font-size: calc(var(--u) * 51.51);
    line-height: calc(var(--u) * 66.963);
    margin-bottom: calc(var(--u) * 98.04);
  }
  .flow-box .flex-box {
    justify-content: flex-start;
    align-items: center;
  }
  .flow-box .icon-box {
    width: calc(var(--u) * 338);
    padding-left: calc(var(--u) * 99);
    font-size: calc(var(--u) * 38);
    line-height: calc(var(--u) * 49.4);
  }
  .flow-box .txt-box {
    width: calc(var(--u) * 694);
  }
  .flow-box h3 {
    font-size: calc(var(--u) * 34.59);
    line-height: calc(var(--u) * 44.967);
    font-weight: bold;
    padding-bottom: calc(var(--u) * 36);
    border-bottom: calc(var(--u) * 3) solid #fff;
    margin-bottom: calc(var(--u) * 30);
  }
  .flow-box.bg-white h3 {
    border-bottom-color: #000;
  }
  .flow-box p {
    font-size: calc(var(--u) * 18);
    line-height: calc(var(--u) * 27);
  }

  /* ワンストップ */
  .support-box {
    width: calc(var(--u) * 1126);
    margin: calc(var(--u) * 75) 0 0 calc(var(--u) * 72);
    align-items: flex-start;
  }
  .support-box .img-box {
    width: calc(var(--u) * 583);
    margin-top: calc(var(--u) * 5);
  }
  .support-box .img-box img {
    height: calc(var(--u) * 399);
    object-fit: cover;
  }
  .support-box .txt-box {
    width: calc(var(--u) * 482);
    text-align: center;
  }
  .support-box h3 {
    font-size: calc(var(--u) * 33.717);
    line-height: calc(var(--u) * 43.832);
    font-weight: bold;
  }
  .support-box h3 span {
    display: block;
  }
  .support-box h3 .s {
    margin-top: calc(var(--u) * 16.2);
    font-size: calc(var(--u) * 40.81);
    line-height: calc(var(--u) * 53.053);
  }
  .support-box h3 .b {
    margin-top: calc(var(--u) * 9.9);
    font-size: calc(var(--u) * 76.875);
    line-height: calc(var(--u) * 106);
  }
  .support-box h3 .e {
    margin-top: calc(var(--u) * 14);
    font-size: calc(var(--u) * 38);
    line-height: calc(var(--u) * 49.4);
  }
}

/* ---------- SP（元の purchase.html のレイアウト・サイズ） ----------
 余白ルール（同じ種類の要素は同じ値）
   セクション      : 上下 6rem / 左右 5vw
   セクション見出し : 下 5rem
   画像            : 下 3rem
   見出し → 本文   : 2rem（下線付きの見出しは 線まで2rem＋線の下2rem）
   ブロック内の小ブロック : 上 3rem
   区切り線        : 上下 5rem
   ボタン          : 上 5rem / 2つの間 2rem
   本文            : 2.4rem / 行間1.6
------------------------------------------------------------------ */
@media screen and (max-width: 767px) {
  .site-footer {
    margin-top: 0;
  }
  main .wrap, main .wrap-f {
    max-width: none;
    padding: 0 5vw;
  }
  main img {
    width: 100%;
  }

  /* セクション */
  .about-sec, .worries-sec, .reason-sec, .voice-sec {
    padding: 6rem 0;
  }
  .flow-sec {
    padding: 6rem 0;
  }
  .flow-sec .wrap-f {
    padding: 0;
  }

  /* セクション見出し（下5rem） */
  .about-sec h2, .worries-sec h2, .reason-lead, .reason-sec h2, .voice-sec h2 {
    margin-bottom: 5rem;
  }

  /* 画像（下3rem） */
  .about-box .img-box, .reason-box .img-box, .voice-box .img-box, .support-box .img-box {
    margin-bottom: 3rem;
  }

  /* 見出し → 本文（2rem） */
  .reason-box h3, .reason-box .risk02 h4, .reason-box .tax-box h4, .flow-box .icon-box {
    margin-bottom: 2rem;
  }
  .voice-box h3, .flow-box h3 {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
  }

  /* 本文 */
  .reason-box p, .voice-box .txt-box p, .flow-box p {
    font-size: 2.4rem;
    line-height: 1.6em;
  }
  .reason-box p.txt-s {
    margin-top: 2rem;
    font-size: 1.8rem;
    line-height: 1.5em;
  }

  /* 小ブロック（上3rem） */
  .reason-box .risk01, .reason-box .risk02, .reason-box .tax-box {
    margin-top: 3rem;
  }

  /* 区切り線（上下5rem） */
  .reason-box > .flex-box {
    border-bottom: 3px solid #70E12C;
    padding-bottom: 5rem;
    margin-bottom: 5rem;
  }
  .reason-box > .flex-box:last-child {
    border: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  /* ボタン（上5rem・間2rem） */
  .btn-line, .btn-tel {
    max-width: 62rem;
    width: 100%;
    margin: 5rem auto 0;
  }
  .btn-tel {
    margin-top: 2rem;
  }
  .btn-line a, .btn-tel a {
    font-size: 3.6rem;
    line-height: 1.5em;
    padding: 3rem 2rem;
  }

  /* ファーストビュー */
  .main-sec {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60vw;
    margin-top: 0;
    padding: 0;
    background: url("../img/purchase/kc_main.jpg") no-repeat center / cover;
  }
  .main-sec .wrap {
    display: block;
    padding: 0;
  }
  .main-sec h2 {
    text-align: center;
    color: #fff;
    font-size: 6rem;
    line-height: 1.5em;
    font-weight: normal;
    text-shadow: 3.5px 3.5px 2px rgba(0, 0, 0, .34);
  }
  .main-sec h2 .txt02 {
    display: block;
    font-size: 4.2rem;
    line-height: 1.4em;
    font-weight: bold;
  }

  /* K-connect */
  .about-sec {
    background: none;
  }
  .about-sec h2 {
    text-align: center;
    font-size: 6.4rem;
    line-height: 1.5em;
  }
  .about-box .img-box {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
  }
  .about-box .txt-box {
    width: 100%;
    padding: 0;
    text-align: center;
  }
  .about-box .txt-box p {
    font-size: 3.5rem;
    line-height: 1.5em;
    font-weight: bold;
  }
  .about-box .txt-box p + p {
    margin-top: 3rem;
  }

  /* お悩み */
  .worries-sec h2 {
    text-align: center;
    font-size: 5rem;
    line-height: 1.5em;
  }
  .worries-box .txt li {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 57rem;
    height: 11.5rem;
    margin-bottom: -2rem;
    padding-bottom: 1rem;          /* 下のしっぽ部分を除いた白地の中央に */
    justify-content: center;
    font-size: 2.4rem;
    line-height: 1.5em;
    letter-spacing: 0;
    white-space: nowrap;
    background: no-repeat center / contain;
    position: relative;
    z-index: 2;
  }
  .worries-box .txt li.l {
    background-image: url("../img/purchase/kc_fukidasi_a.png");
    padding-right: 3rem;           /* しっぽ（右下）側 */
  }
  .worries-box .txt li.r {
    background-image: url("../img/purchase/kc_fukidasi_b.png");
    padding-left: 3rem;            /* しっぽ（左下）側 */
  }
  .worries-box .icon {
    max-width: 40rem;
    margin: 3rem auto 0;
  }
  .worries-sec:after {
    content: "";
    display: block;
    width: 11rem;
    height: 5rem;
    margin: 3rem auto 0;
    background: url("../img/purchase/kc_arrow_dots.svg") no-repeat center / contain;
  }

  /* 選ばれる理由 */
  .reason-lead {
    justify-content: center;
    flex-wrap: nowrap;
  }
  .reason-lead p {
    font-size: 3rem;
    line-height: 1.5em;
    font-weight: bold;
    margin-right: 2rem;
  }
  .reason-lead .img {
    width: 13rem;
    flex-shrink: 0;
  }
  .reason-sec h2 {
    text-align: center;
    font-size: 5rem;
    line-height: 1.6em;
  }
  .reason-sec h2 span {
    font-size: 150%;
  }
  .reason-sec h2 span:first-child {
    padding-right: 1rem;
  }
  .reason-sec h2 span:last-child {
    padding: 0 1rem;
  }
  .reason-sec h2 .leaf {
    display: inline-block;
    width: 6rem;
    vertical-align: middle;
  }
  .reason-box .img-box, .reason-box .txt-box {
    width: 100%;
  }
  .reason-box .box03 .img-box img {
    width: 60%;
    margin: 0 auto;
  }
  .reason-box h3 {
    font-size: 4.6rem;
    line-height: 1.3em;
    font-weight: bold;
  }
  .reason-box .risk01, .reason-box .risk02 {
    text-align: center;
  }
  .reason-box .risk01 .flex-box {
    display: block;
  }
  .reason-box .risk01 h4 {
    max-width: 28rem;
    margin: 0 auto 2rem;
    font-size: 3rem;
    line-height: 2em;
    border-radius: 2rem;
    padding: 1rem;
  }
  .reason-box .risk01 ul {
    display: inline-block;
    text-align: left;
  }
  .reason-box .risk01 li {
    font-size: 2.6rem;
    line-height: 1.8em;
    font-weight: bold;
  }
  .reason-box .risk02 h4, .reason-box .tax-box h4 {
    font-size: 4rem;
    line-height: 1.2em;
    font-weight: bold;
  }
  .reason-box .risk02 p {
    font-weight: bold;
  }

  /* 売るなら今 */
  .rise-sec .wrap {
    padding: 0;
  }
  .rise-box {
    position: relative;
    height: 80vw;
    background: url("../img/purchase/kc_rise.jpg") no-repeat center / cover;
  }
  .rise-box h2 {
    padding: 5rem 5vw 0;
    font-weight: bold;
    line-height: 1;
  }
  .rise-box h2 span {
    display: block;
  }
  .rise-box .txt01 {
    font-size: 6rem;
    color: #fff;
    text-shadow: 1px 0 0 #1A6AFF, -1px 0 0 #1A6AFF, 0 1px 0 #1A6AFF, 0 -1px 0 #1A6AFF;
  }
  .rise-box .txt02 {
    font-size: 5rem;
    line-height: 1.1;
    padding: 3rem 0 4rem;
  }
  .rise-box .txt03 {
    display: inline-block !important;
    font-size: 9rem;
    color: #fff;
    text-shadow: 1px 0 0 #000, -1px 0 0 #000, 0 1px 0 #000, 0 -1px 0 #000;
  }
  .rise-box .txt03:after {
    content: "";
    display: inline-block;
    width: 10rem;
    height: 10rem;
    margin-left: 1rem;
    vertical-align: 2rem;
    background: url("../img/purchase/kc_rise_arrow.svg") no-repeat center / contain;
  }

  /* お客様の声 */
  .voice-sec h2 {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 5rem;
    line-height: 1.5em;
  }
  .voice-sec h2:before {
    content: "";
    display: block;
    width: 12rem;
    height: 12rem;
    margin-right: 2rem;
    background: url("../img/purchase/kc_voice.jpg") no-repeat center / contain;
  }
  .voice-box + .voice-box {
    margin-top: 5rem;
  }
  .voice-box .name {
    max-width: 38rem;
    margin-bottom: 2rem;
    padding: 1.8rem 5rem 1.8rem 2rem;
    font-size: 2rem;
    line-height: 1;
  }
  .voice-box .img-box, .voice-box .txt-box {
    width: 100%;
  }
  .voice-box h3 {
    color: #6E6E6E;
    font-size: 4rem;
    line-height: 1.5em;
    font-weight: bold;
    border-bottom: 1px dashed #999;
  }

  /* ご売却の流れ */
  .flow-box {
    padding: 4.5rem 5vw 5rem;   /* 上は見出しの行間ぶん（0.5rem）を引いて見た目を揃える */
  }
  .flow-box h2 {
    color: #fff;
    text-align: center;
    font-size: 6rem;
    line-height: 1.5em;
    margin-bottom: 5rem;
  }
  .flow-box .icon-box, .flow-box .txt-box {
    width: 100%;
  }
  .flow-box .icon-box {
    font-size: 4.4rem;
    line-height: 1.5em;
    font-weight: bold;
  }
  .flow-box h3 {
    font-size: 4.4rem;
    line-height: 1.5em;
    font-weight: bold;
    border-bottom: 3px solid #fff;
  }
  .flow-box.bg-white h3 {
    border-bottom-color: #000;
  }

  /* ワンストップ */
  .support-box {
    margin-top: 6rem;
  }
  .support-box .img-box, .support-box .txt-box {
    width: 100%;
  }
  .support-box .txt-box {
    text-align: center;
  }
  .support-box h3 {
    font-size: 3.4rem;
    line-height: 2em;
    font-weight: bold;
  }
  .support-box h3 span {
    display: block;
  }
  .support-box h3 .b {
    font-size: 200%;
    line-height: 1.5em;
  }
  .flow-sec .wrap {
    padding: 0 5vw;
  }

  /* 追従フッター：LINE・電話の2ボタン */
  .foot-cta {
    padding: 1.5rem 3vw calc(1.5rem + env(safe-area-inset-bottom));
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, .12);
  }
  .foot-cta ul {
    display: flex;
    gap: 2vw;
  }
  .foot-cta li {
    flex: 1;
    width: auto;
    margin: 0;
    display: block;
  }
  .foot-cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 10rem;
    border-radius: 999px;
    color: #fff;
    font-size: 2.5rem;
    font-weight: bold;
    letter-spacing: 0;
    white-space: nowrap;
    text-decoration: none;
  }
  .foot-cta .line a { background: #70E12C; }
  .foot-cta .tel a { background: #082F7B; }
  .foot-cta img {
    width: 3.8rem;
    height: auto;
    margin-right: .8rem;
  }
  .foot-cta .tel img {
    width: 3rem;
  }
  /* 追従フッターに隠れないよう、ページ最下部に余白 */
  .site-footer {
    padding-bottom: 14rem;
  }
}
