@charset "UTF-8";
/* リキッドレイアウト対応 */
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #4C4948;
}

html {
  font-size: 16px;
}

/* pcの電話番号発信対応 */
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  transition: all 0.4s ease;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
  list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
  max-width: 100%;
  display: block;
  width: 100%;
  height: auto;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
  margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
  filter: blur(10px);
}

/* フォームリセット */
input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

textarea {
  resize: vertical;
}

input[type=checkbox],
input[type=radio] {
  display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer;
}

select::-ms-expand {
  display: none;
}

/*
-----------------------------------
共通ナビ（売りたい/買いたい/LINE/Instagram バー）
全ページ共通パーツ / common-nav.php
売りたい・買いたいはドロワー付き（PC:ホバー / SP:タップ）
-----------------------------------
*/
.common-nav {
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .common-nav {
    display: none;
  }
}

.common-nav__list {
  display: flex;
  height: 3.75rem;
  background-color: #D4951A;
  border-radius: 10px;
}
@media screen and (max-width: 768px) {
  .common-nav__list {
    height: auto;
    flex-wrap: wrap;
  }
}

.common-nav__item {
  position: relative;
  flex: 1;
  display: flex;
}
.common-nav__item:not(:first-child)::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 2.5rem;
  background-color: #fff;
}
.common-nav__item > a {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .common-nav__item {
    flex: 1 0 50%;
  }
  .common-nav__item:nth-child(odd)::before {
    display: none;
  }
}

.common-nav__pop {
  position: absolute;
  bottom: calc(100% - 0.5rem);
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.1875;
  letter-spacing: 0.05em;
  color: #EC6C00;
  text-shadow: 2px 0 0 #fff, -2px 0 0 #fff, 0 2px 0 #fff, 0 -2px 0 #fff, 2px 2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, -2px -2px 0 #fff, 0 3px 3px rgba(0, 0, 0, 0.35);
}
@media screen and (max-width: 768px) {
  .common-nav__pop {
    font-size: 2.9333333333vw;
  }
}

.common-nav__icon {
  display: block;
  width: 30px;
  height: 30px;
}
.common-nav__icon svg {
  width: 100%;
  height: 100%;
}

/* ===== ドロワー ===== */
.common-nav__drawer {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 50;
  min-width: 100%;
  width: -moz-max-content;
  width: max-content;
  max-width: calc(100vw - 20px * 2);
  border-radius: 0 0 10px 10px;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: 0.25s ease;
}
@media screen and (max-width: 768px) {
  .common-nav__drawer {
    max-width: calc(100vw - 5.3333333333vw * 2);
  }
}

.common-nav__drawer-item + .common-nav__drawer-item {
  border-top: 1px solid rgba(255, 255, 255, 0.3);
}
.common-nav__drawer-item a {
  display: flex;
  align-items: center;
  min-height: 3.75rem;
  padding: 0.625rem 1.5rem;
  background-color: rgba(212, 149, 26, 0.6);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  white-space: nowrap;
  transition: background-color 0.25s ease;
}
.common-nav__drawer-item a:hover {
  background-color: #D4951A;
}
@media screen and (max-width: 768px) {
  .common-nav__drawer-item a {
    font-size: 4.2666666667vw;
    min-height: 13.3333333333vw;
  }
}

.common-nav__item.is-open .common-nav__drawer {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

@media (hover: hover) and (min-width: 769px) {
  .common-nav__item--has-drawer:hover .common-nav__drawer {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
/**** pc,spだし分け　*****/
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

/*****  タイトル系　*******/
h1,
h2 {
  font-weight: normal;
}

/***** innerなど余白 *****/
.inner {
  width: 100%;
  max-width: calc(1140px + 20px * 2);
  margin-inline: auto;
  padding-inline: 20px;
}
@media screen and (max-width: 768px) {
  .inner {
    padding-inline: 5.3333333333vw;
  }
}

/***** font ******/
.center {
  text-align: center;
}

/***** flex ******/
.flex {
  display: flex;
}
@media screen and (max-width: 768px) {
  .flex {
    flex-direction: column;
  }
}

/*
-----------------------------------
animation
-----------------------------------
*/
/*****スクロール時にふわっと**********/
.fadein {
  transform: translateY(100px);
  opacity: 0;
}

.fadein.scrollin {
  transform: unset;
  opacity: 1;
  transition: 1s;
}

.fadein.scrollin.delay200 {
  transition-delay: 0.2s;
}

/*
-----------------------------------
共通パーツ（サイワハウジング）
-----------------------------------
*/
/***** 見出しセット（英字Caveat + 日本語） *****/
.section-head {
  text-align: center;
}

.section-head__en {
  display: block;
  font-family: "Caveat", cursive;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #D4951A;
}
@media screen and (max-width: 768px) {
  .section-head__en {
    font-size: 4.2666666667vw;
  }
}

.section-head__ja {
  display: block;
  font-weight: 700;
  font-size: 1.625rem;
  line-height: 1.7692307692;
  letter-spacing: 0.1em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .section-head__ja {
    font-size: 5.3333333333vw;
  }
}

/***** 丸矢印（CSS: 円 + シェブロン） *****/
.arrow-circle {
  display: inline-block;
  flex-shrink: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 2px solid #D4951A;
  position: relative;
  transition: all 0.4s ease;
}
@media screen and (max-width: 768px) {
  .arrow-circle {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.arrow-circle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 47%;
  width: 6px;
  height: 6px;
  border-top: 2px solid #D4951A;
  border-right: 2px solid #D4951A;
  transform: translate(-50%, -50%) rotate(45deg);
}
.arrow-circle--fill {
  background-color: #D4951A;
  border-color: #D4951A;
}
.arrow-circle--fill::before {
  border-color: #fff;
}
.arrow-circle--green {
  background-color: #65A758;
  border-color: #65A758;
}
.arrow-circle--green::before {
  border-color: #fff;
}
.arrow-circle--sm {
  width: 20px;
  height: 20px;
  background-color: #D4951A;
  border-color: #D4951A;
}
.arrow-circle--sm::before {
  width: 4px;
  height: 4px;
  border-color: #fff;
}

/***** 詳細リンク（テキスト + 丸矢印） *****/
.detail-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .detail-link {
    font-size: 3.7333333333vw;
  }
}

/*
-----------------------------------
下層ページ共通パーツ（page/_ulPage.scss から移設）
-----------------------------------
*/
/***** ドット下線見出し *****/
.sec-title {
  text-align: center;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
  color: #4C4948;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.sec-title::after {
  content: "";
  display: block;
  min-width: 37.5rem;
  margin: 0.625rem auto 0;
  border-top: 3px dotted #D4951A;
}
.sec-title--lg {
  font-size: 2.25rem;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 768px) {
  .sec-title--lg {
    font-size: 6.9333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .sec-title {
    font-size: 5.3333333333vw;
  }
  .sec-title::after {
    min-width: 0;
    margin-top: 1.6vw;
  }
}

/***** 色帯ボックス（色分けカード群） *****
   親 .colorBoxWrapper（2個でも3個でも均等）／各箱 .colorBox(--orange/--green)。
   色帯見出し .colorBox__head は共通。中身テキストはページ側クラスで指定。 */
.colorBoxWrapper {
  display: flex;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .colorBoxWrapper {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}

.colorBox {
  display: flex;
  flex-direction: column;
  flex: 1;
  background-color: #fff;
  border: 4px solid #D4951A;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .colorBox {
    border-radius: 2.6666666667vw;
  }
}
.colorBox--green {
  border-color: #65A758;
}

.colorBox__head {
  text-align: center;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 1em;
  text-indent: 1em;
  padding: 0.875rem;
}
.colorBox--orange .colorBox__head {
  background-color: #D4951A;
}
.colorBox--green .colorBox__head {
  background-color: #65A758;
}
@media screen and (max-width: 768px) {
  .colorBox__head {
    font-size: 4.5333333333vw;
    padding: 3.2vw;
  }
}

.colorBox__body {
  position: relative;
  flex: 1;
  padding: 1.5625rem 2.5rem 2.1875rem;
}
@media screen and (max-width: 768px) {
  .colorBox__body {
    padding: 6.4vw;
  }
}

/***** 吹き出し見出し（金帯＋下向きノッチ） *****
   セクション見出しを金色の帯＋下三角で出す共通パーツ。インナー全幅で使う。 */
.fukidashi {
  position: relative;
  text-align: center;
  background-color: #D4951A;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
  padding: 0.75rem 2.5rem;
  border-radius: 1.875rem;
}
.fukidashi::after {
  content: "";
  position: absolute;
  bottom: -0.875rem;
  left: 50%;
  transform: translateX(-50%);
  border-left: 0.875rem solid transparent;
  border-right: 0.875rem solid transparent;
  border-top: 1rem solid #D4951A;
}
@media screen and (max-width: 768px) {
  .fukidashi {
    font-size: 4.8vw;
    padding: 3.2vw 6.4vw;
    border-radius: 11vw;
  }
}
.fukidashi--green {
  background-color: #65A758;
}
.fukidashi--green::after {
  border-top-color: #65A758;
}

/***** フロー（縦書きステップ。番号はCSS自動採番） *****
   .flow > .flow__step(--green) > .flow__label。ステップ数・文言は自由。 */
.flow {
  counter-reset: flow;
  display: flex;
  align-items: stretch;
  justify-content: space-around;
}
@media screen and (max-width: 768px) {
  .flow {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}

.flow__step {
  counter-increment: flow;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem 1.25rem 1.25rem;
  background-color: #fff;
  border: 5px solid #D4951A;
  border-radius: 8px;
}
@media screen and (max-width: 768px) {
  .flow__step {
    padding: 5.3333333333vw 5.3333333333vw;
    border: 0.8vw solid #D4951A;
  }
}
.flow__step::before {
  content: counter(flow);
  position: absolute;
  top: -0.875rem;
  left: 50%;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50%;
  background-color: #D4951A;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  padding-bottom: 0.0625rem;
}
@media screen and (max-width: 768px) {
  .flow__step::before {
    top: 50%;
    left: -4.2vw;
    transform: translateY(-50%);
    width: 7.4666666667vw;
    height: 7.4666666667vw;
    font-size: 3.7333333333vw;
    padding-bottom: 0.2666666667vw;
  }
}
.flow__step:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -0.75rem;
  top: 47%;
  width: 1rem;
  height: 1rem;
  border-top: 4px solid #D4951A;
  border-right: 4px solid #D4951A;
  transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 768px) {
  .flow__step:not(:last-child)::after {
    right: 46%;
    top: auto;
    bottom: -4.5vw;
    width: 4vw;
    height: 4vw;
    border-top: 0.8vw solid #D4951A;
    border-right: 0.8vw solid #D4951A;
    transform: translateX(-50%) rotate(135deg);
  }
}
.flow__step--green {
  border-color: #65A758;
}
.flow__step--green::before {
  background-color: #65A758;
}
.flow__step--green:not(:last-child)::after {
  border-color: #65A758;
}

.flow__label {
  writing-mode: vertical-rl;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .flow__label {
    writing-mode: horizontal-tb;
    font-size: 3.7333333333vw;
  }
}

/***** フロー詳細バリアント（縦書きラベルの代わりにタイトル＋説明文） *****
   .flow.flow--detail > .flow__step > .flow__title + .flow__text。番号は counter で自動採番。 */
.flow--detail {
  gap: 2.25rem;
}
@media screen and (max-width: 768px) {
  .flow--detail {
    gap: 7.4666666667vw;
  }
}
.flow--detail .flow__step {
  flex: 1;
  min-width: 0;
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .flow--detail .flow__step::before {
    top: -3.4666666667vw;
    left: 50%;
    transform: translateX(-50%);
  }
}

.flow__title {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3333333333;
  color: #4C4948;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 768px) {
  .flow__title {
    font-size: 4vw;
  }
}

.flow__text {
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .flow__text {
    font-size: 3.4666666667vw;
  }
}

/***** フロー横ラベル版（短い横書きラベル＋均等幅）。.flow.flow--row *****/
.flow--row .flow__step {
  flex: 1;
  min-width: 0;
}
.flow--row .flow__label {
  writing-mode: horizontal-tb;
  text-align: center;
  line-height: 1.3333333333;
}
@media screen and (max-width: 768px) {
  .flow--row .flow__label {
    writing-mode: horizontal-tb;
  }
}

/***** フロー下のnote帯（ダーク既定／--goldで金）。flowの直後に置く *****/
.flow-note {
  text-align: center;
  background-color: #4C4948;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
  padding: 1rem;
}
@media screen and (max-width: 768px) {
  .flow-note {
    font-size: 4.2666666667vw;
    border-radius: 2.1333333333vw;
    padding: 3.7333333333vw;
  }
}
.flow-note--gold {
  background-color: #D4951A;
}

/***** 金色のCTA帯（中央寄せ・角丸）。.band（--ctaで下marginなし） *****/
.band {
  text-align: center;
  background-color: #D4951A;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
  border-radius: 0.625rem;
  padding: 1rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .band {
    font-size: 3.7333333333vw;
    border-radius: 2.1333333333vw;
    padding: 3.7333333333vw;
  }
}

/***** 下層共通ヘッド（MV / 画像差し替えはimgのsrcだけ） *****/
.ulHead__img {
  display: block;
  width: 100%;
  height: 18.75rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .ulHead__img {
    height: 40vw;
  }
}

/***** 下層共通イントロ（ドット見出し＋金キャッチ＋リード文） *****
   .ulIntro > .sec-title + .ulIntro__catch + .ulIntro__text */
.ulIntro .sec-title::after {
  min-width: 25rem;
}
@media screen and (max-width: 768px) {
  .ulIntro .sec-title::after {
    min-width: 52.6315789474vw;
  }
}

.ulIntro__catch {
  margin-top: 2.5rem;
  text-align: center;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4666666667;
  letter-spacing: 0.1em;
  color: #D4951A;
}
@media screen and (max-width: 768px) {
  .ulIntro__catch {
    margin-top: 6.4vw;
    font-size: 4.8vw;
  }
}

.ulIntro__text {
  margin-top: 1.625rem;
  text-align: left;
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
  max-width: 49.1875rem;
  margin-inline: auto;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .ulIntro__text {
    margin-top: 4.2666666667vw;
    font-size: 3.7333333333vw;
  }
}

/***** FAQ アコーディオン（qa.php / 全ページ共通） *****/
.qa {
  padding: 3.125rem 0 4.375rem;
  background-color: #FDF9EE;
}
@media screen and (max-width: 768px) {
  .qa {
    padding: 10.6666666667vw 0;
  }
}

.qa__list {
  max-width: 46.875rem;
  margin: 2.5rem auto 0;
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 0.5rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .qa__list {
    margin-top: 6.4vw;
    padding: 1.0666666667vw 5.3333333333vw;
    border-radius: 2.6666666667vw;
  }
}

.qa__item {
  border-bottom: 1px solid #A5A4A4;
}
.qa__item:last-child {
  border-bottom: none;
}

.qa__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  max-width: 40.625rem;
  margin-inline: auto;
  padding: 1.3125rem 0;
  text-align: left;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .qa__q {
    font-size: 3.7333333333vw;
    padding: 4.8vw 0;
  }
}

.qa__q-text {
  flex: 1;
}

.qa__icon {
  position: relative;
  flex-shrink: 0;
  width: 1.5rem;
  height: 1.5rem;
}
.qa__icon::before, .qa__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background-color: #D4951A;
}
.qa__icon::before {
  width: 1.25rem;
  height: 2px;
  transform: translate(-50%, -50%);
}
.qa__icon::after {
  width: 2px;
  height: 1.25rem;
  transform: translate(-50%, -50%);
  transition: transform 0.3s ease;
}
.qa__item.is-open .qa__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
@media screen and (max-width: 768px) {
  .qa__icon {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
  .qa__icon::before {
    width: 4.2666666667vw;
  }
  .qa__icon::after {
    height: 4.2666666667vw;
  }
}

.qa__a {
  max-width: 40.625rem;
  margin-inline: auto;
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows 0.4s ease;
}
.qa__item.is-open .qa__a {
  grid-template-rows: 1fr;
}

.qa__a-inner {
  overflow: hidden;
  min-height: 0;
  padding: 0;
  font-size: 1rem;
  line-height: 1.75;
  color: #4C4948;
  opacity: 0;
  visibility: hidden;
  transition: padding 0.4s ease, opacity 0.2s ease, visibility 0s linear 0.4s;
}
.qa__item.is-open .qa__a-inner {
  padding: 0.5rem 0 1.75rem;
  opacity: 1;
  visibility: visible;
  transition: padding 0.4s ease, opacity 0.2s ease 0.12s, visibility 0s linear 0s;
}
.qa__a-inner a {
  color: #D4951A;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.qa__a-inner img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-top: 1rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .qa__a-inner {
    font-size: 3.7333333333vw;
  }
  .qa__item.is-open .qa__a-inner {
    padding: 1.6vw 0 5.8666666667vw;
  }
  .qa__a-inner img {
    margin-top: 3.7333333333vw;
    border-radius: 2.1333333333vw;
  }
}

/*
-----------------------------------
お問い合わせCTA（全ページ共通パーツ / cta.php）
-----------------------------------
*/
.cta {
  padding: 3.75rem 0 5.625rem;
  background: #cfd8dd no-repeat center/cover url(../images/top/cta-bg@2x.jpg);
}
@media screen and (max-width: 768px) {
  .cta {
    padding: 10.6666666667vw 0;
  }
}

.cta__btns {
  display: flex;
  justify-content: center;
  gap: 3.75rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .cta__btns {
    flex-direction: column;
    align-items: center;
    gap: 5.3333333333vw;
    margin-top: 5.3333333333vw;
  }
}

.cta__btn {
  width: 100%;
  max-width: 33.75rem;
}
.cta__btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  min-height: 6.25rem;
  padding: 0.625rem 3.75rem;
  border-radius: 10px;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
}
.cta__btn a:hover {
  opacity: 0.85;
}
@media screen and (max-width: 768px) {
  .cta__btn a {
    font-size: 3.7333333333vw;
    min-height: 13.3333333333vw;
    padding: 1.3333333333vw 5.3333333333vw;
    gap: 2.6666666667vw;
    border-radius: 1.3333333333vw;
  }
}
.cta__btn--mail a {
  background-color: #D4951A;
}
.cta__btn--line a {
  background-color: #65A758;
}

.cta__icon {
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 2.5rem;
  width: 3.25rem;
}
@media screen and (max-width: 768px) {
  .cta__icon {
    width: 5.3333333333vw;
    left: 5.3333333333vw;
  }
}

.cta__arrow {
  position: absolute;
  right: 1.25rem;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .cta__arrow {
    right: 2.6666666667vw;
  }
}
.cta__arrow.arrow-circle {
  background-color: #fff;
  border-color: #fff;
  width: 2.25rem;
  height: 2.25rem;
}
@media screen and (max-width: 768px) {
  .cta__arrow.arrow-circle {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
}
.cta__arrow.arrow-circle::before {
  border-color: currentColor;
  left: 44%;
  width: 12px;
  height: 12px;
}
@media screen and (max-width: 768px) {
  .cta__arrow.arrow-circle::before {
    width: 1.6vw;
    height: 1.6vw;
  }
}

.cta__btn--mail .cta__arrow {
  color: #D4951A;
}

.cta__btn--line .cta__arrow {
  color: #65A758;
}

.cta__btn a:hover .cta__arrow {
  transform: translateY(-50%) scale(1.2);
}

/*
-----------------------------------
フッター（CENTURY21 サイワハウジング / 0013）
-----------------------------------
*/
.footer {
  padding: 3.125rem 0 6.25rem;
  background-color: #3a3a3a;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .footer {
    padding: 13.3333333333vw 0 8vw;
  }
}

/* 地図 + 会社情報 */
.footer__main {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2.5rem;
  padding-bottom: 1.875rem;
  margin-bottom: 1.375rem;
  border-bottom: 2px dotted #fff;
}
@media screen and (max-width: 768px) {
  .footer__main {
    flex-direction: column-reverse;
    gap: 6.4vw;
  }
}

.footer__head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .footer__head {
    flex-direction: column;
    gap: 4.2666666667vw;
  }
}

