@charset "UTF-8";
/*/////////----------------ミックスイン設定*/
/*----------------------------------------------------------------
お問い合わせ シミュレーション
------------------------------------------------------------------*/
/* b.png 準拠 + SPでもPC同様の挙動（タブ→スライド） */
.contact_tel_simulation {
  --tabW:65px;
  --tabH:240px;
  --panelW:370px;
  --navy:#192d4a;
  --red:#c14a4a;
  --line:#e6e8ef;
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1000;
  /* 背景オーバーレイ（開時のみ有効） */
  /* タブ（a.png） */
  /* パネル（b.pngデザイン） */
  /* タイトル帯 */
  /* 各BOX */
  /* 赤い検索ボタン（画像は非表示にしてCSSで再現） */
  /* 開いた時 */
  /* SPでも同じ動作（パネル幅縮小） */
}
.contact_tel_simulation .side-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}
.contact_tel_simulation .contact_tel {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.contact_tel_simulation .contact_tel__btn {
  display: block;
  width: var(--tabW);
  height: var(--tabH);
}
.contact_tel_simulation .contact_tel__btn img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.contact_tel_simulation .subLoan {
  position: fixed;
  right: 0;
  top: 50%;
  width: var(--panelW);
  max-height: calc(100dvh - 40px);
  overflow: auto;
  transform: translate(100%, -50%); /* ← 初期は右に退避 */
  transition: transform 0.3s ease;
  background: #f3f5f7;
  border-radius: 12px 0 0 12px;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.2);
  padding: 16px;
}
.contact_tel_simulation .subLoan__close {
  position: absolute;
  right: 10px;
  top: 8px;
  z-index: 2;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 0;
  background: #fff;
  color: #192d4a;
  font-size: 20px;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
.contact_tel_simulation .subTitle01 h3 {
  margin: 0 0 14px;
  padding: 10px 12px;
  text-align: center;
  background: var(--navy);
  color: #fff;
  border-radius: 4px;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  letter-spacing: 0.06em;
}
.contact_tel_simulation .simulationBox {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 14px;
  margin: 0 0 14px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}
.contact_tel_simulation .simulationBox > h4 {
  margin: 0 0 12px;
  padding: 10px 12px;
  border-radius: 3px;
  background: var(--navy);
  color: #fff;
  font-size: 16px;
  font-family: "Zen Old Mincho", serif;
}
.contact_tel_simulation .simulationBox .row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.contact_tel_simulation .simulationBox .row select {
  width: 48px;
  height: 34px;
}
.contact_tel_simulation .simulationBox .row label {
  color: #2f4768;
}
.contact_tel_simulation .loan-btn {
  display: grid;
  grid-template-columns: 24px 1fr;
  align-items: center;
  gap: 10px;
  width: 240px;
  height: 40px;
  border-radius: 4px;
  background: var(--red);
  color: #fff;
  text-decoration: none;
  border: 1px solid var(--red);
}
.contact_tel_simulation .loan-btn img {
  display: none;
}
.contact_tel_simulation .loan-btn::before {
  content: "";
  width: 18px;
  height: 18px;
  justify-self: center;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><circle cx='9' cy='9' r='7' fill='none' stroke='white' stroke-width='2'/><path d='M13.5 13.5L18 18' stroke='white' stroke-width='2' stroke-linecap='round'/></svg>") no-repeat center/contain;
}
.contact_tel_simulation .loan-btn::after {
  content: "検索スタート";
  font-size: 14px;
  letter-spacing: 0.06em;
}
.contact_tel_simulation.is-open { /* タブを左に寄せる */ }
.contact_tel_simulation.is-open .subLoan {
  transform: translate(0, -50%);
}
.contact_tel_simulation.is-open .contact_tel {
  right: var(--panelW);
  transition: 0.3s;
}
.contact_tel_simulation.is-open .side-overlay {
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 768px) {
  .contact_tel_simulation {
    --panelW: min(370px, 92vw);
    /* タブは表示 */
  }
  .contact_tel_simulation .contact_tel {
    right: 0;
  }
}

/*----------------------------------------------------------------
下層 共通 部品
------------------------------------------------------------------*/
#lower-mainview_section {
  width: 100%;
  overflow: hidden;
  /* SP */
  /* PC */
}
#lower-mainview_section .lower-mv {
  position: relative;
  display: grid;
  width: 100vw;
  height: 100vh;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  min-height: clamp(360px, 58vw, 640px);
}
@supports (width: 100svw) {
  #lower-mainview_section .lower-mv {
    width: 100svw;
    margin-left: calc(50% - 50svw);
    margin-right: calc(50% - 50svw);
  }
}
@supports (width: 100dvw) {
  #lower-mainview_section .lower-mv {
    width: 100dvw;
    margin-left: calc(50% - 50dvw);
    margin-right: calc(50% - 50dvw);
  }
}
#lower-mainview_section .lower-mv__bg {
  position: absolute;
  overflow: hidden;
  width: auto;
  height: 100%;
  inset: 0;
}
#lower-mainview_section .lower-mv__bg img {
  width: 100%;
  min-height: 100%;
  object-fit: cover;
}
#lower-mainview_section .lower-mv__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 29, 52, 0.52) 0%, rgba(9, 29, 52, 0.46) 45%, rgba(9, 29, 52, 0.42) 100%);
}
#lower-mainview_section .lower-mv__eyebrow {
  margin: 0;
  line-height: 1.1;
}
#lower-mainview_section .lower-mv__title {
  margin: 0;
  line-height: 1.25; /* 1.35 → 詰め */
}
#lower-mainview_section .lower-mv__lead {
  margin: 0;
  line-height: 1.8; /* 2 → 詰め */
}
#lower-mainview_section .lower-mv__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 29, 52, 0.52) 0%, rgba(9, 29, 52, 0.46) 45%, rgba(9, 29, 52, 0.42) 100%);
}
#lower-mainview_section .lower-mv__content {
  z-index: 1;
  place-self: center; /* ← 上下左右センター */
  width: min(92%, 720px); /* 横幅を揃えて中央に */
  text-align: center;
  display: grid;
  row-gap: 10px;
  row-gap: clamp(2px, 0.6vw, 8px);
  padding-top: clamp(12px, 1.8vw, 20px);
  padding-bottom: clamp(10px, 1.6vw, 50px);
  color: #fff;
}
#lower-mainview_section .lower-mv__content > .lower-mv__eyebrow,
#lower-mainview_section .lower-mv__content > .lower-mv__title,
#lower-mainview_section .lower-mv__content > .lower-mv__lead {
  max-width: min(92%, 720px);
  margin-inline: auto;
  color: #FFF;
}
#lower-mainview_section .lower-mv__eyebrow {
  margin-bottom: 10px;
  font: 300 clamp(17px, 1.8vw, 24px)/1.2 "Cardo", serif;
  letter-spacing: 0.12em;
}
#lower-mainview_section .lower-mv__title {
  margin-bottom: 40px;
  font-size: clamp(26px, 5.6vw, 40px);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
#lower-mainview_section .lower-mv__lead {
  font-size: clamp(14px, 2vw, 20px);
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.04em;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
#lower-mainview_section.view__mini .lower-mv {
  display: grid;
  overflow: hidden;
  height: 100vh;
  max-height: 400px;
  min-height: clamp(300px, 30vw, 400px);
}
#lower-mainview_section.view__mini .lower-mv__content {
  padding-top: clamp(12px, 13vw, 200px);
}
@media (min-width: 1300px) {
  #lower-mainview_section.view__mini .lower-mv__content {
    padding-top: clamp(12px, 15vw, 160px);
  }
}
@media (max-width: 768px) {
  #lower-mainview_section.view__mini .lower-mv {
    display: grid;
    overflow: hidden;
    height: 100vh;
    max-height: 250px;
    min-height: clamp(250px, 30vw, 350px);
  }
  #lower-mainview_section.view__mini .lower-mv__content {
    padding-top: clamp(12px, 15vh, 100px);
  }
}
@media (max-width: 768px) {
  #lower-mainview_section .u-br--sp {
    display: inline;
  }
  #lower-mainview_section .u-br--pc {
    display: none;
  }
}
@media (min-width: 769px) {
  #lower-mainview_section .u-br--sp {
    display: none;
  }
}

/*----------------------------------------------------------------
ページネーション
------------------------------------------------------------------*/
.pagination {
  margin: 40px 0;
  text-align: center;
}
.pagination ul {
  display: inline-flex;
  gap: 8px;
  list-style: none;
  padding: 0;
}
.pagination li a, .pagination li span {
  display: block;
  padding: 8px 14px;
  border: 1px solid #3D3D3D;
  text-decoration: none;
  color: #333;
  font-weight: bold;
  transition: all 0.2s ease;
}
.pagination li .current {
  background-color: #3D3D3D;
  color: #fff;
  border-color: #3D3D3D;
  font-weight: bold;
}
.pagination li a:hover {
  opacity: 1;
  background-color: #FFAC1D;
  color: #fff;
}

/*----------------------------------------------------------------
詳細ページ ページネーション
------------------------------------------------------------------*/
.detail-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 150px;
  padding-top: 80px;
  border-top: 1px dashed rgba(229, 229, 229, 0.8980392157);
}
.detail-nav__btn {
  padding: 15px 20px;
}
.detail-nav__btn.is-prev, .detail-nav__btn.is-next {
  border: 1px solid #ffab1d;
  background-color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  letter-spacing: 1px;
}
.detail-nav__btn.is-prev:hover, .detail-nav__btn.is-next:hover {
  background-color: #ffab1d;
}
.detail-nav__btn.is-list {
  position: relative;
  min-width: 250px;
  background-color: #d26741;
  color: #fff;
  border-radius: 30px;
}
.detail-nav__btn.is-list::before {
  /*@include iconBefAf;*/
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  /*@include iconAfterArrow*/
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  background-image: url(../img/common/arrow_01.svg);
  background-size: 20px auto;
  right: 18px;
}
.detail-nav__btn.is-list:hover {
  opacity: 1;
  background-color: #DD4517;
}
@media screen and (max-width: 768px) {
  .detail-nav .detail-nav {
    gap: 10px;
    margin-top: 100px;
    padding-top: 40px;
  }
  .detail-nav .detail-nav__btn {
    width: 100%;
    padding: 12px 10px;
    text-align: center;
  }
  .detail-nav .detail-nav__btn.is-prev, .detail-nav .detail-nav__btn.is-next {
    font-size: 1.2rem;
    letter-spacing: 0;
  }
  .detail-nav .detail-nav__btn.is-prev:hover, .detail-nav .detail-nav__btn.is-next:hover {
    background-color: #ffab1d;
  }
  .detail-nav .detail-nav__btn.is-list {
    min-width: 150px;
    font-size: 1.4rem;
  }
  .detail-nav .detail-nav__btn.is-list::before {
    /*@include iconBefAf;*/
    content: "";
    position: absolute;
    background-repeat: no-repeat;
    background-position: center;
    /*@include iconAfterArrow*/
    top: calc(50% - 10px);
    width: 20px;
    height: 20px;
    background-image: url(../img/common/arrow_01.svg);
    background-size: 20px auto;
  }
  .detail-nav .detail-nav__btn.is-list:hover {
    opacity: 1;
    background-color: #DD4517;
  }
}

/*----------------------------------------------------------------
リフォーム
------------------------------------------------------------------*/
/*----------------------------------------------------------------
リフォーム
------------------------------------------------------------------*/
#reform {
  /* ReForm page (ネスト構造) */
  /* ====== reform-features（画像は画面端まで、カードは灰色パネル） ====== */
  /* reform-works 施工実例*/
  /* reform_contact_access*/
}
#reform .cmn_ttl_text_area__ttlBox {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto 50px;
}
#reform #lower-mainview_section .lower-mv__title {
  margin-bottom: 0;
  line-height: 1;
}
#reform #lower-mainview_section .lower-mv__logo {
  text-align: center;
  margin: 0 auto;
}
#reform #lower-mainview_section .lower-mv__logo img {
  width: 80px;
  margin: 0 auto;
}
#reform #lower-mainview_section .lower-mv__contact-card {
  width: 90%;
  max-width: 600px;
  margin: 20px auto 0;
  padding: 25px 35px;
  background-color: #FFF;
  color: #192d4a;
  text-align: center;
}
#reform #lower-mainview_section .lower-mv__contact-card .contact-card__tel {
  display: grid;
  grid-template-columns: 95px 220px 60px;
  justify-content: center;
  align-items: center;
  gap: 2;
  margin-bottom: 10px;
}
#reform #lower-mainview_section .lower-mv__contact-card .contact-card__tel .en {
  font-size: 1.6rem;
}
#reform #lower-mainview_section .lower-mv__contact-card .contact-card__tel .tel_txt {
  display: block;
  font-size: 3.4rem;
}
#reform #lower-mainview_section .lower-mv__contact-card .contact-card__tel .sns_block {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
#reform #lower-mainview_section .lower-mv__contact-card .contact-card__hours {
  padding: 5px;
  border: 1px solid #d0d0d0;
}
@media (max-width: 768px) {
  #reform #lower-mainview_section .lower-mv__contact-card {
    padding: 20px;
  }
  #reform #lower-mainview_section .lower-mv__contact-card .contact-card__tel {
    grid-template-columns: 1fr;
  }
  #reform #lower-mainview_section .lower-mv__contact-card .contact-card__tel .en {
    display: 100%;
    font-size: 1.6rem;
  }
  #reform #lower-mainview_section .lower-mv__contact-card .contact-card__tel .tel_txt {
    display: block;
    margin: 0 10px;
    font-size: 3.2rem;
  }
}
#reform .reform {
  /* カード */
  /* ボタン共通 */
  /* 電話行（左：橙ボタン／右：白い番号箱） */
}
#reform .reform .inner {
  max-width: 1200px;
  width: 90%;
  margin-inline: auto;
  padding: 130px 0;
  position: relative;
}
#reform .reform .cmn_ttl_text_area__ttlBox {
  width: 100%;
}
#reform .reform__lead {
  font-size: 16px;
  line-height: 2;
}
#reform .reform__bg {
  position: absolute;
  right: -10vw;
  top: 0px;
  width: 650px;
  height: 500px;
  background: url("/assets/img/reform/refome_img_bg.png") no-repeat right top/contain;
  z-index: -1;
  pointer-events: none;
}
#reform .reform__grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 36px;
}
#reform .reform .reform-card {
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.08);
  padding: 50px 70px;
  text-align: center;
  color: #2f4768;
}
#reform .reform .reform-card__ttl {
  margin: 0 0 6px;
  font-family: "Zen Old Mincho", serif;
  font-size: 3rem;
  letter-spacing: 0.08em;
  line-height: 1.4;
}
#reform .reform .reform-card__sub {
  margin: 0 0 14px;
  font: 400 1.6rem "Cardo", serif;
  color: #9aa6b7;
  letter-spacing: 0.18em;
}
#reform .reform .reform-card__icon {
  margin: 6px auto 18px;
  width: 175px;
  display: grid;
  place-items: center;
}
#reform .reform .reform-card__icon img {
  display: block;
  width: 100%;
  height: auto;
}
#reform .reform .reform-card__txt {
  margin: 10px 0 16px;
  padding: 10px 0 0;
  border-top: 1px solid #e6e8ef;
  font-size: 1.6rem;
  line-height: 2;
}
#reform .reform .reform-card__btns {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}
#reform .reform .c-btn {
  display: grid;
  grid-template-columns: 35px 1fr auto; /* アイコン / テキスト / More */
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 50px;
  padding: 0 10px;
  letter-spacing: 0.04em;
  border: 1px solid transparent;
  color: #fff;
}
#reform .reform .c-btn img {
  width: 35px;
  height: 35px;
  display: block;
}
#reform .reform .c-btn span {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.1rem;
  text-align: left;
}
#reform .reform .c-btn em {
  font: 400 1.3rem "Cardo", serif;
  opacity: 0.9;
}
#reform .reform .c-btn--navy {
  background: #192d4a;
  border-color: #192d4a;
}
#reform .reform .c-btn--red {
  background: #c14a4a;
  border-color: #c14a4a;
}
#reform .reform .c-btn:hover {
  background: #c14a4a;
  border-color: #c14a4a;
}
#reform .reform .c-btn--search {
  margin-bottom: 10px;
}
#reform .reform .c-rowtel {
  display: grid;
  grid-template-columns: 180px 1fr; /* 左幅は画像に近いバランス */
  align-items: stretch;
  border: 1px solid #db7528;
  text-align: left;
  /* 右カードの「電話で今すぐ相談」だけラベル幅を少し広げる */
}
#reform .reform .c-rowtel__btn {
  display: grid;
  grid-template-columns: 40px 1fr;
  align-items: center;
  gap: 5px;
  padding: 10px 11px 8px;
  background: #db7528;
  color: #fff;
  min-height: 48px;
  font-size: 2.3rem;
  line-height: 1;
}
#reform .reform .c-rowtel__btn img {
  width: 35px;
  height: 35px;
}
#reform .reform .c-rowtel__btn .tel_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  background-color: #FFF;
  border-radius: 50%;
}
#reform .reform .c-rowtel__num {
  display: block;
  height: 40px;
  margin: auto 0;
  padding: 0 16px;
}
#reform .reform .c-rowtel__num img {
  display: inline-block;
  height: 100%;
}
#reform .reform .c-rowtel.c-rowtel--consult .c-rowtel__btn {
  padding: 12px 11px 7px;
  font-size: 1.9rem;
  line-height: 1.1;
}
@media (max-width: 1024px) {
  #reform .reform__bg {
    width: 400px;
    height: 400px;
  }
}
@media (max-width: 768px) {
  #reform .reform .inner {
    padding: 80px 0;
  }
  #reform .reform__lead br {
    display: none;
  }
  #reform .reform__grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  #reform .reform__bg {
    display: none;
  }
  #reform .reform .reform-card {
    padding: 30px 25px;
  }
  #reform .reform .c-btn {
    max-width: 350px;
    margin: 0 auto;
    grid-template-columns: 25px 1fr auto; /* アイコン / テキスト / More */
    gap: 8px;
  }
  #reform .reform .c-btn img {
    width: 25px;
    height: 25px;
  }
  #reform .reform .c-btn span {
    font-size: 1.8rem;
  }
  #reform .reform .c-btn--search {
    margin-bottom: 10px;
  }
  #reform .reform .c-rowtel {
    width: 100%;
    max-width: 350px;
    margin: 0 auto;
    grid-template-columns: 1fr;
  }
  #reform .reform .c-rowtel__btn {
    grid-template-columns: 30px 1fr;
    font-size: 1.8rem;
  }
  #reform .reform .c-rowtel__btn img {
    width: 25px;
    height: 25px;
  }
  #reform .reform .c-rowtel__btn .tel_icon {
    width: 30px;
    height: 30px;
    border-radius: 50%;
  }
  #reform .reform .c-rowtel__num {
    display: block;
    height: auto;
    padding: 10px 16px 7px;
  }
  #reform .reform .c-rowtel__num img {
    display: inline-block;
    height: 35px;
  }
  #reform .reform .c-rowtel.c-rowtel--consult {
    grid-template-columns: 1fr;
  }
}
#reform .reform-features {
  --panel:#d3d1ce;
  --ink:#222;
  --muted:#555;
  padding: 150px 0;
  background: #d3d1ce; /* セクション地は白 */
  overflow-x: hidden;
  /* reform-features 最下部：強みボックス（画像どおり） */
  /* ====== SP（<=768px）：画像→パネルの縦並び ====== */
}
@supports (overflow-x: clip) {
  #reform .reform-features {
    overflow-x: clip;
  }
}
#reform .reform-features .rf {
  /* フルブリード（ビューポートいっぱい） */
  width: 100vw;
  width: 100dvw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: grid;
  grid-template-columns: 1fr 1fr; /* 50/50 基本。必要なら比率を変えてOK */
  align-items: stretch;
  gap: 0;
  min-height: 500px;
  margin-block: 24px 40px;
  /* ---- レイアウト差分 ---- */
}
#reform .reform-features .rf__img {
  margin: 0;
  position: relative;
}
#reform .reform-features .rf__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#reform .reform-features .rf__panel {
  position: relative;
  background: var(--panel);
  color: var(--ink);
  max-width: 750px;
  width: min(100%, 660px);
  margin-top: 50px;
  padding: clamp(22px, 5vw, 50px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#reform .reform-features .rf__num {
  position: absolute;
  left: clamp(14px, 2.2vw, 24px);
  top: clamp(14px, 2.2vw, 30px);
  font: 400 17rem "Cardo", serif;
  line-height: 1;
  color: #fff;
  opacity: 0.8;
  pointer-events: none;
  user-select: none;
  z-index: -1;
}
#reform .reform-features .rf__ttl {
  margin: 0 0 12px;
  font-size: 2.4rem;
  letter-spacing: 0.06em;
  line-height: 1.7;
}
#reform .reform-features .rf__txt {
  margin: 0;
  color: var(--muted);
  font-size: 1.6rem;
  line-height: 2.2;
}
#reform .reform-features .rf--img-right {
  grid-template-columns: 1fr 1.3fr; /* 50/50 基本。必要なら比率を変えてOK */
}
#reform .reform-features .rf--img-right .rf__panel {
  grid-column: 1;
  justify-self: end;
  margin-left: clamp(28px, 6vw, 56px);
  margin-right: -10vw;
  z-index: 2;
}
#reform .reform-features .rf--img-left {
  grid-template-columns: 1.3fr 1fr; /* 50/50 基本。必要なら比率を変えてOK */
}
#reform .reform-features .rf--img-left .rf__panel {
  grid-column: 2;
  justify-self: start;
  margin-right: clamp(28px, 6vw, 56px);
  margin-left: -10vw;
  z-index: 2;
}
#reform .reform-features .rf-adv {
  width: 90%;
  max-width: 1000px;
  margin: 80px auto 20px;
}
#reform .reform-features .rf-adv__inner {
  background: #fff;
  padding: 50px;
}
#reform .reform-features .rf-adv__hd {
  margin: 0 0 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e6e8ef;
  font-size: 1.8rem;
  letter-spacing: 0.06em;
  color: #2b2b2b;
}
#reform .reform-features .rf-adv__list {
  margin: 0 0 5px;
  padding-left: 1.2em; /* 黒ポチ位置合わせ */
  list-style: disc;
  color: #111;
  line-height: 1.9;
}
#reform .reform-features .rf-adv__list li {
  margin: 5px 0;
}
@media (max-width: 768px) {
  #reform .reform-features {
    padding: 80px 0;
  }
  #reform .reform-features .rf {
    display: flex;
    flex-wrap: wrap;
    min-height: auto;
    margin-block: 16px 30px;
  }
  #reform .reform-features .rf__img {
    height: clamp(220px, 56vw, 320px);
  }
  #reform .reform-features .rf__num {
    font-size: 11rem;
    opacity: 0.7;
  }
  #reform .reform-features .rf--img-right .rf__panel, #reform .reform-features .rf--img-left .rf__panel {
    width: 100%;
    justify-self: stretch;
    margin-inline: 0;
    margin-top: 0;
    padding: 30px 40px 25px;
    max-width: none;
  }
  #reform .reform-features .rf--img-right .rf__img, #reform .reform-features .rf--img-left .rf__img {
    width: 100%;
    margin-inline: 0;
  }
  #reform .reform-features .rf--img-left .rf__panel {
    order: 1;
  }
  #reform .reform-features .rf--img-left .rf__img {
    order: 2;
  }
  #reform .reform-features .rf__num {
    left: 10px;
    top: -5px;
  }
  #reform .reform-features .rf__ttl {
    margin: 0 0 5px;
    font-size: 2.2rem;
    letter-spacing: 0.06em;
    line-height: 1.5;
  }
  #reform .reform-features .rf__txt {
    margin: 0;
    color: var(--muted);
    font-size: 1.6rem;
    line-height: 1.8;
  }
  #reform .reform-features .ref-adv__hd {
    margin: 0 0 10px;
    padding-bottom: 8px;
    font-size: 1.7rem;
  }
  #reform .reform-features .rf-adv__inner {
    padding: 30px;
  }
}
#reform .reform-works {
  padding: 150px 0;
  /* reform-works__nav（画像通り） */
  /* ================== FULL REFORM（Slick前提・ネスト構造） ================== */
}
@media (max-width: 768px) {
  #reform .reform-works {
    padding: 80px 0 30px;
  }
}
#reform .reform-works .reform-works__nav {
  --brand:#192d4a;
  --hover:#c14a4a;
  --border:#2e415b;
  --text:#23344a;
  margin-bottom: 40px;
  padding-bottom: 20px;
  border-bottom: 2px solid #192d4a;
}
#reform .reform-works .reform-works__nav ul {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 15px;
}
#reform .reform-works .reform-works__nav button {
  appearance: none;
  width: 100%;
  min-height: 40px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text);
  padding: 0 14px 0 16px;
  font-size: 14px;
  letter-spacing: 0.12em;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
#reform .reform-works .reform-works__nav button::after {
  content: "";
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='6 9 12 15 18 9' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='6 9 12 15 18 9' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  opacity: 0.9;
}
#reform .reform-works .reform-works__nav button:hover {
  border-color: var(--brand);
  background: #f7f9fc;
}
#reform .reform-works .reform-works__nav button:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px rgba(25, 45, 74, 0.18);
}
#reform .reform-works .reform-works__nav button.is-active, #reform .reform-works .reform-works__nav button[aria-current=true] {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
#reform .reform-works .reform-works__nav button.is-active:hover, #reform .reform-works .reform-works__nav button[aria-current=true]:hover {
  background: var(--hover);
  border-color: var(--hover);
}
@media (max-width: 1024px) {
  #reform .reform-works .reform-works__nav ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  #reform .reform-works .reform-works__nav ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 5px;
  }
}
@media (max-width: 480px) {
  #reform .reform-works .reform-works__nav {
    margin-bottom: 20px;
  }
  #reform .reform-works .reform-works__nav button {
    padding: 0 10px;
  }
}
#reform .reform-works .common-switching-elements {
  position: relative;
  --wrap: 1200px;
  --brand:#192d4a;
  --hover:#c14a4a;
  --line:#e3e7ef;
  --ink:#1b293d;
  overflow: hidden;
  transition: max-height 0.3s ease;
  /* Slick arrows（カードごとに内包・競合しない） */
  /* dots無効だが、他ページ共通の slick-dots があっても崩れないよう隠す */
  /* 施工実績トグル開閉 */
  /* 折りたたみ時に付与 */
  /* 折りたたみ時のグラデマスク */
  /* ボタン */
  /* 展開時はマスク非表示 */
  /* 高さ（閉じ時）の既定値。JSで個別に上書きする */
  /* SP 用（必要なら数値調整） */
  /* Responsive */
}
#reform .reform-works .common-switching-elements .inner {
  max-width: var(--wrap);
  margin-inline: auto;
  padding: 40px 24px 56px;
}
#reform .reform-works .common-switching-elements .fr-head {
  text-align: center;
  margin-bottom: 70px;
}
#reform .reform-works .common-switching-elements .fr-head__ja {
  margin: 0 0 4px;
  font-size: 2.4rem;
  color: var(--ink);
}
#reform .reform-works .common-switching-elements .fr-head__en {
  margin: 0;
  font: 400 1.8rem "Cardo", serif;
  color: #9299a6;
}
#reform .reform-works .common-switching-elements .fr-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 70px 13px;
}
#reform .reform-works .common-switching-elements .work-card {
  /* キャプションバー（画像の下辺にグレー帯） */
}
#reform .reform-works .common-switching-elements .work-card__slider {
  margin-bottom: 15px;
}
#reform .reform-works .common-switching-elements .work-card__slider .slick-slide {
  position: relative;
  width: 100%;
  height: 300px;
  aspect-ratio: 4/3;
  overflow: hidden;
  transition: none;
}
#reform .reform-works .common-switching-elements .work-card__slider .slick-slide img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: 50% 50%;
  transition: none;
}
#reform .reform-works .common-switching-elements .work-card__slider .slick-prev {
  left: 5px;
  z-index: 1;
}
#reform .reform-works .common-switching-elements .work-card__slider .slick-next {
  right: 5px;
  z-index: 1;
}
#reform .reform-works .common-switching-elements .work-card__cap {
  position: absolute;
  bottom: 0;
  width: 100%;
  z-index: 1;
  background: #cfcfce;
  color: #333;
  text-align: center;
  letter-spacing: 0.22em;
  padding: 5px 8px;
  font-size: 14px;
}
#reform .reform-works .common-switching-elements .work-card__name {
  margin: 0 0 8px;
  font-size: 18px;
  letter-spacing: 0.12em;
  color: #1b1b1b;
}
#reform .reform-works .common-switching-elements .work-card__badges {
  display: flex;
  gap: 7px;
}
#reform .reform-works .common-switching-elements .work-card .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 14px 6px;
  letter-spacing: 0.14em;
  font-size: 1.3rem;
  line-height: 1;
}
#reform .reform-works .common-switching-elements .work-card .badge--days {
  background: var(--brand);
  color: #fff;
  border: 1px solid var(--brand);
}
#reform .reform-works .common-switching-elements .work-card .badge--type {
  background: #fff;
  color: var(--brand);
  border: 1px solid var(--brand);
}
#reform .reform-works .common-switching-elements .fr-arrow {
  position: absolute;
  z-index: 2;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #d3d9e6;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  display: grid;
  place-items: center;
  color: #2b3c55;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
#reform .reform-works .common-switching-elements .fr-arrow:hover {
  color: #fff;
  background: var(--brand);
  border-color: var(--brand);
}
#reform .reform-works .common-switching-elements .fr-arrow::before {
  content: "";
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='15 6 9 12 15 18' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='15 6 9 12 15 18' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") no-repeat center/contain;
}
#reform .reform-works .common-switching-elements .fr-arrow--prev {
  left: 12px;
}
#reform .reform-works .common-switching-elements .fr-arrow--next {
  right: 12px;
  transform: translateY(-50%) scaleX(-1); /* 右矢印に反転 */
}
#reform .reform-works .common-switching-elements .slick-dots {
  display: none !important;
}
#reform .reform-works .common-switching-elements.is-collapsible {
  overflow: hidden; /* はみ出し隠す */
}
#reform .reform-works .common-switching-elements .collapsible__mask {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 400px;
  pointer-events: none;
  /* 上が透明→下が白（背景が白前提。必要に応じて色を調整） */
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 30%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0.8) 70%, rgb(255, 255, 255) 80%, #fff 100%);
  opacity: 1;
  transition: opacity 0.2s ease;
}
#reform .reform-works .common-switching-elements .collapsible__btnwrap {
  position: sticky; /* マスクの直上中央に重ねる */
  bottom: 16px;
  display: flex;
  justify-content: center;
  margin-top: 16px;
  border-top: 1px solid #1f3350;
  z-index: 1;
}
#reform .reform-works .common-switching-elements .collapsible__btnwrap .collapsible__btn {
  appearance: none;
  -webkit-appearance: none;
  border: none;
  padding: 12px 24px;
  min-width: 300px;
  font-size: 1.8rem;
  line-height: 1;
  background: #1f3350; /* デザインの紺 */
  color: #fff;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  transition: transform 0.06s ease;
}
#reform .reform-works .common-switching-elements .collapsible__btnwrap .collapsible__btn[aria-expanded=true] { /* 開いた時 */
  background: #445877;
}
#reform .reform-works .common-switching-elements .collapsible__btnwrap .collapsible__btn:active {
  transform: translateY(1px);
}
#reform .reform-works .common-switching-elements.is-expanded .collapsible__mask {
  opacity: 0;
}
#reform .reform-works .common-switching-elements .common-switching-elements {
  max-height: none; /* 初期は制限なし（JSが条件成立時に制限を適用） */
}
@media (max-width: 768px) {
  #reform .reform-works .common-switching-elements .common-switching-elements .collapsible__btn {
    font-size: 15px;
    padding: 12px 20px;
  }
  #reform .reform-works .common-switching-elements .common-switching-elements .collapsible__mask {
    height: 100px;
  }
}
@media (max-width: 1024px) {
  #reform .reform-works .common-switching-elements .fr-grid {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}
@media (max-width: 640px) {
  #reform .reform-works .common-switching-elements .fr-head {
    margin-bottom: 50px;
  }
  #reform .reform-works .common-switching-elements .fr-grid {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 40px;
  }
}
#reform .reform-contact {
  padding: 50px 0 200px;
  /* ===== telbox ===== */
  /* ===== Staff ===== */
  /* ===== Access ===== */
  /* ===== Responsive ===== */
}
#reform .reform-contact__first {
  position: relative;
  max-width: 100%;
  width: 100vw;
  min-height: 420px;
  overflow: hidden;
}
#reform .reform-contact__bg {
  position: absolute;
  overflow: hidden;
  width: auto;
  height: 100%;
  inset: 0;
}
#reform .reform-contact__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 29, 52, 0.52) 0%, rgba(9, 29, 52, 0.46) 45%, rgba(9, 29, 52, 0.42) 100%);
  z-index: 1;
}
#reform .reform-contact__comment {
  position: absolute;
  top: calc(50% - 12rem);
  z-index: 1;
  place-self: center;
  width: min(92%, 720px);
  text-align: center;
  display: grid;
  row-gap: 10px;
  row-gap: clamp(2px, 0.6vw, 8px);
  padding-top: clamp(12px, 1.8vw, 20px);
  padding-bottom: clamp(10px, 1.6vw, 50px);
  color: #fff;
  font-size: 2rem;
  line-height: 2;
}
#reform .reform-contact__contents {
  position: relative;
  width: 90%;
  max-width: 1000px;
  margin: -7vw auto 0;
  padding: 50px;
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  z-index: 2;
}
#reform .reform-contact__telbox {
  text-align: center;
  padding: 22px 0 12px;
  /* FREE DIAL 0120-188-767 */
  /* 営業時間の白ボックス（枠付き） */
  /* 赤い見積もりボタン（左に封筒、右に “More”） */
}
#reform .reform-contact__telbox .reform-contact__free {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 10px;
  color: #3a4a61; /* “FREE DIAL” の色 */
  letter-spacing: 0.12em;
}
#reform .reform-contact__telbox .reform-contact__free .reform-contact__tel {
  margin-left: 0.45em;
}
#reform .reform-contact__telbox .reform-contact__free .reform-contact__tel a {
  font: 400 clamp(30px, 5.4vw, 42px)/1 "Cardo", serif;
  color: #1d2b40; /* 数字の濃紺 */
}
#reform .reform-contact__telbox .reform-contact__hours {
  display: inline-block;
  margin: 0 0 10px;
  padding: 10px 18px;
  min-width: min(400px, 92vw);
  background: #fff;
  color: #333;
  border: 1px solid #d6dde8;
  letter-spacing: 0.04em;
}
#reform .reform-contact__telbox .reform-contact__estimate {
  display: grid;
  grid-template-columns: 35px 1fr auto;
  align-items: center;
  column-gap: 12px;
  width: 100%;
  max-width: 400px;
  margin: 0 auto;
  min-height: 55px;
  padding: 0 18px;
  font-size: 1.8rem;
  background: #c14a4a;
  border: 1px solid #c14a4a;
  color: #fff;
}
#reform .reform-contact__telbox .reform-contact__estimate:hover {
  filter: brightness(0.96);
}
#reform .reform-contact__telbox .reform-contact__estimate .reform-contact__ico {
  display: grid;
  place-items: center;
  /* アイコンは白で表示 */
}
#reform .reform-contact__telbox .reform-contact__estimate .reform-contact__ico svg {
  display: block;
  width: 22px;
  height: 22px;
  color: #fff;
}
#reform .reform-contact__telbox .reform-contact__estimate .reform-contact__label {
  text-align: left;
  letter-spacing: 0.06em;
}
#reform .reform-contact__telbox .reform-contact__estimate .reform-contact__more {
  font: 400 12px/1 "Cardo", serif;
  opacity: 0.9;
}
#reform .reform-contact__staff {
  max-width: 750px;
  width: 90%;
  margin: 30px auto;
}
#reform .reform-contact .staff-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
#reform .reform-contact .staff-card {
  background: #d7d5d3;
  padding: 22px 18px;
  text-align: center;
  /* 1行目：店舗/部門名 */
  /* 2行目以降：役割や氏名（必要に応じて改行して使用） */
}
#reform .reform-contact .staff-card__ph {
  inline-size: 120px;
  block-size: 120px;
  margin: 0 auto 12px;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
  display: grid;
  place-items: center;
}
#reform .reform-contact .staff-card__ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#reform .reform-contact .staff-card__office {
  font-size: 17px;
  letter-spacing: -0.06em;
  color: #1c1c1c;
  display: block;
}
#reform .reform-contact .staff-card__role {
  font-family: "游ゴシック", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 15px;
  color: #3c3c3c;
  display: block;
  white-space: pre-line; /* テキスト内の改行を反映できるように */
}
#reform .reform-contact .staff-card__cap {
  display: grid;
  gap: 3px;
  line-height: 1.7;
}
#reform .reform-contact .staff-card__cap.refomecode {
  font-family: "游ゴシック", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
#reform .reform-contact .staff-card__cap.refomecode .staff-card__office {
  font-family: "游ゴシック", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 15px;
  line-height: 1.3;
}
#reform .reform-contact__access {
  width: 100%;
  max-width: 1000px;
  margin: 50px auto;
}
#reform .reform-contact .access__hd {
  margin: 0 0 14px;
  font-size: 2rem;
  color: #2a3346;
  border-bottom: 1px solid #d7d7d7;
}
#reform .reform-contact .access-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
#reform .reform-contact .access-grid .access-card {
  /* マップ枠（画像支給前のプレースホルダ、差し替え時は背景画像や<img>に変更） */
}
#reform .reform-contact .access-grid .access-card__bar {
  margin: 0;
  padding: 10px 14px;
  background: #d3d1ce;
  color: #1a1a1a;
  letter-spacing: 0.08em;
  font-size: 16px;
}
#reform .reform-contact .access-grid .access-card__addr {
  margin: 15px 5px 8px;
  font-style: normal;
  color: #333;
  line-height: 1.8;
}
#reform .reform-contact .access-grid .access-card__map {
  width: 100%;
  min-height: 300px;
  position: relative;
  border: 0;
}
@media (max-width: 768px) {
  #reform .reform-contact {
    /* ===== telbox ===== */
  }
  #reform .reform-contact__bg img {
    width: auto;
    height: 100%;
    object-fit: cover;
  }
  #reform .reform-contact__contents {
    margin: -7vh auto 0;
    padding: 30px 25px;
  }
  #reform .reform-contact__telbox {
    padding: 22px 0 12px;
    /* FREE DIAL 0120-188-767 */
    /* 営業時間の白ボックス（枠付き） */
    /* 赤い見積もりボタン（左に封筒、右に “More”） */
  }
  #reform .reform-contact__telbox .reform-contact__free {
    flex-wrap: wrap;
    margin: 0 0 10px;
  }
  #reform .reform-contact__telbox .reform-contact__free .reform-contact__tel {
    margin-left: 0;
  }
  #reform .reform-contact__telbox .reform-contact__hours {
    margin: 0 0 10px;
    padding: 10px;
    min-width: 100%;
    letter-spacing: 0;
  }
  #reform .reform-contact__telbox .reform-contact__estimate {
    grid-template-columns: 24px 1fr auto;
    column-gap: 5px;
    width: 100%;
    max-width: 400px;
    padding: 0 12px;
    font-size: 1.6rem;
  }
  #reform .reform-contact__telbox .reform-contact__estimate .reform-contact__ico svg {
    display: block;
    width: 24px;
    height: 24px;
  }
  #reform .reform-contact__telbox .reform-contact__estimate .reform-contact__label {
    text-align: left;
    letter-spacing: 0;
  }
  #reform .reform-contact__telbox .reform-contact__estimate .reform-contact__more {
    font: 400 1rem "Cardo", serif;
  }
  #reform .reform-contact__head {
    padding: 18px 0 8px;
  }
  #reform .reform-contact__head .reform-contact__tel a {
    font-size: 32px;
  }
  #reform .reform-contact__head .reform-contact__hours {
    display: block;
  }
  #reform .reform-contact .staff-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  #reform .reform-contact .access-grid {
    grid-template-columns: 1fr;
  }
  #reform .reform-contact .access-grid .access-card__map {
    min-height: 220px;
  }
}