.footer__logo {
  width: 18.75rem;
}
@media screen and (max-width: 768px) {
  .footer__logo {
    width: 40vw;
  }
}

.footer__sns {
  display: flex;
  align-items: center;
  gap: 1.125rem;
}
.footer__sns a {
  display: block;
  width: 30px;
  height: 30px;
}
@media screen and (max-width: 768px) {
  .footer__sns a {
    width: 4vw;
    height: 4vw;
  }
}
.footer__sns a:hover {
  opacity: 0.7;
}
.footer__sns img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.footer__map {
  flex-shrink: 0;
  width: 33.125rem;
  max-width: 100%;
  border-radius: 1.25rem;
  aspect-ratio: 530/340;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .footer__map {
    width: 100%;
    border-radius: 5.3333333333vw;
  }
}
.footer__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 530/340;
  border: 0;
}

.footer__info {
  flex: 1;
}

.footer__info-head {
  display: flex;
  align-items: center;
  gap: 2.25rem;
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  .footer__info-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
    margin-bottom: 5.3333333333vw;
  }
}

.footer__company {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  position: relative;
  padding-right: 2.25rem;
}
@media screen and (max-width: 768px) {
  .footer__company {
    font-size: 3.2vw;
    padding-right: 0;
  }
}
.footer__company::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 2.5em;
  background-color: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 768px) {
  .footer__company::after {
    display: none;
  }
}

.footer__address {
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .footer__address {
    font-size: 3.2vw;
  }
}

.footer__catch {
  margin-top: 1rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .footer__catch {
    font-size: 4.2666666667vw;
    margin-top: 0;
  }
}

.footer__desc {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .footer__desc {
    font-size: 3.4666666667vw;
  }
}

/* 下段：ナビ */
.footer__nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  gap: 2.5rem;
  margin-bottom: 10.4375rem;
}
@media screen and (max-width: 768px) {
  .footer__nav {
    flex-direction: column;
    gap: 2.6666666667vw 8vw;
    margin-bottom: 16vw;
  }
}

.footer__nav-col:last-child {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-col:last-child {
    margin-top: 0;
  }
}

.footer__nav-head {
  margin-bottom: 0.75rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .footer__nav-head {
    font-size: 3.2vw;
    margin-bottom: 2.1333333333vw;
  }
}
.footer__nav-head--mt {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-head--mt {
    margin-top: 2.6666666667vw;
  }
}
.footer__nav-head a:hover {
  opacity: 0.7;
}

.footer__nav-list li {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-list li {
    font-size: 3.2vw;
    margin-bottom: 2.6666666667vw;
  }
}
.footer__nav-list a::before {
  content: "- ";
}
.footer__nav-list a:hover {
  opacity: 0.7;
}

.footer__nav-cols2 {
  display: flex;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .footer__nav-cols2 {
    gap: 6.4vw;
  }
}

.footer__copy {
  margin-top: 3.125rem;
  font-size: 0.75rem;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .footer__copy {
    font-size: 2.6666666667vw;
    margin-top: 8vw;
  }
}

/*
-----------------------------------
ヘッダー（SAIWA HOUSING）
-----------------------------------
*/
.header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  background-color: #fff;
}
.header .inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100px;
}
@media screen and (max-width: 768px) {
  .header .inner {
    height: 3.75rem;
    padding-inline: 1.25rem;
  }
}

.header__logo {
  line-height: 1;
}
.header__logo a {
  display: block;
}
.header__logo img {
  width: auto;
  height: 50px;
}
@media screen and (max-width: 768px) {
  .header__logo img {
    height: 1.5rem;
  }
}

/***** ハンバーガー（ゴールド3本線） *****/
.header__hamburger {
  position: relative;
  width: 36px;
  height: 26px;
  cursor: pointer;
  z-index: 1100;
}
@media screen and (max-width: 768px) {
  .header__hamburger {
    width: 25px;
    height: 20px;
  }
}
.header__hamburger span {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 3px;
  background-color: #D4951A;
  border-radius: 2px;
  transition: 0.3s ease;
}
.header__hamburger span:nth-child(1) {
  top: 0;
}
.header__hamburger span:nth-child(2) {
  top: 50%;
  transform: translateY(-50%);
}
.header__hamburger span:nth-child(3) {
  bottom: 0;
}
.header__hamburger.active span {
  background-color: #D4951A;
}
.header__hamburger.active span:nth-child(1) {
  top: 50%;
  transform: translateY(-50%) rotate(36deg);
}
.header__hamburger.active span:nth-child(2) {
  opacity: 0;
}
.header__hamburger.active span:nth-child(3) {
  bottom: auto;
  top: 50%;
  transform: translateY(-50%) rotate(-36deg);
}

body.is-fixed {
  overflow: hidden;
}

/***** オーバーレイメニュー（全体ふわっと表示） *****/
.header__nav {
  position: fixed;
  inset: 0;
  z-index: 1050;
  background-color: #3a3a3a;
  color: #fff;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.4s ease;
}
.header__nav.active {
  opacity: 1;
  visibility: visible;
}

.header__nav-inner {
  display: flex;
  justify-content: center;
  gap: 5rem;
  width: 100%;
  max-width: calc(1140px + 20px * 2);
  margin-inline: auto;
  padding: 11.875rem 20px 5rem;
}
@media screen and (max-width: 768px) {
  .header__nav-inner {
    flex-direction: column;
    gap: 2.6666666667vw;
    padding: 13.3333333333vw 5.3333333333vw 16vw;
  }
}

/* 左ブロック：ロゴ + SNS + CTA */
.header__nav-left {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .header__nav-left {
    display: contents;
  }
}

.header__nav-logo {
  width: 18.75rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .header__nav-logo {
    width: 40vw;
    order: 1;
    margin: 0 auto 1.875rem;
  }
}
.header__nav-logo img {
  width: 100%;
  height: auto;
}

.header__nav-sns {
  margin-top: 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .header__nav-sns {
    order: 3;
  }
}
.header__nav-sns a {
  display: block;
  width: 30px;
  height: 30px;
}

.header__nav-cta {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .header__nav-cta {
    order: 4;
    margin-top: 1.25rem;
  }
}
.header__nav-cta li + li {
  margin-top: 1rem;
}
.header__nav-cta a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18.75rem;
  max-width: 100%;
  min-height: 3.5rem;
  padding: 0.5rem 2.75rem;
  border-radius: 6px;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4375;
}
.header__nav-cta a:hover {
  opacity: 0.85;
}
@media screen and (max-width: 768px) {
  .header__nav-cta a {
    margin: 0 auto;
  }
}

.header__nav-btn--mail a {
  background-color: #D4951A;
}

.header__nav-btn--line a {
  background-color: #65A758;
}

.header__nav-btn-icon {
  position: absolute;
  top: 50%;
  left: 1.125rem;
  transform: translateY(-50%);
  width: 1.5rem;
  display: grid;
  place-items: center;
}
.header__nav-btn-icon svg,
.header__nav-btn-icon img {
  width: 100%;
  height: auto;
}

.header__nav-btn-arrow {
  position: absolute;
  right: 0.875rem;
  top: 50%;
  transform: translateY(-50%);
}
.header__nav-btn-arrow.arrow-circle {
  width: 1.25rem;
  height: 1.25rem;
  background-color: #fff;
  border-color: #fff;
}
.header__nav-btn-arrow.arrow-circle::before {
  border-color: currentColor;
}

.header__nav-btn--mail .header__nav-btn-arrow {
  color: #D4951A;
}

.header__nav-btn--line .header__nav-btn-arrow {
  color: #65A758;
}

/* 右ブロック：ナビ3列 */
.header__nav-cols {
  display: flex;
  gap: 3.125rem;
}
@media screen and (max-width: 768px) {
  .header__nav-cols {
    order: 2;
    gap: 1.3333333333vw 10.6666666667vw;
    flex-wrap: wrap;
  }
}

.header__nav-head {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}
.header__nav-head a:hover {
  opacity: 0.7;
}

.header__nav-list li {
  font-size: 1rem;
  line-height: 1.5;
  margin-bottom: 0.875rem;
}
.header__nav-list a {
  display: inline-block;
}
.header__nav-list a::before {
  content: "- ";
}
.header__nav-list a:hover {
  opacity: 0.7;
}

/*
===================================================
トップページ（front-page.php）
基準幅 PC:1600 / インナー1140(+padding20=1180) / SP:375
===================================================
*/
/* =============== MV =============== */
.top-mv {
  display: grid;
  place-items: center;
  height: 37.5rem;
  padding-inline: 20px;
  background: #F2F2F2 no-repeat center/cover url(../images/top/mv@2x.jpg);
}
@media screen and (max-width: 768px) {
  .top-mv {
    height: 112vw;
    padding-inline: 5.3333333333vw;
    margin-bottom: 8vw;
  }
}

.top-mv__inner {
  width: 100%;
}

.top-mv__catch {
  font-size: 2.5rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-align: center;
  color: #fff;
  text-shadow: 0 0 16px #003260;
}
@media screen and (max-width: 768px) {
  .top-mv__catch {
    font-size: 5.3333333333vw;
  }
}

#top .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 3.5rem;
}

/* =============== お悩み別サービス =============== */
.top-service {
  padding-bottom: 4.375rem;
}
@media screen and (max-width: 768px) {
  .top-service {
    padding-bottom: 13.3333333333vw;
  }
}

.top-service__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.875rem;
}
@media screen and (max-width: 768px) {
  .top-service__list {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
  }
}

.top-service__item {
  background-color: #F9ECCD;
  border-radius: 10px;
  transition: all 0.3s ease;
}
.top-service__item--green {
  background-color: #E8F2E6;
}
.top-service__item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 1.625rem 1.25rem 1.25rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .top-service__item a {
    padding: 5.3333333333vw 5.3333333333vw 8vw;
  }
}
.top-service__item:hover {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.top-service__item:hover .arrow-circle {
  transform: scale(1.2);
}

.top-service__title {
  position: relative;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #D4951A;
  padding-bottom: 1.0625rem;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 768px) {
  .top-service__title {
    font-size: 4.8vw;
    padding-bottom: 2.6666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.top-service__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: calc(100% + 2em);
  min-width: 11.5625rem;
  height: 0;
  border-top: 3px dotted #D4951A;
}
@media screen and (max-width: 768px) {
  .top-service__title::after {
    min-width: 49.3333333333vw;
  }
}
.top-service__item--green .top-service__title {
  color: #65A758;
}
.top-service__item--green .top-service__title::after {
  border-top-color: #65A758;
}

.top-service__desc {
  font-size: 1rem;
  line-height: 1.5;
  color: #000;
  margin-bottom: 1.125rem;
}
@media screen and (max-width: 768px) {
  .top-service__desc {
    font-size: 3.7333333333vw;
  }
}

.top-service__img {
  width: 100%;
  max-width: 20rem;
  margin-inline: auto;
  aspect-ratio: 320/170;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top-service__img {
    max-width: 85.3333333333vw;
    border-radius: 2.6666666667vw;
  }
}
.top-service__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-service__more {
  margin-top: auto;
  padding-top: 1rem;
}
@media screen and (max-width: 768px) {
  .top-service__more {
    padding-top: 4.2666666667vw;
  }
}

/* =============== おすすめ物件 =============== */
.top-recommend {
  padding: 3.75rem 0 4.375rem;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .top-recommend {
    padding: 8vw 0 8vw;
  }
}

.top-recommend__lead {
  text-align: center;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .top-recommend__lead {
    font-size: 3.4666666667vw;
  }
}

.top-recommend__slider {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .top-recommend__slider {
    margin-top: 5.3333333333vw;
  }
}

.top-recommend__demo[hidden] {
  display: none;
}

.top-recommend__demo .swiper-wrapper {
  padding-top: 0.625rem;
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  .top-recommend__demo .swiper-wrapper {
    padding-top: 2.6666666667vw;
    padding-bottom: 13.3333333333vw;
  }
}
.top-recommend__demo .swiper-slide {
  width: 20rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .top-recommend__demo .swiper-slide {
    width: 74.6666666667vw;
    height: auto;
  }
}

.top-recommend__card {
  position: relative;
  height: 100%;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 1px 2px 2px rgba(13, 19, 26, 0.2);
  overflow: hidden;
}
.top-recommend__card:hover .top-recommend__arrow {
  transform: scale(1.2);
}

.top-recommend__name {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 2.5rem;
  padding-inline: 0.75rem;
  background-color: #82807F;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.top-recommend__img {
  position: relative;
  aspect-ratio: 320/200;
}
.top-recommend__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-recommend__badge {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  background-color: #D4951A;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  border-radius: 18px;
  padding: 0.125rem 0.875rem;
}

.top-recommend__meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0.625rem;
  padding: 1rem 1.25rem 0;
}

.top-recommend__spec {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: #4C4948;
}

.top-recommend__price {
  font-size: 1rem;
  font-weight: 700;
  line-height: 2;
  color: #D4951A;
  white-space: nowrap;
}

.top-recommend__point {
  position: relative;
  font-family: "Caveat", cursive;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #D4951A;
  padding: 1.25rem 1.25rem 0.5rem;
}
.top-recommend__point::after {
  content: "";
  position: absolute;
  left: 1.25rem;
  bottom: 0;
  width: 4.5625rem;
  height: 1px;
  background-color: #D4951A;
}

.top-recommend__text {
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
  padding: 0.625rem 1.25rem 3.375rem;
}

.top-recommend__arrow {
  position: absolute;
  right: 0.9375rem;
  bottom: 0.9375rem;
}

.top-recommend__pagination.swiper-pagination {
  bottom: 0.5rem;
  text-align: center;
}
.top-recommend__pagination.swiper-pagination .swiper-pagination-bullet-active {
  background-color: #D4951A;
}

/* ===== CENTURY21 物件配信(tksn / des73) を新デザイン風に整形 =====
   ※C21が出力する .home_ranking-* マークアップにスタイルを当てる。
   実描画は本番(saiwahousing.jp)同一オリジンのみ。構造はC21側依存のため要本番調整。 */
.top-recommend .tksn .swiper-container {
  overflow: hidden;
}
.top-recommend .tksn .swiper-slide {
  box-sizing: border-box;
  width: 20rem;
  height: auto;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 1px 2px 2px rgba(13, 19, 26, 0.2);
  overflow: hidden;
  vertical-align: top;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .top-recommend .tksn .swiper-slide {
    width: 74.6666666667vw;
  }
}
.top-recommend .tksn .swiper {
  overflow: hidden;
}
.top-recommend .tksn .swiper-wrapper {
  padding-top: 0.625rem;
  padding-bottom: 3.125rem;
}
.top-recommend .home_ranking-list_img {
  position: relative;
  margin: 0;
  aspect-ratio: 320/200;
  overflow: hidden;
}
.top-recommend .home_ranking-list_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-recommend .top-recommend__new {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  z-index: 3;
  padding: 0.3125rem 0.75rem;
  background-color: #D4951A;
  border-radius: 0.375rem;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
}
.top-recommend .home_ranking-list_detail_date {
  position: absolute;
  top: auto;
  left: 0;
  bottom: 0;
  z-index: 2;
  width: 100%;
  padding: 0.25rem 0.625rem;
  background-color: #fff4db;
  color: #D4951A;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.top-recommend .home_ranking-list_detail {
  position: relative;
  margin: 0;
  padding: 1rem 1.25rem 0;
}
.top-recommend .home_ranking-list_detail_area {
  display: block;
  margin: -1rem -1.25rem 0.75rem;
  padding: 0.5rem 1.25rem;
  background-color: #707070 !important;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  width: auto;
}
.top-recommend .home_ranking-list_detail_price {
  font-size: 1.375rem;
  font-weight: 700;
  color: #D4951A;
}
.top-recommend .home_ranking-list_detail_sub-price {
  font-size: 1rem;
  font-weight: 700;
  color: #D4951A;
}
.top-recommend .home_ranking-kotsu_info {
  display: block;
  font-size: 0.875rem;
  line-height: 1.5714285714;
  color: #4C4948;
}
.top-recommend .home_ranking-kotsu_info::before, .top-recommend .home_ranking-kotsu_info::after {
  content: none;
}
.top-recommend .rec-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.625rem;
  text-align: left;
}
.top-recommend .rec-meta__main {
  min-width: 0;
}
.top-recommend .rec-meta__type {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: #4C4948;
}
.top-recommend .rec-meta__price {
  flex-shrink: 0;
  text-align: right;
  white-space: nowrap;
}
.top-recommend .home_ranking-list_point_contents {
  width: 100%;
}
.top-recommend img.new {
  display: none;
}
.top-recommend .home_ranking-list_point {
  padding: 0rem 1.25rem 0.3125rem;
}
.top-recommend .home_ranking-list_point_title {
  display: block;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid rgba(212, 149, 26, 0.4);
  font-family: "Caveat", cursive;
  font-weight: 700;
  font-size: 1.25rem;
  color: #D4951A;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 10px 6px;
}
.top-recommend .home_ranking-list_point_staff {
  display: none;
}
.top-recommend .tksn .swiper-slide > a.syosaia {
  display: block;
  width: 1.875rem;
  height: 1.875rem;
  margin: auto 1.25rem 0.625rem auto;
  border-radius: 50%;
  border: 2px solid #D4951A;
  position: relative;
}
.top-recommend .tksn .swiper-slide > a.syosaia::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 47%;
  width: 0.5rem;
  height: 0.5rem;
  border-top: 2px solid #D4951A;
  border-right: 2px solid #D4951A;
  transform: translate(-50%, -50%) rotate(45deg);
}
.top-recommend .home_ranking-list_btn {
  display: none;
}
.top-recommend .syosaia {
  color: inherit;
  text-decoration: none;
}