/*----------------------------------------------------------------
買う・物件一覧
------------------------------------------------------------------*/
/*----------------------------------------------------------------
買うTOP
------------------------------------------------------------------*/
#buy .rinziBox {
  padding: 150px 0 0;
  /* SP：項目名を上、値を下に縦積み表示 */
}
#buy .rinziBox.last {
  padding-bottom: 200px;
}
#buy .rinziBox .inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
#buy .rinziBox__btn .storestaff__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  margin-top: 80px;
}
#buy .rinziBox__btn .storestaff-card__link {
  display: block;
  color: inherit;
}
#buy .rinziBox__btn .storestaff-card__frame {
  background: #fff;
  box-shadow: var(--card-shadow);
  padding: 0;
}
#buy .rinziBox__btn .storestaff-card__name {
  margin: 0 0 12px;
  text-align: left;
  font-size: 20px;
  letter-spacing: 0.06em;
  color: #111;
}
#buy .rinziBox__btn .storestaff-card__ph {
  margin: 0;
}
#buy .rinziBox__btn .storestaff-card__ph img {
  width: 100%;
  height: auto;
  display: block;
  padding: 10px;
  box-shadow: 0 2px 36px rgba(0, 0, 0, 0.2);
}
#buy .rinziBox__btn .btnbtn {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 50px;
  padding: 0 15px;
  margin-top: 10px;
  background: #192d4a;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.04em;
}
#buy .rinziBox__en {
  margin-left: 6px;
  font: 400 12px/1 "Cardo", serif;
}
@media (max-width: 768px) {
  #buy .rinziBox {
    padding: 80px 0;
  }
  #buy .rinziBox .storestaff__grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}

/* ----------------------------

  物件詳細

---------------------------- */
.schDetailArea {
  width: 90%;
  max-width: 1200px;
  margin: 30px auto;
}
.schDetailArea .update {
  text-align: right;
  font-size: 11px;
  margin: 10px auto;
}
.schDetailArea .upperBlock {
  position: relative;
  z-index: 0;
  height: 474px; /* 474px */
  width: 100%; /* 840px */
  overflow: hidden;
  margin: 20px auto;
}
.schDetailArea .upperBlock img {
  height: 100%;
  width: 100%;
  object-fit: cover;
}
.schDetailArea .upperBlock .favo {
  position: absolute;
  bottom: 10px;
  right: 10px;
}
.schDetailArea .upperBlock .favo a {
  display: block;
  position: relative;
  width: 80px;
  height: 80px;
  margin: 0 auto;
  padding: 15px;
  border: 2px solid #DB744E;
  background: #FFF;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  font-size: 1.4rem;
  border-radius: 100px;
  cursor: pointer;
}
.schDetailArea .upperBlock .favo a.checked {
  background: #DB744E;
}
.schDetailArea .upperBlock .favo a #star {
  padding-bottom: 10px;
  font-size: 1.2rem;
}
.schDetailArea .upperBlock .price {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  padding: 15px;
  color: #fff;
  display: flex;
  background: #38393B;
  font-weight: normal;
  vertical-align: bottom;
}
.schDetailArea .upperBlock .price .num {
  display: block;
  font-size: 32px;
  letter-spacing: 0.15em;
}
.schDetailArea .upperBlock .price .unit {
  display: flex;
  align-items: flex-end;
  font-size: 1.6rem;
  line-height: 120%;
}
@media (max-width: 840px) {
  .schDetailArea .upperBlock {
    width: 100%;
    height: 56.42vw;
  }
  .schDetailArea p.update.wrap {
    font-size: 9px;
    margin-bottom: 4px;
    color: #989898;
  }
}
.schDetailArea .middleBlock {
  max-width: 840px;
  margin: auto;
}
.schDetailArea .middleBlock .title {
  margin-bottom: 15px;
  padding: 12px 0 0 0;
  font-weight: bold;
  font-size: 24px;
  line-height: 180%;
  letter-spacing: 0.1em;
  color: #38393B;
}
.schDetailArea .middleBlock .syubetsuTag {
  display: inline-block;
  width: auto;
  min-width: 150px;
  margin-right: 15px;
  margin-top: -15px;
  padding: 8px 20px 8px;
  background: #DB744E;
  color: #FFF;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: 0.2em;
  text-align: center;
  border-radius: 100px;
}
.schDetailArea .middleBlock .des {
  font-size: 14px;
  line-height: 180%;
  letter-spacing: 0.15em;
  color: #38393B;
}
@media (max-width: 934px) {
  .schDetailArea .middleBlock {
    width: 90vw;
    margin: auto;
  }
}
.schDetailArea .lowerBlock {
  padding: 28px 0 0 0;
  display: flex;
  max-width: 840px;
  margin: auto;
}
.schDetailArea .lowerBlock .status {
  width: calc(100% - 385px - 20px);
  margin-right: 20px;
}
.schDetailArea .lowerBlock .status .cat {
  display: inline-block;
  width: auto;
  margin-bottom: 5px;
  padding: 2px 10px;
  border: 1px solid #aaa;
  font-weight: bold;
  font-size: 1.2rem;
  letter-spacing: 0.2em;
}
.schDetailArea .lowerBlock .status .name {
  display: block;
  font-weight: normal;
  font-size: 18px;
  line-height: 180%;
  letter-spacing: 0.2em;
  color: #38393B;
}
.schDetailArea .lowerBlock .status .address {
  display: block;
  padding: 20px 0 16px 0;
  font-weight: normal;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.2em;
  color: #38393B;
}
.schDetailArea .lowerBlock .status .tags {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  height: max-content;
}
.schDetailArea .lowerBlock .status .tags .tag {
  font-size: 12px;
  padding: 4px 8px;
  border: 1px solid #A0A0A0;
  box-sizing: border-box;
  margin: 0 8px 8px 0;
}
.schDetailArea .lowerBlock .status .tags .tag a {
  display: block;
  letter-spacing: 0.15em;
  color: #A0A0A0;
  height: 100%;
  width: 100%;
}
.schDetailArea .lowerBlock .info {
  width: 385px;
}
.schDetailArea .lowerBlock .btnWrap {
  width: 100%;
}
.schDetailArea .lowerBlock .btnWrap a {
  display: block;
  position: relative;
  max-width: 385px;
  width: 100%;
  margin: 0 auto;
  padding: 20px 30px;
  background: #f6a736;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.3);
  color: #FFFFFF;
  font-size: 1.6rem;
  border-radius: 100px;
  cursor: pointer;
}
.schDetailArea .lowerBlock .btnWrap a::after {
  /*@include iconBefAf;*/
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
  /*@include iconAfterArrow*/
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  background-image: url(../img/common/arrow_01.svg);
  background-size: 20px auto;
  right: 20px;
}
.schDetailArea .lowerBlock .btnWrap a.blk {
  margin-top: 10px;
  background-color: #3D3D3D;
  color: #f6a736;
}
.schDetailArea .lowerBlock .btnWrap a.blk::after {
  /*@include iconAfterArrowWhite*/
  top: calc(50% - 10px);
  right: 20px;
  width: 20px;
  height: 20px;
  background-image: url(../img/common/arrow_02.svg);
  background-size: 20px auto;
}
.schDetailArea .lowerBlock .data {
  padding: 12px 20px 47px;
}
.schDetailArea .lowerBlock .data .inquiry {
  display: flex;
  align-items: baseline;
}
.schDetailArea .lowerBlock .data .inquiry .telHead {
  font-size: 14px;
  line-height: 180%;
  letter-spacing: 0.03em;
}
.schDetailArea .lowerBlock .data .inquiry .telNum span,
.schDetailArea .lowerBlock .data .inquiry .telNum a {
  color: #38393B;
  font-size: 24px;
  line-height: 180%;
  letter-spacing: 0.03em;
}
.schDetailArea .lowerBlock .data .inquiry .caption {
  padding-left: 6px;
  font-size: 14px;
  line-height: 180%;
  letter-spacing: 0.03em;
  color: #A0A0A0;
}
.schDetailArea .lowerBlock .data .ticket {
  font-weight: normal;
  font-size: 14px;
  line-height: 180%;
  letter-spacing: 0.2em;
  color: #38393B;
}
@media (max-width: 934px) {
  .schDetailArea .lowerBlock {
    width: 100%;
    flex-wrap: wrap;
  }
}
@media (max-width: 750px) {
  .schDetailArea .lowerBlock {
    margin: 0 auto 32px;
  }
}
@media (min-width: 1200px) {
  .schDetailArea .upperBlock {
    width: 58.334vw;
    height: 32.84722vw;
  }
  .schDetailArea .middleBlock,
  .schDetailArea .lowerBlock {
    width: 58.334vw;
    max-width: initial;
  }
  .schDetailArea .sec01_prop {
    width: 58.334vw;
    max-width: initial;
    margin: 0 auto;
  }
}
@media (max-width: 750px) {
  .schDetailArea .upperBlock .price .num {
    font-size: 2.4rem;
  }
  .schDetailArea .upperBlock .price {
    padding: 10px;
  }
  .schDetailArea .middleBlock .title {
    font-size: 1.8rem;
    line-height: 160%;
    letter-spacing: 0.1em;
  }
  .schDetailArea .middleBlock .des {
    padding: 10px 0 0 0;
    font-size: 1.2rem;
    line-height: 1.6;
  }
  .schDetailArea .lowerBlock .status {
    width: 100%;
    margin-bottom: 30px;
  }
  .schDetailArea .lowerBlock .status .cat {
    font-size: 1rem;
  }
  .schDetailArea .lowerBlock .status .name {
    font-size: 1.6rem;
  }
  .schDetailArea .lowerBlock .status .address {
    font-size: 1.2rem;
    padding: 10px 0;
  }
  .schDetailArea .lowerBlock .info {
    width: 100%;
  }
}

/*
    map
  ーーーーーーーーーーーーーーーーーー*/
.sec03_prop .about__map iframe {
  width: 100%;
  min-height: 500px;
}
@media (max-width: 750px) {
  .sec03_prop .about__map iframe {
    min-height: 500px;
  }
}

/*----------------------------------------------------------------
物件詳細
------------------------------------------------------------------*/
.sp {
  display: none;
}

.heyapage .wrap {
  max-width: 1200px;
  margin: auto;
}

/**/
.sec01_prop {
  margin-bottom: 40px;
}
.sec01_prop table {
  width: 100%;
  border-right: 1px solid #ddd;
  border-top: 1px solid #ddd;
  -webkit-border-horizontal-spacing: 0px;
  -webkit-border-vertical-spacing: 0px;
  border-collapse: collapse;
}
.sec01_prop th {
  background: #F4F4F4;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
  line-height: 1.2;
  white-space: nowrap;
  color: #686868;
  padding: 10px;
  font-weight: 500;
}
.sec01_prop td {
  text-align: center;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
  padding: 10px;
}
.sec01_prop td span.rent_large {
  color: #ff8a00;
  font-size: 18px;
  font-weight: bold;
}

/*画像エリア*/
.sec02_prop {
  background: #F6F6F6;
  padding: 80px 0;
  margin-top: 30px;
}
.sec02_prop .wrap {
  overflow: hidden;
  display: flex;
  margin-bottom: 0px;
}
.sec02_prop .Lbox {
  width: 60%;
  display: table-cell;
  vertical-align: top;
  background: #ffffff;
}
.sec02_prop .Lbox .tableBox {
  display: table;
  width: 100%;
  height: 415px;
}
.sec02_prop .Lbox .main-slider {
  width: 100%;
  height: 100%;
  max-height: 540px;
  padding: 20px;
}
.sec02_prop .Lbox .main-slider img {
  width: 100%;
  height: 100%;
  max-height: 500px;
  object-fit: contain;
}
.sec02_prop .Rbox {
  overflow-y: scroll;
  width: 40%;
  height: 415px;
  padding-left: 25px;
  vertical-align: top;
}
.sec02_prop .Rbox div {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  width: 100%;
}
.sec02_prop .Rbox p {
  width: calc((100% - 20px) / 5) !important;
  height: 80px;
  background: #ffffff;
  border: 1px solid #fff;
  text-align: center;
  position: relative;
  cursor: pointer;
}
.sec02_prop .Rbox p img {
  max-height: 100%;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}
.sec02_prop .Rbox .slick-track {
  width: 100% !important;
  transform: none !important;
}
.sec02_prop .Rbox .slick-track:before, .sec02_prop .Rbox .slick-track:after {
  display: none;
}

.sec04_prop {
  padding: 60px 0;
}
.sec04_prop .Lbox {
  width: 90%;
  max-width: 1200px;
  margin: 80px auto;
}
.sec04_prop .Lbox h2 {
  margin: 0px;
  border-left: 4px solid #58371e;
  padding: 3px 0px 3px 10px;
  margin-bottom: 15px;
  font-size: 18px;
}
.sec04_prop .Lbox table {
  width: 100%;
  -webkit-border-horizontal-spacing: 0px;
  -webkit-border-vertical-spacing: 0px;
  border-top: 1px solid #ddd;
  border-right: 1px solid #ddd;
}
.sec04_prop .Lbox th {
  background: #F4F4F4;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
  line-height: 1.2;
  white-space: nowrap;
  color: #686868;
  padding: 16px 10px;
  width: 120px;
  font-weight: 500;
}
.sec04_prop .Lbox td {
  width: 250px;
  padding: 10px;
  border-bottom: 1px solid #ddd;
  border-left: 1px solid #ddd;
  line-height: 24px;
}
.sec04_prop .Rbox {
  width: 340px;
}
.sec04_prop .Rbox h3 {
  margin: 0px;
  background-color: var(--sub-color);
  color: #fff;
  font-size: 14px;
  padding: 6px 10px 6px 20px;
  letter-spacing: 1px;
  border-radius: 5px;
  margin-bottom: 15px;
}
.sec04_prop .Rbox dl.access {
  display: block;
  margin-bottom: 10px;
}
.sec04_prop .Rbox dl.access dt {
  display: inline-block;
  width: 10%;
}
.sec04_prop .Rbox dl.access dd {
  width: 80%;
  display: inline-block;
  vertical-align: top;
  padding-top: 5px;
  font-size: 1.3 rem;
  letter-spacing: 1px;
  line-height: 24px;
  margin: 0;
}

@media (max-width: 750px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .heyapage .wrap {
    width: 100%;
  }
  .sec02_prop {
    display: block;
    padding: 30px 0%;
  }
  .sec02_prop .wrap {
    flex-wrap: wrap;
  }
  .sec02_prop .Lbox {
    padding: 0px;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 20px;
  }
  .sec02_prop .Lbox .tableBox {
    height: 300px;
    display: block;
  }
  .sec02_prop .Lbox .main-slider {
    height: 100%;
  }
  .sec02_prop .Rbox {
    padding: 0px;
    width: 90%;
    height: 330px;
    margin: 0 auto;
  }
  .sec02_prop .Rbox li {
    height: 16vw;
  }
  .sec01_prop {
    margin-bottom: 10px;
  }
  .sec01_prop table {
    margin-bottom: 12px;
  }
  .sec01_prop table td span.rent_large {
    font-size: 1.5rem;
  }
  .sec01_prop table th, .sec01_prop table td {
    font-size: 1.3 rem;
  }
  .sec04_prop .Lbox {
    width: 90%;
    margin: 0 auto 20px;
  }
  .sec04_prop .Lbox table th {
    display: block;
    width: 100%;
    font-size: 1.3 rem;
    padding: 10px;
  }
  .sec04_prop .Lbox table td {
    display: block;
    width: 100%;
    font-size: 1.3 rem;
  }
  .sec04_prop .Rbox {
    width: 100%;
    margin-bottom: 20px;
  }
  .sec04_prop .Lbox h2 {
    font-size: 1.5rem;
  }
  .sec04_prop .Lbox h2 span {
    font-size: 1.6rem;
  }
  .sec04_prop .Rbox h3 {
    font-size: 1.5rem;
  }
}
.content__property-simulation {
  background: url("../../images/search/property-info/bg-simulation.jpg") no-repeat center center;
  background-size: cover;
  padding: 90px 0;
}
.content__property-simulation .simulation {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
}
.content__property-simulation .simulation .title {
  font-size: 3.2rem;
  padding: 0;
}
.content__property-simulation .simulation .title i {
  font-size: 1.6rem;
}
.content__property-simulation .simulation .box-blue {
  background: #3D3D3D;
  border-radius: 10px;
  padding: 15px;
  display: flex;
  justify-content: left;
  flex-wrap: wrap;
  position: relative;
}
.content__property-simulation .simulation .box-blue:after {
  content: "";
  display: block;
  border-top: 3px solid #fff;
  border-bottom: 3px solid #fff;
  display: block;
  width: 2.4%;
  height: 15px;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 24.3%;
  margin: auto;
}
.content__property-simulation .simulation .box-blue li {
  background: #fff;
  border-radius: 10px;
  padding: 15px;
  text-align: center;
  margin-right: 1%;
  font-size: 1.4rem;
  font-weight: bold;
}
.content__property-simulation .simulation .box-blue li h3 {
  font-size: 2rem;
  margin-bottom: 5px;
}
.content__property-simulation .simulation .box-blue li input[type=text] {
  background: #686868;
  border: none;
  box-shadow: inset 0px 0px 20px 5px rgba(0, 0, 0, 0.05);
  width: 70%;
  margin-right: 5px;
  font-size: 2.6rem;
  text-align: center;
}
.content__property-simulation .simulation .box-blue li:last-child {
  margin-left: auto;
}
.content__property-simulation .simulation .box-blue li.price, .content__property-simulation .simulation .box-blue li.funds {
  width: 16.5%;
}
.content__property-simulation .simulation .box-blue li.rate, .content__property-simulation .simulation .box-blue li.year {
  width: 13.2%;
}
.content__property-simulation .simulation .box-blue li.result {
  margin-right: 0;
  width: 20.2%;
}
.content__property-simulation .simulation .box-blue li.result span {
  font-weight: bold;
  color: #DB744E;
  font-size: 2.2rem;
}
.content__property-simulation .simulation .box-blue li.result span i {
  font-size: 190%;
}
.content__property-simulation .simulation .box-blue li .radio-box label {
  display: block;
  text-align: left;
}
.content__property-simulation .simulation .box-blue li .radio-box label i {
  position: relative;
  display: inline-block;
  width: 22px;
  height: 16px;
  margin-right: 7px;
  top: 2px;
}
.content__property-simulation .simulation .box-blue li .radio-box label i:before, .content__property-simulation .simulation .box-blue li .radio-box label i:after {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100px;
}
.content__property-simulation .simulation .box-blue li .radio-box label i:before {
  height: 10px;
  width: 10px;
  top: calc(50% - 5px);
  left: calc(50% - 5px);
  z-index: 2;
  background: #aaa;
}
.content__property-simulation .simulation .box-blue li .radio-box label i:after {
  top: calc(50% - 8px);
  left: calc(50% - 8px);
  height: 16px;
  width: 16px;
  border-radius: 20px;
  border: none;
  background: #ccc;
}
.content__property-simulation .simulation .box-blue li .radio-box label input:checked + i:before {
  background: #ff8a00;
}
.content__property-simulation .simulation .note {
  font-size: 1.2rem;
  padding-bottom: 0;
}