/* =============== エリアから探す =============== */
.top-area {
  padding: 3.125rem 0 5rem;
}
@media screen and (max-width: 768px) {
  .top-area {
    padding: 8vw 0 8vw;
  }
}

.top-area__body {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .top-area__body {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}

.top-area__head {
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .top-area__head {
    margin-bottom: 5.3333333333vw;
  }
}

.top-area__left {
  flex-shrink: 0;
  display: none;
}

/* --- 地図（2色エリア・テキスト中央寄せ） --- */
.top-area__map {
  display: flex;
  gap: 0.5rem;
  width: 36.25rem;
}
@media screen and (max-width: 768px) {
  .top-area__map {
    width: 100%;
  }
}

.top-area__map-left {
  width: 16.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-area__map-left {
    width: auto;
    flex: 1;
    gap: 1.0666666667vw;
  }
}

.top-area__cities {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-area__cities {
    gap: 1.0666666667vw;
  }
}

.top-area__row3 {
  display: flex;
  gap: 0.5rem;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .top-area__row3 {
    gap: 1.0666666667vw;
  }
}
.top-area__row3 .top-area__block {
  flex: 1;
  min-height: 0;
}

.top-area__map-right {
  flex: 1;
  display: flex;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-area__map-right {
    gap: 1.0666666667vw;
  }
}

.top-area__col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-area__col {
    gap: 1.0666666667vw;
  }
}

.top-area__col-sub {
  display: flex;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .top-area__col-sub {
    gap: 1.0666666667vw;
  }
}
.top-area__col-sub .top-area__block {
  min-height: 7.75rem;
}
@media screen and (max-width: 768px) {
  .top-area__col-sub .top-area__block {
    min-height: 18.6666666667vw;
  }
}
.top-area__col-sub .top-area__block:nth-child(1) {
  flex: 56;
}
.top-area__col-sub .top-area__block:nth-child(2) {
  flex: 88;
}

.top-area__block {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-height: 7.25rem;
  border-radius: 10px;
  background-color: #D4951A;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.1875;
}
@media screen and (max-width: 768px) {
  .top-area__block {
    border-radius: 1.3333333333vw;
    font-size: 3.7333333333vw;
    min-height: 18.6666666667vw;
  }
}
.top-area__block--light {
  background-color: #EBBF58;
}
.top-area__block--lg {
  min-height: 15rem;
}
@media screen and (max-width: 768px) {
  .top-area__block.sp-tate {
    writing-mode: vertical-lr;
  }
}

/* --- 検索方法 --- */
@media screen and (max-width: 768px) {
  .top-area__search {
    width: 100%;
    margin-top: 0;
  }
}

.top-area__cards {
  display: flex;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .top-area__cards {
    gap: 2.6666666667vw;
  }
}

.top-area__card {
  position: relative;
  flex: 1;
  text-align: center;
  max-width: 15rem;
}
@media screen and (max-width: 768px) {
  .top-area__card {
    max-width: 100%;
  }
}
.top-area__card:hover .arrow-circle, .top-area__card.is-open .arrow-circle {
  transform: rotate(90deg);
}

.top-area__card-inner {
  display: block;
  background-color: #ededed;
  border-radius: 10px;
  overflow: hidden;
  padding-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .top-area__card-inner {
    border-radius: 1.3333333333vw;
    padding-bottom: 1.6vw;
    cursor: pointer;
  }
}

.top-area__card-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 20;
  display: flex;
  width: 100%;
  background-color: #3a3a3a;
  border-radius: 0 0 10px 10px;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  transition: 0.25s ease;
}
@media screen and (max-width: 768px) {
  .top-area__card-menu {
    flex-direction: column;
    border-radius: 0 0 1.3333333333vw 1.3333333333vw;
  }
}
.top-area__card-menu li {
  flex: 1;
}
.top-area__card-menu li + li {
  border-left: 1px solid rgba(255, 255, 255, 0.3);
}
@media screen and (max-width: 768px) {
  .top-area__card-menu li + li {
    border-left: none;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
  }
}
.top-area__card-menu a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.5rem 0.125rem;
  color: #fff;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0;
  white-space: nowrap;
}
.top-area__card-menu a:hover {
  background-color: #D4951A;
}
@media screen and (max-width: 768px) {
  .top-area__card-menu a {
    min-height: 4vw;
    font-size: 2.9333333333vw;
  }
}

.top-area__card.is-open .top-area__card-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

@media (hover: hover) and (min-width: 769px) {
  .top-area__card:hover .top-area__card-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
.top-area__card-img {
  aspect-ratio: 240/110;
}
.top-area__card-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-area__card-en {
  font-family: "Caveat", cursive;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  letter-spacing: 0.05em;
  color: #D4951A;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .top-area__card-en {
    font-size: 3.2vw;
    margin-top: 1.6vw;
  }
}

.top-area__card-ja {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .top-area__card-ja {
    font-size: 3.7333333333vw;
  }
}
@media screen and (max-width: 768px) {
  .top-area__card-ja .small {
    display: block;
    font-size: 2.6666666667vw;
    line-height: 1;
  }
}

.top-area__card .arrow-circle {
  margin: 0.625rem auto 0;
}

.top-area__keyword {
  margin-top: 1.5rem;
  text-align: center;
}

.top-area__form {
  display: flex;
  height: 4.125rem;
  margin-top: 0.625rem;
  border: 1px solid #A5A4A4;
  border-radius: 10px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top-area__form {
    height: 10.6666666667vw;
    border-radius: 1.3333333333vw;
  }
}

.top-area__input {
  flex: 1;
  min-width: 0;
  border: none;
  padding-inline: 1.25rem;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 768px) {
  .top-area__input {
    font-size: 3.7333333333vw;
  }
}
.top-area__input:focus {
  outline: none;
}

.top-area__submit {
  flex-shrink: 0;
  width: 4.125rem;
  border: none;
  background-color: #D4951A;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .top-area__submit {
    width: 10.6666666667vw;
  }
}
.top-area__submit svg {
  width: 32px;
  height: 32px;
}
@media screen and (max-width: 768px) {
  .top-area__submit svg {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}

/* =============== 種別から探す =============== */
.top-type {
  padding: 3.75rem 0 4.375rem;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .top-type {
    padding: 8vw 0;
  }
}

.top-type__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .top-type__list {
    gap: 2.6666666667vw;
  }
}

.top-type__item {
  width: 12.5rem;
}
.top-type__item--gap {
  margin-left: 2.5rem;
}
.top-type__item a {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  padding: 1.75rem 0.625rem 1.625rem;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 1px 2px 2px rgba(13, 19, 26, 0.2);
  overflow: hidden;
}
.top-type__item a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  background-color: #D4951A;
}
.top-type__item--green a::after {
  background-color: #65A758;
}
@media screen and (max-width: 768px) {
  .top-type__item {
    width: 27vw;
  }
  .top-type__item--gap {
    margin-left: 0;
  }
}

.top-type__icon {
  display: grid;
  place-items: center;
  height: 5.625rem;
}
@media screen and (max-width: 768px) {
  .top-type__icon {
    height: 10.6666666667vw;
  }
}
.top-type__icon img {
  width: auto;
  max-width: 6.875rem;
  max-height: 5.625rem;
}
@media screen and (max-width: 768px) {
  .top-type__icon img {
    max-width: 10.6666666667vw;
    max-height: 10.6666666667vw;
  }
}

.top-type__label {
  margin-top: 0.625rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .top-type__label {
    font-size: 3.2vw;
  }
}

.top-type__rent {
  display: flex;
  gap: 1.875rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .top-type__rent {
    flex-direction: column;
    gap: 5.3333333333vw;
    margin-top: 5.3333333333vw;
  }
}

.top-type__rent-box {
  flex: 1;
}

.top-type__rent-label {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.625rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .top-type__rent-label {
    font-size: 3.2vw;
    margin-bottom: 2.6666666667vw;
    gap: 1.0666666667vw;
  }
}

.top-type__rent-icon {
  flex-shrink: 0;
  width: 1.875rem;
  height: 1.875rem;
  display: grid;
  place-items: center;
}
@media screen and (max-width: 768px) {
  .top-type__rent-icon {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.top-type__rent-icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.top-type__rent-inner {
  position: relative;
  padding: 1.25rem 1rem 1.625rem;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 1px 2px 2px rgba(13, 19, 26, 0.2);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top-type__rent-inner {
    padding: 2.6666666667vw 2.1333333333vw 4vw;
    border-radius: 1.3333333333vw;
  }
}
.top-type__rent-inner::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 10px;
  background-color: #D4951A;
}

.top-type__rent-prices {
  display: flex;
}
.top-type__rent-prices li {
  flex: 1;
  text-align: center;
}
.top-type__rent-prices li:not(:first-child) {
  border-left: 1px solid #dcdcdc;
}

.top-type__rent-price {
  display: block;
  padding: 0.25rem 0;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .top-type__rent-price {
    font-size: 3.2vw;
  }
}

/* =============== はじめてご相談される方へ =============== */
.top-intro {
  padding: 3.75rem 0 4.375rem;
  background-color: #fdf9ee;
}
@media screen and (max-width: 768px) {
  .top-intro {
    padding: 8vw 0 5.3333333333vw;
  }
}

.top-intro__body {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.125rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 1140px) {
  .top-intro__body .top-intro__img {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .top-intro__body {
    flex-direction: column;
    align-items: stretch;
    gap: 8vw;
    margin-top: 5.3333333333vw;
  }
}

.top-intro__img {
  flex-shrink: 0;
  width: 21.875rem;
  aspect-ratio: 350/550;
  overflow: hidden;
}
.top-intro__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .top-intro__img {
    aspect-ratio: 350/360;
    width: 93.3333333333vw;
  }
}

.top-intro__content {
  flex: 1;
}

.top-intro__catch {
  font-size: 2.125rem;
  font-weight: 700;
  line-height: 1.2941176471;
  letter-spacing: 0.1em;
  color: #D4951A;
  text-align: center;
  margin-bottom: 5.625rem;
}
@media screen and (max-width: 768px) {
  .top-intro__catch {
    font-size: 4.8vw;
    margin-bottom: 10.6666666667vw;
  }
}

.top-intro__text {
  margin-top: 1.5rem;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #4C4948;
  text-align: center;
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .top-intro__text {
    font-size: 3.2vw;
    margin-top: 2.6666666667vw;
    margin-bottom: 8vw;
  }
}

.top-intro__line {
  display: block;
  width: 43.75rem;
  max-width: 100%;
  margin-inline: auto;
  padding-bottom: 0.875rem;
  line-height: 1.6666666667;
  background-image: linear-gradient(to right, #D4951A 0 10px, transparent 10px 14px);
  background-repeat: repeat-x;
  background-size: 14px 2px;
  background-position: left bottom;
}
@media screen and (max-width: 768px) {
  .top-intro__line {
    padding-bottom: 1.3333333333vw;
    width: 93.3333333333vw;
  }
}
.top-intro__line + .top-intro__line {
  margin-top: 0.875rem;
}
@media screen and (max-width: 768px) {
  .top-intro__line + .top-intro__line {
    margin-top: 2.6666666667vw;
  }
}

.top-intro__btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 43.75rem;
  max-width: 100%;
  min-height: 2.75rem;
  margin: 1.875rem auto 0;
  padding: 0.5rem 3.125rem;
  background-color: #D4951A;
  border-radius: 30px;
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
  text-align: center;
}
.top-intro__btn a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .top-intro__btn a {
    font-size: 3.4666666667vw;
    margin: 4vw auto 0;
    padding: 1.0666666667vw 6.6666666667vw;
    border-radius: 4vw;
  }
}

.top-intro__btn-arrow {
  position: absolute;
  right: 0.4375rem;
  top: 50%;
  transform: translateY(-50%);
}
.top-intro__btn-arrow.arrow-circle {
  background-color: transparent;
  border-color: #fff;
}
.top-intro__btn-arrow.arrow-circle::before {
  border-color: #fff;
}

.top-intro__btn a:hover .top-intro__btn-arrow {
  transform: translateY(-50%) scale(1.2);
}

/* =============== よくある質問 =============== */
.top-faq {
  padding: 1.25rem 0 5.625rem;
  background-color: #fdf9ee;
}
@media screen and (max-width: 768px) {
  .top-faq {
    padding: 5.3333333333vw 0 8vw;
  }
}

.top-faq__cols {
  display: flex;
  align-items: stretch;
  gap: 1.875rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .top-faq__cols {
    flex-direction: column;
    gap: 4.2666666667vw;
    margin-top: 5.3333333333vw;
  }
}

.top-faq__col {
  flex: 1;
  padding: 1.5rem 1.875rem 2.5rem;
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 1px 2px 2px rgba(13, 19, 26, 0.2);
}
@media screen and (max-width: 768px) {
  .top-faq__col {
    width: 100%;
    padding: 2.6666666667vw 4vw 5.3333333333vw;
    border-radius: 1.3333333333vw;
  }
}
.top-faq__col--green .top-faq__q-mark {
  background-color: #eaf3dc;
  color: #65A758;
}
.top-faq__col--green .top-faq__a {
  background-color: #eaf3dc;
}

.top-faq__item + .top-faq__item {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .top-faq__item + .top-faq__item {
    margin-top: 5.3333333333vw;
  }
}

.top-faq__q {
  display: flex;
  gap: 0.625rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .top-faq__q {
    font-size: 3.2vw;
  }
}

.top-faq__q-mark {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: #fbf2de;
  color: #D4951A;
  font-family: "Outfit", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
}
@media screen and (max-width: 768px) {
  .top-faq__q-mark {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    position: relative;
    top: -0.5vw;
  }
}

.top-faq__a {
  margin-top: 0.625rem;
  padding: 1rem;
  background-color: #fbf2de;
  border-radius: 10px;
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .top-faq__a {
    font-size: 3.2vw;
    padding: 2.1333333333vw;
  }
}

/* =============== Instagram =============== */
.top-insta {
  padding: 5rem 0;
}
@media screen and (max-width: 768px) {
  .top-insta {
    padding: 8vw 0;
  }
}

.top-insta__en {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.25rem;
}

.top-insta__icon {
  display: block;
  width: 30px;
  height: 30px;
}
@media screen and (max-width: 768px) {
  .top-insta__icon {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}

.top-insta__lead {
  margin-top: 0.625rem;
  text-align: center;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .top-insta__lead {
    font-size: 3.4666666667vw;
    margin-top: 1.3333333333vw;
  }
}

.top-insta__list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 0.625rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .top-insta__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 2.1333333333vw;
    margin-top: 2.6666666667vw;
  }
}

.top-insta__item {
  aspect-ratio: 1/1;
  overflow: hidden;
}
.top-insta__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/* =============== 新着情報 / 不動産コラム =============== */
.top-news {
  padding-bottom: 5.625rem;
}
@media screen and (max-width: 768px) {
  .top-news {
    padding-bottom: 13.3333333333vw;
  }
}

.top-news__tabs {
  display: flex;
  background-color: #ededed;
  border-radius: 30px;
}

.top-news__tab {
  flex: 1;
  min-height: 3.75rem;
  border: none;
  border-radius: 30px;
  background-color: transparent;
  color: #4C4948;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  cursor: pointer;
  transition: 0.3s ease;
}
.top-news__tab.is-active {
  background-color: #D4951A;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .top-news__tab {
    font-size: 3.7333333333vw;
    min-height: 8vw;
    border-radius: 4vw;
  }
}
.top-news__tab--green.is-active {
  background-color: #65A758;
  color: #fff;
}

.top-news__panel {
  display: none;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .top-news__panel {
    margin-top: 5.3333333333vw;
  }
}
.top-news__panel.is-active {
  display: block;
}

.top-news__item {
  border-bottom: 1px solid #dcdcdc;
}
.top-news__item a {
  display: flex;
  align-items: flex-start;
  gap: 1.875rem;
  padding: 1.5rem 0;
}
.top-news__item a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .top-news__item a {
    flex-direction: column;
    gap: 2.6666666667vw;
    padding: 5.3333333333vw 0;
  }
}
.top-news__item--empty a {
  pointer-events: none;
}

.top-news__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  flex-shrink: 0;
}

.top-news__date {
  font-size: 1rem;
  font-weight: 700;
  color: #4C4948;
}

.top-news__cat {
  padding: 0.125rem 1rem;
  background-color: #D4951A;
  border-radius: 14px;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 2;
  white-space: nowrap;
}

#news-column .top-news__cat {
  background-color: #65A758;
}

.top-news__title {
  margin-bottom: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  color: #4C4948;
}

.top-news__text {
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .top-news__text {
    font-size: 3.4666666667vw;
  }
}

/* お問い合わせCTA は全ページ共通パーツへ移動 → module/_cta.scss / cta.php */
#page-sell .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

/* =============== 不動産売却 イントロ =============== */
.sell-intro {
  padding-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  .sell-intro {
    padding: 8vw 0;
  }
}

.sell-intro__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2.0625rem;
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .sell-intro__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.2vw;
    margin-top: 8vw;
  }
}

.sell-intro__card {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 1px 2px 8px rgba(0, 0, 0, 0.1);
  min-height: 16.25rem;
}
@media screen and (max-width: 768px) {
  .sell-intro__card {
    min-height: 40vw;
    border-radius: 2.6666666667vw;
  }
}
.sell-intro__card a {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 1.5rem 1rem 1.25rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .sell-intro__card a {
    padding: 5.3333333333vw 3.2vw;
  }
}
.sell-intro__card:hover .arrow-circle {
  transform: scale(1.2);
}
.sell-intro__card:nth-child(1) .sell-intro__card-img {
  width: 8.9375rem;
}
@media screen and (max-width: 768px) {
  .sell-intro__card:nth-child(1) .sell-intro__card-img {
    width: 18.6666666667vw;
  }
}
.sell-intro__card:nth-child(2) .sell-intro__card-img {
  width: 6rem;
}
@media screen and (max-width: 768px) {
  .sell-intro__card:nth-child(2) .sell-intro__card-img {
    width: 12.8vw;
  }
}
.sell-intro__card:nth-child(3) .sell-intro__card-img {
  width: 9.1875rem;
}
@media screen and (max-width: 768px) {
  .sell-intro__card:nth-child(3) .sell-intro__card-img {
    width: 19.4666666667vw;
  }
}
.sell-intro__card:nth-child(4) .sell-intro__card-img {
  width: 7.125rem;
}
@media screen and (max-width: 768px) {
  .sell-intro__card:nth-child(4) .sell-intro__card-img {
    width: 15.2vw;
  }
}

.sell-intro__card-title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.4;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .sell-intro__card-title {
    font-size: 4vw;
  }
}

.sell-intro__card-img {
  margin: 1rem auto;
}

.sell-intro__more {
  margin-top: auto;
}

/* =============== こんなお悩みはありませんか =============== */
.sell-worry {
  padding: 3.125rem 0 4.125rem;
  background: no-repeat center/cover url(../images/sell/onayami-bg.jpg);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sell-worry {
    padding: 10.6666666667vw 0;
  }
}

.sell-worry__badge {
  position: relative;
  z-index: 1;
}
.sell-worry__badge::after {
  display: block;
  content: "";
  position: absolute;
  top: -5.875rem;
  left: 0;
  right: 0;
  margin: auto;
  width: 28.125rem;
  height: 28.125rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  z-index: -1;
}
@media screen and (max-width: 768px) {
  .sell-worry__badge::after {
    top: -17vw;
    left: -4vw;
    width: 93.3333333333vw;
    height: 93.3333333333vw;
  }
}

.sell-worry__badge-title {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
  text-align: center;
  color: #4C4948;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .sell-worry__badge-title {
    font-size: 5.3333333333vw;
  }
}

.sell-worry__list {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.sell-worry__list li {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6666666667;
  color: #4C4948;
}
.sell-worry__list li + li {
  margin-top: 0.5rem;
}
.sell-worry__list li::before {
  content: "";
  flex-shrink: 0;
  width: 1.25rem;
  height: 1.125rem;
  background: url(../images/common/check-hamidashi.png) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .sell-worry__list {
    margin-top: 4.2666666667vw;
  }
  .sell-worry__list li {
    font-size: 4vw;
  }
  .sell-worry__list li::before {
    width: 4.8vw;
    height: 4.8vw;
  }
}

/* =============== 売却方法の違い =============== */
.sell-method {
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .sell-method {
    padding: 10.6666666667vw 0;
  }
}
.sell-method .colorBox:nth-child(1) .sell-method__icon {
  width: 5.1875rem;
}
.sell-method .colorBox:nth-child(2) .sell-method__icon {
  width: 4.875rem;
}

.sell-method .colorBoxWrapper {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .sell-method .colorBoxWrapper {
    margin-top: 8vw;
  }
}

.sell-method__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  color: #4C4948;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .sell-method__title {
    font-size: 4.8vw;
  }
}

.sell-method__list li {
  position: relative;
  padding-left: 1.25rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6666666667;
  color: #4C4948;
}
.sell-method__list li::before {
  content: "・";
  position: absolute;
  left: 0;
}
@media screen and (max-width: 768px) {
  .sell-method__list li {
    font-size: 4vw;
  }
}

.sell-method__icon {
  position: absolute;
  right: 2.5rem;
  bottom: 2.1875rem;
}
@media screen and (max-width: 768px) {
  .sell-method__icon {
    width: 21.3333333333vw;
  }
}

/* =============== 空き家・相続の相談先としての強み =============== */
.sell-strength {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .sell-strength {
    padding: 10.6666666667vw 0;
  }
}

.sell-strength__body {
  position: relative;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .sell-strength__body {
    margin-top: 6.4vw;
  }
}

.sell-strength__cards {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .sell-strength__cards {
    flex-direction: column;
    gap: 4.2666666667vw;
  }
}

.sell-strength__card {
  flex: 1;
  max-width: 18.75rem;
  background-color: #F7E5BC;
  border-radius: 10px;
  padding: 1.75rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .sell-strength__card {
    max-width: 100%;
    padding: 5.3333333333vw;
    border-radius: 2.6666666667vw;
  }
}

.sell-strength__title {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
  color: #4C4948;
  margin-bottom: 1.0625rem;
}
@media screen and (max-width: 768px) {
  .sell-strength__title {
    font-size: 4.8vw;
  }
}

.sell-strength__text {
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .sell-strength__text {
    font-size: 3.7333333333vw;
  }
}

.sell-strength__person {
  position: absolute;
  bottom: 0;
}
.sell-strength__person--l {
  left: -1.5625rem;
  bottom: -2.1875rem;
  width: 8.625rem;
}
.sell-strength__person--r {
  right: -2.875rem;
  bottom: -2.9375rem;
  width: 10.3125rem;
}
@media screen and (max-width: 1240px) {
  .sell-strength__person {
    display: none;
  }
}

/* =============== 売却の流れ（セクション枠。中身は共通 .flow） =============== */
.sell-flow {
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .sell-flow {
    padding: 10.6666666667vw 0;
  }
}
.sell-flow .flow {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .sell-flow .flow {
    margin-top: 8vw;
  }
}
.sell-flow .flow__step {
  padding: 1.875rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .sell-flow .flow__step {
    padding: 5.3333333333vw 5.3333333333vw;
  }
}
.sell-flow .flow__step:not(:last-child)::after {
  right: -1.875rem;
}
@media screen and (max-width: 768px) {
  .sell-flow .flow__step:not(:last-child)::after {
    bottom: -4.5vw;
    right: 46%;
  }
}

/* ##################### 空き家ページ（akiya） ##################### */
#page-akiya .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

/* =============== 空き家のご相談 イントロ（.ulIntro 流用） =============== */
.akiya-intro {
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
  .akiya-intro {
    padding: 8vw 0;
  }
}

/* =============== こんな空き家のお悩みに対応しています =============== */
.akiya-worry {
  padding-bottom: 4.375rem;
}
@media screen and (max-width: 768px) {
  .akiya-worry {
    padding-bottom: 10.6666666667vw;
  }
}
.akiya-worry .fukidashi {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .akiya-worry .fukidashi {
    margin-bottom: 7.4666666667vw;
  }
}

.akiya-worry__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .akiya-worry__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.7333333333vw;
  }
}

.akiya-worry__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  border: 4px solid #D4951A;
  border-radius: 10px;
  padding: 2.5rem 1.25rem 1.625rem;
}
@media screen and (max-width: 768px) {
  .akiya-worry__card {
    border-radius: 2.6666666667vw;
    padding: 4.8vw 2.1333333333vw;
  }
}

.akiya-worry__title {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .akiya-worry__title {
    font-size: 4vw;
  }
}

.akiya-worry__icon {
  flex: 1;
  display: grid;
  place-items: center;
  margin: 0.75rem auto;
}

.akiya-worry__card:nth-child(1) .akiya-worry__icon {
  width: 10.625rem;
}
@media screen and (max-width: 768px) {
  .akiya-worry__card:nth-child(1) .akiya-worry__icon {
    width: 28vw;
  }
}
.akiya-worry__card:nth-child(2) .akiya-worry__icon {
  width: 11.6875rem;
}
@media screen and (max-width: 768px) {
  .akiya-worry__card:nth-child(2) .akiya-worry__icon {
    width: 30.9333333333vw;
  }
}
.akiya-worry__card:nth-child(3) .akiya-worry__icon {
  width: 9.9375rem;
}
@media screen and (max-width: 768px) {
  .akiya-worry__card:nth-child(3) .akiya-worry__icon {
    width: 26.4vw;
  }
}
.akiya-worry__card:nth-child(4) .akiya-worry__icon {
  width: 11.1875rem;
}
@media screen and (max-width: 768px) {
  .akiya-worry__card:nth-child(4) .akiya-worry__icon {
    width: 29.6vw;
  }
}

.akiya-worry__list {
  width: 100%;
}
.akiya-worry__list li {
  position: relative;
  padding-left: 1rem;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  color: #4C4948;
}
.akiya-worry__list li::before {
  content: "・";
  position: absolute;
  left: 0;
}
@media screen and (max-width: 768px) {
  .akiya-worry__list li {
    padding-left: 3.7333333333vw;
    font-size: 3.4666666667vw;
  }
}

/* =============== 空き家を放置する前に確認したいこと（.colorBox 流用） =============== */
.akiya-check {
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .akiya-check {
    padding: 10.6666666667vw 0;
  }
}

.akiya-check .sec-title {
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .akiya-check .sec-title {
    margin-bottom: 3.2vw;
  }
}

.akiya-check__sub {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #4C4948;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .akiya-check__sub {
    font-size: 4.2666666667vw;
    margin-bottom: 7.4666666667vw;
  }
}

.akiya-check .colorBoxWrapper {
  gap: 1.875rem;
}
@media screen and (max-width: 768px) {
  .akiya-check .colorBoxWrapper {
    gap: 4.2666666667vw;
  }
}

.akiya-check .colorBox__body {
  padding: 1.875rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .akiya-check .colorBox__body {
    padding: 4.2666666667vw 4.2666666667vw;
  }
}

.akiya-check__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  color: #4C4948;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .akiya-check__title {
    font-size: 4.8vw;
  }
}

.akiya-check__list li {
  position: relative;
  padding-left: 1.25rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3333333333;
  color: #4C4948;
}
.akiya-check__list li + li {
  margin-top: 0.5rem;
}
.akiya-check__list li::before {
  content: "・";
  position: absolute;
  left: 0;
}
@media screen and (max-width: 768px) {
  .akiya-check__list li {
    font-size: 4vw;
  }
}

/* =============== サイワハウジングができること =============== */
.akiya-can {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .akiya-can {
    padding: 10.6666666667vw 0;
  }
}
.akiya-can .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .akiya-can .sec-title {
    margin-bottom: 7.4666666667vw;
  }
}

.akiya-can__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .akiya-can__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.7333333333vw;
  }
}

.akiya-can__card {
  background-color: #F7E5BC;
  border-radius: 10px;
  padding: 1.625rem;
}
@media screen and (max-width: 768px) {
  .akiya-can__card {
    border-radius: 2.6666666667vw;
    padding: 4.8vw 4.2666666667vw;
  }
}

.akiya-can__title {
  text-align: center;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.3333333333;
  color: #4C4948;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .akiya-can__title {
    font-size: 4vw;
    margin-bottom: 2.6666666667vw;
  }
}

.akiya-can__text {
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .akiya-can__text {
    font-size: 3.4666666667vw;
  }
}

.akiya-can__banner {
  position: relative;
  text-align: center;
  background-color: #D4951A;
  border-radius: 0.625rem;
  padding: 1rem 10rem;
}
@media screen and (max-width: 768px) {
  .akiya-can__banner {
    border-radius: 2.6666666667vw;
    padding: 4.2666666667vw 18.6666666667vw;
  }
}

.akiya-can__banner-text {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .akiya-can__banner-text {
    font-size: 4.8vw;
  }
}

.akiya-can__banner-img {
  position: absolute;
}
@media (max-width: 1300px) {
  .akiya-can__banner-img {
    display: none;
  }
}
.akiya-can__banner-img--l {
  width: 8.75rem;
  left: -2.5625rem;
  bottom: 1rem;
}
.akiya-can__banner-img--r {
  width: 10.625rem;
  right: -4.25rem;
  bottom: 1.875rem;
}

/* ##################### 相続ページ（souzoku） ##################### */
#page-souzoku .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

/* =============== 相続のご相談 イントロ（.ulIntro 流用） =============== */
.souzoku-intro {
  padding: 0 0 4.375rem;
}
@media screen and (max-width: 768px) {
  .souzoku-intro {
    padding: 8vw 0 10.6666666667vw;
  }
}

/* =============== 相続不動産でよくあるお悩み =============== */
.souzoku-worry {
  padding: 0 0 4.375rem;
}
@media screen and (max-width: 768px) {
  .souzoku-worry {
    padding: 0 0 10.6666666667vw;
  }
}
.souzoku-worry .fukidashi {
  margin-bottom: 2.125rem;
}
@media screen and (max-width: 768px) {
  .souzoku-worry .fukidashi {
    margin-bottom: 4vw;
  }
}

.souzoku-worry__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .souzoku-worry__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.6666666667vw;
  }
}

.souzoku-worry__card {
  display: flex;
  flex-direction: column;
  border: 2px solid #D4951A;
  border-radius: 10px;
  padding: 1.5rem 1.5rem 1.75rem;
}
@media screen and (max-width: 768px) {
  .souzoku-worry__card {
    border-radius: 2.6666666667vw;
    padding: 4.2666666667vw 3.7333333333vw 4.8vw;
  }
}

.souzoku-worry__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #4C4948;
  text-align: center;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .souzoku-worry__title {
    font-size: 4vw;
    margin-bottom: 3.2vw;
  }
}

.souzoku-worry__icon {
  align-self: center;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .souzoku-worry__icon {
    margin-bottom: 3.7333333333vw;
  }
}

.souzoku-worry__card:nth-child(1) .souzoku-worry__icon {
  width: 5.5rem;
}
.souzoku-worry__card:nth-child(2) .souzoku-worry__icon {
  width: 9.25rem;
}
.souzoku-worry__card:nth-child(3) .souzoku-worry__icon {
  width: 9.3125rem;
}
.souzoku-worry__card:nth-child(4) .souzoku-worry__icon {
  width: 8.5rem;
}
@media screen and (max-width: 768px) {
  .souzoku-worry__card:nth-child(1) .souzoku-worry__icon {
    width: 17.3333333333vw;
  }
  .souzoku-worry__card:nth-child(2) .souzoku-worry__icon {
    width: 29.3333333333vw;
  }
  .souzoku-worry__card:nth-child(3) .souzoku-worry__icon {
    width: 29.3333333333vw;
  }
  .souzoku-worry__card:nth-child(4) .souzoku-worry__icon {
    width: 26.9333333333vw;
  }
}

.souzoku-worry__text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6666666667;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .souzoku-worry__text {
    font-size: 3.4666666667vw;
  }
}

/* =============== まず整理したい3つのこと（.colorBox 流用 / 番号ヘッダ） =============== */
.souzoku-seiri {
  padding: 3.125rem 0 4.375rem;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .souzoku-seiri {
    padding: 10.6666666667vw 0;
  }
}

.souzoku-seiri .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .souzoku-seiri .sec-title {
    margin-bottom: 7.4666666667vw;
  }
}

.souzoku-seiri .colorBoxWrapper {
  gap: 1.875rem;
}
@media screen and (max-width: 768px) {
  .souzoku-seiri .colorBoxWrapper {
    gap: 4.2666666667vw;
  }
}

.souzoku-seiri .colorBox__head {
  letter-spacing: 0.1em;
  text-indent: 0;
}
@media screen and (max-width: 768px) {
  .souzoku-seiri .colorBox__head {
    padding: 1.3333333333vw 0vw;
  }
}

.souzoku-seiri .colorBox__body {
  padding: 1.5rem 1.875rem 1.75rem;
}
@media screen and (max-width: 768px) {
  .souzoku-seiri .colorBox__body {
    padding: 4.8vw 4.2666666667vw;
  }
}

.souzoku-seiri__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  color: #4C4948;
  margin-bottom: 0.875rem;
  padding-right: 6rem;
}
@media screen and (max-width: 768px) {
  .souzoku-seiri__title {
    font-size: 4.5333333333vw;
    padding-right: 19.2vw;
  }
}

.souzoku-seiri__text {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3333333333;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .souzoku-seiri__text {
    font-size: 3.4666666667vw;
  }
}

.souzoku-seiri__icon {
  position: absolute;
  top: 0.875rem;
  right: 1.75rem;
}
@media screen and (max-width: 768px) {
  .souzoku-seiri__icon {
    top: 1.3333333333vw;
    right: 3.7333333333vw;
  }
}

.souzoku-seiri .colorBox:nth-child(1) .souzoku-seiri__icon {
  width: 4.5rem;
}
.souzoku-seiri .colorBox:nth-child(2) .souzoku-seiri__icon {
  width: 5.5rem;
}
.souzoku-seiri .colorBox:nth-child(3) .souzoku-seiri__icon {
  width: 6.5rem;
}
@media screen and (max-width: 768px) {
  .souzoku-seiri .colorBox:nth-child(1) .souzoku-seiri__icon {
    width: 13.8666666667vw;
  }
  .souzoku-seiri .colorBox:nth-child(2) .souzoku-seiri__icon {
    width: 16.5333333333vw;
  }
  .souzoku-seiri .colorBox:nth-child(3) .souzoku-seiri__icon {
    width: 19.2vw;
  }
}