@media screen and (max-width: 750px) {
  .content__property-simulation {
    padding: 40px 0;
  }
  .content__property-simulation .simulation {
    padding: 4%;
    width: 94%;
  }
  .content__property-simulation .simulation .title {
    font-size: 2rem;
  }
  .content__property-simulation .simulation .title i {
    font-size: 1.2rem;
    display: block;
    padding-top: 5px;
  }
  .content__property-simulation .simulation .box-blue {
    padding: 2%;
  }
  .content__property-simulation .simulation .box-blue:after {
    border-right: 3px solid #fff;
    border-top: none;
    display: block;
    width: 20px;
    height: 20px;
    top: auto;
    bottom: 33%;
    right: 0;
    left: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .content__property-simulation .simulation .box-blue li {
    margin: 1%;
    font-size: 1.2rem;
  }
  .content__property-simulation .simulation .box-blue li h3 {
    font-size: 1.4rem;
  }
  .content__property-simulation .simulation .box-blue li input[type=text] {
    font-size: 1.6rem;
  }
  .content__property-simulation .simulation .box-blue li.price, .content__property-simulation .simulation .box-blue li.funds, .content__property-simulation .simulation .box-blue li.rate, .content__property-simulation .simulation .box-blue li.year {
    width: 48%;
    box-sizing: border-box;
    padding: 3% 2%;
  }
  .content__property-simulation .simulation .box-blue li.result {
    margin-top: 40px;
    width: 100%;
    padding: 3% 2%;
  }
  .content__property-simulation .simulation .box-blue li.result span {
    font-size: 1.5rem;
  }
  .content__property-simulation .simulation .box-blue li.result span i {
    font-size: 190%;
  }
  .content__property-simulation .simulation .note {
    font-size: 1.1rem;
  }
}
.fancybox-button svg {
  color: #FFF;
}

/*----------------------------------------------------------------
売る
------------------------------------------------------------------*/
/*----------------------------------------------------------------
売るTOP
------------------------------------------------------------------*/
#sell {
  /* flow（見出し左／本文とボタンは右。内側幅1200px） */
  /* 売る｜売却の流れ（Slick） */
  /* 売る：地域密着バナー（ネスト構造） */
  /* 売る：リンクカード（ネスト） */
}
#sell #lower-mainview_section .lower-mv__content {
  margin-bottom: 10vh;
}
#sell .sell-hero {
  /* SP：項目名を上、値を下に縦積み表示 */
}
#sell .sell-hero__top {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  width: 80%;
  max-width: 850px;
  margin: -38vh auto 38vh;
  padding: 20px 15px;
  background-color: #192d4a;
}
#sell .sell-hero__label {
  width: 10vw;
  height: 10vw;
  max-width: 140px;
  max-height: 140px;
  padding: 18px;
  border: 1px solid #FFF;
}
#sell .sell-hero__center {
  width: 27.1428571429vw;
  max-width: 380px;
}
#sell .sell-hero__center img {
  max-width: 100%;
  filter: drop-shadow(0 2px 2px rgba(0, 0, 0, 0.15));
}
#sell .sell-hero__right {
  width: 23.5714285714vw;
  max-width: 330px;
}
@media (max-width: 768px) {
  #sell .sell-hero__top {
    flex-wrap: wrap;
    align-items: center;
    justify-content: left;
    gap: 10px;
    margin-bottom: 30px;
  }
  #sell .sell-hero__label {
    width: 100%;
    max-width: 100%;
    height: auto;
    text-align: center;
    line-height: 1;
  }
  #sell .sell-hero__label img {
    display: none;
  }
  #sell .sell-hero__label::before {
    content: "売却部門";
    font-size: 2rem;
    color: #FFF;
    line-height: 1;
    letter-spacing: 2px;
  }
  #sell .sell-hero__center {
    width: 80%;
    margin: 0 auto;
    padding-bottom: 10px;
    border-bottom: 1px dashed #ddd;
  }
  #sell .sell-hero__right {
    width: 80%;
    margin: 0 auto;
  }
  #sell .sell-hero__right img {
    display: block;
    width: 88%;
  }
}
#sell .flow {
  --wrap: 1200px;
  --brand:#192d4a; /* ボタン通常 */
  --hover:#d83434; /* ホバー */
  --ink:#1d2230;
  /* 左：見出し */
  /* 右：本文＋ボタン。全体を右側に寄せる */
  /* 切替ボタン（右寄せ・横並び） */
  /* SP */
}
#sell .flow .inner {
  margin-inline: auto;
  padding: 105px 0 80px;
}
#sell .flow__grid {
  width: 90%;
  max-width: var(--wrap);
  margin: 0 auto 40px;
  display: grid;
  grid-template-columns: minmax(360px, 480px) 1fr; /* 左見出し / 右本文 */
  align-items: start;
  gap: clamp(24px, 4vw, 56px);
}
#sell .flow__eyebrow {
  margin: 0 0 6px;
  font-size: 2.2rem;
  color: #000;
  letter-spacing: 0.06em;
  font-family: "Zen Old Mincho", serif;
}
#sell .flow__title {
  margin: 17px 0;
}
#sell .flow__title-en {
  font: 400 40px/1.25 "Cardo", serif;
  color: var(--hover);
}
#sell .flow__right {
  justify-self: end;
  max-width: 620px; /* 右側の本文箱の目安幅 */
}
#sell .flow__lead {
  margin: 0 0 16px;
  line-height: 2;
  color: #333;
  font-family: "Zen Old Mincho", serif;
}
#sell .flow__switch {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  border-bottom: 1px solid #000;
}
#sell .flow .flowbtn {
  appearance: none;
  border: 1px solid var(--brand);
  background: #fff;
  color: var(--brand);
  min-width: 250px;
  min-height: 48px;
  padding: 0 15px;
  display: grid;
  grid-template-columns: 1fr 20px;
  align-items: center;
  gap: 10px;
  letter-spacing: 0.12em;
  font-size: 16px;
  text-align: left;
}
#sell .flow .flowbtn:hover {
  background: var(--hover);
  border-color: var(--hover);
  color: #fff;
}
#sell .flow .flowbtn:focus-visible {
  outline: none;
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--brand) 30%, #fff);
}
#sell .flow .flowbtn__caret {
  width: 16px;
  height: 16px;
  background: var(--brand);
  opacity: 0.95;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='6 9 12 15 18 9' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='6 9 12 15 18 9' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
}
#sell .flow .flowbtn.is-active, #sell .flow .flowbtn[aria-selected=true] {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}
#sell .flow .flowbtn.is-active .flowbtn__caret {
  background: #fff;
}
#sell .flow .flow-card__btns {
  width: 80%;
  max-width: 450px;
  margin: 0 auto 40px;
}
#sell .flow .flow-card__btns .c-btn {
  display: grid;
  grid-template-columns: 35px 1fr auto; /* アイコン / テキスト / More */
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 50px;
  padding: 0 10px;
  letter-spacing: 0.04em;
  border: 1px solid transparent;
  color: #fff;
}
#sell .flow .flow-card__btns .c-btn img {
  width: 35px;
  height: 35px;
  display: block;
}
#sell .flow .flow-card__btns .c-btn span {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.1rem;
  text-align: left;
}
#sell .flow .flow-card__btns .c-btn em {
  font: 400 1.3rem "Cardo", serif;
  opacity: 0.9;
}
#sell .flow .flow-card__btns .c-btn--red {
  background: #c14a4a;
  border-color: #c14a4a;
}
@media (max-width: 768px) {
  #sell .flow__grid {
    grid-template-columns: 1fr;
  }
  #sell .flow__right {
    justify-self: stretch;
    max-width: none;
  }
  #sell .flow__switch {
    justify-content: flex-start;
  }
  #sell .flow .flowbtn {
    width: 90%;
    margin: 0 auto;
    min-height: 44px;
    font-size: 15px;
  }
}
#sell .flow-steps {
  --wrap: 1200px;
  --navy:#192d4a;
  --ink:#1f2a3d;
  --card:#e2e2e2;
  --line:#d0d3da;
  /* Card */
  /* slick arrows & dots（このスライダー専用） */
  /* Slick の1行スライダーをフレックス伸長にして各カードを等高に */
  /* レスポンシブ（表示枚数） */
}
#sell .flow-steps .inner {
  max-width: 1300px;
  margin-inline: auto;
  padding: 18px 0x 36px;
  margin: 40px 0 0 auto;
  overflow: hidden;
}
#sell .flow-steps__hd {
  margin: 0 0 12px;
  font-size: 20px;
  color: #222;
  letter-spacing: 0.12em;
}
#sell .flow-steps__wrap {
  position: relative;
}
#sell .flow-steps__slider {
  margin-bottom: 18px;
}
#sell .flow-steps .flowcard {
  background: var(--card);
  padding: 25px 25px;
  height: 100%;
  display: grid;
  grid-template-rows: auto auto auto 1fr auto;
  align-content: start;
  position: relative;
  /* 区切りの山括弧 */
}
#sell .flow-steps .flowcard::after {
  content: "";
  position: absolute;
  right: -14px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 18px;
  color: #2b3d57;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><polyline points='2,2 10,10 2,18' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><polyline points='2,2 10,10 2,18' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  background: #2b3d57;
}
#sell .flow-steps .flowcard.end::after {
  content: none;
}
#sell .flow-steps .flowcard__step {
  margin: 0 0 14px;
  background: var(--navy);
  color: #fff;
  border-radius: 999px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6em;
}
#sell .flow-steps .flowcard__step span {
  letter-spacing: 0.16em;
}
#sell .flow-steps .flowcard__step b {
  font: 400 22px/1 "Cardo", serif;
}
#sell .flow-steps .flowcard__icon {
  margin: 0 auto 20px;
  width: 148px;
  height: 148px;
  border-radius: 50%;
  background: #fff;
  display: grid;
  place-items: center;
}
#sell .flow-steps .flowcard__icon img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  display: block;
}
#sell .flow-steps .flowcard__ttl {
  margin: 0 0 8px;
  font-size: 20px;
  letter-spacing: 0.06em;
  color: #111;
}
#sell .flow-steps .flowcard__txt {
  margin: 0;
  line-height: 1.9;
  color: #333;
}
#sell .flow-steps .flowcard__logos {
  margin: 5px 0 0;
  width: 100%;
  padding: 10px;
  background-color: #FFF;
}
#sell .flow-steps .flowcard__logos img {
  display: block;
  width: 150px;
  height: auto;
  margin: 0 auto;
}
#sell .flow-steps__nav {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 150px;
}
#sell .flow-steps .flow-arrow {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #cac9c7;
  border: none;
  display: grid;
  place-items: center;
  color: #192d4a;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}
#sell .flow-steps .flow-arrow:hover {
  background: #dfe6f5;
  color: #192d4a;
  border-color: #9fb1d5;
}
#sell .flow-steps .flow-arrow::before {
  content: "";
  width: 12px;
  height: 12px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='15 6 9 12 15 18' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><polyline points='15 6 9 12 15 18' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
}
#sell .flow-steps .flow-arrow--next {
  transform: scaleX(-1);
}
#sell .flow-steps .slick-dots {
  display: flex !important;
  gap: 3px;
  bottom: 0px;
  left: 60px;
  z-index: -1;
}
#sell .flow-steps .slick-dots li {
  margin: 0;
}
#sell .flow-steps .slick-dots button {
  width: 8px;
  left: 50px;
  height: 8px;
  border: none;
  background: #cac9c7;
  text-indent: -9999px;
  overflow: hidden;
}
#sell .flow-steps .slick-dots .slick-active button {
  background: #26364f;
}
#sell .flow-steps .js-flow-slick { /* Slick の固定高さを解除 */
  /* ラッパーを伸ばす */
}
#sell .flow-steps .js-flow-slick .slick-track {
  display: flex !important;
  align-items: stretch;
}
#sell .flow-steps .js-flow-slick .slick-slide {
  height: auto !important;
}
#sell .flow-steps .js-flow-slick .slick-slide > div {
  height: 100%;
}
#sell .flow-steps .flowcard {
  height: 100%;
  margin-right: 17px;
}
@media (max-width: 1300px) {
  #sell .flow-steps .inner {
    width: 95%;
  }
  #sell .flow-steps .flowcard__icon {
    width: 136px;
    height: 136px;
  }
}
@media (max-width: 1024px) {
  #sell .flow-steps .inner {
    width: 95%;
    padding: 50px 0;
  }
  #sell .flow-steps .flowcard {
    padding: 14px;
  }
}
@media (max-width: 768px) {
  #sell .flow-steps .inner {
    width: 90%;
    margin: 0 auto;
  }
  #sell .flow-steps .flow-steps__nav {
    justify-content: space-between;
    gap: 150px;
  }
  #sell .flow-steps .slick-dots {
    bottom: 0px;
    left: 40%;
    z-index: -1;
  }
}
#sell .sell-local {
  --brand: #192d4a;
  --hover: #c14a4a;
  --ink: #1a2333;
  margin: 0 auto 10vw;
  /* リボン */
  /* コピー */
  /* 右の賞バッジ */
  /* CTA */
  /* SP */
}
#sell .sell-local .sell-local__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: -1;
  opacity: 0.75;
}
#sell .sell-local .sell-local__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#sell .sell-local .inner {
  position: relative;
  z-index: 1;
  max-width: 1100px;
  width: 90%;
  margin-inline: auto;
  padding: 12px 24px 28px;
  display: grid;
  grid-template-columns: 1fr;
}
#sell .sell-local__ribbon {
  position: absolute;
  left: clamp(-90px, -10vw, -10px);
  top: clamp(-100px, -5vw, -20px);
  width: min(400px, 50vw);
  height: auto;
}
#sell .sell-local__copy {
  text-align: center;
  margin-top: clamp(12px, 3vw, 35px);
  color: var(--ink);
  z-index: 1;
}
#sell .sell-local__eyebrow {
  margin: 0 0 10px;
  font-size: 2rem;
  color: #2d3b53;
}
#sell .sell-local__title {
  position: relative;
  font-weight: 700;
  line-height: 1.2;
}
#sell .sell-local__title .small {
  display: inline-block;
  margin: 0 3px;
  font-size: 2rem;
}
#sell .sell-local__title-ja1 {
  display: block;
  font-size: clamp(2.5rem, 2.2vw, 3.5rem);
  margin-bottom: 6px;
}
#sell .sell-local__title-ja2 {
  display: inline-block;
  font-size: clamp(28px, 3vw, 36px);
}
#sell .sell-local__underline {
  position: relative;
  height: auto;
}
#sell .sell-local__underline::after {
  content: "";
  display: block;
  width: clamp(180px, 28vw, 340px);
  aspect-ratio: 414/45;
  margin: 0 auto 0;
  background: url(../img/recruit/underline.svg) no-repeat center/contain;
}
#sell .sell-local__sub {
  margin: 18px 0 10px;
  letter-spacing: 0.12em;
}
#sell .sell-local__award {
  position: absolute;
  right: clamp(8px, 4vw, 48px);
  top: clamp(38px, 6vw, 72px);
  background-color: #FFF;
  width: clamp(140px, 18vw, 220px);
  padding: 10px 10px 0;
  aspect-ratio: 1/1;
  margin: 0;
  display: grid;
  place-items: center;
  border-radius: 50%;
}
#sell .sell-local__award img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
#sell .sell-local__ctas {
  display: flex;
  justify-content: center;
  gap: 15px;
  margin-top: clamp(28px, 4vw, 40px);
  flex-wrap: wrap;
}
#sell .sell-local .sell-local-cta {
  display: inline-grid;
  grid-template-columns: 1fr 25px;
  justify-content: center;
  grid-auto-flow: column;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 26px;
  min-width: 320px;
  background: var(--brand);
  color: #fff;
  text-decoration: none;
  border: 1px solid var(--brand);
  letter-spacing: 0.16em;
  font-size: 16px;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.05s ease;
}
#sell .sell-local .sell-local-cta:hover {
  background: var(--hover);
  border-color: var(--hover);
}
#sell .sell-local .sell-local-cta:active {
  transform: translateY(1px);
}
#sell .sell-local .sell-local-cta__icon {
  width: 18px;
  height: 18px;
  background: #fff;
  opacity: 0.95;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 3h7v7M21 3l-9 9M10 5H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
  mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M14 3h7v7M21 3l-9 9M10 5H5a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center/contain no-repeat;
}
@media (max-width: 1150px) {
  #sell .sell-local__ribbon {
    width: 350px;
    left: -5vw;
    top: -13vh;
  }
}
@media (max-width: 768px) {
  #sell .sell-local {
    margin-top: 150px;
  }
  #sell .sell-local .inner {
    padding: 35px 20px;
  }
  #sell .sell-local__award {
    position: static;
    margin: 16px auto 0;
    width: 160px;
  }
  #sell .sell-local__underline {
    bottom: -8px;
  }
  #sell .sell-local__ribbon {
    width: 300px;
    left: -5vw;
    top: -10vh;
  }
}
@media (max-width: 480px) {
  #sell .sell-local {
    margin-top: 150px;
  }
  #sell .sell-local .inner {
    padding: 50px 30px;
  }
  #sell .sell-local__award {
    position: static;
    margin: 16px auto 0;
    width: 160px;
  }
  #sell .sell-local__underline {
    bottom: -8px;
  }
  #sell .sell-local__ribbon {
    width: 300px;
    transform: rotate(15deg);
    left: 5vw;
    top: -17vh;
  }
  #sell .sell-local .sell-local-cta {
    min-width: 100%;
    padding: 10px 15px;
    letter-spacing: 0;
  }
}
#sell .sell-links {
  --container: 1200px;
  --band: #192d4a; /* ボタン帯 */
  --hover: #c14a4a; /* ホバー */
  padding: 0 0 130px;
  /* レスポンシブ */
}
#sell .sell-links .inner {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 24px;
}
#sell .sell-links__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
#sell .sell-links .sell-card {
  /* hover */
}
#sell .sell-links .sell-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
#sell .sell-links .sell-card__ph {
  margin: 0;
  position: relative;
  overflow: hidden;
}
#sell .sell-links .sell-card__ph img {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 12/9;
  object-fit: cover;
  transition: transform 0.35s ease;
  vertical-align: bottom;
}
#sell .sell-links .sell-card__bar {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  background: var(--band);
  color: #fff;
  min-height: 44px;
  padding: 0 14px;
  letter-spacing: 0.08em;
}
#sell .sell-links .sell-card__title {
  font-size: 16px;
}
#sell .sell-links .sell-card__more {
  font: 400 12px/1 "Cardo", serif;
  opacity: 0.95;
}
#sell .sell-links .sell-card__link:hover .sell-card__ph img {
  transform: scale(1.03);
}
#sell .sell-links .sell-card__link:hover .sell-card__bar {
  background: var(--hover);
}
@media (max-width: 1024px) {
  #sell .sell-links__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  #sell .sell-links .inner {
    padding-inline: 16px;
  }
  #sell .sell-links__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  #sell .sell-links .sell-card__title {
    font-size: 15px;
  }
}

/*----------------------------------------------------------------
売る買取
------------------------------------------------------------------*/
/* ===== 選ばれる理由：参考デザイン準拠（2×2の画像/テキストタイル） ===== */
.secondContents .purReason {
  position: relative;
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: 420px; /* タイルの背の高さ */
  gap: 0; /* 罫線で区切るためギャップは0 */
}

/* 中央の縦線と横線（区切り罫） */
.secondContents .purReason::before,
.secondContents .purReason::after {
  content: "";
  position: absolute;
  background: #d8d3c8; /* 参考画像の淡いベージュ系 */
}

.secondContents .purReason::before { /* 縦線 */
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  transform: translateX(-0.5px);
}

.secondContents .purReason::after { /* 横線 */
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  transform: translateY(-0.5px);
}

/* 共通：カード装飾を外し、タイル化 */
.secondContents .purReasonBox {
  position: relative;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: hidden;
}

/* 数字バッジ・クリア要素は非表示 */
.secondContents .purReasonBox > span,
.secondContents .purReasonBox .clear {
  display: none !important;
}

/* ---------- 画像タイル（奇数：1,3） ---------- */
.secondContents .purReasonBox:nth-child(odd) img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.98);
}

.secondContents .purReasonBox:nth-child(odd) dl {
  display: none;
}

/* ---------- テキストタイル（偶数：2,4） ---------- */
.secondContents .purReasonBox:nth-child(even) {
  display: flex;
  align-items: center;
  background: #efe9dd; /* 参考画像の紙色 */
}

.secondContents .purReasonBox:nth-child(even) img {
  display: none;
}

.secondContents .purReasonBox:nth-child(even) dl {
  max-width: 520px;
  margin: 0 auto;
  padding: clamp(28px, 3vw, 48px);
}

.secondContents .purReasonBox:nth-child(even) dt {
  color: #0f2a3d; /* 濃紺（全体トーンに合わせる） */
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.04em;
  font-size: clamp(20px, 1.1rem + 1vw, 28px);
  margin: 0 0 0.5em;
}

.secondContents .purReasonBox:nth-child(even) dd {
  margin: 0.4em 0 0;
  color: #3b4450;
  font-size: 14px;
  line-height: 2;
}

/* スマホ：縦積み・罫線オフ・画像比率を少し浅めに */
@media (max-width: 900px) {
  .secondContents .purReason {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
  .secondContents .purReason::before,
  .secondContents .purReason::after {
    display: none;
  }
  .secondContents .purReasonBox:nth-child(odd) img {
    height: 56vw; /* 視覚的に浅めの横長 */
  }
  .secondContents .purReasonBox:nth-child(even) dl {
    max-width: none;
    padding: 28px 20px 32px;
  }
}
/* ===== 買取の流れ（FLOW）：縦タイムライン ===== */
/*----------------------------------------------------------------
売るTOP
------------------------------------------------------------------*/
/*----------------------------------------------------------------
保険の見直し
------------------------------------------------------------------*/
/*----------------------------------------------------------------
保険の見直し
------------------------------------------------------------------*/
#insurance {
  /* ======= REVIEW OF INSURANCE (hero) ======= */
  /* 英字タイトル（大きく赤、字間広め） */
  /* 説明文（行間ゆったり・薄色） */
  /* CTAボタン（左：アイコン＋本文、右：More の小区画） */
  /* 左側 */
  /* 右側（More） */
  /* 余白とレスポンシブ */
  /* ====== base tokens ====== */
  /* ====== section ====== */
  /* 中央の十字ライン（見本通りに1px） */
  /* ====== tiles ====== */
  /* 見出し（上段小さめ・下段やや大きめ） */
  /* リード文 */
  /* ====== responsive ====== */
  /* ===== 見直し流れ ===== */
  /* ===== responsive ===== */
  /* reform_contact_access*/
}
#insurance :root {
  --nv:#163b63; /* ネイビー */
  --cr:#c7433e; /* 見本に近い赤 */
  --txt:#2a2f36;
  --muted:#6b7b93;
  --maxw:980px;
}
#insurance .ins-review {
  padding: 96px 20px 120px;
}
#insurance .ins-review__inner {
  width: 90%;
  max-width: var(--maxw);
  margin: 0 auto;
  text-align: center;
  font-feature-settings: "palt";
  color: var(--txt);
}
#insurance .cmn_ttl_text_area__ttlBox {
  margin-bottom: 50px;
}
#insurance .ins-review__ttl {
  margin-bottom: 20px;
  font-size: 2.3rem;
}
#insurance .ins-review__lead {
  max-width: 820px;
  margin: 0 auto 40px;
  font-size: 1.5rem;
  line-height: 2;
  color: #334155;
}
#insurance .ins-review__lead p {
  margin: 0 0 6px;
}
#insurance .ins-review__sub {
  font-size: 2rem;
  margin: 20px 0 5px;
}
#insurance .ins-review__note {
  margin-bottom: 50px;
}
#insurance .ins-card__btns {
  width: 80%;
  max-width: 450px;
  margin: 0 auto 40px;
}
#insurance .ins-card__btns .c-btn {
  display: grid;
  grid-template-columns: 35px 1fr auto; /* アイコン / テキスト / More */
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 50px;
  padding: 0 10px;
  letter-spacing: 0.04em;
  border: 1px solid transparent;
  color: #fff;
}
#insurance .ins-card__btns .c-btn img {
  width: 35px;
  height: 35px;
  display: block;
}
#insurance .ins-card__btns .c-btn span {
  font-family: "Zen Old Mincho", serif;
  font-size: 2.1rem;
  text-align: left;
}
#insurance .ins-card__btns .c-btn em {
  font: 400 1.3rem "Cardo", serif;
  opacity: 0.9;
}
#insurance .ins-card__btns .c-btn--red {
  background: #c14a4a;
  border-color: #c14a4a;
}
#insurance .ins-review__cta-main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 16px 22px 16px 20px;
  background: var(--cr);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-size: clamp(14px, 1.8vw, 18px);
}
#insurance .ins-review__cta-ico {
  width: 22px;
  height: 22px;
  fill: #fff;
  flex: 0 0 22px;
}
#insurance .ins-review__cta-more {
  display: inline-grid;
  place-items: center;
  padding: 0 20px;
  background: #b53934; /* 少し濃い赤で分割感を出す */
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.06em;
}
@media (max-width: 768px) {
  #insurance {
    /* CTAボタン（左：アイコン＋本文、右：More の小区画） */
  }
  #insurance .ins-review {
    padding: 72px 16px 88px;
  }
  #insurance .ins-review__lead {
    margin-bottom: 32px;
  }
  #insurance .ins-card__btns {
    width: 80%;
    max-width: 450px;
    margin: 0 auto 40px;
  }
  #insurance .ins-card__btns .c-btn {
    grid-template-columns: 25px 1fr auto; /* アイコン / テキスト / More */
  }
  #insurance .ins-card__btns .c-btn img {
    width: 25px;
    height: 25px;
  }
  #insurance .ins-card__btns .c-btn span {
    font-size: 1.6rem;
  }
}
#insurance :root {
  --nv:#163b63; /* ネイビー */
  --sand:#e8e3da; /* ベージュ(見本寄せ) */
  --txt:#2a2f36;
  --muted:#5b6777;
  --grid:#3b6ec3; /* 十字のブルーライン */
}
#insurance .ins-why {
  width: 100%;
  background: #e8e3da;
}
#insurance .ins-why__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: minmax(420px, 1fr);
  justify-content: end;
}
#insurance .ins-why__grid::before,
#insurance .ins-why__grid::after {
  content: "";
  position: absolute;
  background: var(--grid);
  pointer-events: none;
}
#insurance .ins-why__grid::before { /* 横線 */
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  transform: translateY(-0.5px);
}
#insurance .ins-why__grid::after { /* 縦線 */
  top: 0;
  bottom: 0;
  left: 50%;
  width: 1px;
  transform: translateX(-0.5px);
}
#insurance .tile {
  min-height: 420px;
}
#insurance .tile--image {
  overflow: hidden;
}
#insurance .tile--image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
#insurance .tile--text {
  background: var(--sand);
  display: flex;
  align-items: center;
}
#insurance .tile__body {
  width: min(520px, 86%);
  margin: 0 auto;
  color: var(--txt);
  line-height: 1.95;
}
#insurance .tile__heading {
  margin: 0 0 18px;
  font-weight: 700;
  color: var(--nv);
  letter-spacing: 0.06em;
  font-size: clamp(18px, 2.2vw, 24px);
}
#insurance .tile__heading .tile__eyebrow {
  font-size: 0.95em;
  font-weight: 700;
}
#insurance .tile__lead p {
  margin: 0.15em 0;
  color: #334155;
}
@media (max-width: 1024px) {
  #insurance .ins-why__grid {
    grid-auto-rows: minmax(360px, 1fr);
  }
}
@media (max-width: 820px) {
  #insurance {
    /* スタック時は十字ラインを非表示 */
  }
  #insurance .ins-why__grid {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
  #insurance .ins-why__grid::before,
  #insurance .ins-why__grid::after {
    display: none;
  }
  #insurance .tile {
    min-height: unset;
  }
  #insurance .tile--image {
    order: 2;
  }
  #insurance .tile--image img {
    aspect-ratio: 16/10;
  }
  #insurance .tile--text {
    order: 1;
  }
  #insurance .tile__body {
    width: 88%;
    margin-inline: auto;
    padding: 60px 0 30px;
  }
}
#insurance .ins-flow {
  background: #fff;
  padding: 120px 0;
  /* 縦ライン（全体に1本） */
  /* 各ステップ */
  /* 左に置くSTEPラベル */
  /* 右側の本文（左に細い罫線） */
}
#insurance .ins-flow__inner {
  max-width: 810px;
  width: 90%;
  margin: 0 auto;
  position: relative;
}
#insurance .ins-flow .cmn_ttl_text_area__ttlBox {
  text-align: center;
}
#insurance .ins-flow__list {
  margin: 80px 0;
  position: relative;
}
#insurance .ins-flow__list::before {
  content: "";
  position: absolute;
  left: 0;
  width: 1px;
  height: 100%;
  background: #24313d;
}
#insurance .ins-flow__item {
  position: relative;
  padding: 22px 0 28px;
  min-height: 84px;
  display: flex;
  align-items: center;
  /* 左端の丸マーカー（細い外周つき） */
}
#insurance .ins-flow__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #163b63;
}
#insurance .ins-flow__item:first-of-type {
  padding-top: 0;
}
#insurance .ins-flow__item:last-of-type {
  padding-bottom: 0;
}
#insurance .ins-flow__step {
  margin: 0 30px;
  font: 400 28px/1 "Noto Serif JP", "Times New Roman", serif;
  letter-spacing: 0.05em;
  color: #163b63;
}
#insurance .ins-flow__step span {
  font-size: 1.8rem;
}
#insurance .ins-flow__content {
  border-left: 4px solid #e7eaef;
  padding-left: 18px;
  max-width: 720px;
}
#insurance .ins-flow__content h3 {
  margin: 5px 0 5px;
  font: 700 18px/1.6 "Noto Serif JP", serif;
  color: #163b63;
  letter-spacing: 0.03em;
}
#insurance .ins-flow__content p {
  margin: 0.4em 0;
  color: #24313d;
  font: 400 14px/1.9 "Noto Sans JP", system-ui, sans-serif;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  #insurance .ins-flow {
    background: #fff;
    /* 縦ライン（全体に1本） */
    /* 各ステップ */
    /* 左に置くSTEPラベル */
    /* 右側の本文（左に細い罫線） */
  }
  #insurance .ins-flow__inner {
    max-width: 810px;
    width: 85%;
    margin: 0 auto;
    position: relative;
  }
  #insurance .ins-flow__list {
    margin: 30px 0;
  }
  #insurance .ins-flow__item {
    flex-wrap: wrap;
  }
  #insurance .ins-flow__item:first-of-type {
    padding-top: 0;
  }
  #insurance .ins-flow__item:last-of-type {
    padding-bottom: 0;
  }
  #insurance .ins-flow__step {
    margin: 0 0 5px;
    padding-left: 25px;
    font: 400 20px/1 "Noto Serif JP", "Times New Roman", serif;
  }
  #insurance .ins-flow__step span {
    font-size: 1.4rem;
  }
  #insurance .ins-flow__content {
    border-left: none;
    padding-left: 25px;
    max-width: 720px;
  }
  #insurance .ins-flow__content h3 {
    font: 700 18px/1.6;
  }
  #insurance .ins-flow__content p {
    font: 400 13px/1.9;
  }
}
#insurance .reform-contact {
  padding: 50px 0 200px;
  /* 色と共通値（必要に応じて既存変数に合わせてください） */
  /* SP */
  /* ===== Access ===== */
  /* ===== Responsive ===== */
}
#insurance .reform-contact__first {
  position: relative;
  max-width: 100%;
  width: 100vw;
  min-height: 420px;
  overflow: hidden;
}
#insurance .reform-contact__bg {
  position: absolute;
  overflow: hidden;
  width: auto;
  height: 100%;
  inset: 0;
}
#insurance .reform-contact__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(9, 29, 52, 0.52) 0%, rgba(9, 29, 52, 0.46) 45%, rgba(9, 29, 52, 0.42) 100%);
  z-index: 1;
}
#insurance .reform-contact__comment {
  position: absolute;
  top: calc(50% - 12rem);
  z-index: 1;
  place-self: center;
  width: min(92%, 720px);
  text-align: center;
  display: grid;
  row-gap: 10px;
  row-gap: clamp(2px, 0.6vw, 8px);
  padding-top: clamp(12px, 1.8vw, 20px);
  padding-bottom: clamp(10px, 1.6vw, 50px);
  color: #fff;
  font-size: 2.4rem;
  line-height: 2;
}
#insurance .reform-contact__contents {
  position: relative;
  width: 90%;
  max-width: 1000px;
  margin: -7vw auto 0;
  padding: 50px;
  background-color: rgba(255, 255, 255, 0.8);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.06);
  z-index: 2;
}
#insurance .reform-contact .reform-contact__telbox {
  text-align: center;
  padding: 18px 16px 28px;
  color: #1f2c3a;
}
#insurance .reform-contact .telbox__lead {
  margin: 0 0 14px;
  font: 600 14px/1.2 "Noto Serif JP", "Times New Roman", serif;
  letter-spacing: 0.18em;
  color: #6b7788;
  text-transform: uppercase;
}
#insurance .reform-contact .telbox__row {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 28px;
  margin-bottom: 18px;
}
#insurance .reform-contact .telbox__unit {
  display: flex;
  gap: 12px;
  align-items: baseline;
  white-space: nowrap;
}
#insurance .reform-contact .telbox__label {
  font: 500 20px/1.2 "Noto Serif JP", serif;
  color: #163b63;
}
#insurance .reform-contact .telbox__number {
  font: 600 34px/1.1 "Noto Serif JP", "Times New Roman", serif;
  letter-spacing: 0.02em;
  color: #163b63;
  text-decoration: none;
}
#insurance .reform-contact .telbox__divider {
  width: 1px;
  height: 28px;
  background: #dfe6ee;
  align-self: center;
}
#insurance .reform-contact .telbox__note {
  margin: 0 auto;
  max-width: 720px;
  border: 1px solid #dfe6ee;
  padding: 10px 12px;
  font: 400 14px/1.6 "Noto Sans JP", system-ui, sans-serif;
  color: #6b7788;
}
@media (max-width: 640px) {
  #insurance .reform-contact .telbox__row {
    flex-direction: column;
    gap: 8px;
  }
  #insurance .reform-contact .telbox__divider {
    display: none;
  }
  #insurance .reform-contact .telbox__label {
    font-size: 16px;
  }
  #insurance .reform-contact .telbox__number {
    font-size: 28px;
  }
}
#insurance .reform-contact__access {
  width: 100%;
  max-width: 1000px;
  margin: 50px auto;
}
#insurance .reform-contact .access__hd {
  margin: 0 0 14px;
  font-size: 2rem;
  color: #2a3346;
  border-bottom: 1px solid #d7d7d7;
}
#insurance .reform-contact .access-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}
#insurance .reform-contact .access-grid .access-card {
  /* マップ枠（画像支給前のプレースホルダ、差し替え時は背景画像や<img>に変更） */
}
#insurance .reform-contact .access-grid .access-card__bar {
  margin: 0;
  padding: 10px 14px;
  background: #d3d1ce;
  color: #1a1a1a;
  letter-spacing: 0.08em;
  font-size: 16px;
}
#insurance .reform-contact .access-grid .access-card__addr {
  margin: 15px 5px 8px;
  font-style: normal;
  color: #333;
  line-height: 1.8;
}
#insurance .reform-contact .access-grid .access-card__map {
  width: 100%;
  min-height: 300px;
  position: relative;
  border: 0;
}
@media (max-width: 768px) {
  #insurance .reform-contact {
    /* ===== telbox ===== */
  }
  #insurance .reform-contact__bg img {
    width: auto;
    height: 100%;
    object-fit: cover;
  }
  #insurance .reform-contact__contents {
    margin: -7vh auto 0;
    padding: 30px 25px;
  }
  #insurance .reform-contact__telbox {
    padding: 22px 0 12px;
    /* FREE DIAL 0120-188-767 */
    /* 営業時間の白ボックス（枠付き） */
    /* 赤い見積もりボタン（左に封筒、右に “More”） */
  }
  #insurance .reform-contact__telbox .reform-contact__free {
    flex-wrap: wrap;
    margin: 0 0 10px;
  }
  #insurance .reform-contact__telbox .reform-contact__free .reform-contact__tel {
    margin-left: 0;
  }
  #insurance .reform-contact__telbox .reform-contact__hours {
    margin: 0 0 10px;
    padding: 10px;
    min-width: 100%;
    letter-spacing: 0;
  }
  #insurance .reform-contact__telbox .reform-contact__estimate {
    grid-template-columns: 24px 1fr auto;
    column-gap: 5px;
    width: 100%;
    max-width: 400px;
    padding: 0 12px;
    font-size: 1.6rem;
  }
  #insurance .reform-contact__telbox .reform-contact__estimate .reform-contact__ico svg {
    display: block;
    width: 24px;
    height: 24px;
  }
  #insurance .reform-contact__telbox .reform-contact__estimate .reform-contact__label {
    text-align: left;
    letter-spacing: 0;
  }
  #insurance .reform-contact__telbox .reform-contact__estimate .reform-contact__more {
    font: 400 1rem "Cardo", serif;
  }
  #insurance .reform-contact__head {
    padding: 18px 0 8px;
  }
  #insurance .reform-contact__head .reform-contact__tel a {
    font-size: 32px;
  }
  #insurance .reform-contact__head .reform-contact__hours {
    display: block;
  }
  #insurance .reform-contact .access-grid {
    grid-template-columns: 1fr;
  }
  #insurance .reform-contact .access-grid .access-card__map {
    min-height: 220px;
  }
}

/*----------------------------------------------------------------
会社概要
------------------------------------------------------------------*/
/*----------------------------------------------------------------
会社概要
------------------------------------------------------------------*/
#company {
  /* ページ内リンクボタン */
  /* 会社概要：導入ブロック（ネスト構造） */
  /* STORE & STAFF セクション（ネスト構造） */
  /* ACCESS（会社概要） */
  /* company_history.scss（ネスト構造） */
  /* 会社情報テーブル */
}
#company .pagelink_btn_area {
  margin-top: -20px;
  /* ある場合のみ有効 */
  /* SP（<=768px）：2段落ち＆全幅寄せ */
}
#company .pagelink_btn_area .inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 24px;
}
#company .pagelink_btn_area ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
}
#company .pagelink_btn_area li {
  flex: 0 0 auto;
}
#company .pagelink_btn_area a {
  position: relative;
  display: block;
  min-width: 180px;
  padding: 12px 46px 12px 18px;
  background: #192d4a; /* 濃紺 */
  color: #fff;
  text-decoration: none;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.06em;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
  /* 右端の下向きシェブロン */
  /* 既定ホバー色 */
}
#company .pagelink_btn_area a::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 14px;
  height: 10px;
  transform: translateY(-50%);
  background: url("data:image/svg+xml;utf8,            <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 16'>            <path d='M3 3l9 9 9-9' fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/>            </svg>") no-repeat center/contain;
}
#company .pagelink_btn_area a:hover, #company .pagelink_btn_area a:focus-visible {
  opacity: 1;
  background: #c14a4a;
}
@media (max-width: 768px) {
  #company .pagelink_btn_area ul {
    width: 90%;
    margin: 0 auto 30px;
    flex-wrap: wrap;
    gap: 12px;
  }
  #company .pagelink_btn_area li {
    display: block;
    width: 100%;
  }
  #company .pagelink_btn_area a {
    width: 100%;
    min-width: 0;
    padding: 12px 42px 12px 14px;
    font-size: 15px;
  }
}
#company .company-intro {
  /* 左エリア */
  /* 右エリア：重ね写真 */
  /* レスポンシブ */
}
#company .company-intro .inner {
  max-width: 1400px;
  margin-inline: auto;
  padding: 150px 50px;
}
#company .company-intro__grid {
  display: grid;
  grid-template-columns: 1fr minmax(520px, 560px);
  align-items: center;
  gap: 40px;
}
#company .company-intro__texts {
  color: #000;
  font-family: "Zen Old Mincho", serif;
}
#company .company-intro__hd {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 16px;
}
#company .company-intro__mark {
  width: 85px;
  height: auto;
  display: block;
}
#company .company-intro__title {
  margin: 0 0 20px;
  font-size: 2.4rem;
  line-height: 1.7;
  letter-spacing: 0.06em;
}
#company .company-intro__lead {
  margin: 12px 0 10px;
  font-size: 1.6rem;
  line-height: 2.2;
  letter-spacing: 0.03em;
}
#company .company-intro__media {
  position: relative;
  width: 100%;
  min-height: 320px;
}
#company .company-intro .media {
  margin: 0;
  border-radius: 2px;
  overflow: hidden;
  background: #fff;
}
#company .company-intro .media img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
#company .company-intro .media--back {
  width: min(480px, 90%);
  margin: 0 0 0 auto;
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}
#company .company-intro .media--front {
  position: absolute;
  left: -40px;
  bottom: -190px;
  width: min(420px, 90%);
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.2);
}
@media (max-width: 1024px) {
  #company .company-intro__grid {
    gap: 28px;
    grid-template-columns: 1fr;
  }
  #company .company-intro .media--back {
    width: min(480px, 90%);
    margin: 0 0 0 auto;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
  }
  #company .company-intro .media--front {
    position: absolute;
    left: 0;
    bottom: 0;
    width: min(480px, 90%);
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.2);
  }
}
@media (max-width: 768px) {
  #company .company-intro .inner {
    width: 90%;
    padding: 50px 0;
  }
  #company .company-intro__grid {
    grid-template-columns: 1fr;
  }
  #company .company-intro__hd {
    flex-wrap: wrap;
  }
  #company .company-intro__mark {
    width: 85px;
    height: auto;
    margin: 0 auto;
  }
  #company .company-intro__title {
    width: 100%;
    margin-bottom: 10px;
    font-size: 22px;
    text-align: center;
  }
  #company .company-intro__lead, #company .company-intro__copy {
    font-size: 14px;
  }
  #company .company-intro__media {
    width: 100%;
    min-height: 0;
    display: flex;
  }
  #company .company-intro .media--back {
    position: relative;
    width: 100%;
  }
  #company .company-intro .media--front {
    width: 100%;
    position: relative;
    left: auto;
    bottom: auto;
    width: 100%;
  }
}
#company .storestaff {
  --container: 975px;
  --bg: #bfbdb9; /* 背景のグレー */
  --accent: #c14a4a; /* 見出し（赤） */
  --card-shadow: 0 8px 18px rgba(0,0,0,.08);
  background: var(--bg);
  padding: 120px 0;
  /* 768px 以下 */
}
#company .storestaff .inner {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 24px;
}
#company .storestaff .cmn_ttl_text_area__ttlBox {
  text-align: center;
}
#company .storestaff__tags {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
#company .storestaff__tag {
  display: inline-block;
  padding: 10px 18px;
  border-radius: 999px;
  background-color: rgba(193, 52, 52, 0.3);
  color: #000;
  font-size: 14px;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