/* =============== 売却に向くケース・保有に向くケース（.colorBox 流用） =============== */
.souzoku-case {
  padding: 4.375rem 0;
  background-color: #fff;
}
@media screen and (max-width: 768px) {
  .souzoku-case {
    padding: 10.6666666667vw 0;
  }
}
.souzoku-case .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .souzoku-case .sec-title {
    margin-bottom: 7.4666666667vw;
  }
}
.souzoku-case .colorBoxWrapper {
  gap: 1.25rem;
  margin-bottom: 2.25rem;
}
@media screen and (max-width: 768px) {
  .souzoku-case .colorBoxWrapper {
    gap: 3.7333333333vw;
    margin-bottom: 7.4666666667vw;
  }
}
.souzoku-case .colorBox {
  border: none;
}
.souzoku-case .colorBox__head {
  letter-spacing: 0.1em;
  text-indent: 0;
}
.souzoku-case .colorBox--orange .colorBox__body {
  background-color: #F7E5BC;
}
.souzoku-case .colorBox--green .colorBox__body {
  background-color: #d1e4cd;
}
.souzoku-case .colorBox__body {
  padding: 1.75rem 2.25rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .souzoku-case .colorBox__body {
    padding: 4.8vw 4.2666666667vw;
  }
}
.souzoku-case__list {
  position: relative;
  z-index: 1;
  max-width: 22.5rem;
}
.souzoku-case__list li {
  position: relative;
  padding-left: 1.125rem;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  color: #4C4948;
}
.souzoku-case__list li::before {
  content: "・";
  position: absolute;
  left: 0;
}
@media screen and (max-width: 768px) {
  .souzoku-case__list {
    max-width: 100%;
  }
  .souzoku-case__list li {
    font-size: 3.7333333333vw;
  }
}
.souzoku-case__icon {
  position: absolute;
  right: 1.75rem;
  bottom: 1.5rem;
}
.souzoku-case .colorBox:nth-child(1) .souzoku-case__icon {
  width: 9.375rem;
}
.souzoku-case .colorBox:nth-child(2) .souzoku-case__icon {
  width: 11.625rem;
}

.souzoku-know .fukidashi {
  background-color: #4C4948;
  margin-bottom: 2.875rem;
}
.souzoku-know .fukidashi::after {
  border-top-color: #4C4948;
}
@media screen and (max-width: 768px) {
  .souzoku-know .fukidashi {
    margin-bottom: 7.4666666667vw;
  }
}

.souzoku-know__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem 6.25rem;
}
.souzoku-know__list li {
  display: flex;
  gap: 0.75rem;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.05em;
  color: #4C4948;
}
.souzoku-know__list li::before {
  content: "";
  flex-shrink: 0;
  width: 1.625rem;
  height: 1.625rem;
  margin-top: 0.25rem;
  background: url(../images/common/check-icon.png) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .souzoku-know__list {
    grid-template-columns: 1fr;
    -moz-column-gap: 0;
         column-gap: 0;
    row-gap: 4.2666666667vw;
  }
  .souzoku-know__list li {
    gap: 2.1333333333vw;
    font-size: 4vw;
  }
  .souzoku-know__list li::before {
    width: 5.3333333333vw;
    height: 5.3333333333vw;
    margin-top: 0.8vw;
  }
}

/* =============== ご相談から売却完了までの流れ（.flow 流用） =============== */
.souzoku-flow {
  padding: 3.125rem 0 4.375rem;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .souzoku-flow {
    padding: 10.6666666667vw 0;
  }
}

.souzoku-flow .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .souzoku-flow .sec-title {
    margin-bottom: 9.0666666667vw;
  }
}

.souzoku-flow__body {
  position: relative;
  margin-bottom: 2.25rem;
}
@media screen and (max-width: 768px) {
  .souzoku-flow__body {
    margin-bottom: 7.4666666667vw;
  }
}

.souzoku-flow__bubble {
  position: absolute;
  top: -8.5rem;
  right: 0;
  z-index: 1;
  width: 10.625rem;
}
@media screen and (max-width: 768px) {
  .souzoku-flow__bubble {
    width: 33vw;
    top: -38vw;
  }
}

@media screen and (max-width: 768px) {
  .souzoku-flow .flow {
    margin-left: 5.3333333333vw;
  }
}

.souzoku-flow .flow__step {
  flex: 1;
  max-width: 8.125rem;
  padding: 1.5rem 0rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .souzoku-flow .flow__step {
    max-width: 100%;
    padding: 2.6666666667vw 0vw;
  }
}
.souzoku-flow .flow__step:not(:last-child)::after {
  right: -26px;
  top: 49%;
}
@media screen and (max-width: 768px) {
  .souzoku-flow .flow__step:not(:last-child)::after {
    top: auto;
    right: 45%;
    bottom: -4.5vw;
    width: 4vw;
    height: 4vw;
    transform: translateX(-50%) rotate(135deg);
  }
}

.souzoku-flow .flow__label {
  writing-mode: horizontal-tb;
  text-align: center;
  line-height: 1.3333333333;
}
@media screen and (max-width: 768px) {
  .souzoku-flow .flow__label {
    font-size: 3.7333333333vw;
  }
}

.souzoku-flow__note {
  text-align: center;
  background-color: #D4951A;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
  border-radius: 0.5rem;
  padding: 1rem;
}
@media screen and (max-width: 768px) {
  .souzoku-flow__note {
    font-size: 4.2666666667vw;
    border-radius: 2.1333333333vw;
    padding: 3.7333333333vw;
  }
}

/* ##################### 借地権ページ（syakuchi） ##################### */
#page-syakuchi .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

.syakuchi-intro {
  padding: 0 0 4.375rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-intro {
    padding: 8vw 0 10.6666666667vw;
  }
}

/* 借地権でよくあるご相談 */
.syakuchi-consult {
  padding-bottom: 4.375rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-consult {
    padding-bottom: 10.6666666667vw;
  }
}
.syakuchi-consult .fukidashi {
  margin-bottom: 2.1875rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-consult .fukidashi {
    margin-bottom: 8vw;
  }
}

.syakuchi-consult__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-consult__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.7333333333vw;
    margin-bottom: 6.4vw;
  }
}

.syakuchi-consult__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  border: 4px solid #D4951A;
  border-radius: 10px;
  padding: 2.5rem 1rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-consult__card {
    border-radius: 2.6666666667vw;
    padding: 4.8vw 2.6666666667vw;
  }
}

.syakuchi-consult__icon {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 6.125rem;
  margin-bottom: 2.5rem;
}
.syakuchi-consult__icon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .syakuchi-consult__icon {
    height: 18.1333333333vw;
    margin-bottom: 6.6666666667vw;
  }
}

.syakuchi-consult__card:nth-child(1) .syakuchi-consult__icon {
  width: 9.875rem;
}
.syakuchi-consult__card:nth-child(2) .syakuchi-consult__icon {
  width: 8.4375rem;
}
.syakuchi-consult__card:nth-child(3) .syakuchi-consult__icon {
  width: 7.0625rem;
}
.syakuchi-consult__card:nth-child(4) .syakuchi-consult__icon {
  width: 7.125rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-consult__card:nth-child(1) .syakuchi-consult__icon {
    width: 28.8vw;
  }
  .syakuchi-consult__card:nth-child(2) .syakuchi-consult__icon {
    width: 24.5333333333vw;
  }
  .syakuchi-consult__card:nth-child(3) .syakuchi-consult__icon {
    width: 20.8vw;
  }
  .syakuchi-consult__card:nth-child(4) .syakuchi-consult__icon {
    width: 20.8vw;
  }
}

.syakuchi-consult__text {
  text-align: center;
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .syakuchi-consult__text {
    font-size: 3.4666666667vw;
  }
}

.syakuchi-consult__lead {
  text-align: center;
  font-size: 1.25rem;
  line-height: 1.8;
  letter-spacing: 0.05em;
  color: #D4951A;
}
@media screen and (max-width: 768px) {
  .syakuchi-consult__lead {
    font-size: 4vw;
    text-align: left;
  }
}

/* こんなお悩みはありませんか */
.syakuchi-worry {
  position: relative;
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .syakuchi-worry {
    padding: 10.6666666667vw 0;
  }
}
.syakuchi-worry .inner {
  position: relative;
}
.syakuchi-worry .fukidashi {
  margin-bottom: 2.875rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-worry .fukidashi {
    margin-bottom: 8vw;
  }
}
.syakuchi-worry .colorBoxWrapper {
  margin-bottom: 2.5rem;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-worry .colorBoxWrapper {
    margin-bottom: 6.4vw;
    gap: 3.7333333333vw;
  }
}
.syakuchi-worry .colorBox__head {
  letter-spacing: 0.1em;
  text-indent: 0;
}

.syakuchi-worry__list li {
  position: relative;
  padding-left: 2.125rem;
  font-size: 1.25rem;
  line-height: 1.8;
  color: #4C4948;
}
.syakuchi-worry__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5625rem;
  width: 1.375rem;
  height: 1.375rem;
  background: url(../images/common/check-icon.png) no-repeat center/contain;
}
.syakuchi-worry__list li + li {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-worry__list li {
    padding-left: 6.9333333333vw;
    font-size: 3.7333333333vw;
  }
  .syakuchi-worry__list li::before {
    width: 4.8vw;
    height: 4.8vw;
    top: 1.6vw;
  }
  .syakuchi-worry__list li + li {
    margin-top: 2.1333333333vw;
  }
}

.syakuchi-worry__lead {
  font-size: 1.25rem;
  line-height: 1.8;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .syakuchi-worry__lead {
    font-size: 3.7333333333vw;
  }
}

.syakuchi-worry__person {
  position: absolute;
  right: 1.25rem;
  bottom: -0.625rem;
  width: 10.3125rem;
}

/* 立地の強み＋確認ポイント */
.syakuchi-location {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .syakuchi-location {
    padding: 10.6666666667vw 0;
  }
}
.syakuchi-location .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-location .sec-title {
    margin-bottom: 7.4666666667vw;
  }
}
.syakuchi-location .fukidashi {
  margin-bottom: 2.25rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-location .fukidashi {
    padding: 3.2vw 3vw;
    margin-bottom: 6.4vw;
  }
}

.syakuchi-band {
  text-align: center;
  background-color: #D4951A;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
  border-radius: 0.625rem;
  padding: 1rem 1.875rem;
  margin-bottom: 2.25rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-band {
    font-size: 4.2666666667vw;
    border-radius: 2.1333333333vw;
    padding: 3.7333333333vw;
    margin-bottom: 6.4vw;
  }
}
.syakuchi-band--cta {
  margin-bottom: 0;
}

.syakuchi-location__text {
  font-size: 1.25rem;
  line-height: 1.8;
  color: #4C4948;
  margin-bottom: 2.8125rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__text {
    font-size: 3.7333333333vw;
    margin-bottom: 10.6666666667vw;
  }
}
.syakuchi-location__text--bold {
  font-weight: 700;
}

.syakuchi-location__stationsRow {
  display: flex;
  align-items: center;
  gap: 1.875rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__stationsRow {
    flex-direction: column;
    gap: 4.2666666667vw;
    margin-bottom: 6.4vw;
  }
}

.syakuchi-location__stations {
  flex: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem 1.25rem;
  border-top: 2px solid #D4951A;
  border-bottom: 2px solid #D4951A;
  padding: 1rem 0;
}
.syakuchi-location__stations li {
  position: relative;
  padding-left: 1.875rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #4C4948;
}
.syakuchi-location__stations li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  background: url(../images/common/check-icon.png) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__stations {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.6666666667vw 3.7333333333vw;
    padding: 3.2vw 0;
  }
  .syakuchi-location__stations li {
    padding-left: 6.4vw;
    font-size: 3.7333333333vw;
  }
  .syakuchi-location__stations li::before {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
}

.syakuchi-location__land {
  flex-shrink: 0;
  width: 14.375rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__land {
    width: 40vw;
  }
}

.syakuchi-location__points {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__points {
    grid-template-columns: 1fr;
    gap: 4.2666666667vw;
  }
}

.syakuchi-location__point {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  align-content: start;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  row-gap: 0.3125rem;
  background-color: #F7E5BC;
  border-radius: 10px;
  padding: 1.625rem 1.875rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__point {
    -moz-column-gap: 3.2vw;
         column-gap: 3.2vw;
    row-gap: 2.6666666667vw;
    border-radius: 2.6666666667vw;
    padding: 5.3333333333vw 4.8vw;
  }
}

.syakuchi-location__num {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  background-color: #fff;
  border-radius: 0.5rem;
  font-size: 1.75rem;
  font-weight: 700;
  color: #D4951A;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__num {
    width: 9.0666666667vw;
    height: 9.0666666667vw;
    border-radius: 1.6vw;
    font-size: 5.3333333333vw;
  }
}

.syakuchi-location__point-title {
  grid-column: 2;
  grid-row: 1;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__point-title {
    font-size: 4.2666666667vw;
  }
}

.syakuchi-location__point-text {
  grid-column: 1/-1;
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__point-text {
    font-size: 3.4666666667vw;
  }
}

.syakuchi-location__cols {
  grid-column: 1/-1;
  display: flex;
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__cols {
    flex-direction: column;
    gap: 1.6vw;
  }
}

.syakuchi-location__sublist li {
  position: relative;
  padding-left: 1rem;
  font-size: 1rem;
  line-height: 1.625;
  color: #4C4948;
}
.syakuchi-location__sublist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.5625rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background-color: #D4951A;
}
@media screen and (max-width: 768px) {
  .syakuchi-location__sublist li {
    font-size: 3.4666666667vw;
  }
}

/* 借地権の主な売却方法 */
.syakuchi-method {
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .syakuchi-method {
    padding: 10.6666666667vw 0;
  }
}
.syakuchi-method .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-method .sec-title {
    margin-bottom: 7.4666666667vw;
  }
}

.syakuchi-method__item {
  display: flex;
  gap: 3.75rem;
  background-color: #fff;
  border-radius: 10px;
  padding: 1.75rem 2.5rem 1.875rem 5rem;
}
.syakuchi-method__item + .syakuchi-method__item {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-method__item {
    flex-direction: column;
    gap: 3.2vw;
    border-radius: 2.6666666667vw;
    padding: 5.3333333333vw;
  }
  .syakuchi-method__item + .syakuchi-method__item {
    margin-top: 4.2666666667vw;
  }
}

.syakuchi-method__main {
  flex: 1;
  padding-top: 1.25rem;
  max-width: 37.5rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-method__main {
    max-width: 100%;
    padding-top: 0;
  }
}

.syakuchi-method__title {
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #D4951A;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-method__title {
    font-size: 4.5333333333vw;
  }
}

.syakuchi-method__text {
  font-size: 1.125rem;
  line-height: 1.6666666667;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .syakuchi-method__text {
    font-size: 3.4666666667vw;
  }
}

.syakuchi-method__case {
  flex-shrink: 0;
  width: 35%;
  border-left: 1px solid #D4951A;
  padding-left: 3.75rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-method__case {
    width: 100%;
    border-left: 0;
    border-top: 1px solid #D4951A;
    padding-left: 0;
    padding-top: 3.2vw;
  }
}

.syakuchi-method__case-title {
  font-size: 1.25rem;
  line-height: 1.8;
  font-weight: 700;
  color: #4C4948;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-method__case-title {
    font-size: 4vw;
  }
}

.syakuchi-method__case-list li {
  position: relative;
  padding-left: 0.875rem;
  font-size: 1.125rem;
  line-height: 2.1111111111;
  letter-spacing: 0.05em;
  color: #4C4948;
}
.syakuchi-method__case-list li::before {
  content: "・";
  position: absolute;
  left: 0;
}
@media screen and (max-width: 768px) {
  .syakuchi-method__case-list li {
    font-size: 3.4666666667vw;
    line-height: 1.5555555556;
  }
}

/* サイワハウジングに相談するメリット */
.syakuchi-merit {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .syakuchi-merit {
    padding: 10.6666666667vw 0;
  }
}

.syakuchi-merit__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-merit__cards {
    grid-template-columns: 1fr;
    gap: 4.2666666667vw;
  }
}

.syakuchi-merit__head {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #D4951A;
  border-radius: 10px;
  padding: 1.875rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-merit__head {
    padding: 6.4vw;
    border-radius: 2.6666666667vw;
  }
}

.syakuchi-merit__head-title {
  text-align: center;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .syakuchi-merit__head-title {
    font-size: 4.8vw;
  }
}

.syakuchi-merit__card {
  background-color: #F7E5BC;
  border-radius: 10px;
  padding: 1.625rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-merit__card {
    padding: 4.8vw;
    border-radius: 2.6666666667vw;
  }
}

.syakuchi-merit__title {
  position: relative;
  padding-left: 1.5625rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #4C4948;
  margin-bottom: 0.75rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-merit__title {
    padding-left: 5.3333333333vw;
    font-size: 4vw;
  }
}
.syakuchi-merit__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.375rem;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background-color: #D4951A;
}
@media screen and (max-width: 768px) {
  .syakuchi-merit__title::before {
    width: 4vw;
    height: 4vw;
    top: 0.8vw;
  }
}

.syakuchi-merit__body {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-merit__body {
    gap: 3.7333333333vw;
  }
}

.syakuchi-merit__text {
  flex: 1;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  color: #4C4948;
  max-width: 21.875rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-merit__text {
    font-size: 3.4666666667vw;
    max-width: 100%;
  }
}

.syakuchi-merit__icon {
  flex-shrink: 0;
  width: 5rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-merit__icon {
    width: 16vw;
  }
}

/* ご相談の流れ */
.syakuchi-flow {
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .syakuchi-flow {
    padding: 10.6666666667vw 0;
  }
}
.syakuchi-flow .sec-title {
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-flow .sec-title {
    margin-bottom: 8vw;
  }
}
.syakuchi-flow .flow__title {
  min-height: 3.125rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-flow .flow__title {
    min-height: auto;
  }
}
.syakuchi-flow .flow__step:not(:last-child)::after {
  top: 56%;
  right: -1.6875rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-flow .flow__step:not(:last-child)::after {
    right: 50%;
    transform: translateX(50%) rotate(135deg);
    top: auto;
    bottom: -4.2vw;
  }
}
.syakuchi-flow .flow--detail .flow__step {
  padding: 1.5rem 0.625rem 1rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-flow .flow--detail .flow__step {
    padding: 6.3vw 2.6666666667vw 3.2vw;
  }
}

/* FAQ下 吹き出し＋締めCTA帯 */
.syakuchi-faq-foot {
  padding: 0 0 4.375rem;
  background-color: #FDF9EE;
}
@media screen and (max-width: 768px) {
  .syakuchi-faq-foot {
    padding: 0 0 10.6666666667vw;
  }
}