#company .storestaff__grid {
  list-style: none;
  margin: 34px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
#company .storestaff .storestaff-card__link {
  display: block;
  color: inherit;
}
#company .storestaff .storestaff-card__frame {
  background: #fff;
  box-shadow: var(--card-shadow);
  padding: 30px 20px 20px;
}
#company .storestaff .storestaff-card__name {
  margin: 0 0 12px;
  text-align: center;
  font-size: 20px;
  letter-spacing: 0.06em;
  color: #111;
}
#company .storestaff .storestaff-card__ph {
  margin: 0;
}
#company .storestaff .storestaff-card__ph img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}
@media (max-width: 768px) {
  #company .storestaff {
    padding-block: 40px;
  }
  #company .storestaff__grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  #company .storestaff__tags {
    flex-wrap: wrap;
    gap: 10px;
  }
}
#company .company-access {
  --container: 1200px;
  --navy: #192d4a;
  --hover: #c14a4a;
  --ink: #2f4768;
  --line: #e6e8ef;
  /* ボタン */
  /* レスポンシブ */
}
#company .company-access .inner {
  width: 90%;
  max-width: var(--container);
  margin-inline: auto;
  padding: 150px 0;
  position: relative;
  /* 右上の背景イラスト */
}
#company .company-access .inner::after {
  content: "";
  position: absolute;
  right: -5vw;
  top: 5vh;
  width: 530px;
  height: 400px;
  background: url("/assets/img/company/company_access_bg.svg") no-repeat right top/contain;
  pointer-events: none;
  opacity: 0.9;
  z-index: -1;
}
#company .company-access .access__head {
  margin-bottom: 24px;
}
#company .company-access .access__head .access__eyebrow {
  margin: 0 0 6px;
  font-family: "Zen Old Mincho", serif;
  color: var(--ink);
  letter-spacing: 0.12em;
}
#company .company-access .access__head .access__title {
  margin: 0;
}
#company .company-access .access__head .access__title span {
  font: 400 34px/1.2 "Cardo", serif;
  color: var(--hover);
  letter-spacing: 0.1em;
}
#company .company-access .access__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 40px;
}
#company .company-access .access-card {
  color: var(--ink);
  font-family: "Zen Old Mincho", serif;
}
#company .company-access .access-card__name {
  margin: 0 0 8px;
  font-size: 18px;
  letter-spacing: 0.06em;
}
#company .company-access .access-card__addr {
  margin: 0 0 12px;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.02em;
}
#company .company-access .access-card__map {
  border: 1px solid var(--line);
  border-radius: 2px;
  overflow: hidden;
  aspect-ratio: 3/2;
  background: #eef2f7;
}
#company .company-access .access-card__map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}
#company .company-access .access-card__cta {
  margin: 12px 0 0;
  display: flex;
  gap: 12px;
}
#company .company-access .c-btn {
  /* 幅は必要に応じて調整（全幅にしたい場合は width:100% に） */
  width: min(320px, 100%);
  min-height: 42px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 0 14px;
  background: var(--navy);
  color: #fff;
  border: 1px solid var(--navy);
  border-radius: 2px;
  letter-spacing: 0.04em;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}
#company .company-access .c-btn:hover {
  opacity: 1;
  background: var(--hover);
  border-color: var(--hover);
}
#company .company-access .c-btn__ja {
  font-family: "Zen Old Mincho", serif;
  font-size: 15px;
}
#company .company-access .c-btn__en {
  font: 400 13px/1 "Cardo", serif;
  opacity: 0.95;
}
@media (max-width: 1024px) {
  #company .company-access {
    padding: 80px 0;
  }
  #company .company-access .inner::after {
    width: 400px;
    height: 300px;
  }
}
@media (max-width: 768px) {
  #company .company-access .inner {
    padding: 28px 16px 36px;
  }
  #company .company-access .inner::after {
    width: 300px;
    height: 250px;
  }
  #company .company-access .access__grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
#company .history {
  --container: 1200px;
  --bg: #c6c5c3; /* 外側グレー */
  --card-bg:#fff; /* パネル白 */
  --line:#e6e8ef; /* 罫線 */
  --ink:#222;
  --muted:#6c768b;
  --accent:#c14a4a;
  background: var(--bg);
  padding: 120px 0;
  /* 設立見出し */
  /* 中央縦線 */
  /* 年表 */
  /* サマリー */
  /* 768px以下 */
}
#company .history .inner {
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: 24px;
}
#company .history .cmn_ttl_text_area__ttlBox {
  text-align: center;
}
#company .history__hd {
  text-align: center;
  margin-bottom: 18px;
}
#company .history__hd .history__eyebrow {
  margin: 0 0 6px;
  letter-spacing: 0.12em;
  color: #2c2c2c;
}
#company .history__hd .history__title {
  margin: 0;
}
#company .history__hd .history__title .history__title-en {
  font: 400 clamp(28px, 3vw, 36px)/1.2 "Cardo", serif;
  letter-spacing: 0.12em;
  color: var(--accent);
}
#company .history__panel {
  width: 100%;
  max-width: 1100px;
  padding: 100px 30px;
  margin: 0 auto;
  background: var(--card-bg);
  border: 1px solid #ddd;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}
#company .history__origin {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
  color: var(--ink);
}
#company .history__origin .history__badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 10px;
}
#company .history__origin .history__badge img {
  width: auto;
  height: 28px;
  display: block;
}
#company .history__origin .history__badge .history__badge-txt {
  border: 1px solid #192d4a;
  color: #213045;
  font-size: 2rem;
  padding: 4px 10px;
  letter-spacing: 0.1em;
}
#company .history__origin .history__origin-line {
  margin: 10px 0;
  font-size: 2rem;
}
#company .history__origin .history__origin-loc {
  font-size: 2rem;
}
#company .history__divider {
  width: 1px;
  height: 24px;
  background: #cfd5df;
  margin: 18px auto;
}
#company .history__list {
  max-width: 700px;
  margin: 0 auto 60px;
  font-family: "游ゴシック", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  list-style: none;
  display: grid;
  gap: 15px;
}
#company .history__item {
  display: grid;
  grid-template-columns: 120px 1fr;
  align-items: baseline;
  gap: 6px;
  position: relative;
  padding: 8px 0;
  font-family: "游ゴシック", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  /* ドット罫線（テキスト右側にうっすら） */
}
#company .history__item::after {
  content: "";
  grid-column: 1/-1;
  height: 1px;
  background: repeating-linear-gradient(90deg, #dfe4ec 0 3px, transparent 1px 5px);
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
}
#company .history__date {
  position: relative;
  font-size: 1.6rem;
  font-weight: 600;
  color: #1d2b40;
}
#company .history__date:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 15px;
  height: 1px;
  background-color: #627181;
}
#company .history__desc {
  color: #333;
  font-size: 1.6rem;
}
#company .history__stats {
  max-width: 650px;
  margin: 0 auto 24px;
  display: grid;
  grid-template-columns: 1fr 0.85fr;
  gap: 10px;
}
#company .history .history-stat {
  border: 1px solid #1d2b40;
}
#company .history .history-stat__year img {
  width: 100%;
  display: block;
}
#company .history .history-stat__label {
  color: #41516b;
  letter-spacing: 0.06em;
}
#company .history .history-stat__val {
  font-size: clamp(16px, 2.2vw, 20px);
  color: #111;
}
#company .history .history-stat__num {
  font: 400 24px/1 "Cardo", serif;
}
@media (max-width: 768px) {
  #company .history {
    padding-block: 50px;
  }
  #company .history .inner {
    width: 90%;
    padding-inline: inherit;
  }
  #company .history__panel {
    padding: 70px 7vw;
  }
  #company .history__date {
    position: relative;
    font-size: 1.6rem;
    font-weight: 600;
    color: #1d2b40;
  }
  #company .history__date:before {
    content: none;
  }
  #company .history__item {
    grid-template-columns: 1fr;
  }
  #company .history__stats {
    grid-template-columns: 1fr;
  }
  #company .history .history-stat {
    width: 100%;
  }
  #company .history .history-stat__year img {
    display: block;
    width: auto;
    height: 80px;
    margin: 0 auto 0 0;
  }
}
#company .company_overview {
  padding: 100px 0;
  /* SP：項目名を上、値を下に縦積み表示 */
}
#company .company_overview .cmn_ttl_text_area__ttlBox {
  margin: 80px auto;
  text-align: center;
}
#company .company_overview .detail {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
#company .company_overview .detail .companyTable {
  width: 100%;
  border-spacing: 0 5px; /* 行の間隔 */
  color: var(--ink);
  font-size: 14px;
  line-height: 2;
}
#company .company_overview .detail .companyTable tr.low {
  background: #e8e3da;
}
#company .company_overview .detail .companyTable tr.low th.item, #company .company_overview .detail .companyTable tr.low td.data {
  padding-block: 15px;
}
#company .company_overview .detail .companyTable tr.low:nth-of-type(2n) {
  background: var(--white);
}
#company .company_overview .detail .companyTable tr.low th.item {
  display: block;
  width: 200px;
  min-width: 180px;
  text-align: left;
  padding-inline: 24px;
  color: #192d4a;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
#company .company_overview .detail .companyTable tr.low td.data {
  width: 100%;
  padding-inline: 35px;
  color: #192d4a;
  font-size: 1.4rem;
}
#company .company_overview .detail .companyTable tr.low td.data .labelTxt {
  display: inline-block;
  margin: 5px;
}
#company .company_overview .detail .companyTable tr.low td.data ul {
  margin: 15px 0;
}
#company .company_overview .detail .companyTable tr.low td.data ul li {
  color: #192d4a;
}
#company .company_overview .detail .companyTable tr.low td.data ul:first-of-type {
  margin-top: 5px;
}
#company .company_overview .detail .companyTable tr.low td.data ul:last-of-type {
  margin-bottom: 5px;
}
#company .company_overview .detail .companyTable tr.low td.data a {
  display: inline-block;
  color: var(--ink);
  word-break: break-all;
  padding-bottom: 1px;
}
#company .company_overview .detail .companyTable tr.low td.data a:hover {
  color: #d83434;
}
@media (max-width: 768px) {
  #company .company_overview .detail .companyTable {
    border-spacing: 0 12px;
  }
  #company .company_overview .detail .companyTable tr.low {
    background: var(--white);
  }
  #company .company_overview .detail .companyTable tr.low:nth-of-type(2n) {
    background: var(--white);
  }
  #company .company_overview .detail .companyTable tr.low th.item, #company .company_overview .detail .companyTable tr.low td.data {
    display: block;
    width: 100%;
    min-width: auto;
  }
  #company .company_overview .detail .companyTable tr.low th.item {
    background: #f6f3ef;
    padding: 12px 14px;
    border-bottom: 0;
  }
  #company .company_overview .detail .companyTable tr.low td.data {
    padding: 12px 14px 16px;
    border-top: 0;
  }
  #company .company_overview .spBreak {
    display: inline;
  }
  #company .company_overview > div:last-child iframe {
    height: 300px;
  }
}

/*----------------------------------------------------------------
店舗情報
------------------------------------------------------------------*/
#office_info {
  /* SP */
}
#office_info #lower-mainview_section .lower-mv__content {
  position: absolute;
  left: 10svw;
  top: calc(50% - 15svh);
  width: min(92%, 720px);
  row-gap: 5px;
  text-align: left;
}
#office_info #lower-mainview_section .lower-mv__content .lower-mv__eyebrow,
#office_info #lower-mainview_section .lower-mv__content .lower-mv__title,
#office_info #lower-mainview_section .lower-mv__content .lower-mv__lead {
  margin-inline: 0;
}
#office_info #lower-mainview_section .lower-mv__content .lower-mv__title {
  margin: 0 0 5px;
}
#office_info #lower-mainview_section .lower-mv__bg .sp_office {
  display: none;
}
#office_info #lower-mainview_section .office-video_box {
  position: absolute;
  right: 8vw;
  bottom: -8vw;
  width: min(550px, 30vw);
  aspect-ratio: 3/5;
  border: 10px solid #FFF;
  background-color: #FFF;
  overflow: hidden;
  box-shadow: 0 5px 24px rgba(16, 33, 60, 0.2);
}
#office_info #lower-mainview_section .office-video_box #office-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width: 768px) {
  #office_info #lower-mainview_section .lower-mv__bg {
    width: 100svw;
    height: 100svh;
    overflow: hidden;
  }
  #office_info #lower-mainview_section .lower-mv__bg .sp_office {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #office_info #lower-mainview_section .lower-mv__bg .pc_office {
    display: none;
  }
  #office_info #lower-mainview_section .office-video_box {
    border: none;
    aspect-ratio: inherit;
  }
  #office_info #lower-mainview_section .spnone {
    display: none;
  }
}
#office_info .company-access {
  padding: 24px;
}
#office_info .company-access .inner {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 150px 0;
}
#office_info .company-access__card {
  background: #fff;
  box-shadow: 0 4px 204px rgba(16, 33, 60, 0.1);
  padding: 80px 50px;
}
#office_info .company-access__grid {
  display: grid;
  grid-template-columns: 1fr 450px;
  gap: 30px 24px;
  margin-bottom: 20px;
}
#office_info .company-access__table {
  margin: 0;
  color: #2b3340;
  font-size: 14px;
}
#office_info .company-access__table a {
  color: inherit;
  text-decoration: none;
}
#office_info .company-access__row {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid #e6edf3;
}
#office_info .company-access__row:first-child {
  border-top: 1px solid #e6edf3;
}
#office_info .company-access__row dt, #office_info .company-access__row dd {
  margin: 0;
}
#office_info .company-access__row dt {
  color: #6f7a89;
}
#office_info .company-access__photo {
  margin: 0;
  overflow: hidden;
}
#office_info .company-access__photo img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
#office_info .company-access__map {
  margin-top: 14px;
  border-radius: 4px;
  overflow: hidden;
}
#office_info .company-access__map iframe {
  display: block;
  width: 100%;
  height: 350px;
  border: 0;
}
@media (max-width: 960px) {
  #office_info .company-access .company-access__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 8px 0;
    border-bottom: 1px solid #e6edf3;
  }
  #office_info .company-access__card {
    padding: 20px 20px;
  }
  #office_info .company-access__grid {
    grid-template-columns: 1fr;
  }
  #office_info .company-access__photo {
    order: -1;
  }
}
@media (max-width: 768px) {
  #office_info .company-access .company-access__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    padding: 12px 2px;
    border-bottom: 1px solid #e6edf3;
  }
  #office_info .company-access__map {
    max-height: 250px;
  }
}

/*----------------------------------------------------------------
採用
------------------------------------------------------------------*/
/*----------------------------------------------------------------
採用
------------------------------------------------------------------*/
#recruit {
  /* 見出し（上：ルビ / 下：英見出し） */
  /* Recruit：MESSAGE ブロック（提供HTMLに対応、ネスト構造） */
}
#recruit #container {
  position: relative;
}
#recruit #container .recruit_cta_box {
  position: fixed;
  top: 15vw;
  right: 0;
  width: 65px;
  z-index: 10;
}
@media (max-width: 768px) {
  #recruit #container .recruit_cta_box {
    width: 40px;
    top: 15vh;
  }
}
#recruit .lower-mv__content {
  position: absolute;
  left: 5vw;
  bottom: 7vh;
  display: block;
  width: min(92%, 1000px);
  padding: 101px 20px 30px;
  text-align: left;
  z-index: 1;
}
#recruit .lower-mv__content > .lower-mv__eyebrow,
#recruit .lower-mv__content > .lower-mv__title,
#recruit .lower-mv__content > .lower-mv__lead {
  max-width: min(92%, 1000px);
  margin-inline: auto;
  color: #FFF;
}
#recruit .lower-mv__title {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 20px;
}
#recruit .lower-mv__title img {
  width: 85px;
  height: 85px;
}
#recruit .wrap {
  padding: 120px 0;
}
#recruit .cmn_ttl_text_area__ttlBox {
  width: 90%;
  text-align: center;
  margin: 50px auto 70px;
}
#recruit .el_messageUnit.el_contentUnit {
  padding-bottom: 150px;
  font-family: "Zen Old Mincho", serif;
  color: #222;
  /* 本文パネル */
  /* レスポンシブ（<=768px） */
}
#recruit .el_messageUnit.el_contentUnit .wrap {
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 24px;
}
#recruit .el_messageUnit.el_contentUnit .unitContent .cellBase {
  position: relative;
  background: #e8e1d6; /* ベージュ地 */
  padding: 130px 30px 40px;
  border-radius: 2px;
}
#recruit .el_messageUnit.el_contentUnit .unitContent .textCell {
  width: 90%;
  max-width: 860px;
  margin-inline: auto;
}
#recruit .el_messageUnit.el_contentUnit .unitContent .textCell .catch {
  margin: 0 0 50px;
  color: #192d4a;
  font-size: 3.2rem;
  letter-spacing: -0.5px;
  position: relative;
  text-align: center;
  /* 下の赤い波ライン（インラインSVG） */
}
#recruit .el_messageUnit.el_contentUnit .unitContent .textCell .catch .ls_none {
  display: inline-block;
  letter-spacing: -12px;
}
#recruit .el_messageUnit.el_contentUnit .unitContent .textCell .catch::after {
  content: "";
  display: block;
  width: clamp(180px, 28vw, 300px);
  aspect-ratio: 414/45;
  margin: 12px auto 0;
  background: url(../img/recruit/underline.svg) no-repeat center/contain;
}
#recruit .el_messageUnit.el_contentUnit .unitContent .textCell .copy {
  width: min(90%, 760px);
  margin: 0 auto;
  text-align: center;
}
#recruit .el_messageUnit.el_contentUnit .unitContent .textCell .copy p {
  margin: 30px 0;
  color: #4b4a48;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 2.5;
}
#recruit .el_messageUnit.el_contentUnit .unitContent .textCell .copy p .big {
  line-height: 2;
  font-size: 2rem;
}
#recruit .el_messageUnit.el_contentUnit .unitContent .textCell .photo {
  width: 100%;
  max-width: 820px;
  margin: 50px auto -150px;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}