.syakuchi-faq-foot__balloon {
  display: flex;
  justify-content: center;
  align-items: end;
  gap: 4.375rem;
  max-width: 46.875rem;
  margin: 0 auto 2.5rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-faq-foot__balloon {
    flex-direction: column;
    align-items: center;
    gap: 3.2vw;
    max-width: 100%;
    margin: 0 auto 6.4vw;
  }
}

.syakuchi-faq-foot__person {
  flex-shrink: 0;
  width: 15.75rem;
  margin-bottom: -0.9375rem;
}
@media screen and (max-width: 768px) {
  .syakuchi-faq-foot__person {
    width: 53.3333333333vw;
  }
}

.syakuchi-faq-foot__text {
  flex: 1;
  background-color: #fff;
  border-radius: 1rem;
  padding: 1.5rem 3.125rem;
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
  background-color: #F7E5BC;
  max-width: 25rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .syakuchi-faq-foot__text {
    font-size: 3.4666666667vw;
    padding: 4.8vw;
    border-radius: 3.2vw;
  }
}
.syakuchi-faq-foot__text::before {
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2.125rem;
  width: 4.25rem;
  height: 1.5rem;
  background: no-repeat center/contain url(../images/syakuchi/fukidashi-tsuno.png);
}
@media screen and (max-width: 768px) {
  .syakuchi-faq-foot__text::before {
    left: 50%;
    transform: translateX(-50%) rotate(90deg) scale(1, -1);
    top: -6vw;
    width: 18.1333333333vw;
    height: 5.3333333333vw;
  }
}

/* ##################### 事業用不動産ページ（jigyou） ##################### */
#page-jigyou .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

#page-jigyou .sec-title::after {
  border-top: 3px dotted #65A758;
}

.jigyou-intro {
  padding: 0 0 4.375rem;
}
@media screen and (max-width: 768px) {
  .jigyou-intro {
    padding: 8vw 0 10.6666666667vw;
  }
}

.jigyou-intro__catch {
  color: #65A758;
}

.jigyou-band {
  text-align: center;
  background-color: #65A758;
  color: #fff;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
  border-radius: 0.625rem;
  padding: 1rem 1.875rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .jigyou-band {
    font-size: 4.2666666667vw;
    border-radius: 2.1333333333vw;
    padding: 3.7333333333vw;
    margin-bottom: 6.4vw;
  }
}
.jigyou-band--foot {
  margin-bottom: 0;
}

/* ニーズ */
.jigyou-needs {
  padding-bottom: 4.375rem;
}
@media screen and (max-width: 768px) {
  .jigyou-needs {
    padding-bottom: 10.6666666667vw;
  }
}
.jigyou-needs .fukidashi {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .jigyou-needs .fukidashi {
    margin-bottom: 6.4vw;
  }
}

.jigyou-needs__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
@media screen and (max-width: 768px) {
  .jigyou-needs__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.7333333333vw;
  }
}

.jigyou-needs__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  border: 4px solid #65A758;
  border-radius: 10px;
  padding: 2.9375rem 1rem 1.5rem;
}
@media screen and (max-width: 768px) {
  .jigyou-needs__card {
    border-radius: 2.6666666667vw;
    padding: 4.8vw 2.6666666667vw;
  }
}

.jigyou-needs__icon {
  width: 5.625rem;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .jigyou-needs__icon {
    width: 18.1333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}

.jigyou-needs__cat {
  color: #4C4948;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 1em;
  text-indent: 1em;
  margin-bottom: 1.25rem;
}
@media screen and (max-width: 768px) {
  .jigyou-needs__cat {
    font-size: 4.2666666667vw;
  }
}

.jigyou-needs__sub {
  text-align: center;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .jigyou-needs__sub {
    font-size: 3.4666666667vw;
  }
}

/* 事業用物件探しで確認したいこと */
.jigyou-check {
  padding: 0 0 4.375rem;
}
@media screen and (max-width: 768px) {
  .jigyou-check {
    padding: 0 0 10.6666666667vw;
  }
}
.jigyou-check .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .jigyou-check .sec-title {
    margin-bottom: 2.6666666667vw;
  }
}

.jigyou-check__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, auto);
  grid-auto-flow: column;
}
@media screen and (max-width: 768px) {
  .jigyou-check__cards {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    grid-auto-flow: row;
  }
}

.jigyou-check__card {
  background-color: #fff;
  padding: 1.625rem 2.5rem 1.875rem;
}
.jigyou-check__card:nth-child(1), .jigyou-check__card:nth-child(2) {
  padding-left: 0;
  padding-right: 3.75rem;
}
@media screen and (max-width: 768px) {
  .jigyou-check__card:nth-child(1), .jigyou-check__card:nth-child(2) {
    padding-right: 0;
  }
}
.jigyou-check__card:nth-child(-n+2) {
  border-right: 2px solid #65A758;
}
@media screen and (max-width: 768px) {
  .jigyou-check__card:nth-child(-n+2) {
    border-right: 0;
  }
}
.jigyou-check__card:nth-child(odd) {
  border-bottom: 2px solid #65A758;
}
@media screen and (max-width: 768px) {
  .jigyou-check__card {
    padding: 5.3333333333vw 0;
  }
  .jigyou-check__card:not(:last-child) {
    border-bottom: 2px solid #65A758;
  }
}
.jigyou-check__card:nth-child(1) .jigyou-check__icon {
  width: 12.1875rem;
}
@media screen and (max-width: 768px) {
  .jigyou-check__card:nth-child(1) .jigyou-check__icon {
    width: 24vw;
  }
}
.jigyou-check__card:nth-child(2) .jigyou-check__icon {
  width: 11.9375rem;
}
@media screen and (max-width: 768px) {
  .jigyou-check__card:nth-child(2) .jigyou-check__icon {
    width: 24vw;
  }
}
.jigyou-check__card:nth-child(3) .jigyou-check__icon {
  width: 12.5rem;
}
@media screen and (max-width: 768px) {
  .jigyou-check__card:nth-child(3) .jigyou-check__icon {
    width: 26.6666666667vw;
  }
}
.jigyou-check__card:nth-child(4) .jigyou-check__icon {
  width: 13.1875rem;
}
@media screen and (max-width: 768px) {
  .jigyou-check__card:nth-child(4) .jigyou-check__icon {
    width: 26.6666666667vw;
  }
}

.jigyou-check__head {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 1.125rem;
}
@media screen and (max-width: 768px) {
  .jigyou-check__head {
    gap: 2.6666666667vw;
    margin-bottom: 3.2vw;
  }
}

.jigyou-check__num {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 2.375rem;
  height: 2.375rem;
  border-radius: 0.5rem;
  background-color: #65A758;
  color: #fff;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .jigyou-check__num {
    width: 8vw;
    height: 8vw;
    border-radius: 1.6vw;
    font-size: 4.5333333333vw;
  }
}

.jigyou-check__title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .jigyou-check__title {
    font-size: 4.2666666667vw;
  }
}

.jigyou-check__body {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .jigyou-check__body {
    gap: 3.7333333333vw;
  }
}

.jigyou-check__list {
  flex: 1;
  min-width: 0;
}
.jigyou-check__list li {
  position: relative;
  padding-left: 1.3rem;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  color: #4C4948;
}
.jigyou-check__list li::before {
  content: "・";
  position: absolute;
  left: 0;
}
@media screen and (max-width: 768px) {
  .jigyou-check__list li {
    font-size: 3.4666666667vw;
  }
}

.jigyou-check__icon {
  flex-shrink: 0;
  align-self: center;
  width: 9.375rem;
}
@media screen and (max-width: 768px) {
  .jigyou-check__icon {
    width: 24vw;
  }
}

/* 倉庫・工場・店舗・土地の違い */
.jigyou-diff {
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .jigyou-diff {
    padding-bottom: 10.6666666667vw;
  }
}
.jigyou-diff .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .jigyou-diff .sec-title {
    margin-bottom: 7.4666666667vw;
  }
}

.jigyou-diff__cols {
  display: flex;
  gap: 2.0625rem;
}
@media screen and (max-width: 768px) {
  .jigyou-diff__cols {
    flex-direction: column;
    gap: 3.7333333333vw;
  }
}

.jigyou-diff__col {
  flex: 1;
  min-width: 0;
  background-color: #fff;
  border: 4px solid #65A758;
  border-radius: 0.625rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .jigyou-diff__col {
    flex: 1 1 calc(50% - 1.8666666667vw);
    border-radius: 2.6666666667vw;
  }
}

.jigyou-diff__head {
  text-align: center;
  background-color: #65A758;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  padding: 0.75rem;
}
@media screen and (max-width: 768px) {
  .jigyou-diff__head {
    font-size: 4vw;
    padding: 2.6666666667vw;
  }
}

.jigyou-diff__list {
  padding: 0.5rem 0.9375rem 1rem;
}
@media screen and (max-width: 768px) {
  .jigyou-diff__list {
    padding: 1.6vw 3.7333333333vw 3.2vw;
  }
}
.jigyou-diff__list li {
  position: relative;
  padding: 0.875rem 0 1rem 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.375;
  color: #4C4948;
}
.jigyou-diff__list li::before {
  content: "";
  position: absolute;
  left: 0.125rem;
  top: 1.125rem;
  width: 1rem;
  height: 1rem;
  background: no-repeat center/contain url(../images/jigyou/check.png);
}
.jigyou-diff__list li + li {
  border-top: 2px dotted #65A758;
}
@media screen and (max-width: 768px) {
  .jigyou-diff__list li {
    font-size: 3.4666666667vw;
    padding: 3.2vw 0 3.2vw 5.8666666667vw;
  }
  .jigyou-diff__list li::before {
    top: 4.2666666667vw;
  }
}

/* 物件一覧 */
.jigyou-list {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .jigyou-list {
    padding: 10.6666666667vw 0;
  }
}
.jigyou-list .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .jigyou-list .sec-title {
    margin-bottom: 7.4666666667vw;
  }
}

.jigyou-list__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .jigyou-list__cards {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
    margin-bottom: 6.4vw;
  }
}

.jigyou-list__item {
  display: flex;
}

.jigyou-list__card {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: stretch;
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 1px 2px 2px 0 rgba(0, 0, 0, 0.16);
  color: inherit;
  transition: opacity 0.3s ease;
}
.jigyou-list__card:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .jigyou-list__card {
    border-radius: 2.6666666667vw;
  }
}

.jigyou-list__arrow {
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.875rem;
  background-color: #65A758;
}
@media screen and (max-width: 768px) {
  .jigyou-list__arrow {
    width: 12.2666666667vw;
  }
}
.jigyou-list__arrow .arrow-circle {
  width: 1.25rem;
  height: 1.25rem;
  background-color: #fff;
  border-color: #fff;
}
.jigyou-list__arrow .arrow-circle::before {
  border-color: #65A758;
}

.jigyou-list__img {
  flex-shrink: 0;
  width: 13.75rem;
  height: 13.75rem;
}
.jigyou-list__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .jigyou-list__img {
    width: 37.3333333333vw;
  }
}

.jigyou-list__body {
  flex: 1;
  min-width: 0;
  padding: 1rem 1.25rem 1.25rem 2.125rem;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 768px) {
  .jigyou-list__body {
    padding: 3.7333333333vw;
  }
}

.jigyou-list__area {
  font-size: 1.25rem;
  line-height: 2.1;
  color: #4C4948;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .jigyou-list__area {
    font-size: 3.7333333333vw;
  }
}

.jigyou-list__name {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  color: #65A758;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .jigyou-list__name {
    font-size: 5.0666666667vw;
  }
}

.jigyou-list__spec {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #4C4948;
  margin-top: auto;
}
@media screen and (max-width: 768px) {
  .jigyou-list__spec {
    font-size: 3.4666666667vw;
  }
}

/* ##################### アパート買取ページ（kaitori） ##################### */
#page-kaitori .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

.kaitori-intro {
  padding: 0 0 4.375rem;
}
@media screen and (max-width: 768px) {
  .kaitori-intro {
    padding: 8vw 0 10.6666666667vw;
  }
}

/* 買取と仲介の違い */
.kaitori-compare {
  padding-bottom: 4.375rem;
}
@media screen and (max-width: 768px) {
  .kaitori-compare {
    padding-bottom: 10.6666666667vw;
  }
}
.kaitori-compare .fukidashi {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .kaitori-compare .fukidashi {
    margin-bottom: 6.4vw;
  }
}

.kaitori-compare__cols {
  display: flex;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .kaitori-compare__cols {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
}

.kaitori-compare__col {
  flex: 1;
  min-width: 0;
  border: 4px solid #D4951A;
  border-radius: 10px;
  overflow: hidden;
}
.kaitori-compare__col--agent {
  border-color: #82807F;
}
@media screen and (max-width: 768px) {
  .kaitori-compare__col {
    border-radius: 2.6666666667vw;
  }
}

.kaitori-compare__head {
  text-align: center;
  color: #fff;
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.3636363636;
  padding: 0.875rem;
}
.kaitori-compare__head span {
  display: block;
  font-size: 0.8125rem;
  letter-spacing: 0.1em;
}
.kaitori-compare__col--buy .kaitori-compare__head {
  background-color: #D4951A;
}
.kaitori-compare__col--agent .kaitori-compare__head {
  background-color: #82807F;
}
@media screen and (max-width: 768px) {
  .kaitori-compare__head {
    font-size: 4.5333333333vw;
    padding: 3.2vw;
  }
  .kaitori-compare__head span {
    font-size: 2.9333333333vw;
  }
}

.kaitori-compare__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 13.4375rem;
  padding: 1.25rem 1.5rem 0;
}
.kaitori-compare__icon img {
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.kaitori-compare__col--buy .kaitori-compare__icon img {
  max-width: 26.375rem;
}
.kaitori-compare__col--agent .kaitori-compare__icon img {
  max-width: 30.75rem;
}
@media screen and (max-width: 768px) {
  .kaitori-compare__icon {
    height: auto;
    padding: 5.3333333333vw 5.3333333333vw 0;
  }
}

.kaitori-compare__list {
  padding: 0.625rem 1.5rem 1.75rem;
}
.kaitori-compare__list li {
  position: relative;
  padding: 0.625rem 0.75rem 0.625rem 2.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5555555556;
  color: #4C4948;
  border-radius: 0.375rem;
}
.kaitori-compare__list li::before {
  content: "";
  position: absolute;
  left: 0.75rem;
  top: 0.8125rem;
  width: 1.25rem;
  height: 1.25rem;
}
.kaitori-compare__col--buy .kaitori-compare__list li::before {
  background: url(../images/kaitori/check-yellow.png) no-repeat center/contain;
}
.kaitori-compare__col--agent .kaitori-compare__list li::before {
  background: url(../images/kaitori/check-gray.png) no-repeat center/contain;
}
.kaitori-compare__list li + li {
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .kaitori-compare__list li {
    font-size: 3.7333333333vw;
    padding: 2.1333333333vw 2.6666666667vw 2.1333333333vw 9.0666666667vw;
  }
  .kaitori-compare__list li::before {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
    left: 2.6666666667vw;
    top: 2.6666666667vw;
  }
}

.kaitori-compare__col--buy .kaitori-compare__list li {
  background-color: rgba(212, 149, 26, 0.1);
}

.kaitori-compare__col--agent .kaitori-compare__list li {
  background-color: #F2F2F2;
}

/* アパート買取が向いているケース */
.kaitori-case {
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .kaitori-case {
    padding: 10.6666666667vw 0;
  }
}
.kaitori-case .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .kaitori-case .sec-title {
    margin-bottom: 7.4666666667vw;
  }
}

.kaitori-case__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
  flex: 1;
}
@media screen and (max-width: 768px) {
  .kaitori-case__cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.6666666667vw;
  }
}

.kaitori-case__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  border: 4px solid #D4951A;
  border-radius: 10px;
  padding: 1.75rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .kaitori-case__card {
    border-radius: 2.6666666667vw;
    padding: 4.8vw 2.6666666667vw;
  }
}

.kaitori-case__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5rem;
  margin-bottom: 0.3125rem;
}
.kaitori-case__icon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 768px) {
  .kaitori-case__icon {
    height: 14.9333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}

.kaitori-case__title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8em;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .kaitori-case__title {
    font-size: 3.7333333333vw;
    letter-spacing: normal;
  }
}

.kaitori-case__text {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .kaitori-case__text {
    font-size: 3.4666666667vw;
  }
}

/* こんなアパートもご相談ください */
.kaitori-types {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .kaitori-types {
    padding: 10.6666666667vw 0;
  }
}

.kaitori-types__inner {
  display: flex;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .kaitori-types__inner {
    flex-direction: column;
    gap: 0;
  }
}

.kaitori-types__head {
  position: relative;
  flex-shrink: 0;
  margin-top: -6.8125rem;
}
@media screen and (max-width: 768px) {
  .kaitori-types__head {
    width: 100%;
    margin-top: -18.6666666667vw;
  }
}

.kaitori-types__head-title {
  display: grid;
  place-items: center;
  width: 17.5rem;
  height: 17.5rem;
  border-radius: 50%;
  background-color: #D4951A;
  color: #fff;
  text-align: center;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3076923077;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .kaitori-types__head-title {
    width: 53.3333333333vw;
    height: 53.3333333333vw;
    font-size: 4.8vw;
    margin: 0 auto;
  }
}

.kaitori-types__person {
  width: 11.625rem;
  margin-top: -4.0625rem;
  margin-left: 2.5rem;
}
@media screen and (max-width: 768px) {
  .kaitori-types__person {
    position: absolute;
    width: 29vw;
    margin: 0;
    bottom: -3vw;
    right: 0;
  }
}

.kaitori-types__cards {
  flex: 1;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .kaitori-types__cards {
    grid-template-columns: 1fr;
    gap: 3.2vw;
  }
}

.kaitori-types__card {
  display: flex;
  gap: 0.625rem;
  background-color: #F7E5BC;
  border-radius: 10px;
  padding: 0.625rem;
}
@media screen and (max-width: 768px) {
  .kaitori-types__card {
    border-radius: 2.6666666667vw;
    padding: 4.2666666667vw;
  }
}

.kaitori-types__num {
  flex-shrink: 0;
  align-self: stretch;
  display: grid;
  place-items: center;
  width: 3.125rem;
  background-color: #fff;
  border-radius: 0.375rem;
  color: #D4951A;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
  .kaitori-types__num {
    width: 8vw;
    font-size: 5.8666666667vw;
  }
}

.kaitori-types__card-body {
  flex: 1;
}

.kaitori-types__cat {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3333333333;
  color: #D4951A;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 768px) {
  .kaitori-types__cat {
    font-size: 4vw;
  }
}

.kaitori-types__desc {
  font-size: 1rem;
  line-height: 1.5;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .kaitori-types__desc {
    font-size: 3.4666666667vw;
  }
}

/* 相談から引渡しまでの流れ */
.kaitori-flow {
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .kaitori-flow {
    padding: 16vw 0 10.6666666667vw;
  }
}
.kaitori-flow .sec-title {
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  .kaitori-flow .sec-title {
    margin-bottom: 8vw;
  }
}
.kaitori-flow .flow__step {
  padding: 1.5rem 0.9375rem 1.25rem;
}
.kaitori-flow .flow__step:not(:last-child)::after {
  right: -1.625rem;
}
@media screen and (max-width: 768px) {
  .kaitori-flow .flow__step:not(:last-child)::after {
    left: 50%;
    transform: translateX(-50%) rotate(135deg);
    top: auto;
    bottom: -4vw;
  }
}

.kaitori-flow__body {
  position: relative;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .kaitori-flow__body {
    margin-bottom: 8vw;
  }
}

.kaitori-flow__bubble {
  position: absolute;
  top: -8.75rem;
  right: 0;
  width: 11.1875rem;
}
@media screen and (max-width: 768px) {
  .kaitori-flow__bubble {
    width: 37.3333333333vw;
    top: -40vw;
  }
}

.kaitori-flow__closing {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 768px) {
  .kaitori-flow__closing {
    flex-direction: column;
    gap: 4.2666666667vw;
    padding-inline: 0;
  }
}

.kaitori-flow__person {
  flex-shrink: 0;
  width: 11.25rem;
  margin-right: 3.125rem;
}
@media screen and (max-width: 768px) {
  .kaitori-flow__person {
    width: 32vw;
  }
}

.kaitori-flow__closing-text {
  font-size: 1.125rem;
  line-height: 1.7777777778;
  color: #4C4948;
  font-weight: bold;
  max-width: 34.25rem;
}
@media screen and (max-width: 768px) {
  .kaitori-flow__closing-text {
    font-size: 3.4666666667vw;
  }
}

.kaitori-flow__tag {
  display: inline-block;
  background-color: #707070;
  color: #fff;
  font-size: 0.9375rem;
  border-radius: 3.125rem;
  padding: 0.125rem 0.625rem;
  margin: 0.25rem 0.25rem;
}
@media screen and (max-width: 768px) {
  .kaitori-flow__tag {
    font-size: 3.2vw;
  }
}

.kaitori-flow__circle {
  flex-shrink: 0;
  display: grid;
  place-items: center;
  width: 16.25rem;
  height: 16.25rem;
  border-radius: 50%;
  background-color: #fff;
  text-align: center;
}
.kaitori-flow__circle span {
  color: #D4951A;
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .kaitori-flow__circle {
    width: 32vw;
    height: 32vw;
  }
  .kaitori-flow__circle span {
    font-size: 4vw;
  }
}

/* ##################### リノベーション（中古＋リノベ）ページ ##################### */
#page-renovation .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

/* イントロ */
.reno-intro {
  padding: 0 0 4.375rem;
}
@media screen and (max-width: 768px) {
  .reno-intro {
    padding: 8vw 0 10.6666666667vw;
  }
}

/* 向いている人 ＋ 新築との違い */
.reno-suit {
  padding-bottom: 4.375rem;
}
@media screen and (max-width: 768px) {
  .reno-suit {
    padding-bottom: 10.6666666667vw;
  }
}

.reno-suit__cols {
  display: flex;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .reno-suit__cols {
    flex-direction: column;
    gap: 6.4vw;
  }
}

.reno-suit__people,
.reno-suit__compare {
  flex: 1;
  min-width: 0;
  border-radius: 1rem;
  padding: 1.875rem 2.5rem 1.875rem;
}
@media (max-width: 1024px) {
  .reno-suit__people,
  .reno-suit__compare {
    padding: 1.875rem 0.625rem 1.875rem;
  }
}
@media screen and (max-width: 768px) {
  .reno-suit__people,
  .reno-suit__compare {
    border-radius: 3.2vw;
    padding: 4.2666666667vw 4.2666666667vw 6.4vw 2.1333333333vw;
  }
}

.reno-suit__people {
  background-color: #F7E5BC;
}

.reno-suit__compare {
  background-color: #D1E5CD;
}

.reno-suit__head {
  width: 100%;
  text-align: center;
  margin: 0 0 1.5rem;
  background-color: #fff;
  border-radius: 1.875rem;
  color: #D4951A;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.4166666667;
  letter-spacing: 0.1em;
  padding: 0.625rem 1.875rem;
}
@media screen and (max-width: 768px) {
  .reno-suit__head {
    margin-bottom: 4.8vw;
    font-size: 4.5333333333vw;
    border-radius: 8vw;
    padding: 2.1333333333vw 5.3333333333vw;
  }
}
.reno-suit__head--green {
  color: #65A758;
}

.reno-suit__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .reno-suit__cards {
    gap: 1.6vw;
  }
}

.reno-suit__card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  border: 4px solid #D4951A;
  border-radius: 0.625rem;
  padding: 1.25rem 1.125rem 1.5rem;
}
@media screen and (max-width: 768px) {
  .reno-suit__card {
    border-radius: 2.1333333333vw;
    padding: 4.2666666667vw 1.6vw;
  }
}

.reno-suit__card-title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.8em;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #4C4948;
  margin-bottom: 0.875rem;
}
@media screen and (max-width: 768px) {
  .reno-suit__card-title {
    font-size: 4vw;
    margin-bottom: 2.6666666667vw;
  }
}

.reno-suit__icon {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 5.625rem;
  margin-bottom: 1rem;
}
.reno-suit__icon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
@media screen and (max-width: 768px) {
  .reno-suit__icon {
    height: 18.6666666667vw;
    margin-bottom: 3.2vw;
  }
}

.reno-suit__card-text {
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .reno-suit__card-text {
    font-size: 3.4666666667vw;
  }
}

/* 新築との違い 比較表（行ラベル＋2列） */
.reno-compare {
  display: grid;
  grid-template-columns: auto 1fr 1fr;
  -moz-column-gap: 0.875rem;
       column-gap: 0.875rem;
}
@media screen and (max-width: 768px) {
  .reno-compare {
    -moz-column-gap: 2.1333333333vw;
         column-gap: 2.1333333333vw;
  }
}

.reno-compare__corner {
  grid-column: 1;
}

.reno-compare__colhead {
  text-align: center;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding: 0.625rem;
  border-radius: 0.5rem 0.5rem 0 0;
}
@media screen and (max-width: 768px) {
  .reno-compare__colhead {
    font-size: 3.7333333333vw;
    padding: 2.1333333333vw;
  }
}
.reno-compare__colhead--green {
  background-color: #65A758;
}
.reno-compare__colhead--gray {
  background-color: #A5A4A4;
}

.reno-compare__label {
  writing-mode: vertical-rl;
  align-self: center;
  justify-self: center;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .reno-compare__label {
    font-size: 3.4666666667vw;
  }
}

.reno-compare__cell {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
  padding: 1rem 1rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .reno-compare__cell {
    padding: 3.2vw 2.6666666667vw;
  }
}

.reno-compare__label,
.reno-compare__cell {
  position: relative;
}

.reno-compare > :nth-child(n+7)::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  border-top: 2px dotted #A5A4A4;
  width: calc(100% - 30px);
}

.reno-compare > :nth-last-child(-n+2) {
  border-radius: 0 0 0.5rem 0.5rem;
}

.reno-compare__icon {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  height: 4.375rem;
  margin-bottom: 0.75rem;
}
.reno-compare__icon img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
@media screen and (max-width: 768px) {
  .reno-compare__icon {
    height: 14.4vw;
    margin-bottom: 2.1333333333vw;
  }
}

.reno-compare__text {
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .reno-compare__text {
    font-size: 3.2vw;
  }
}

/* 物件探しから工事までの流れ */
.reno-flow {
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .reno-flow {
    padding: 10.6666666667vw 0;
  }
}
.reno-flow .flow {
  margin-top: 3.125rem;
}
@media screen and (max-width: 768px) {
  .reno-flow .flow {
    margin-top: 8vw;
  }
}
.reno-flow .flow__step {
  padding: 0.625rem;
  min-height: 6.875rem;
  max-width: 8.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .reno-flow .flow__step {
    padding: 3.3vw 2.6666666667vw 3.2vw;
    max-width: 100%;
    min-height: auto;
  }
}
.reno-flow .flow__step:not(:last-child)::after {
  right: -1.5625rem;
  top: 53%;
}
@media screen and (max-width: 768px) {
  .reno-flow .flow__step:not(:last-child)::after {
    right: 50%;
    transform: rotate(135deg) translateX(-50%);
    top: auto;
    bottom: -5.8vw;
  }
}
.reno-flow .flow-note {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .reno-flow .flow-note {
    font-size: 3.6vw;
    padding-inline: 0;
    margin-top: 6.4vw;
  }
}

/* 予算の考え方 */
.reno-budget {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .reno-budget {
    padding: 10.6666666667vw 0;
  }
}
.reno-budget .sec-title {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .reno-budget .sec-title {
    margin-bottom: 7.4666666667vw;
  }
}

.reno-budget__cols {
  display: flex;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .reno-budget__cols {
    flex-direction: column;
    gap: 7.4666666667vw;
  }
}

.reno-budget__main {
  width: 50%;
  padding-inline: 2.5rem;
  border-right: 2px solid #D4951A;
  container-type: inline-size;
}
@media screen and (max-width: 768px) {
  .reno-budget__main {
    width: 100%;
    padding-inline: 0;
    border-right: none;
    border-bottom: 2px solid #D4951A;
    padding-bottom: 5.3333333333vw;
  }
}

.reno-budget__side {
  flex: 1;
}

.reno-budget__subtitle {
  position: relative;
  padding-left: 1.375rem;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #4C4948;
  margin-bottom: 0.875rem;
}
.reno-budget__subtitle::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.375rem;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background-color: #D4951A;
}
@media screen and (max-width: 768px) {
  .reno-budget__subtitle {
    padding-left: 4.8vw;
    font-size: 3.7333333333vw;
    margin-bottom: 3.2vw;
  }
  .reno-budget__subtitle::before {
    width: 3.2vw;
    height: 3.2vw;
    top: 1.6vw;
  }
}

.reno-budget__text {
  font-size: 1.125rem;
  line-height: 1.3333333333;
  color: #4C4948;
  max-width: 21.875rem;
}
@media screen and (max-width: 768px) {
  .reno-budget__text {
    font-size: 3.4666666667vw;
  }
}

.reno-budget__chart {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  margin: 1.25rem 0;
}
@container (max-width: 520px) {
  .reno-budget__chart {
    flex-direction: column;
  }
}
@media screen and (max-width: 768px) {
  .reno-budget__chart {
    flex-direction: column;
    align-items: flex-start;
    gap: 3.7333333333vw;
    margin: 4.2666666667vw 0;
  }
}

.reno-budget__list {
  flex-shrink: 0;
}
.reno-budget__list li {
  position: relative;
  padding-left: 1rem;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.6666666667;
  color: #4C4948;
}
.reno-budget__list li::before {
  content: "・";
  position: absolute;
  left: 0;
}
@media screen and (max-width: 768px) {
  .reno-budget__list li {
    font-size: 3.4666666667vw;
  }
}

.reno-budget__chart-img {
  width: 18.75rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .reno-budget__chart-img {
    width: 100%;
    max-width: 80vw;
  }
}

.reno-budget__item + .reno-budget__item {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .reno-budget__item + .reno-budget__item {
    margin-top: 5.3333333333vw;
  }
}

.reno-budget__item-body {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  margin-top: 0.625rem;
}
@media screen and (max-width: 768px) {
  .reno-budget__item-body {
    gap: 3.7333333333vw;
    margin-top: 2.1333333333vw;
  }
}

.reno-budget__icon {
  flex-shrink: 0;
  width: 6.875rem;
}
@media screen and (max-width: 768px) {
  .reno-budget__icon {
    width: 21.3333333333vw;
  }
}

/* 実例紹介 Before/After */
.reno-case {
  padding: 4.375rem 0;
  background-color: #F2F2F2;
}
@media screen and (max-width: 768px) {
  .reno-case {
    padding: 10.6666666667vw 0;
  }
}

.reno-case__panel {
  position: relative;
  background-color: #fff;
  border-radius: 0.625rem;
  padding: 2.5rem;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .reno-case__panel {
    border-radius: 2.6666666667vw;
    padding: 6.4vw 4.8vw;
    margin-bottom: 6.4vw;
  }
}

.reno-case__badge {
  position: absolute;
  top: -0.625rem;
  left: 3rem;
  width: 9.375rem;
  min-height: 12.5rem;
  background-color: #D4951A;
  color: #fff;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 1rem 2.125rem;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 22px), 0 100%);
}
@media screen and (max-width: 768px) {
  .reno-case__badge {
    width: 25vw;
    min-height: auto;
    left: 2vw;
    top: -2vw;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% calc(100% - 2vw), 0 100%);
    padding: 3vw 0.2vw 5vw;
  }
}

.reno-case__badge-title {
  font-size: 1.625rem;
  font-weight: 700;
  line-height: 1.3846153846;
  letter-spacing: 0.1em;
  margin-bottom: 1.4375rem;
}
@media screen and (max-width: 768px) {
  .reno-case__badge-title {
    font-size: 3.4666666667vw;
    margin-bottom: 2vw;
  }
}

.reno-case__badge-sub {
  font-size: 1.125rem;
  line-height: 1.3333333333;
}
@media screen and (max-width: 768px) {
  .reno-case__badge-sub {
    font-size: 2.9333333333vw;
  }
}

.reno-case__body {
  padding-left: 12.5rem;
}
@media screen and (max-width: 768px) {
  .reno-case__body {
    padding-left: 0;
    padding-top: 13.3333333333vw;
  }
}

.reno-case__lead {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
  color: #4C4948;
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .reno-case__lead {
    font-size: 4vw;
    margin-bottom: 5.3333333333vw;
  }
}

.reno-case__items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .reno-case__items {
    grid-template-columns: 1fr;
    gap: 5.3333333333vw;
  }
}

.reno-case__photo {
  position: relative;
  border-radius: 0.5rem;
  overflow: hidden;
  aspect-ratio: 500/320;
}
.reno-case__photo img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .reno-case__photo {
    border-radius: 2.1333333333vw;
  }
}

.reno-case__tag {
  position: absolute;
  top: 0;
  left: 0;
  width: 7.5rem;
}
@media screen and (max-width: 768px) {
  .reno-case__tag {
    width: 32vw;
  }
}

.reno-case__caption {
  margin-top: 0.875rem;
  font-size: 1.125rem;
  line-height: 1.3333333333;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .reno-case__caption {
    margin-top: 2.6666666667vw;
    font-size: 3.4666666667vw;
  }
}

/* ============================================================
   _company.scss から統合（会社案内/個人情報保護方針/スタッフ紹介）
   ============================================================ */
/* ##################### 会社案内ページ（company） ##################### */
#page-company .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

/* ===== 会社案内 イントロ＋About ===== */
.company-intro {
  padding: 0 0 4.375rem;
}
@media screen and (max-width: 768px) {
  .company-intro {
    padding: 10.6666666667vw 0;
  }
}

/* 見出し・キャッチはカラム外（全幅・中央）。キャッチは共通パーツ .ulIntro__catch を使用 */
.company-intro__cols {
  display: flex;
  align-items: flex-start;
  gap: 3.125rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .company-intro__cols {
    flex-direction: column;
    gap: 6.4vw;
    margin-top: 6.4vw;
  }
}

.company-intro__img {
  flex-shrink: 0;
  width: 30rem;
  aspect-ratio: 480/660;
  border-radius: 0.625rem;
  overflow: hidden;
}
.company-intro__img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .company-intro__img {
    width: 100%;
    aspect-ratio: auto;
    border-radius: 2.6666666667vw;
  }
}

.company-intro__body {
  flex: 1;
  min-width: 0;
}

.company-intro__text {
  font-size: 1.125rem;
  line-height: 2.1111111111;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-intro__text {
    font-size: 3.7333333333vw;
  }
}

.company-intro__about-text {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-intro__about-text {
    font-size: 3.4666666667vw;
  }
}

.company-intro__point {
  margin-top: 1.875rem;
}
@media screen and (max-width: 768px) {
  .company-intro__point {
    margin-top: 5.8666666667vw;
  }
}

.company-intro__sub {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 2.1111111111;
  letter-spacing: 0.05em;
  color: #D4951A;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .company-intro__sub {
    font-size: 4vw;
  }
}

.company-intro__lead {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #4C4948;
  margin-bottom: 0.375rem;
}
@media screen and (max-width: 768px) {
  .company-intro__lead {
    font-size: 3.7333333333vw;
  }
}

/* ===== 社長挨拶 ===== */
.company-message {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .company-message {
    padding: 0 0 10.6666666667vw;
  }
}
.company-message .section-head {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .company-message .section-head {
    margin-bottom: 7.4666666667vw;
  }
}

.company-message__body {
  display: flex;
  align-items: flex-start;
  gap: 3.125rem;
}
@media screen and (max-width: 768px) {
  .company-message__body {
    flex-direction: column-reverse;
    align-items: center;
    gap: 6.4vw;
  }
}

.company-message__text {
  flex: 1;
  min-width: 0;
}
.company-message__text p {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-message__text p {
    font-size: 3.4666666667vw;
  }
}

.company-message__photo {
  flex-shrink: 0;
  width: 23.75rem;
  border-radius: 0.625rem;
  overflow: hidden;
}
.company-message__photo img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .company-message__photo {
    width: 58.6666666667vw;
    border-radius: 2.6666666667vw;
  }
}