#recruit .el_messageUnit.el_contentUnit .unitContent .textCell .photo img {
  display: block;
  width: 100%;
  height: auto;
}
#recruit .el_messageUnit.el_contentUnit.message_sales {
  background-color: #e8e3da;
}
#recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .cellBase {
  background: #FFF;
}
#recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .catch {
  margin: 0 0 40px;
  font-size: 2.5rem;
  text-align: left;
  line-height: 2;
  /* 下の赤い波ライン（インラインSVG） */
}
#recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .catch .ls_none {
  display: inline-block;
  letter-spacing: -12px;
}
#recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .catch::after {
  content: "";
  display: block;
  width: clamp(180px, 28vw, 200px);
  height: 3px;
  margin: 30px auto 0 0;
  background-color: #c05636;
}
#recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .copy {
  width: 100%;
  margin: 0 auto;
  text-align: left;
}
#recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .copy p {
  margin: 15px 0;
}
#recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .copy p .big {
  display: inline-block;
  margin: 30px 0;
}
#recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .photo {
  margin: 80px auto -150px;
}
@media (max-width: 768px) {
  #recruit .el_messageUnit.el_contentUnit .unitTitle {
    margin: 22px 0 12px;
  }
  #recruit .el_messageUnit.el_contentUnit .unitTitle .text {
    font-size: 22px;
  }
  #recruit .el_messageUnit.el_contentUnit .unitTitle .ruby {
    font-size: 13px;
  }
  #recruit .el_messageUnit.el_contentUnit .unitContent .cellBase {
    padding: 50px 6% 120px;
  }
  #recruit .el_messageUnit.el_contentUnit .unitContent .textCell .catch {
    margin-bottom: 20px;
    font-size: 2.2rem;
  }
  #recruit .el_messageUnit.el_contentUnit .unitContent .textCell .catch::after {
    width: 200px;
  }
  #recruit .el_messageUnit.el_contentUnit .unitContent .textCell .copy {
    width: 100%;
    text-align: left;
  }
  #recruit .el_messageUnit.el_contentUnit .unitContent .textCell .copy p {
    margin: 15px 0;
    font-size: 13.5px;
    line-height: 1.8;
  }
  #recruit .el_messageUnit.el_contentUnit .unitContent .textCell .copy p .big {
    font-size: 1.8rem;
    line-height: 1.5;
  }
  #recruit .el_messageUnit.el_contentUnit .unitContent .textCell .photo {
    margin-top: 20px;
  }
  #recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .cellBase {
    padding: 50px 6% 120px;
  }
  #recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .catch {
    margin: 0 0 30px;
    font-size: 2rem;
    line-height: 1.6;
    /* 下の赤い波ライン（インラインSVG） */
  }
  #recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .catch::after {
    content: "";
    display: block;
    width: clamp(110px, 28vw, 150px);
    height: 3px;
    margin: 15px auto 0 0;
    background-color: #c05636;
  }
  #recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .copy p {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  #recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .copy p .big {
    margin: 20px 0;
    font-size: 1.8rem;
  }
  #recruit .el_messageUnit.el_contentUnit.message_sales .unitContent .textCell .photo {
    margin: 50px auto -150px;
  }
}
#recruit .el_memberUnit.el_contentUnit {
  padding: 150px 0;
  background-color: #e8e3da;
  /* 色・寸法（このブロック内だけ有効） */
  --wrap: 1200px;
  --beige: #e7dfd3;
  --card-bg: #fff;
  --line: #e6e8ef;
  --ink: #222;
  --muted: #5a5a5a;
  --brand: #192d4a;
  --shadow: 0 0 15px rgba(0,0,0,.15);
  --yellow: #f0c42f;
  /* グリッド（4カラム） */
  /* カード */
  /* レスポンシブ */
}
#recruit .el_memberUnit.el_contentUnit .unitContent {
  max-width: var(--wrap);
  width: 90%;
  margin-inline: auto;
}
#recruit .el_memberUnit.el_contentUnit .dataSetList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
}
#recruit .el_memberUnit.el_contentUnit .dataSet {
  background: var(--card-bg);
  box-shadow: var(--shadow);
  padding: 24px 20px 24px;
  color: var(--ink);
  display: flex;
  flex-direction: column;
  align-items: center;
}
#recruit .el_memberUnit.el_contentUnit .dataSet .photo {
  width: 200px;
  height: 200px;
  border-radius: 50%;
  overflow: hidden;
  background: var(--yellow);
  margin: 4px auto 18px;
  display: grid;
  place-items: center;
}
#recruit .el_memberUnit.el_contentUnit .dataSet .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#recruit .el_memberUnit.el_contentUnit .dataSet .name {
  margin: 0 0 16px;
  text-align: center;
  color: var(--brand);
  font-size: 2.2rem;
  letter-spacing: 0.06em;
  line-height: 1.55;
}
#recruit .el_memberUnit.el_contentUnit .dataSet .name .post {
  display: block;
  font-size: 2rem;
}
#recruit .el_memberUnit.el_contentUnit .dataSet .copy {
  margin: 0;
  padding: 10px 3px 0;
  border-top: 1px solid #d4d4d4;
  color: var(--muted);
  font-size: 14px;
  font-family: "游ゴシック", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  line-height: 1.8;
  text-align: justify;
}
#recruit .el_memberUnit.el_contentUnit.housing_advisor {
  background-color: #FFF;
}
#recruit .el_memberUnit.el_contentUnit.housing_advisor .unitContent {
  max-width: 1000px;
  width: 90%;
  margin-inline: auto;
}
#recruit .el_memberUnit.el_contentUnit.housing_advisor .dataSetList {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 19px;
}
@media (max-width: 1200px) {
  #recruit .el_memberUnit.el_contentUnit .unitContent {
    padding: 0 20px;
  }
  #recruit .el_memberUnit.el_contentUnit .dataSetList {
    gap: 28px;
  }
}
@media (max-width: 1024px) {
  #recruit .el_memberUnit.el_contentUnit .dataSetList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  #recruit .el_memberUnit.el_contentUnit {
    padding: 70px 0 100px;
  }
  #recruit .el_memberUnit.el_contentUnit .dataSetList {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  #recruit .el_memberUnit.el_contentUnit .dataSet {
    padding: 18px 16px 20px;
  }
  #recruit .el_memberUnit.el_contentUnit .dataSet .photo {
    width: 150px;
    height: 150px;
    margin-bottom: 14px;
  }
  #recruit .el_memberUnit.el_contentUnit .dataSet .name {
    font-size: 18px;
    margin-bottom: 12px;
  }
  #recruit .el_memberUnit.el_contentUnit .dataSet .copy {
    font-size: 13.5px;
    line-height: 1.9;
  }
  #recruit .el_memberUnit.el_contentUnit.housing_advisor .dataSetList {
    grid-template-columns: 1fr;
    gap: 18px;
  }
}

@media screen and (max-width: 768px) {
  #recruit {
    /* 見出し（上：ルビ / 下：英見出し） */
  }
  #recruit .lower-mv__content {
    position: absolute;
    display: block;
    text-align: center;
  }
  #recruit .lower-mv__content > .lower-mv__eyebrow,
  #recruit .lower-mv__content > .lower-mv__title,
  #recruit .lower-mv__content > .lower-mv__lead {
    max-width: 90%;
  }
  #recruit .lower-mv__title {
    display: block;
  }
  #recruit .lower-mv__title span {
    display: block;
  }
  #recruit .lower-mv__title img {
    display: block;
    width: 60px;
    height: 60px;
    margin: 20px auto;
  }
  #recruit .wrap {
    padding: 50px 0;
  }
  #recruit .cmn_ttl_text_area__ttlBox {
    width: 90%;
    text-align: center;
    margin: 20px auto 20px;
  }
}
/* Recruit：BENEFITS（福利厚生）— 画像どおり／ネスト構造 */
.el_welfareUnit.el_contentUnit {
  --wrap: 1200px;
  --panel:#e7dfd3;
  --ring:#f3efe9; /* 丸の中の白っぽい色 */
  --ink:#222;
  --muted:#4d4d4d;
  --brand:#2f4768; /* 見出しの紺 */
  --line:#e6e8ef;
  background: #FFF;
  padding: 28px 0 40px;
  /* レスポンシブ */
}
.el_welfareUnit.el_contentUnit .wrap {
  max-width: var(--wrap);
  margin-inline: auto;
  padding: 0 24px;
}
.el_welfareUnit.el_contentUnit .unitContent .dataSetList {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  margin-bottom: 80px;
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet {
  background: #e8e3da;
  padding: 28px 24px 40px;
  text-align: center;
  color: var(--ink);
  /* アイコン画像の対応（クラス名→アセット） */
  /* 円(¥) */
  /* 家＋ハート等 */
  /* 家 */
  /* 自転車 */
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet .item {
  margin-bottom: 16px;
  display: flex;
  justify-content: center;
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet .iconCell {
  width: 170px;
  height: 170px;
  overflow: hidden;
  border-radius: 50%;
  background: #FFF;
  display: grid;
  place-items: center;
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet .iconCell img {
  width: 80px;
  height: 80px;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet .icon_009 .icon {
  background-image: url("/assets/img/recruit/welfare/icon_009.svg");
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet .icon_001 .icon {
  background-image: url("/assets/img/recruit/welfare/icon_001.svg");
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet .icon_002 .icon {
  background-image: url("/assets/img/recruit/welfare/icon_002.svg");
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet .icon_006 .icon {
  background-image: url("/assets/img/recruit/welfare/icon_006.svg");
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet .catch {
  margin: 0 0 12px;
  font-size: 18px;
  line-height: 1.9;
  letter-spacing: 0.04em;
  color: var(--brand);
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet .catch.large {
  line-height: 1.5;
}
.el_welfareUnit.el_contentUnit .unitContent .dataSet .data {
  margin: 0;
  font-size: 14px;
  line-height: 1.95;
  color: var(--muted);
  font-family: "游ゴシック", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
@media (max-width: 1100px) {
  .el_welfareUnit.el_contentUnit .unitContent .dataSetList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .el_welfareUnit.el_contentUnit .wrap {
    padding: 0 16px;
  }
  .el_welfareUnit.el_contentUnit .unitContent .dataSetList {
    grid-template-columns: 1fr;
    gap: 16px;
    width: 90%;
    margin: 0 auto 9vh;
  }
  .el_welfareUnit.el_contentUnit .unitContent .dataSet {
    padding: 22px 16px 18px;
  }
  .el_welfareUnit.el_contentUnit .unitContent .dataSet .iconCell {
    width: 148px;
    height: 148px;
  }
  .el_welfareUnit.el_contentUnit .unitContent .dataSet .iconCell .icon {
    width: 46px;
    height: 46px;
  }
  .el_welfareUnit.el_contentUnit .unitContent .dataSet .catch {
    font-size: 16px;
  }
  .el_welfareUnit.el_contentUnit .unitContent .dataSet .data {
    font-size: 13.5px;
  }
  .el_welfareUnit.el_contentUnit .unitContent .welfare-cta__link {
    width: 100%;
  }
}

/* CTAボタン（画像下の赤い横長） */
.redlong-cta {
  margin: 20px auto;
}
.redlong-cta__link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  min-height: 50px;
  padding: 0 18px;
  width: min(500px, 90%);
  margin: 0 auto;
  background: #c14a4a;
  color: #fff;
  letter-spacing: 0.04em;
}
.redlong-cta__link:hover {
  filter: brightness(0.96);
}
.redlong-cta__ja {
  justify-self: start;
  font-size: 16px;
}
.redlong-cta__en {
  justify-self: end;
  font: 400 13px/1 "Cardo", serif;
  opacity: 0.9;
}

.el_mapUnit.el_contentUnit {
  --wrap: 1000px;
  --white: #fff;
  --ink: #2f4768; /* 紺 */
  --muted:#4b4a48;
  background: #e8e3da;
  /* 会社情報テーブル */
  /* Google Map 埋め込み */
  /* 改行制御（提供HTMLの br.spBreak をSPのみ有効に） */
  /* レスポンシブ */
  /* SP：項目名を上、値を下に縦積み表示 */
}
.el_mapUnit.el_contentUnit .wrap {
  width: 90%;
  max-width: var(--wrap);
  margin-inline: auto;
  padding-bottom: 10px;
}
.el_mapUnit.el_contentUnit .detail .companyTable {
  width: 100%;
  border-spacing: 0 5px; /* 行の間隔 */
  color: var(--ink);
  font-size: 14px;
  line-height: 2;
}
.el_mapUnit.el_contentUnit .detail .companyTable tr.low {
  background: var(--white);
}
.el_mapUnit.el_contentUnit .detail .companyTable tr.low th.item, .el_mapUnit.el_contentUnit .detail .companyTable tr.low td.data {
  padding-block: 15px;
}
.el_mapUnit.el_contentUnit .detail .companyTable tr.low:nth-of-type(2n) {
  background: #e8e3da;
}
.el_mapUnit.el_contentUnit .detail .companyTable tr.low th.item {
  width: 180px;
  min-width: 180px;
  text-align: left;
  padding-inline: 24px;
  color: var(--ink);
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
.el_mapUnit.el_contentUnit .detail .companyTable tr.low td.data {
  padding-inline: 35px;
  color: var(--ink);
}
.el_mapUnit.el_contentUnit .detail .companyTable tr.low td.data .labelTxt {
  display: inline-block;
  margin: 5px;
}
.el_mapUnit.el_contentUnit .detail .companyTable tr.low td.data a {
  color: var(--ink);
  text-decoration: none;
  word-break: break-all;
  padding-bottom: 1px;
}
.el_mapUnit.el_contentUnit .detail .companyTable tr.low td.data a:hover {
  color: #d83434;
}
.el_mapUnit.el_contentUnit .map_area iframe {
  margin: 0;
  border: none;
  width: 100%;
  min-height: 600px;
  vertical-align: bottom;
}
.el_mapUnit.el_contentUnit .spBreak {
  display: none;
}
@media (max-width: 1024px) {
  .el_mapUnit.el_contentUnit .wrap {
    padding-inline: 20px;
  }
  .el_mapUnit.el_contentUnit .detail .companyTable tr.low th.item {
    width: 160px;
    min-width: 160px;
    padding-inline: 18px;
  }
  .el_mapUnit.el_contentUnit .detail .companyTable tr.low td.data {
    padding-inline: 22px;
  }
  .el_mapUnit.el_contentUnit > div:last-child iframe {
    height: 360px;
  }
}
@media (max-width: 768px) {
  .el_mapUnit.el_contentUnit .wrap {
    padding-inline: 16px;
  }
  .el_mapUnit.el_contentUnit .detail .companyTable {
    border-spacing: 0 12px;
  }
  .el_mapUnit.el_contentUnit .detail .companyTable tr.low {
    background: var(--white);
  }
  .el_mapUnit.el_contentUnit .detail .companyTable tr.low:nth-of-type(2n) {
    background: var(--white);
  }
  .el_mapUnit.el_contentUnit .detail .companyTable tr.low th.item, .el_mapUnit.el_contentUnit .detail .companyTable tr.low td.data {
    display: block;
    width: 100%;
    min-width: auto;
    border-left: 1px solid var(--line);
    border-right: 1px solid var(--line);
  }
  .el_mapUnit.el_contentUnit .detail .companyTable tr.low th.item {
    background: #f6f3ef;
    padding: 12px 14px;
    border-bottom: 0;
  }
  .el_mapUnit.el_contentUnit .detail .companyTable tr.low td.data {
    padding: 12px 14px 16px;
    border-top: 0;
  }
  .el_mapUnit.el_contentUnit .spBreak {
    display: inline;
  }
  .el_mapUnit.el_contentUnit > div:last-child iframe {
    height: 300px;
  }
}

/*----------------------------------------------------------------
プライバシーポリシー 利用規約 サイトマップ
------------------------------------------------------------------*/
/*----------------------------------------------------------------
お知らせ
------------------------------------------------------------------*/
#blog .navi {
  width: 90%;
  max-width: 1200px;
  margin: 15px auto;
  font-size: 1.3rem;
}
#blog .navi a {
  text-decoration: underline;
}
#blog .navi a:hover {
  color: #d83434;
}
#blog a {
  display: inline-block;
}
#blog a:hover {
  color: #d83434;
}

.main .blog_navi a {
  padding: 2px 5px;
  border: 1px solid #000;
}
.main .blog_navi a:hover {
  color: #d83434;
  border: 1px solid #d83434;
}
.main .blog_pre_kiji,
.main .blog_next_kiji {
  padding: 2px 5px;
  border: 1px solid #000;
}
.main .blog_pre_kiji:hover,
.main .blog_next_kiji:hover {
  color: #d83434;
  border: 1px solid #d83434;
}
.main .blog_table {
  display: block;
  max-width: 1200px;
  margin: 100px auto;
}
.main .blog_table > tbody {
  display: block;
}
.main .blog_table > tbody > tr {
  display: flex;
  flex-direction: column-reverse;
  justify-content: space-between;
  width: 90%;
  margin: 0 auto;
}
.main > * .master_title {
  font-size: 24px;
}
.main > * .blog_index_td {
  display: block;
  width: 100%;
}
.main > * .blog_index_td {
  display: block;
  width: 100%;
}
.main > * .blog_main_td {
  display: block;
  width: 100%;
  text-align: left;
}
.main > * .blog_index {
  font-size: 14px;
  line-height: 1.8;
  text-align: center;
}
.main > * .blog_calendar table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.main > * .blog_calendar th, .main > * .blog_calendar td {
  border: solid 1px #CCC;
  text-align: center;
  padding: 2px 5px;
  box-sizing: border-box;
}
.main > * .blog_calendar th .saturday, .main > * .blog_calendar td .saturday {
  color: #192d4a;
}
.main > * .blog_calendar th .sunday, .main > * .blog_calendar td .sunday {
  color: #d83434;
}
.main > * .blog_category_title, .main > * .monthly_archive_title {
  color: #192d4a;
  border-bottom: solid 1px #192d4a;
  padding-bottom: 5px;
  margin-bottom: 5px;
}
.main > * .blog_master_line1 {
  padding-top: 20px;
}
.main > * .master_date {
  /* display: block; */
  display: none;
  font-size: 14px;
  color: #192d4a;
  border-top: solid 1px #192d4a;
  padding-top: 5px;
  margin-top: 5px;
}
.main > * .master_date {
  /* display: block; */
  display: none;
  font-size: 14px;
  color: #192d4a;
  border-top: solid 1px #192d4a;
  padding-top: 5px;
  margin-top: 5px;
}
.main > * .master_title {
  margin: 10px auto 30px;
  padding-bottom: 10px;
  border-bottom: solid 1px #192d4a;
  font-size: 2rem;
  color: #192d4a;
}
.main > * .master_title a {
  color: #192d4a;
  font-size: 2rem;
}
@media screen and (min-width: 768px) {
  .main .blog_table > tbody > tr {
    flex-direction: row-reverse;
  }
  .main > * .blog_index_td {
    width: 200px;
  }
  .main > * .blog_main_td {
    width: calc(100% - 250px);
    text-align: left;
  }
}

.main > * .blog_main_td > .blog_master_view .master_contents {
  white-space: nowrap;
  width: 100%;
  height: 1.8em;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 画像つきブログ */
.blog_img_list {
  margin-bottom: 40px;
}

.blog_img_list ul {
  margin-bottom: 20px;
}

.blog_img_list li {
  text-align: center;
  margin-top: 20px;
  letter-spacing: 0.01em;
  line-height: 1.2em;
  font-weight: 600;
  padding: 3.5px;
}

.blog_img_list li.hidden {
  display: none;
}

.blog_img_list li .blog_latest_date {
  display: none;
}

.blog_img_list li .blog_latest_title img {
  min-height: 59vw;
  max-height: 59vw;
  display: block;
  margin: 0 auto 10px;
}

.blog_img_list .more_btn {
  cursor: pointer;
  padding: 10px;
  border: solid 1px #111;
  text-align: center;
}

.blog_img_list .more_btn::after {
  content: "";
  display: block;
  vertical-align: middle;
  width: 15px;
  height: 15px;
  margin: 0 auto;
  border-bottom: 1px solid #111;
  border-right: 1px solid #111;
  transform: rotate(45deg);
}

.blog_table img {
  /* max-width: 100%;
  height: auto; */
  width: auto;
  height: auto;
  margin: 20px auto;
}

/* 画像つきブログ */
/*----------------------------------------------------------------
紹介キャンペーン
------------------------------------------------------------------*/
#campaign {
  /* ご紹介プレゼント上部 */
  /* 店舗案内（キャンペーン問い合わせ先） */
}
#campaign .cmn_ttl_text_area__ttlBox {
  width: 90%;
  max-width: 900px;
  margin: 120px auto 80px;
  text-align: center;
}
@media (max-width: 768px) {
  #campaign .cmn_ttl_text_area__ttlBox {
    margin: 60px auto 30px;
  }
}
#campaign .campaign-present {
  /* 吹き出しバッジ（画像の通り） */
  /* テキスト＆下線ハイライト */
  /* 右のプレゼント箱 */
  /* レスポンシブ */
}
#campaign .campaign-present .inner {
  max-width: 850px;
  margin-inline: auto;
  margin-top: -80px;
  padding: 0 24px;
}
#campaign .campaign-present .present-panel {
  position: relative;
  background: #fff;
  box-shadow: 0 2px 28px rgba(0, 0, 0, 0.12);
  padding: 80px;
  color: #2f4768;
  font-family: "Zen Old Mincho", serif;
  text-align: center;
}
#campaign .campaign-present .present-badge {
  position: absolute;
  left: 20px; /* 配置はレイアウトに合わせて調整 */
  top: -42px;
  width: 160px;
  height: 160px;
  border-radius: 50%;
  background: #192d4a; /* 紺 */
  color: #fff;
  box-shadow: 0 5px 24px rgba(0, 0, 0, 0.18);
  /* 中央寄せ（上下左右センター） */
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 4px;
  text-align: center;
  padding: 8px 12px;
  /* しっぽ（右下） */
}
#campaign .campaign-present .present-badge::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 12px;
  width: 0;
  height: 0;
  border-left: 14px solid #192d4a;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  transform: rotate(45deg);
  z-index: 1;
}
#campaign .campaign-present .present-badge__t1, #campaign .campaign-present .present-badge__t2 {
  font-family: "Zen Old Mincho", serif;
  font-size: 1.6rem;
  line-height: 1.3;
  letter-spacing: -0.06em;
}
#campaign .campaign-present .present-badge__ok {
  font-family: "Cardo", serif; /* 欧文指定 */
  font-size: 36px;
  line-height: 1;
  letter-spacing: 0.02em;
  margin-top: 2px;
}
#campaign .campaign-present .present-copy {
  margin: 0;
  font-size: 22px;
  line-height: 2;
  letter-spacing: 0.02em;
}
#campaign .campaign-present .present-underline {
  background: linear-gradient(transparent calc(100% - 8px), #e3a6a6 0); /* 赤みの下線帯 */
  text-decoration: none;
}
#campaign .campaign-present .present-illust {
  position: absolute;
  right: 20px;
  bottom: -14px;
  margin: 0;
}
#campaign .campaign-present .present-illust img {
  display: block;
  width: 130px;
  height: auto;
}
@media (max-width: 768px) {
  #campaign .campaign-present {
    margin-top: -100px;
  }
  #campaign .campaign-present .present-panel {
    padding: 30px 25px 40px;
    line-height: 1.5;
  }
  #campaign .campaign-present .present-badge {
    left: 0;
    top: -54px;
    width: 100%;
    height: 54px;
    border-radius: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    /* しっぽ（右下） */
  }
  #campaign .campaign-present .present-badge__t1, #campaign .campaign-present .present-badge__t2 {
    font-size: 14px;
  }
  #campaign .campaign-present .present-badge__ok {
    font-size: 24px;
  }
  #campaign .campaign-present .present-badge::after {
    right: calc(50% - 7px);
    bottom: -14px;
    transform: rotate(90deg);
  }
  #campaign .campaign-present .present-copy {
    font-size: 16px;
    line-height: 1.9;
  }
  #campaign .campaign-present .present-illust {
    right: 12px;
    bottom: 10px;
  }
  #campaign .campaign-present .present-illust img {
    width: 50px;
  }
  #campaign .campaign-present .sp-br {
    display: none;
  }
}
#campaign .gift_describe {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto 100px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  /* レスポンシブ */
}
#campaign .gift_describe__con {
  padding: 55px;
  background-color: #FFF;
  filter: drop-shadow(0 2px 10px rgba(42, 45, 73, 0.2));
}
#campaign .gift_describe__con h2 {
  margin-bottom: 10px;
}
@media (max-width: 768px) {
  #campaign .gift_describe {
    grid-template-columns: 1fr;
  }
  #campaign .gift_describe__con {
    padding: 30px;
  }
}
#campaign .campaign-shops {
  width: 90%;
  max-width: 1100px;
  margin: 0 auto 250px;
  background: #e8e3da; /* ベージュ帯 */
  padding-block: 120px 150px;
  /* 見出し */
  /* 2カラムカード */
  /* 店舗カード（指定HTMLそのまま対応） */
  /* SP */
}
#campaign .campaign-shops .inner {
  max-width: 860px;
  margin-inline: auto;
  padding-inline: 24px;
}
#campaign .campaign-shops .shops-head {
  text-align: center;
  color: #2f4768;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 40px;
}
#campaign .campaign-shops .shops-head__t1 {
  margin: 0 0 6px;
  font-size: 2rem;
  letter-spacing: 0.06em;
}
#campaign .campaign-shops .shops-head__t2 {
  margin: 0;
  font-size: 2rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