/* 署名（挨拶文の下・テキスト列内で右寄せ） */
.company-message__sign {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .company-message__sign {
    gap: 2.6666666667vw;
    margin-top: 4.2666666667vw;
  }
}

.company-message__role {
  font-size: 1rem;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-message__role {
    font-size: 3.4666666667vw;
  }
}

.company-message__name {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-message__name {
    font-size: 4.8vw;
  }
}

/* ===== 経営理念・行動指針・実績 ===== */
.company-philosophy {
  padding: 4.375rem 0;
  background-color: #FDF9EE;
}
@media screen and (max-width: 768px) {
  .company-philosophy {
    padding: 10.6666666667vw 0;
  }
}

.company-philosophy__row {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  background-color: #fff;
  border-radius: 1rem;
  padding: 2.25rem 3.125rem;
  box-shadow: 1px 2px 2px rgba(13, 19, 26, 0.2);
}
.company-philosophy__row + .company-philosophy__row {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .company-philosophy__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 3.2vw;
    border-radius: 3.2vw;
    padding: 6.4vw 5.3333333333vw;
  }
  .company-philosophy__row + .company-philosophy__row {
    margin-top: 4.2666666667vw;
  }
}

.company-philosophy__label {
  flex-shrink: 0;
  width: 20.625rem;
  text-align: center;
  white-space: nowrap;
  font-size: 1.625rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-philosophy__label {
    width: auto;
    white-space: normal;
    margin: 0 auto;
    font-size: 4.8vw;
  }
}

.company-philosophy__content {
  flex: 1;
  min-width: 0;
}

.company-philosophy__catch {
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.4666666667;
  letter-spacing: 0.1em;
  color: #D4951A;
  margin-bottom: 0.875rem;
}
@media screen and (max-width: 768px) {
  .company-philosophy__catch {
    font-size: 5.3333333333vw;
    margin-bottom: 2.6666666667vw;
  }
}

.company-philosophy__text {
  font-size: 1.125rem;
  line-height: 2.1111111111;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-philosophy__text {
    font-size: 3.7333333333vw;
  }
}
.company-philosophy__text--sm {
  font-size: 1rem;
  line-height: 1.75;
}
@media screen and (max-width: 768px) {
  .company-philosophy__text--sm {
    font-size: 3.4666666667vw;
  }
}

.company-philosophy__list li {
  font-size: 1.125rem;
  line-height: 2.1111111111;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-philosophy__list li {
    font-size: 3.7333333333vw;
  }
}

.company-philosophy__services {
  margin-top: 0.625rem;
}
.company-philosophy__services li {
  position: relative;
  padding-left: 1.5rem;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #4C4948;
}
.company-philosophy__services li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.625rem;
  width: 0.625rem;
  height: 0.625rem;
  background-color: #D4951A;
}
@media screen and (max-width: 768px) {
  .company-philosophy__services li {
    font-size: 3.4666666667vw;
  }
  .company-philosophy__services li::before {
    width: 2.1333333333vw;
    height: 2.1333333333vw;
    top: 2.1333333333vw;
  }
}

/* ===== 会社概要 ===== */
.company-overview {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .company-overview {
    padding: 10.6666666667vw 0;
  }
}
.company-overview .section-head {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .company-overview .section-head {
    margin-bottom: 7.4666666667vw;
  }
}

.company-overview__table {
  background-color: #fff;
  border-radius: 0.625rem;
  overflow: hidden;
}

.company-overview__row {
  max-width: 56.25rem;
  margin: 0 auto;
  display: flex;
  border-bottom: 2px dotted #A5A4A4;
}
.company-overview__row:last-child {
  border-bottom: 0;
}
.company-overview__row dt {
  flex-shrink: 0;
  width: 15.625rem;
  padding: 1.125rem 1.875rem 1.125rem 0;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.5555555556;
  letter-spacing: 0.05em;
  color: #4C4948;
}
.company-overview__row dd {
  flex: 1;
  min-width: 0;
  padding: 1.125rem 1.875rem;
  font-size: 1.125rem;
  line-height: 1.5555555556;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-overview__row {
    flex-direction: column;
  }
  .company-overview__row dt {
    width: 100%;
    padding: 2.6666666667vw 4.2666666667vw 0 0;
    font-size: 3.7333333333vw;
  }
  .company-overview__row dd {
    padding: 3.2vw 4.2666666667vw 3.2vw 0;
    font-size: 3.4666666667vw;
  }
}

/* ===== アクセス ===== */
.company-access {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .company-access {
    padding: 10.6666666667vw 0;
  }
}
.company-access .inner {
  max-width: 940px;
}
.company-access .section-head {
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .company-access .section-head {
    margin-bottom: 5.3333333333vw;
  }
}

.company-access__lead {
  text-align: center;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #D4951A;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .company-access__lead {
    font-size: 3.7333333333vw;
  }
}

.company-access__note {
  text-align: center;
  font-size: 1rem;
  line-height: 1.75;
  color: #4C4948;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 768px) {
  .company-access__note {
    font-size: 3.4666666667vw;
    margin-bottom: 4.2666666667vw;
    text-align: left;
  }
}

.company-access__map {
  width: 100%;
  aspect-ratio: 900/507;
  border-radius: 0.625rem;
  overflow: hidden;
}
.company-access__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
@media screen and (max-width: 768px) {
  .company-access__map {
    aspect-ratio: 343/280;
    border-radius: 2.6666666667vw;
  }
}

.company-access__address {
  margin-top: 1rem;
  font-size: 1rem;
  line-height: 1.75;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-access__address {
    margin-top: 3.2vw;
    font-size: 3.4666666667vw;
  }
}

/* ===== スタッフ紹介 ===== */
.company-staff {
  padding: 4.375rem 0;
}
@media screen and (max-width: 768px) {
  .company-staff {
    padding: 10.6666666667vw 0;
  }
}
.company-staff .inner {
  max-width: 940px;
}
.company-staff .section-head {
  margin-bottom: 1.875rem;
}
@media screen and (max-width: 768px) {
  .company-staff .section-head {
    margin-bottom: 5.3333333333vw;
  }
}

.company-staff__link {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  background-color: #F7E5BC;
  border-radius: 0.625rem;
  padding: 1.875rem 2.5rem;
  transition: box-shadow 0.3s ease;
  position: relative;
}
.company-staff__link:hover {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.12);
}
.company-staff__link:hover .arrow-circle {
  transform: scale(1.2);
}
@media screen and (max-width: 768px) {
  .company-staff__link {
    flex-direction: column;
    align-items: center;
    gap: 4.2666666667vw;
    border-radius: 2.6666666667vw;
    padding: 5.3333333333vw;
  }
}

.company-staff__photo {
  flex-shrink: 0;
  width: 11.875rem;
}
.company-staff__photo img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .company-staff__photo {
    width: 37.3333333333vw;
  }
}

.company-staff__body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}

.company-staff__text {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #4C4948;
}
@media screen and (max-width: 768px) {
  .company-staff__text {
    font-size: 3.4666666667vw;
  }
}

.company-staff__more {
  position: absolute;
  bottom: 1.25rem;
  right: 1.25rem;
  color: #D4951A;
}
.company-staff__more .arrow-circle {
  width: 1.25rem;
  height: 1.25rem;
  background-color: #fff;
  border: none;
}
@media screen and (max-width: 768px) {
  .company-staff__more {
    bottom: 2.6666666667vw;
    right: 2.6666666667vw;
  }
}

/* ============================================================
   _privacy.scss から統合（会社案内/個人情報保護方針/スタッフ紹介）
   ============================================================ */
/*
==================================================
個人情報保護方針ページ
==================================================
*/
#page-privacy .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

.privacy {
  padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .privacy {
    padding-top: 10.6666666667vw;
    padding-bottom: 13.3333333333vw;
  }
}

.privacy__head {
  margin-bottom: 3.125rem;
}
@media screen and (max-width: 768px) {
  .privacy__head {
    margin-bottom: 8vw;
  }
}

.privacy__block {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .privacy__block {
    margin-bottom: 7.4666666667vw;
  }
}

.privacy__title {
  position: relative;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1.6666666667;
  letter-spacing: 0.05em;
  padding-left: 0.875rem;
  margin-bottom: 0.5rem;
}
.privacy__title::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.25rem;
  height: 1.125rem;
  background-color: #D4951A;
}
@media screen and (max-width: 768px) {
  .privacy__title {
    font-size: 4.2666666667vw;
    padding-left: 3.2vw;
  }
  .privacy__title::before {
    width: 1.0666666667vw;
    height: 4.2666666667vw;
  }
}

.privacy__lead {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 2;
  margin-bottom: 0.25rem;
}
@media screen and (max-width: 768px) {
  .privacy__lead {
    font-size: 3.4666666667vw;
  }
}

.privacy__text {
  font-size: 0.875rem;
  line-height: 2;
}
@media screen and (max-width: 768px) {
  .privacy__text {
    font-size: 3.4666666667vw;
  }
}

.privacy__note-lead {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 2;
  margin-bottom: 0.25rem;
}
@media screen and (max-width: 768px) {
  .privacy__note-lead {
    font-size: 3.4666666667vw;
  }
}

/* ============================================================
   _staff.scss から統合（会社案内/個人情報保護方針/スタッフ紹介）
   ============================================================ */
/*
==================================================
スタッフ紹介ページ
==================================================
*/
/***** イントロ *****/
#page-staff .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

.staff-intro {
  margin-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .staff-intro {
    margin-bottom: 13.3333333333vw;
  }
}

.staff-intro__inner {
  width: 100%;
  max-width: 38.75rem;
  margin-inline: auto;
}
.staff-intro__inner .section-head {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .staff-intro__inner .section-head {
    margin-bottom: 6.4vw;
  }
}
@media screen and (max-width: 768px) {
  .staff-intro__inner {
    padding-top: 10.6666666667vw;
  }
}

.staff-intro__catch {
  margin-bottom: 2.5rem;
  text-align: center;
  font-weight: 700;
  font-size: 1.875rem;
  line-height: 1.4666666667;
  letter-spacing: 0.1em;
  color: #D4951A;
}
@media screen and (max-width: 768px) {
  .staff-intro__catch {
    margin-bottom: 6.4vw;
    font-size: 5.8666666667vw;
  }
}

.staff-intro__points {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .staff-intro__points {
    margin-bottom: 6.4vw;
  }
}
.staff-intro__points li {
  text-align: center;
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding: 0.9375rem 0;
}
.staff-intro__points li:not(:last-child) {
  border-bottom: 1px solid #D4951A;
}
@media screen and (max-width: 768px) {
  .staff-intro__points li {
    font-size: 4.2666666667vw;
    padding: 3.2vw 0;
  }
}

.staff-intro__lead {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .staff-intro__lead {
    font-size: 3.7333333333vw;
  }
}

/***** プロフィール *****/
.staff-profile {
  padding-top: 3.75rem;
  padding-bottom: 5rem;
  background-color: #FDF9EE;
}
@media screen and (max-width: 768px) {
  .staff-profile {
    padding-top: 10.6666666667vw;
    padding-bottom: 13.3333333333vw;
  }
}

.staff-profile__card {
  background-color: #fff;
  border-radius: 1.25rem;
  box-shadow: 0.0625rem 0.125rem 0.125rem rgba(0, 0, 0, 0.16);
  padding: 3.75rem 3.125rem;
}
@media screen and (max-width: 768px) {
  .staff-profile__card {
    border-radius: 3.7333333333vw;
    padding: 8vw 5.3333333333vw;
  }
}

/* 写真 + プロフィール表 */
.staff-profile__head {
  display: flex;
  gap: 2.5rem;
  align-items: flex-start;
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .staff-profile__head {
    flex-direction: column;
    gap: 6.4vw;
    margin-bottom: 5.3333333333vw;
  }
}

.staff-profile__photo {
  width: 18.75rem;
  flex-shrink: 0;
}
.staff-profile__photo img {
  display: block;
  width: 100%;
  aspect-ratio: 300/340;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 1.25rem;
}
@media screen and (max-width: 768px) {
  .staff-profile__photo {
    width: 100%;
    max-width: 64vw;
    margin-inline: auto;
  }
  .staff-profile__photo img {
    border-radius: 3.7333333333vw;
  }
}

.staff-profile__meta {
  flex: 1;
}

.staff-profile__label {
  display: block;
  font-family: "Caveat", cursive;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #D4951A;
  margin-bottom: 0.625rem;
}
@media screen and (max-width: 768px) {
  .staff-profile__label {
    font-size: 4.8vw;
  }
}

.staff-profile__dl {
  border-top: 1px solid #A5A4A4;
}

.staff-profile__row {
  display: flex;
  gap: 1.25rem;
  padding: 0.875rem 0;
  border-bottom: 1px solid #A5A4A4;
}
.staff-profile__row dt {
  width: 11.875rem;
  flex-shrink: 0;
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.875;
  letter-spacing: 0.05em;
}
.staff-profile__row dd {
  flex: 1;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .staff-profile__row {
    gap: 2.6666666667vw;
    padding: 3.2vw 0;
  }
  .staff-profile__row dt {
    width: 26.6666666667vw;
    font-size: 3.4666666667vw;
  }
  .staff-profile__row dd {
    font-size: 3.4666666667vw;
  }
}

/* 本文ブロック */
.staff-profile__block:not(:last-child) {
  margin-bottom: 2.5rem;
}
@media screen and (max-width: 768px) {
  .staff-profile__block:not(:last-child) {
    margin-bottom: 8vw;
  }
}

.staff-profile__title {
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.875;
  letter-spacing: 0.05em;
  color: #D4951A;
  margin-bottom: 1rem;
}
@media screen and (max-width: 768px) {
  .staff-profile__title {
    font-size: 4vw;
    margin-bottom: 3.2vw;
  }
}

.staff-profile__text {
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .staff-profile__text {
    font-size: 3.7333333333vw;
  }
}

.staff-profile__relate {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.875rem;
}
@media screen and (max-width: 768px) {
  .staff-profile__relate {
    grid-template-columns: 1fr;
    gap: 4.2666666667vw;
  }
}

.staff-profile__relate-col li {
  position: relative;
  padding-left: 1em;
  font-size: 1rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.staff-profile__relate-col li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
@media screen and (max-width: 768px) {
  .staff-profile__relate-col li {
    font-size: 3.7333333333vw;
  }
}

/* ============================================================
   _reason.scss から統合（選ばれる理由ページ）
   ============================================================ */
/*
==================================================
選ばれる理由ページ
==================================================
*/
#page-reason .common-nav {
  margin-top: -1.875rem;
  margin-bottom: 2.5rem;
}

.reason {
  padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .reason {
    padding-top: 10.6666666667vw;
    padding-bottom: 13.3333333333vw;
  }
}
.reason .band {
  padding: 0.75rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .reason .band {
    padding: 2.6666666667vw 5.3333333333vw;
  }
}

.reason__head {
  margin-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
  .reason__head {
    margin-bottom: 13.3333333333vw;
  }
}

.reason__list {
  margin-bottom: 8.75rem;
}
@media screen and (max-width: 768px) {
  .reason__list {
    margin-bottom: 10.6666666667vw;
  }
}

.reason__item {
  display: flex;
  align-items: flex-start;
  gap: 4.375rem;
}
.reason__item:not(:last-child) {
  margin-bottom: 7.5rem;
}
.reason__item:nth-child(3) .reason__img {
  width: 27.125rem;
  margin-right: -0.875rem;
}
@media screen and (max-width: 768px) {
  .reason__item:nth-child(3) .reason__img {
    width: 104%;
    max-width: 104%;
    margin-right: -2vw;
  }
}
@media screen and (max-width: 768px) {
  .reason__item {
    flex-direction: column;
    gap: 5.3333333333vw;
  }
  .reason__item:not(:last-child) {
    margin-bottom: 10.6666666667vw;
  }
}

/* 番号 + 本文（左カラム） */
.reason__main {
  flex: 1;
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  min-width: 0;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason__main {
    flex-direction: column;
    width: 100%;
    gap: 3.2vw;
  }
}

.reason__num {
  flex-shrink: 0;
  font-family: "Caveat", cursive;
  font-weight: 400;
  font-size: 5rem;
  line-height: 1;
  color: #D4951A;
}
@media screen and (max-width: 768px) {
  .reason__num {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 13.3333333333vw;
  }
}

.reason__body {
  flex: 1;
  min-width: 0;
  padding-left: 1.875rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason__body {
    padding-left: 0;
  }
}
.reason__body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0.25rem;
  height: calc(100% - 1em);
  background-color: #D4951A;
}
@media screen and (max-width: 768px) {
  .reason__body::before {
    display: none;
  }
}

.reason__title {
  font-weight: 700;
  font-size: 1.5rem;
  line-height: 1.5833333333;
  letter-spacing: 0.05em;
  color: #D4951A;
  margin-bottom: 2.5rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .reason__title {
    font-size: 4.2666666667vw;
    margin-bottom: 3.2vw;
    margin-left: 13.3333333333vw;
    min-height: 3em;
  }
}
@media screen and (max-width: 768px) {
  .reason__title::before {
    content: "";
    position: absolute;
    top: 0;
    left: -3vw;
    width: 0.25rem;
    height: 100%;
    background-color: #D4951A;
  }
}

.reason__lead {
  font-weight: 700;
  font-size: 1rem;
  line-height: 2.375;
  letter-spacing: 0.05em;
  margin-bottom: 0.5rem;
}
@media screen and (max-width: 768px) {
  .reason__lead {
    font-size: 3.7333333333vw;
  }
}

.reason__text {
  font-size: 1rem;
  line-height: 1.875;
}
@media screen and (max-width: 768px) {
  .reason__text {
    font-size: 3.7333333333vw;
  }
}
.reason__text--sm {
  font-size: 0.75rem;
  line-height: 1.75;
  color: #000;
}
@media screen and (max-width: 768px) {
  .reason__text--sm {
    font-size: 3.2vw;
  }
}

/* 右画像 */
.reason__img {
  flex-shrink: 0;
  width: 26.25rem;
}
.reason__img img {
  display: block;
  width: 100%;
  aspect-ratio: 420/220;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 768px) {
  .reason__img {
    width: 100%;
    max-width: 100%;
  }
}/*# sourceMappingURL=styles.css.map */