#campaign .campaign-shops .shops-head__hl {
  position: relative;
  display: block;
  padding-inline: 4px;
  font-size: 3rem;
}
#campaign .campaign-shops .shops-head__hl::after {
  content: "";
  position: absolute;
  left: calc(50% - 250px);
  top: 0;
  display: block;
  width: clamp(180px, 35vw, 500px);
  aspect-ratio: 414/45;
  margin: 3rem auto 0;
  background: url(../img/other/underline.svg) no-repeat center/contain;
}
#campaign .campaign-shops .shops-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
}
#campaign .campaign-shops .shop-card {
  background: #fff;
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
  color: #2f4768;
  /* 店舗名 */
  /* 情報リスト */
}
#campaign .campaign-shops .shop-card__ph img {
  display: block;
  width: 100%;
  height: auto;
}
#campaign .campaign-shops .shop-card__body {
  padding: 30px 50px 50px;
  font-family: "Zen Old Mincho", serif;
}
#campaign .campaign-shops .shop-card__name {
  margin: 12px 0 16px;
  padding: 0 2px 10px;
  font-size: 22px; /* 見本の文字サイズ感 */
  line-height: 1.4;
  letter-spacing: 0.06em;
  border-bottom: 1px solid #e6e8ef;
}
#campaign .campaign-shops .shop-card__info {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 14px;
  line-height: 2;
  letter-spacing: 0.02em;
  color: #3e4b62;
}
#campaign .campaign-shops .shop-card__info > div {
  width: 100%;
}
#campaign .campaign-shops .shop-card__info > div a {
  display: inline-block;
}
@media (max-width: 768px) {
  #campaign .campaign-shops {
    padding-block: 80px;
    margin-bottom: 100px;
    /* SP（<=768px） */
  }
  #campaign .campaign-shops .shops-head__t1 {
    font-size: 18px;
  }
  #campaign .campaign-shops .shops-head__t2 {
    font-size: 18px;
  }
  #campaign .campaign-shops .shops-head__hl {
    font-size: 2.2rem;
  }
  #campaign .campaign-shops .shops-head__hl::after {
    content: "";
    position: absolute;
    left: 10%;
    width: 80%;
    margin: 1.8rem auto 0;
    background: url(../img/other/underline.svg) no-repeat center/contain;
  }
  #campaign .campaign-shops .shops-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  #campaign .campaign-shops .shop-card {
    width: 90%;
    margin: 0 auto;
  }
  #campaign .campaign-shops .shop-card__name {
    font-size: 18px;
    margin-bottom: 8px;
  }
  #campaign .campaign-shops .shop-card__info {
    font-size: 13.5px;
    line-height: 1.9;
  }
  #campaign .campaign-shops .shop-card__info > div {
    grid-template-columns: 72px 1fr;
  }
  #campaign .campaign-shops .shop-card__body {
    padding: 15px 30px 30px;
  }
  #campaign .campaign-shops .shop-card__name {
    font-size: 18px;
  }
  #campaign .campaign-shops .shop-card__info {
    font-size: 13.5px;
  }
}

/*----------------------------------------------------------------
新規会員登録
------------------------------------------------------------------*/
#movie {
  /* 新規会員登録：メリット（ネスト構造） */
}
#movie .cmn_ttl_text_area__ttlBox {
  width: 90%;
  max-width: 900px;
  margin: 120px auto 0;
}
#movie .signup-benefits {
  margin-top: -10vw;
  /* SP */
}
#movie .signup-benefits .inner {
  width: 90%;
  max-width: 700px;
  margin-inline: auto;
  padding-inline: 24px;
  background-color: #FFF;
  filter: drop-shadow(0 2px 10px rgba(42, 45, 73, 0.2));
}
#movie .signup-benefits .benefits-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  padding: 28px 0;
  list-style: none;
}
#movie .signup-benefits .benefits-list .benefit {
  padding: 10px 24px 24px;
  text-align: center;
  color: #2f4768; /* 紺 */
  font-family: "Zen Old Mincho", serif;
  /* 中央の縦罫線 */
}
#movie .signup-benefits .benefits-list .benefit:first-child {
  border-right: 1px solid #e6e8ef;
}
#movie .signup-benefits .benefits-list .benefit__circle {
  width: 150px;
  height: 150px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: #192d4a; /* 濃紺の丸 */
  display: grid;
  place-items: center;
}
#movie .signup-benefits .benefits-list .benefit__circle img {
  display: block;
  width: 150px;
  height: auto;
}
#movie .signup-benefits .benefits-list .benefit__t1 {
  margin: 0 0 6px;
  font-size: 1.8rem;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
#movie .signup-benefits .benefits-list .benefit__t2 {
  margin: 0;
  font-size: 1.8rem;
  line-height: 1.9;
  letter-spacing: 0.04em;
}
@media (max-width: 768px) {
  #movie .signup-benefits .benefits-list {
    grid-template-columns: 1fr;
    gap: 0;
  }
  #movie .signup-benefits .benefits-list .benefit {
    padding: 16px 12px 18px;
  }
  #movie .signup-benefits .benefits-list .benefit:first-child {
    border-right: none;
    border-bottom: 1px solid #e6e8ef; /* 1枚ずつ区切り線 */
  }
}

/*----------------------------------------------------------------
プライバシーポリシー 利用規約
------------------------------------------------------------------*/
#privacy-section {
  padding: 80px 0 150px;
  font-family: "游ゴシック", YuGothic, "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
#privacy-section a {
  display: inline-block;
}
@media screen and (max-width: 768px) {
  #privacy-section {
    padding: 40px 0 150px;
  }
  #privacy-section a {
    display: inline-block;
  }
}

.privacy-policy__inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
.privacy-policy__text {
  font-size: 14px;
  color: #333;
  line-height: 2;
  margin-bottom: 60px;
}
.privacy-policy__list dt {
  margin-bottom: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #cbcbcb;
  color: #3d3d3d;
  font-size: 1.8rem;
  font-weight: bold;
}
.privacy-policy__list dd {
  margin-bottom: 40px;
  color: #333;
  font-size: 1.5rem;
  line-height: 1.9;
}
.privacy-policy__list dd .mb_30 {
  margin-bottom: 30px;
}
.privacy-policy__list dd .mt_30 {
  margin-top: 30px;
}
.privacy-policy__list dd .fw_bold {
  font-weight: bold;
}
.privacy-policy__list dd > ol {
  counter-reset: item;
}
.privacy-policy__list dd > ol li {
  position: relative;
  padding-left: 28px;
  margin-bottom: 10px;
  font-size: 14px;
  line-height: 1.6;
}
.privacy-policy__list dd > ol li::before {
  content: "(" counter(item) ")";
  counter-increment: item;
  position: absolute;
  left: 3px;
  top: 0;
  width: 20px;
  height: 20px;
  line-height: 25px;
}
.privacy-policy__list dd > ol.in_02 {
  counter-reset: item;
  margin-top: 15px;
  padding-left: 3.2rem;
}
.privacy-policy__list dd > ol.in_02 li {
  padding-left: 20px;
}
.privacy-policy__list dd > ol.in_02 li::before {
  content: "" counter(item) ")";
  counter-increment: item;
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  line-height: 25px;
}
.privacy-policy__list dd .note {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .privacy-policy__text {
    font-size: 15px;
  }
  .privacy-policy__list dt {
    font-size: 16px;
  }
  .privacy-policy__list dd {
    font-size: 14px;
  }
  .privacy-policy__list dd > ol.in_02 {
    margin-top: 12px;
    padding-left: 2rem;
  }
  .privacy-policy__list dd > ol.in_02 li {
    padding-left: 18px;
  }
  .privacy-policy__list dd > ol.in_02 li::before {
    left: 0;
  }
}

/*----------------------------------------------------------------
サイトマップ
------------------------------------------------------------------*/
/* sitemap.scss（ネスト構造） */
.sitemap {
  /* 768px以下：1カラム */
}
.sitemap .inner {
  width: 90%;
  max-width: 1000px;
  margin: 10vw auto;
  padding-inline: 24px;
}
.sitemap__cols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px clamp(24px, 5vw, 80px);
}
.sitemap .sitemap-col__hd {
  margin: 0 0 12px;
  border-bottom: 1px solid #cdcdcd;
  font-size: 22px;
  letter-spacing: 0.04em;
}
.sitemap .sitemap-col__hd a {
  color: #192d4a;
  font-size: 22px;
}
.sitemap .sitemap-col__hd a:hover {
  color: var(--hover, #c14a4a);
}
.sitemap .sitemap-col__hd--sp {
  margin-top: 26px;
}
.sitemap .sitemap-col__list {
  list-style: none;
  margin: 0 0 6px;
  padding: 0;
  display: grid;
  gap: 8px;
}
.sitemap .sitemap-col__list li {
  position: relative;
  padding-left: 18px;
}
.sitemap .sitemap-col__list li::before {
  content: "—";
  position: absolute;
  left: 0;
  top: 0;
  color: var(--muted, #6c768b);
  font-family: "Cardo", serif;
}
.sitemap .sitemap-col__list li a {
  color: #333;
}
.sitemap .sitemap-col__list li a:hover {
  color: var(--hover, #c14a4a);
}
.sitemap .sitemap-col__list--sp {
  margin-bottom: 0;
}
.sitemap .sitemap-col--no-list { /* 余白調整用（見出しのみの列） */ }
@media (max-width: 768px) {
  .sitemap__cols {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

/*----------------------------------------------------------------
お気に入り
------------------------------------------------------------------*/
#favorite_con {
  max-width: 1200px;
  margin: 0 auto;
}

/*----------------------------------------------------------------
お問い合わせ
------------------------------------------------------------------*/
/*----------------------------------------------------------------
お問い合わせ ・ thanks
------------------------------------------------------------------*/
#contact {
  padding: 80px 0 120px;
}

#form .form_caption {
  max-width: 900px;
  width: 90%;
  margin: 80px auto 0;
  line-height: 2;
}
#form .form_caption a {
  display: inline;
}
#form .form_caption a:hover {
  color: #d83434;
}

.cart {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
  background-color: #fff;
  padding: 70px 50px;
  border-radius: 12px;
  font-size: 14px;
  color: #333;
  /**/
  /**/
  /*取り消しボタン*/
}
.cart table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 40px;
}
.cart .inqObjs {
  margin-bottom: 0;
}
.cart .inqObjs th {
  background-color: #aaa;
  color: #fff;
  font-weight: bold;
  text-align: center;
  padding: 12px;
  font-size: 16px;
}
.cart .inqObjs td.cell-02 {
  width: 200px;
}
.cart .inqObjs td.cell-02 img {
  width: auto;
  height: 100%;
  object-fit: cover;
}
.cart .inqObjs td.cell-06 span {
  display: block;
}
.cart th {
  padding: 12px 15px;
  background-color: #f5f5f5;
  border: solid 1px #DDD;
  color: #192d4a;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: left;
}
.cart td {
  padding: 12px 20px;
  border: 1px solid #eee;
  font-weight: bold;
}
.cart td.senddata_koumoku {
  width: 210px;
  font-weight: bold;
}
.cart input[type=text],
.cart input[type=tel],
.cart input[type=email],
.cart select,
.cart textarea {
  width: 100%;
  max-width: 400px;
  padding: 8px 10px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-family: inherit;
  font-size: 14px;
  background-color: #fff;
}
.cart select {
  max-width: 250px;
}
.cart input[type=tel] {
  width: 100px;
}
.cart textarea {
  resize: vertical;
  min-height: 120px;
  max-width: 100%;
}
.cart .setsuzoku_bar {
  display: inline-block;
  margin: 0 10px;
}
.cart .supp-expl {
  margin-left: 10px;
  color: #AAA;
  font-size: 1.4rem;
}
.cart .anq_required {
  display: inline-block;
  margin-left: 5px;
  padding: 4px 6px 3px;
  border: 1px solid #d83434;
  background-color: #FFF;
  color: #d83434;
  font-size: 12px;
  line-height: 1;
  border-radius: 2px;
}
.cart .form_required {
  display: inline;
  margin-bottom: 5px;
}
.cart .ushiro_moji,
.cart .mae_moji {
  display: inline-block;
  font-size: 13px;
  color: #666;
  margin-top: 5px;
}
@media screen and (max-width: 768px) {
  .cart {
    padding: 40px 20px;
  }
  .cart .inqHead td {
    margin: 10px 0;
    padding: 0;
  }
  .cart .inqObjs th.cell-01 {
    width: 100%;
    display: block;
    padding: 0;
  }
  .cart .inqObjs td.cell-02 {
    width: 100%;
    display: block;
    text-align: center;
  }
  .cart .inqObjs td.cell-02 img {
    margin: 0 auto;
  }
  .cart td.senddata_koumoku {
    width: 100%;
    display: block;
  }
  .cart td {
    display: block;
  }
  .cart th {
    font-size: 14px;
  }
  .cart input,
  .cart select,
  .cart textarea {
    width: 100%;
  }
}
.cart .toiawase_item_del_button {
  width: 100%;
  padding: 5px 10px;
  background-color: #EEE;
  cursor: pointer;
}
.cart .toiawase_item_del_button:hover {
  opacity: 1;
  background-color: #d83434;
  transition: 0.3s;
}

/*cart*/
/* チェックボックス / ラジオボックス */
input[type=radio],
input[type=checkbox] {
  -webkit-appearance: none;
  background-color: #FFF;
  width: 20px;
  height: 20px;
  margin: 0 5px 0 0;
  border-radius: 20px;
  display: inline-block;
  vertical-align: middle;
  border: solid 1px #DDD;
  box-sizing: border-box;
}

/* チェックボックス表示用調整 */
input[type=checkbox] {
  position: relative;
  border-radius: 5px;
  cursor: pointer;
}
input[type=checkbox]::after {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  left: calc(50% - 3px);
  width: 6px;
  height: 10px;
  border: solid #ccc;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
input[type=checkbox]:checked {
  background-color: #d83434;
  border-color: #d83434;
}
input[type=checkbox]:checked::after {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  left: calc(50% - 3px);
  width: 6px;
  height: 10px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* ラジオボックス表示用調整 */
input[type=radio] {
  position: relative;
}
input[type=radio]::after {
  content: "";
  position: absolute;
  top: calc(50% - 3px);
  left: calc(50% - 3px);
  width: 6px;
  height: 6px;
  background-color: #ccc;
  border-radius: 50px;
}
input[type=radio]:checked {
  background-color: #d83434;
  border-color: #d83434;
}
input[type=radio]:checked::after {
  content: "";
  position: absolute;
  top: calc(50% - 3px);
  left: calc(50% - 3px);
  width: 6px;
  height: 6px;
  background-color: #fff;
}

input[type=radio]:checked,
input[type=checkbox]:checked {
  background-color: #1c3a51;
  border: none;
}

#SPForm input.form_input_back {
  -webkit-appearance: none;
  border: none;
  background-color: #CCC;
  width: 40%;
  padding: 15px 0px;
  margin: 0px;
  cursor: pointer;
  transition: 0.3s;
}
#SPForm input.form_input_back:hover {
  transition: 0.3s;
  background-color: #d83434;
  color: #FFF;
}

#SPForm input[type=submit] {
  -webkit-appearance: none;
  border: none;
  background-color: #1c3a51;
  color: #FFF;
  width: 40%;
  padding: 15px 0px;
  margin: 0px;
  cursor: pointer;
  transition: 0.3s;
}
#SPForm input[type=submit]:hover {
  transition: 0.3s;
  background-color: #d83434;
}

form .r_kind_add {
  display: none;
}

/*エラー
----------------------------------------------- */
.error_koumoku {
  color: #000;
}

.error {
  text-align: center;
  color: #f66;
}
.error b {
  padding: 2px 10px;
  border: 1px solid #f66;
  font-size: 2rem;
}

/*-------------------------------------------------------- 完了ページ*/
#thanks_page {
  width: 90%;
  max-width: 1000px;
  margin: 60px auto;
  text-align: center;
}
#thanks_page h3 {
  font-size: 2.4rem;
  font-weight: bold;
}
#thanks_page p {
  margin-bottom: 20px;
  font-size: 1.6rem;
  line-height: 1.8;
}
#thanks_page .name {
  margin: 50px 0;
  font-size: 1.8rem;
  font-weight: bold;
}
#thanks_page .thanks-btn {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-width: 200px;
  max-width: 300px;
  min-height: 40px;
  padding: 0 15px;
  margin: 5vh auto 0;
  background: #192d4a;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.04em;
}
#thanks_page .thanks-btn::before {
  /*@include iconBefAf;*/
  content: "";
  position: absolute;
  background-repeat: no-repeat;
  background-position: center;
}
#thanks_page .thanks-btn:hover {
  opacity: 1;
  background-color: #d83434;
  transition: 0.3s;
}
#thanks_page .thanks-btn__en {
  margin-left: 6px;
  font: 400 12px/1 "Cardo", serif;
}/*# sourceMappingURL=lower-layer.css.map */