@charset "UTF-8";
/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/
:root {
  --main-color: #000;
  --sub-color: #fff;
}

/* Local fonts - Karla */
@font-face {
  font-family: "Karla";
  src: url("fonts/Karla-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Karla";
  src: url("fonts/Karla-ExtraBold.woff2") format("woff2");
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Karla";
  src: url("fonts/Karla-ExtraBoldItalic.woff2") format("woff2");
  font-weight: 800;
  font-style: italic;
  font-display: swap;
}
/* Adobe Fonts */
.heisei_m {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.heisei_b {
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.arial_b {
  font-family: arial, sans-serif;
  font-weight: 700;
  font-style: normal;
}

html,
button,
input,
select,
textarea {
  font-family: "heisei-kaku-gothic-std", sans-serif;
}

body {
  color: #333333;
  font-size: 16px;
  line-height: 1.5;
  font-family: "heisei-kaku-gothic-std", sans-serif;
  font-weight: 500;
  font-style: normal;
  letter-spacing: 0.1em;
  min-width: 1440px;
}

.wrap {
  width: 1140px;
  margin: 0 auto;
}

.wrap.mid {
  width: 1240px;
}

.wrap.lr {
  width: 1340px;
}

/* ローディング画面（テキスト→フェードアウト→ロゴフェードイン→フェードアウト→MV） */
.loading_screen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  transition: opacity 0.8s ease;
}

.loading_screen.is_complete {
  opacity: 0;
  pointer-events: none;
}

.loading_screen .inner {
  position: relative;
  width: 100%;
  text-align: center;
}

.loading_screen .text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #1a1a1a;
  opacity: 0;
  transition: opacity 1.2s ease;
  white-space: nowrap;
}

.loading_screen.is_text_visible .text {
  opacity: 1;
}

.loading_screen .text .highlight {
  color: #0068b7;
}

.loading_screen.is_text_hidden .text {
  opacity: 0;
  pointer-events: none;
}

.loading_screen .logo_wrap {
  opacity: 0;
  transition: opacity 0.8s ease;
}

.loading_screen.is_logo_visible .logo_wrap {
  opacity: 1;
}

.loading_screen.is_complete .logo_wrap {
  opacity: 0;
}

.loading_screen .logo_wrap .image {
  display: block;
  width: 100%;
  max-width: 300px;
  height: auto;
  margin: 0 auto;
}

/* PC固定ページ 共通設定 */
.common_page_main {
  padding: 183px 0 75px;
  margin-block: 0 1em;
  position: relative;
}

.common_page_main::after {
  content: "";
  position: absolute;
  top: 0;
  right: 339px;
  width: 1px;
  height: 100%;
  background: #bababa;
}

.common_page_main .page_fv {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.common_page_main .page_fv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(26, 26, 26, 0.5);
}

.common_page_main .page_fv img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.common_page_main .title_box {
  position: relative;
  z-index: 1;
  padding-right: 220px;
}

.common_page_main .title_box .title {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 10px;
  line-height: 1.13;
}

.common_page_main .title_box .sub_title {
  font-size: 21px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.05em;
  font-family: "Karla", sans-serif;
}

.common_page_wrap {
  padding: 100px 0;
}

.not_found .text {
  text-align: center;
}

.reserve_text {
  text-align: center;
  font-size: 30px;
}

/* パンくず */
.breadcrumb {
  font-size: 13px;
  color: #1a1a1a;
  letter-spacing: 0.06em;
}

.breadcrumb a {
  text-decoration: none;
  color: #aaaaaa;
}

/* PC固定ページ お問い合わせ */
.contact_form_disc {
  color: #3e3e3e;
  letter-spacing: 0.08em;
  font-weight: 400;
  text-align: center;
  margin-block: 0 3.8em;
}

.contact_form_disc .text {
  font-size: 16px;
  margin-block: 0 1em;
}

.contact_form_disc .caution {
  font-size: 14px;
}

.common_contact_form .form_box {
  margin-block: 0 50px;
}

.common_contact_form .form_box dl {
  display: grid;
  grid-template-columns: 26.5% 1fr;
  align-items: center;
  gap: 80px;
}

.common_contact_form .form_box dl.start {
  align-items: flex-start;
}

.common_contact_form .form_box dl + dl {
  margin-block: 1.6em 0;
}

.common_contact_form .form_box dl dt {
  display: flex;
  align-items: center;
  gap: 1.3em;
  font-size: 16px;
  letter-spacing: 0.08em;
  font-weight: 700;
  padding-inline: 0 0.5em;
  position: relative;
}

.common_contact_form .form_box dl dt .label {
  flex-shrink: 0;
  color: #3e3e3e;
  font-size: 12px;
  letter-spacing: 0.2em;
  font-weight: 700;
  border-radius: 100vmax;
  padding: 0.2em 0.9em;
}

.common_contact_form .form_box dl dt .label.hissu {
  background: #c70000;
  color: #fff;
}

.common_contact_form .form_box dl dt .label.ninni {
  background: #e0e0e0;
}

.common_contact_form .form_box dl dt::after {
  content: "";
  width: 1px;
  height: 30px;
  background: #aaa;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.common_contact_form input[type=text],
.common_contact_form input[type=email],
.common_contact_form #zip {
  width: 100%;
  background: #f8f8f8;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  font-size: 14px;
  letter-spacing: 0.08em;
  font-weight: 400;
  padding: 0.8em 1em;
}

.common_contact_form textarea {
  width: 100%;
  height: 180px;
  background: #f8f8f8;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  padding: 1em;
  font-size: 14px;
  letter-spacing: 0.08em;
  font-weight: 400;
}

.common_contact_form input::-moz-placeholder, .common_contact_form textarea::-moz-placeholder {
  color: #c7c4c4;
}

.common_contact_form input::placeholder,
.common_contact_form textarea::placeholder {
  color: #c7c4c4;
}

.common_contact_form select {
  width: 47.5%;
  background: #f8f8f8;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  font-size: 14px;
  letter-spacing: 0.08em;
  padding: 1.1em 1em;
}

.common_contact_form select.empty {
  color: #c7c4c4;
}

.page_contact #btn_wrap {
  justify-content: center;
  text-align: right;
  width: 74%;
  margin: auto;
}

.page_contact #btn_wrap button {
  background-color: #0068b7;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #fff;
  display: block;
  width: 310px;
  line-height: 60px;
  font-size: 18px;
  font-weight: 900;
  transition: 0.3s;
  text-align: center;
  letter-spacing: 0.08em;
  margin: auto;
}

.page_contact #btn_wrap button[name=submitBack] {
  background: #333;
  margin-top: 20px;
}

.page_contact #btn_wrap button:hover {
  opacity: 0.8;
}

.privacy_term_outer .privacy_term_inner {
  height: 138px;
  margin: auto;
  overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
  font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
  font-size: 13px;
  margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
  font-size: 13px;
  border-left: solid 3px #ccc;
  padding-left: 1em;
  margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
  font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl + dl {
  margin-top: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
  width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
  background: transparent;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
  background-color: #333;
  border-radius: 10px;
}

.privacy_term_outer {
  border-top: solid 1px #e3e3e3;
  padding: 30px 0;
  border-bottom: solid 1px #e3e3e3;
  width: 60%;
  margin: 0 auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
  padding-right: 0;
}

.privacy_check_list .error {
  font-size: 12px;
}

.privacy_term_detail {
  text-align: center;
  font-size: 13px;
  margin: 20px 0;
  position: relative;
  font-weight: 600;
}

.privacy_term_detail::after {
  content: "";
  margin: 5px auto 0;
  border: solid #333;
  border-width: 2px 2px 0 0;
  width: 10px;
  aspect-ratio: 1/1;
  min-width: 0;
  rotate: 135deg;
  display: block;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
  display: none;
}

/* ラジオボタン デザイン */
.radio_btns,
.checkboxes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1.5em;
  padding: 0.5em 0;
}

/* ラジオボタンを隠す */
.radio_btns input[type=radio].radio_btns__item {
  display: none;
}

.radio_btns label {
  display: inline-block;
  cursor: pointer;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio_btns .radio_btns__item + span {
  color: #3e3e3e;
  font-size: 15px;
  letter-spacing: 0.08em;
  font-weight: 600;
  padding-left: 2em;
  display: inline-block;
  position: relative;
}

/* 各パーツを作成 */
.radio_btns .radio_btns__item + span::before,
.radio_btns .radio_btns__item + span::after {
  content: "";
  display: block;
  position: absolute;
  border: 1px solid #e6e6e6;
  background: #f8f8f8;
  border-radius: 50%;
  width: 20px;
  aspect-ratio: 1;
  min-width: 0;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

/* after上書き */
.radio_btns .radio_btns__item + span::after {
  width: 10px;
  aspect-ratio: 1;
  min-width: 0;
  top: 0px;
  left: 5px;
  border: none;
  background: #5a5a5a;
  transform: scale(0);
  transition: all 0.3s;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio_btns .radio_btns__item:checked + span::after {
  transform: scale(1);
}

/* チェックボックス デザイン */
.page_contact input[type=checkbox] {
  /* デフォルトcheckボックス非表示*/
  display: none;
}

.mwform-checkbox-field label {
  cursor: pointer;
}

.mwform-checkbox-field-text {
  color: #3e3e3e;
  font-size: 15px;
  letter-spacing: 0.08em;
  font-weight: 600;
  display: inline-block;
  position: relative;
  padding: 0 0 0 30px;
}

.mwform-checkbox-field-text::before,
.mwform-checkbox-field-text::after {
  content: "";
  position: absolute;
  display: block;
}

.mwform-checkbox-field-text::before {
  background: #f8f8f8;
  border: 1px solid #e6e6e6;
  border-radius: 2px;
  width: 20px;
  aspect-ratio: 1/1;
  min-width: 0;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
  border-width: 3px;
  border-color: transparent transparent #333 #333;
  border-style: solid;
  width: 20px;
  aspect-ratio: 2/1;
  min-width: 0;
  margin-top: -0.2em;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-45deg);
  opacity: 0;
}

input[type=checkbox]:checked + .mwform-checkbox-field-text::after {
  opacity: 1;
}

/* お部屋探し（賃貸物件）のSP用改行：PCでは非表示 */
.mwform-checkbox-field-text br.sp {
  display: none;
}

.mw_wp_form .horizontal-item {
  display: inline-block;
}

.mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0 !important;
}

/* サンクスページ */
.page_contact .thanks_textArea .name {
  font-size: 16px;
  line-height: 2;
  text-align: center;
  margin-bottom: 20px;
}

.page_contact .thanks_textArea .contact_text {
  margin: 0 auto 50px;
  width: 62%;
}

.page_contact .thanks_textArea .ichiran_link {
  background-color: var(--main-color);
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  color: #fff;
  display: block;
  width: 300px;
  line-height: 50px;
  border-radius: 4px;
  font-size: 16px;
  transition: 0.3s;
  margin: 0 auto;
  text-decoration: none;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-align: center;
}

.page_contact .thanks_textArea .ichiran_link:hover {
  opacity: 0.8;
}

.page_contact .thanks_textArea .contact_text .space {
  display: block;
}

.page_contact .thanks_textArea .contact_text .space {
  display: block;
  margin-top: 10px;
}

/* ステップバー デザイン */
.page_contact .progressbar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5.6em;
  margin-block: 0 3em;
}

.page_contact .progressbar .item {
  color: #3e3e3e;
  font-size: 14px;
  letter-spacing: 0.08em;
  font-weight: 400;
  text-align: center;
  line-height: 1.5;
  position: relative;
}

.page_contact .progressbar .item + .item::before {
  content: "";
  width: 50px;
  height: 1px;
  background: #e6e6e6;
  position: absolute;
  top: 64%;
  left: -5em;
}

.page_contact .progressbar .item .mark {
  width: 36px;
  aspect-ratio: 1;
  background: #fff;
  border: 1px solid #afafaf;
  border-radius: 50%;
  display: block;
  margin: 0 auto 0.5em;
  position: relative;
}

.page_contact .progressbar .item .mark::before {
  content: "";
  width: 41%;
  aspect-ratio: 1;
  background: #5a5a5a;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  opacity: 0;
}

.page_contact .progressbar .item.active .mark::before {
  opacity: 1;
}

.page_contact .progressbar .item .en {
  display: block;
  color: #a7a7a7;
  letter-spacing: 0;
  font-family: "Helvetica", "Arial", sans-serif;
}

.privacy_check_list {
  justify-content: center;
  align-items: center;
  margin-bottom: 25px;
}

.privacy_check_list .hissu {
  background: #c70200;
  color: #fff;
  padding: 2px 15px;
  font-size: 10px;
  letter-spacing: 0.08em;
  border-radius: 30px;
  font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
  margin: 0;
}

/* PC固定ページ 404ページ */
#page_404 {
  text-align: center;
}

#page_404 .num {
  font-size: 100px;
  font-family: "Montserrat", "Noto Sans JP", sans-serif;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#page_404 .text {
  margin-bottom: 1em;
  font-size: 16px;
}

/* PC固定ページ アーカイブページ */
/* 投稿リスト表示 */
.archive_page_list > article {
  padding-bottom: 15px;
  padding-top: 15px;
  border-bottom: 1px dashed #eee;
  padding-right: 30px;
}

.archive_page_list > article:after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  top: 0;
  right: 5px;
  bottom: 0;
  margin: auto;
  border: solid #ccc;
  border-width: 2px 2px 0 0;
  transform: rotate(45deg);
}

.archive_page_list > article .date {
  font-weight: bold;
  font-size: 80%;
  width: 100px;
}

.archive_page_list > article .content_area {
  width: calc(100% - 100px);
}

.archive_page_list > article .content_area .ttl {
  font-weight: bold;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.archive_page_list > article .content_area .content {
  font-size: 80%;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* wp-pagenavi base */
.wp-pagenavi {
  text-align: center;
  margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  color: #1a1a1a;
  background-color: #fff;
  border: solid 1px #e0e0d2;
  padding: 8px 15px;
  margin: 0 2px;
  border-radius: 3px;
  transition: 0.2s ease-in-out;
  text-align: center;
  text-decoration: none;
}

.wp-pagenavi a:hover {
  color: #fff;
  background-color: #0068b7;
  border-color: var(--main-color);
}

.wp-pagenavi .current {
  color: #fff;
  background-color: #0068b7;
  border-color: var(--main-color);
  font-weight: bold;
}

/*----------------------------------------
   共通設定
----------------------------------------*/
/* section_title
----------------------------------------*/
#top .section_title {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#top .section_title .ja {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #1a1a1a;
}

#top .section_title .en {
  font-size: 50px;
  font-weight: 800;
  color: #0068b7;
  font-family: "Karla", sans-serif;
  line-height: 1.18;
  letter-spacing: normal;
}

/* btn
----------------------------------------*/
.btn_wrap {
  text-align: center;
}

.btn_wrap .btn {
  display: inline-block;
  padding: 22px 50px;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: #0068b7;
  border-radius: 30px;
  transition: 0.3s;
  letter-spacing: 0.1em;
  line-height: 1;
}

.arrow_btn {
  display: inline-flex;
  align-items: center;
  gap: 20px;
  transition: 0.3s;
}

.arrow_btn_text {
  display: inline-block;
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1;
}

.arrow_btn_arrow {
  flex-shrink: 0;
  display: block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #0068b7;
  text-decoration: none;
  position: relative;
}

.arrow_btn_arrow::before,
.arrow_btn_arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  right: calc(50% - 5.65px);
  width: 11.3px;
  height: 2px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: calc(100% - 0.5px) 50%;
}

.arrow_btn_arrow::before {
  transform: rotate(46.95deg);
}

.arrow_btn_arrow::after {
  transform: rotate(-46.95deg);
}

/*----------------------------------------
   ヘッダー
----------------------------------------*/
#pc_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #fff;
  padding: 0 50px;
  height: 114.5px;
  border-bottom: 1px solid #bababa;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
  min-width: 1440px;
}

#pc_header .logo {
  width: 200.03px;
}

#pc_header .logo .link {
  display: block;
  width: 100%;
  height: 100%;
}

#pc_header .logo .image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

#pc_header .header_content {
  display: flex;
  align-items: center;
  gap: 100px;
}

#pc_header .nav .list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#pc_header .nav .list .item {
  margin: 0;
}

#pc_header .nav .list .link {
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  font-size: 15px;
  font-weight: 700;
  transition: 0.3s;
}

#pc_header .contact_area {
  display: flex;
  align-items: center;
  gap: 24px;
}

#pc_header .contact_area .tel_area {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

#pc_header .contact_area .label {
  font-size: 14px;
  font-weight: 700;
  margin: 0;
  color: #fff;
  line-height: 1;
}

#pc_header .contact_area .tel {
  color: #fff;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.17;
  font-family: "Karla", sans-serif;
  letter-spacing: 0.05em;
}

#pc_header .contact_area .line_link {
  display: block;
  line-height: 0;
  width: 40px;
  height: 40px;
}

#pc_header .contact_area .line_link .image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/*----------------------------------------
   フッター
----------------------------------------*/
#footer .footer_top {
  background: #1a1a1a;
  padding: 72px 0 40px;
}

#footer .footer_top .footer_top_inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

#footer .contact_block {
  flex-shrink: 0;
}

#footer .contact_block .heading {
  margin: 0 0 12px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
}

#footer .contact_block .tel {
  margin: 0 0 3px;
}

#footer .contact_block .tel .link {
  font-size: 32px;
  font-weight: 500;
  line-height: 1;
  font-family: "Karla", sans-serif;
  letter-spacing: 0.05em;
  color: #fff;
  text-decoration: none;
}

#footer .contact_block .hours {
  margin: 0 0 30px;
  font-size: 14px;
  color: #fff;
}

#footer .contact_block .form_btn {
  display: block;
  width: 280px;
  height: 60px;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  text-decoration: none;
  background: #1a1a1a;
  transition: 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #fff;
  transition: 0.3s;
}

#footer .nav_block {
  display: flex;
  gap: 73px;
}

#footer .nav_col {
  flex-shrink: 0;
  min-width: 162px;
}

#footer .nav_heading {
  margin: 0 0 40px;
  font-size: 26px;
  font-weight: 800;
  color: #fff;
  letter-spacing: normal;
  text-transform: uppercase;
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 6px;
}

#footer .nav_col .list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px 50px;
}

#footer .nav_col .list .item {
  margin: 0;
}

#footer .nav_col .list .link {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.11em;
  color: #fff;
  transition: 0.3s;
  text-decoration: none;
}

#footer .nav_col.other_col .list {
  grid-template-columns: 1fr;
}

#footer .line_link.sp {
  display: none;
}

#footer .line_link.pc {
  display: block;
  margin-top: 11px;
  margin-left: auto;
  width: 40px;
  height: 40px;
}

#footer .nav_col .line_link .image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

#footer .footer_mid {
  background: #f4f4f4;
  padding: 70px 0 30px;
  color: #1a1a1a;
}

#footer .footer_mid .footer_mid_inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 70px;
}

#footer .footer_logo {
  margin: 7px 0 0;
  width: 263px;
  flex-shrink: 0;
}

#footer .footer_logo .image {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

#footer .info_block {
  flex: 1;
  min-width: 0;
}

#footer .info_block .address,
#footer .info_block .train,
#footer .info_block .license,
#footer .info_block .policy_links {
  font-size: 14px;
  letter-spacing: normal;
  line-height: 1;
}

#footer .info_block .address {
  margin-bottom: 32px;
}

#footer .info_block .train {
  margin-bottom: 7px;
}

#footer .info_block .license {
  margin: 22px auto 9px 0;
  text-align: right;
}

#footer .info_block .policy_links {
  text-align: right;
}

#footer .info_block .policy_links .link {
  color: #1a1a1a;
  text-decoration: none;
  transition: 0.3s;
  font-size: 13px;
}

#footer .info_block .policy_links .sep {
  margin: 0 2px;
}

#footer .footer_bottom {
  background: #0068b7;
  padding: 12px 0;
}

#footer .footer_bottom .copyright {
  margin: 0;
  font-size: 14px;
  font-weight: 500;
  color: #fff;
  text-align: center;
  letter-spacing: normal;
  font-family: "Karla", sans-serif;
}

/* 追従フッター（SP時のみ・画面下部固定） */
.sticky_footer {
  display: none;
}

/*----------------------------------------
   トップページ
----------------------------------------*/
/* MV
----------------------------------------*/
#top .mv {
  position: relative;
}

#top .mv::before {
  content: "";
  position: absolute;
  top: 0;
  right: 339px;
  width: 1px;
  height: 100%;
  background: #bababa;
}

#top .mv::after {
  content: "";
  position: absolute;
  top: 312.2px;
  left: 50%;
  transform: translateX(-50%);
  width: 310.08px;
  height: 311.26px;
  background-image: url("image/mv_logo.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

#top .mv .bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

#top .mv .bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(26, 26, 26, 0.5);
  z-index: 1;
}

#top .mv .bg .image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

#top .mv .content {
  padding: 419px 50px 69px;
}

#top .mv .content .en_caption {
  margin: 0;
  font-size: 34px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 0.05em;
  font-family: "Karla", sans-serif;
  text-transform: uppercase;
  line-height: 1;
}

#top .mv .content .main_title {
  display: flex;
  gap: 25px;
  margin: 0;
  font-weight: 800;
  color: #fff;
  font-family: "Karla", sans-serif;
  line-height: 1;
  transform: translateX(-36px);
}

#top .mv .content .main_title .left {
  display: inline-block;
  text-transform: uppercase;
  font-size: 90px;
  transform: rotate(90deg);
}

#top .mv .content .main_title .right {
  position: relative;
  display: inline-block;
  font-size: 130px;
}

/* マスク用SVG（フォントはCSSで管理。font-size は .right から継承） */
#top .mv .content .main_title .right .glass_mask_svg {
  position: absolute;
  width: 520px;
  height: 130px;
  left: -9999px;
  top: 0;
  overflow: hidden;
  pointer-events: none;
  font-size: inherit;
}

#top .mv .content .main_title .right .glass_mask_svg .glass_mask_text {
  font-family: "Karla", sans-serif;
  font-weight: 800;
  font-size: inherit;
}

#top .mv .content .main_title .right .glass {
  position: relative;
  z-index: 0;
  display: block;
  white-space: nowrap;
  line-height: 1;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  -webkit-mask-image: url(#glass-text-mask);
  mask-image: url(#glass-text-mask);
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
  mask-position: 0 0;
  color: transparent;
  -webkit-text-fill-color: transparent;
  /* SVGマスクとHTMLテキストの描画位置のずれを補正（ストロークに合わせる） */
  transform: translateY(-2px);
}

#top .mv .content .main_title .right .stroke {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  display: block;
  white-space: nowrap;
  line-height: 1;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  background: none;
  color: transparent;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px #fff;
  text-shadow: none;
  paint-order: stroke fill;
}

#top .mv .content .title {
  margin: 0;
  font-weight: 700;
  color: #fff;
  display: flex;
  flex-direction: column;
  margin-top: 10px;
}

#top .mv .content .title .top {
  font-size: 18px;
  letter-spacing: 0.1em;
}

#top .mv .content .title .bottom {
  font-size: 25px;
  letter-spacing: 0.17em;
}

/* 事業内容 BUSINESS
----------------------------------------*/
#top .business {
  padding: 180px 0 120px;
  overflow: hidden;
}

#top .business .business_inner {
  position: relative;
}

#top .business .business_inner::before {
  content: "";
  position: absolute;
  top: 510px;
  left: 0;
  width: 100%;
  height: 480px;
  background: #f5fbff;
  z-index: -1;
}

#top .business .subtitle {
  margin: 24px 0 70px;
  font-size: 24px;
  color: #1a1a1a;
  font-weight: 700;
}

#top .business .tab_area {
  display: grid;
  grid-template-columns: 350px 1fr;
  margin-bottom: 80px;
}

#top .business .tab_area .nav .list {
  margin: 0;
  padding: 0;
  list-style: none;
}

#top .business .tab_area .nav .list .item {
  margin: 0;
}

#top .business .tab_area .nav .tab_btn {
  display: block;
  width: 100%;
  margin: 0;
  padding: 10px 20px 10px 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--main-color);
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  position: relative;
  transition: 0.3s;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 30px;
  margin-bottom: 10px;
  letter-spacing: 0.11em;
}

#top .business .tab_area .nav .list .item:last-child .tab_btn {
  margin-bottom: 0;
}

#top .business .tab_area .nav .tab_btn::before {
  content: "";
  position: absolute;
  left: -30px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: transparent;
  transition: 0.3s;
}

#top .business .tab_area .nav .tab_btn::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: transparent;
}

#top .business .tab_area .nav .tab_btn.is_active {
  color: #005ab3;
}

#top .business .tab_area .nav .tab_btn.is_active::before {
  background: #005ab3;
}

#top .business .tab_area .nav .tab_btn.is_active::after {
  background: #707070;
}

#top .business .content_panels {
  position: relative;
  flex: 1;
  min-height: 520px;
}

/* 折りたたみ画像スタック（高さ520px・ストリップ40px・メイン320px） */
#top .business .image_stack_wrap {
  position: relative;
  width: 100%;
  height: 520px;
  overflow: hidden;
  margin-right: calc(50% - 50vw);
}

#top .business .image_stack {
  position: relative;
  width: 100%;
  height: 520px;
}

#top .business .stack_layer {
  position: absolute;
  left: 0;
  width: 100%;
  overflow: hidden;
  transition: top 0.45s ease, height 0.45s ease;
}

#top .business .stack_layer_inner {
  position: absolute;
  left: 0;
  width: 100%;
  height: 320px;
  transition: transform 0.45s ease;
}

#top .business .stack_layer_inner picture {
  display: block;
  width: 100%;
  height: 100%;
}

#top .business .stack_layer_inner img {
  display: block;
  width: 100%;
  height: 320px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}

#top .business .business_thumb_list {
  display: none;
}

#top .business .content_panels .panel {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

#top .business .content_panels .panel.is_open {
  opacity: 1;
  pointer-events: auto;
}

#top .business .content_panels .panel .text {
  position: absolute;
  top: 115px;
  left: -143px;
  width: 450px;
  height: auto;
  padding: 50px;
  background-color: #fff;
}

#top .business .content_panels .panel .text .label {
  margin: 0 0 14px;
  font-size: 18px;
  font-weight: 500;
  color: #005ab3;
  letter-spacing: normal;
  font-family: "Karla", sans-serif;
  text-transform: uppercase;
  line-height: 1;
}

#top .business .content_panels .panel .text .title {
  margin: 0 0 33px;
  font-size: 28px;
  font-weight: 700;
  color: #1a1a1a;
  letter-spacing: 0.16em;
  line-height: 1;
}

#top .business .content_panels .panel .text .description {
  margin: 0 0 50px;
  font-size: 16px;
  color: var(--main-color);
  line-height: 1.63;
  letter-spacing: 0.11em;
}

#top .business .strength {
  margin-top: 126px;
}

#top .business .strength .list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

#top .business .strength .list .item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
}

#top .business .strength .list .item .image_wrap {
  position: relative;
  aspect-ratio: 360/200;
  position: relative;
}

#top .business .strength .list .item .image_wrap::before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 40px;
  background: #0068b7;
}

#top .business .strength .list .item .image_wrap .image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}

#top .business .strength .list .item .image_wrap .caption {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 32px;
  font-size: 20px;
  font-weight: 800;
  color: #fff;
  font-style: italic;
  font-family: "Karla", sans-serif;
  letter-spacing: normal;
}

#top .business .strength .list .item .title {
  margin: 32px 0 27px;
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.39;
}

#top .business .strength .list .item .text {
  margin: 0;
  font-size: 14px;
  line-height: 1.57;
  letter-spacing: 0.11em;
}

/* 売却・買取実績 RECORD
----------------------------------------*/
#top .record {
  padding: 0 0 150px;
}

#top .record .record_inner {
  padding: 90px 100px 72px;
  background: #f5f5f5;
}

#top .record .section_title {
  align-items: center;
}

.record_list {
  margin: 20px 0 45px;
  padding: 0;
  list-style: none;
}

/* PC時は常に4列グリッド（Slick未初期化時。.slide_groupはdisplay:contentsで6個の.itemがグリッドに並ぶ） */
.record_list.record_slider:not(.slick-initialized) {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.record_list.record_slider:not(.slick-initialized) .slide_group {
  display: contents;
}

.record_list .item {
  margin: 0;
  background-color: #fff;
}

.record_list .item .image_wrap {
  aspect-ratio: 270/200;
  margin: 0;
}

.record_list .item .image_wrap .image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
}

.record_list .item .text {
  padding: 20px 30px;
}

.record_list .item .text .title {
  margin: 0 0 16px;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

#top .record_list .item .text .title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  min-height: 42px;
}

.record_list .item .text .address,
.record_list .item .text .station,
.record_list .item .text .minutes {
  margin: 0;
  font-size: 13px;
  color: var(--main-color);
  letter-spacing: 0.01em;
  line-height: 1.23;
}

.record_list .item .text .minutes {
  line-height: 1.38;
}

.record_list .item .text .address {
  margin-bottom: 11px;
}

#top .record_list .item .text .address,
#top .record_list .item .text .station {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.record_list.record_slider .slick-dots {
  margin-top: 16px;
}

.record_list.no_posts {
  margin: 0 0 32px;
  font-size: 15px;
  color: var(--main-color);
  text-align: center;
}

/* スタッフ紹介 MEMBER
----------------------------------------*/
#top .staff {
  overflow: hidden;
}

#top .staff .header_area {
  position: relative;
  padding: 151px 0 186px;
  background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("image/staff_bg.webp") center/cover;
}

#top .staff .header_inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-end;
}

#top .staff .section_title .ja {
  color: #fff;
}

#top .staff .section_title .en {
  color: #fff;
}

#top .staff .arrow_wrap {
  display: flex;
  align-items: center;
  gap: 50px;
  min-height: 40px;
}

#top .staff .arrow_wrap .slick-prev,
#top .staff .arrow_wrap .slick-next {
  position: static;
  transform: none;
  display: flex;
  align-items: center;
  gap: 10px;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  font-size: 11px;
  font-weight: 500;
  color: #fff;
  border: none;
  border-radius: 0;
  background: none;
  box-shadow: none;
  cursor: pointer;
  transition: opacity 0.3s;
}

#top .staff .arrow_wrap .slick-next::before,
#top .staff .arrow_wrap .slick-next::after,
#top .staff .arrow_wrap .slick-prev::before,
#top .staff .arrow_wrap .slick-prev::after {
  display: none;
}

#top .staff .arrow_wrap .arrow_circle {
  flex-shrink: 0;
  position: relative;
  width: 40px;
  height: 40px;
  border: 1px solid #fff;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

#top .staff .arrow_wrap .slick-prev .arrow_circle::before,
#top .staff .arrow_wrap .slick-prev .arrow_circle::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  left: calc(50% - 3.7px);
  width: 8.4px;
  height: 1px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: 0.5px 50%;
}

#top .staff .arrow_wrap .slick-prev .arrow_circle::before {
  transform: rotate(47.75deg);
}

#top .staff .arrow_wrap .slick-prev .arrow_circle::after {
  transform: rotate(-47.75deg);
}

#top .staff .arrow_wrap .slick-next .arrow_circle::before,
#top .staff .arrow_wrap .slick-next .arrow_circle::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.5px);
  left: calc(50% - 4.7px);
  width: 8.4px;
  height: 1px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: 7.9px 50%;
}

#top .staff .arrow_wrap .slick-next .arrow_circle::before {
  transform: rotate(-47.75deg);
}

#top .staff .arrow_wrap .slick-next .arrow_circle::after {
  transform: rotate(47.75deg);
}

#top .staff .arrow_wrap .arrow_label {
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  font-family: "Karla", sans-serif;
}

#top .staff .slider_area {
  padding: 0 0 80px;
  margin-top: -154px;
}

.slider_area .list {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-right: calc(50% - 50vw);
  overflow: hidden;
}

.slider_area .list.staff_slider .slick-list {
  overflow: visible;
}

/* カードの高さを揃える（トラックをflex・スライドをstretch、幅は触らない） */
.slider_area .list.staff_slider .slick-track {
  display: flex;
  align-items: stretch;
}

.slider_area .list.staff_slider .slick-slide {
  height: auto;
  align-self: stretch;
}

.slider_area .list .item {
  margin: 0 15px;
  height: 100%;
}

.slider_area .list .item .card_link {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  text-decoration: none;
  color: inherit;
  background: #fff;
  transition: 0.3s;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 330px;
  height: 100%;
}

.slider_area .list .item .card_link .image_wrap {
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
  width: 100%;
  height: 360px;
}

.slider_area .list .item .card_link .image_wrap .image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
  transition: 0.3s;
}

.slider_area .list .item .card_link .text_box {
  padding: 18px 0 0 0;
  position: relative;
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.slider_area .list .item .card_link .text_box::before {
  content: "";
  position: absolute;
  top: -30px;
  left: 20px;
  width: 1px;
  height: calc(100% + 30px);
  background: #bababa;
}

.slider_area .list .item .card_link .name_row {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: 40px;
}

.slider_area .list .item .card_link .name_box .name {
  margin: 0 0 6px;
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1;
}

.slider_area .list .item .card_link .name_box .en_name {
  margin: 0;
  font-size: 14px;
  color: #0068b7;
  line-height: 1.21;
  font-weight: 500;
  font-family: "Karla", sans-serif;
  letter-spacing: normal;
}

.slider_area .arrow_btn_arrow::before,
.slider_area .arrow_btn_arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 1px);
  left: calc(50% - 4.2px);
  width: 8.4px;
  height: 2px;
  border-radius: 9999px;
  background-color: #ffffff;
  transform-origin: calc(100% - 1px) 50%;
}

.slider_area .arrow_btn_arrow::before {
  transform: rotate(51.35deg);
}

.slider_area .arrow_btn_arrow::after {
  transform: rotate(-51.35deg);
}

/* スタッフカード内は装飾のみ・カード自体がリンクのためボタン風の挙動を無効 */
.slider_area .arrow_btn_arrow {
  cursor: default;
  transition: none;
  pointer-events: none;
}

.slider_area .list .item .card_link .position {
  margin: 25px 0 10px;
  font-size: 14px;
  color: #1a1a1a;
  line-height: 1.4;
  padding-left: 40px;
}

.slider_area .list .item .card_link .qualifications {
  margin: 0;
  font-size: 13px;
  color: #1a1a1a;
  line-height: 1.67;
  padding: 10px 0 0 40px;
  border-top: 1px solid #0068b7;
  letter-spacing: 0.03em;
  flex: 1;
}

/* お知らせ NEWS
----------------------------------------*/
#top .news {
  padding: 90px 0 170px;
}

#top .news .news_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 106px;
}

#top .news .header_side {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 37px;
}

.list_side {
  flex: 1;
  min-width: 0;
}

.list_side .list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.list_side .list .item {
  margin: 0;
}

.list_side .list .item .link {
  display: flex;
  align-items: center;
  padding: 29px 0 24px;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid #d6d6d6;
  transition: 0.3s;
  position: relative;
}

.list_side .list .item:first-child .link {
  padding-top: 0;
}

.list_side .list .item .link::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #0068b7;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.3s ease;
}

.list_side .list .item .date {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 500;
  line-height: 1;
  font-family: "Karla", sans-serif;
  transform: rotate(270deg) translateY(-13px);
  letter-spacing: normal;
  min-width: 70px;
}

.list_side .list .item .date .year {
  font-size: 14px;
  color: #1a1a1a;
}

.list_side .list .item .date .month_day {
  font-size: 24px;
  color: #005ab3;
}

.list_side .list .item .title {
  flex: 1;
  min-width: 0;
  font-size: 16px;
  color: #1a1a1a;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.list_side .list .item .indicator {
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #d0d0d0;
  position: relative;
}

.list_side .list .item .indicator::after {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 30px;
  height: 30px;
  background: #0068b7;
  border-radius: 50%;
  transform: scale(0);
  transform-origin: center;
  transition: transform 0.3s ease;
}

.list_side .no_posts {
  margin: 0;
  padding: 20px 0;
  font-size: 15px;
  color: var(--main-color);
}

/* REAL ESTATE EXPERT（不動産エキスパート）
----------------------------------------*/
#top .expert {
  padding-bottom: 179px;
}

#top .expert .bg {
  width: calc((100vw - 1440px) / 2 + 1290px);
  height: 360px;
  margin-left: auto;
}

#top .expert .bg .image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center right;
     object-position: center right;
  display: block;
}

#top .expert .content {
  padding: 38px 50px 0 50px;
  width: 720px;
  background-color: #fff;
  margin-top: -215px;
  position: relative;
}

#top .expert .en_caption {
  margin: 0;
  font-size: 70px;
  font-weight: 700;
  color: rgba(0, 104, 183, 0.11);
  font-family: "Arial", sans-serif;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: normal;
}

#top .expert .expert_title {
  margin: -22px 0 41px;
  font-size: 28px;
  font-weight: 800;
  color: #1a1a1a;
  letter-spacing: 0.15em;
  line-height: 1;
  text-align: center;
}

#top .expert .expert_text {
  margin: 0;
  font-size: 14px;
  letter-spacing: 0.08em;
  margin-bottom: 51px;
}

/*----------------------------------------
   売却・買取実績 一覧ページ
----------------------------------------*/
.page_case .common_page_wrap {
  padding: 100px 0 150px;
}

.page_case .staff_cont_sec {
  background-color: #f5f5f5;
  padding: 80px 100px;
}

.page_case .record_list.list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}

.page_case .record_list.list .slide_group {
  display: contents;
}

/*----------------------------------------
   スタッフ紹介 一覧ページ
----------------------------------------*/
.page_staff .common_page_wrap {
  padding-block: 100px 150px;
}

/* スライダー用のはみ出し・overflow を解除し、グリッドに */
.staff_cont_sec .staff_list_wrap.slider_area {
  overflow: visible;
  margin-right: 0;
}

.staff_cont_sec .staff_list_wrap .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 30px;
  margin-right: 0;
  overflow: visible;
}

.staff_cont_sec .staff_list_wrap .list .item {
  margin: 0;
}

.staff_cont_sec .staff_list_wrap .list .item .card_link {
  width: 100%;
}

.staff_cont_sec .list .item .no_posts {
  grid-column: 1/-1;
  margin: 0;
  font-size: 16px;
  color: #1a1a1a;
  text-align: center;
}

/*----------------------------------------
   スタッフ紹介 詳細ページ
----------------------------------------*/
.single_staff .common_page_wrap {
  padding: 100px 0 150px;
}

.single_staff .about_sec .inner {
  display: grid;
  grid-template-columns: 500px 1fr;
  align-items: stretch;
  gap: 120px;
  position: relative;
}

.single_staff .about_sec .inner::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #bababa;
  position: absolute;
  top: 0;
  left: 580px;
}

.single_staff .about_sec .img {
  position: relative;
  z-index: 0;
  height: 500px;
}

.single_staff .about_sec .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.single_staff .about_sec .text_box .name_box {
  padding: 0 0 30px;
  position: relative;
  z-index: 0;
  margin: 0 0 30px;
}

.single_staff .about_sec .text_box .name_box::before {
  content: "";
  width: calc(100% + 80px);
  height: 1px;
  background: #0068b7;
  position: absolute;
  bottom: 0;
  left: -80px;
}

.single_staff .about_sec .text_box .name_box .name {
  font-size: 30px;
  font-weight: 700;
  line-height: 1;
  margin: 0 0 11px;
  color: #1a1a1a;
}

.single_staff .about_sec .text_box .name_box .en_name {
  color: #0068b7;
  font-size: 20px;
  letter-spacing: normal;
  font-weight: 500;
  font-family: "Karla", sans-serif;
}

.single_staff .about_sec .text_box .info {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.single_staff .about_sec .text_box .info .text,
.single_staff .about_sec .text_box .info .career {
  color: #1a1a1a;
  font-size: 16px;
  font-weight: 500;
  margin: 0;
}

.single_staff .cont_sec {
  padding: 85px 0 140px;
}

.single_staff .cont_sec .item {
  display: flex;
  align-items: stretch;
  gap: 45px;
}

.single_staff .cont_sec .item + .item {
  margin: 100px 0 0;
}

.single_staff .cont_sec .item .img {
  flex-shrink: 0;
  width: 370px;
  align-self: stretch;
}

.single_staff .cont_sec .item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.single_staff .cont_sec .item .text_box {
  width: 100%;
}

.single_staff .cont_sec .item .text_box .title {
  font-size: 22px;
  font-weight: 700;
  color: #1a1a1a;
  padding: 0 0 13px 70px;
  border-bottom: 1px solid #0068b7;
  position: relative;
}

.single_staff .cont_sec .item .text_box .title::before {
  content: "";
  width: 1px;
  height: calc(100% + 34px);
  background: #bababa;
  position: absolute;
  top: 6px;
  left: 40px;
}

.single_staff .cont_sec .item .text_box .text {
  padding: 40px 0 0 70px;
  color: #1a1a1a;
  font-size: 16px;
  font-weight: 500;
  color: #1a1a1a;
}

.single_staff .slider_area .list {
  margin: 0;
}

/*----------------------------------------
   News 一覧ページ
----------------------------------------*/
.page_archive_main {
  background: #f0f0f0;
  padding: 100px 0 150px;
}

.page_archive .list_side .list .item + .item {
  margin-top: 40px;
}

.page_archive .list_side .list .item .link .date {
  transform: unset;
  flex-direction: row;
  align-items: center;
  gap: 10px;
}

.page_archive .list_side .list .item .link .date .year {
  font-size: 16px;
}

.page_archive .list_side .list .item .link .date .month_day {
  font-size: 16px;
}

.page_archive .list_side .list .item .link {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  text-decoration: none;
  color: inherit;
  transition: 0.3s;
  position: relative;
}

.page_archive .list_side .list .item .link .text_box {
  display: flex;
  align-items: center;
  padding: 20px 0 24px;
  text-decoration: none;
  color: inherit;
}

.page_archive .list_side .list .item .link .text_box .title {
  font-size: 20px;
}

.page_archive .list_side .list .item .link .text {
  padding: 0;
  margin: 30px 0;
  font-size: 15px;
  color: #1a1a1a;
  line-height: 1.8;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}

.page_archive .list_side .list .item .link .text img {
  max-width: 400px;
  width: 100%;
  height: auto;
  display: block;
  margin: 30px 0;
  vertical-align: middle;
}

.page_archive .list_side .list .item .link .text figure {
  margin: 30px 0;
}

.page_archive .list_side .list .item .link .text figure img {
  margin: 0;
}

/*----------------------------------------
   会社概要ページ
----------------------------------------*/
.company_profile_sec .cont .message {
  width: 1000px;
  margin: 0 auto 80px;
}

.company_profile_sec .cont .message .message_inner {
  display: flex;
  gap: 0 60px;
  align-items: center;
}

.company_profile_sec .cont .message .message_inner .image {
  width: 400px;
  height: 400px;
  -o-object-fit: cover;
     object-fit: cover;
}

.company_profile_sec .cont .message .message_inner .image img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.company_profile_sec .cont .message .message_inner .content {
  flex: 1;
}

.company_profile_sec .cont .message .message_inner .content .title {
  font-size: 28px;
  font-weight: 700;
}

.company_profile_sec .cont .message .message_inner .content .text {
  font-size: 16px;
  line-height: 1.8;
  margin: 20px 0;
}

.company_profile_sec .cont .message .message_inner .content .name .position {
  font-size: 18px;
  font-weight: 500;
  margin-right: 10px;
}

.company_profile_sec .cont .message .message_inner .content .name {
  font-size: 20px;
  font-weight: 700;
  text-align: right;
}

.company_profile_sec .cont .detail .item {
  border-top: 1px solid #afafaf;
  padding: 0;
}

.company_profile_sec .cont .detail .item .inbox {
  display: flex;
  gap: 0 1em;
}

.company_profile_sec .cont .detail .item .inbox .head {
  flex-shrink: 0;
  width: 28%;
  font-size: 20px;
  letter-spacing: 0.08em;
  font-weight: 700;
  line-height: 1.5;
  padding: 1.3em 0 1.3em 1.3em;
  border-top: 2px solid #0068b7;
}

.company_profile_sec .cont .detail .item .inbox .text_area {
  width: 100%;
  font-size: 16px;
  letter-spacing: 0.08em;
  line-height: 1.5;
  padding: 1.9em 0;
}

/*----------------------------------------
    業務内容ページ
----------------------------------------*/
.service_cont_sec .list ul {
  display: grid;
  grid-template-columns: 1fr;
  gap: 60px;
}

.service_cont_sec .list li {
  display: flex;
  align-items: center;
  gap: 70px;
  padding-bottom: 50px;
  border-bottom: 1px solid #0068b7;
}

.service_cont_sec .list li:nth-child(even) {
  flex-direction: row-reverse;
}

.service_cont_sec .list li .img {
  width: 490px;
}

.service_cont_sec .list li .img img {
  width: 100%;
  aspect-ratio: 27/16;
  -o-object-fit: cover;
     object-fit: cover;
}

.service_cont_sec .list li .text_box {
  flex: 1;
}

.service_cont_sec .list li .text_box .title {
  font-size: 26px;
  font-weight: 700;
  color: #0068b7;
  margin-bottom: 20px;
}

.service_cont_sec .list li .text_box .text {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.8;
}

/*----------------------------------------
   ホバー
----------------------------------------*/
@media (min-width: 751px) {
  /* お部屋探し（賃貸物件）のSP用改行：PCでは非表示 */
  .mwform-checkbox-field-text br.sp {
    display: none;
  }
  .btn_wrap .btn:hover {
    opacity: 0.7;
  }
  .arrow_btn:hover {
    opacity: 0.7;
  }
  #pc_header .nav .list .link:hover {
    opacity: 0.7;
  }
  /* PCではリンクにしない（SPのみタップで発信） */
  #footer .contact_block .tel .link {
    pointer-events: none;
    cursor: default;
  }
  #footer .contact_block .form_btn:hover {
    background: #fff;
    color: #1a1a1a;
  }
  #footer .nav_col .list .link:hover {
    opacity: 0.7;
  }
  #footer .info_block .policy_links .link:hover {
    opacity: 0.7;
  }
  #top .business .tab_area .nav .tab_btn:hover {
    color: #005ab3;
  }
  .slider_area .arrow_wrap .slick-prev:hover,
.slider_area .arrow_wrap .slick-next:hover {
    opacity: 0.7;
  }
  .slider_area .list .item .card_link:hover .image_wrap .image {
    transform: scale(1.2);
  }
  .list_side .list .item .link:hover::after {
    transform: scaleX(1);
  }
  .list_side .list .item .link:hover .indicator::after {
    transform: scale(1);
  }
}
/*----------------------------------------
   レスポンシブ
----------------------------------------*/
@media (min-width: 1920px) {
  #top .mv::after {
    top: 260px;
  }
}
@media (max-width: 1439px) {
  #top .staff .list {
    margin-right: 0;
    width: 1340px; /* 1440 - (1440 - 1140) / 2 = ドキュメント右端まで */
  }
  #top .expert .bg {
    width: 1290px;
  }
}
@media (max-width: 750px) {
  .wrap {
    max-width: 90%;
  }
  .loading_screen .text {
    font-size: 4.62vw;
  }
  .loading_screen .logo_wrap .image {
    max-width: 46.15vw;
  }
  a[href$=".pdf"]::before {
    width: 7vw;
    height: 8vw;
    margin-right: 2.5vw;
  }
  a[href$=".pdf"]:hover {
    text-decoration: underline;
  }
  body {
    font-size: 13px;
    min-width: 100%;
  }
  /* SP固定ページ 共通設定 */
  .common_page_main {
    padding: 42.31vw 0 18.46vw;
  }
  .common_page_main::after {
    right: 80px;
  }
  .common_page_main .title_box {
    padding-right: 70px;
  }
  .common_page_main .title_box .title {
    font-size: 6.15vw;
    margin-bottom: 2.56vw;
    line-height: 1.29;
  }
  .common_page_main .title_box .sub_title {
    font-size: 4.62vw;
  }
  .common_page_wrap {
    padding: 20vw 0;
  }
  .reserve_text {
    font-size: 6vw;
  }
  /* パンくず */
  .breadcrumb {
    display: none;
  }
  /* SP固定ページ お問い合わせ */
  .contact_form_disc {
    margin-block: 0 2em;
  }
  .contact_form_disc .text {
    font-size: 3.6vw;
    margin-block: 0 0.8em;
  }
  .contact_form_disc .caution {
    font-size: 3.1vw;
    letter-spacing: 0.06em;
  }
  .common_contact_form .form_box {
    margin-block: 0 10vw;
  }
  .common_contact_form .form_box dl {
    grid-template-columns: 1fr;
    gap: 0.6em;
  }
  .common_contact_form .form_box dl + dl {
    margin-block: 1.3em 0;
  }
  .common_contact_form .form_box dl dt {
    flex-direction: row-reverse;
    justify-content: space-between;
    font-size: 4.1vw;
    padding-inline: 0;
  }
  .common_contact_form .form_box dl dt .label {
    font-size: 3.1vw;
  }
  .common_contact_form .form_box dl dt::after {
    content: none;
  }
  .common_contact_form input[type=text],
.common_contact_form input[type=email],
.common_contact_form #zip {
    font-size: 3.6vw;
  }
  .common_contact_form select {
    width: 100%;
    font-size: 3.6vw;
  }
  .common_contact_form textarea {
    height: 33vw;
    font-size: 3.6vw;
  }
  .radio_btns {
    gap: 0.5em 2.5em;
  }
  .checkboxes {
    gap: 0.5em 2.5em;
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
  .page_contact #btn_wrap button {
    width: 83%;
    line-height: 15.5vw;
    font-size: 4.6vw;
  }
  .page_contact #btn_wrap button[name=submitBack] {
    margin-top: 4vw;
  }
  .mwform-checkbox-field.horizontal-item {
    display: block;
  }
  .page_contact #btn_wrap {
    width: 100%;
    text-align: center;
  }
  .privacy_check_list .mwform-checkbox-field-text {
    font-size: 3.8vw;
    padding-left: 11vw;
  }
  .mw_wp_form .privacy_check_list .horizontal-item {
    margin-right: 4vw;
  }
  .privacy_check_list .hissu {
    padding: 0.3vw 4vw;
  }
  .privacy_check_list {
    margin-bottom: 6vw;
  }
  .privacy_term_detail {
    font-size: 3.4vw;
    margin: 5vw 0;
  }
  .privacy_term_outer {
    width: 96%;
    padding: 5vw 0;
  }
  .privacy_term_outer .privacy_term_inner .main_text {
    font-size: 3.4vw;
    line-height: 1.6;
    margin-bottom: 5vw;
  }
  .privacy_term_outer .privacy_term_inner dl dt {
    font-size: 3.5vw;
    margin-bottom: 1.5vw;
  }
  .privacy_term_outer .privacy_term_inner dl dd {
    font-size: 3.5vw;
    line-height: 1.6;
  }
  .privacy_term_outer .privacy_term_inner dl + dl {
    margin-top: 7vw;
  }
  .privacy_term_detail::after {
    width: 2.5vw;
    margin: 1.5vw auto 0;
  }
  /* サンクスページ */
  .page_contact .thanks_textArea .name {
    font-size: 4vw;
    margin-bottom: 3vw;
  }
  .page_contact .thanks_textArea .contact_text {
    font-size: 3.5vw;
    margin-bottom: 2em;
    width: 100%;
  }
  .page_contact .thanks_textArea .ichiran_link {
    width: 80%;
    line-height: 12vw;
    font-size: 4vw;
  }
  /* ステップバー デザイン */
  .page_contact .progressbar {
    gap: 4.5em;
    margin-block: 0 2.5em;
  }
  .page_contact .progressbar .item {
    font-size: 3.1vw;
  }
  .page_contact .progressbar .item + .item::before {
    width: 5.7vw;
    top: 63%;
    left: -3.3em;
  }
  .page_contact .progressbar .item .mark {
    width: 7.7vw;
    margin: 0 auto 0.4em;
  }
  /* SP固定ページ 404ページ */
  #page_404 .num {
    font-size: 20vw;
    line-height: 1.5;
  }
  #page_404 .text {
    font-size: 3.5vw;
  }
  /* SP投稿ページ アーカイブページ */
  .archive_page_list > article {
    padding-right: 20px;
  }
  .archive_page_list > article .date {
    width: 80px;
  }
  .archive_page_list > article .content_area {
    width: calc(100% - 80px);
  }
  .archive_page_list > article:after {
    width: 7px;
    height: 7px;
  }
  /* SP固定ページ サイトマップ */
  ul#sitemap_list li {
    margin: 0;
  }
  body #sitemap_list li a {
    font-size: 4vw;
    padding: 1vw 2vw;
    line-height: 9vw;
    margin-bottom: 1vw;
  }
  body #sitemap_list li.home-item {
    margin-bottom: 4vw;
  }
  body #sitemap_list {
    padding: 0;
  }
  /*----------------------------------------
      共通設定
  ----------------------------------------*/
  /* section_title
  ----------------------------------------*/
  #top .section_title {
    gap: 0.77vw;
  }
  #top .section_title .ja {
    font-size: 4.1vw;
  }
  #top .section_title .en {
    font-size: 10.26vw;
  }
  /* btn
  ----------------------------------------*/
  .btn_wrap .btn {
    padding: 4.62vw 7.18vw;
    font-size: 3.59vw;
    border-radius: 7.69vw;
  }
  .arrow_btn {
    gap: 5.13vw;
  }
  .arrow_btn_text {
    font-size: 3.85vw;
  }
  .arrow_btn_arrow {
    width: 10.26vw;
    height: 10.26vw;
  }
  .arrow_btn_arrow::before,
.arrow_btn_arrow::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.13vw);
    right: calc(50% - 1.45vw);
    width: 2.9vw;
    height: 0.51vw;
    border-radius: 9999px;
    background-color: #ffffff;
    transform-origin: calc(100% - 0.13vw) 50%;
  }
  .arrow_btn_arrow::before {
    transform: rotate(46.95deg);
  }
  .arrow_btn_arrow::after {
    transform: rotate(-46.95deg);
  }
  /*----------------------------------------
      スマホヘッダー
  ----------------------------------------*/
  #sp_header {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 1000;
    height: 80px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #bababa;
    padding: 0 20px;
  }
  #sp_header .logo {
    width: 155.5px;
  }
  #sp_header .logo img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  /*----------------------------------------
      フッター
  ----------------------------------------*/
  #footer {
    padding-bottom: 80px;
  }
  #footer .footer_top {
    padding: 12.31vw 0 12.31vw;
    text-align: center;
  }
  #footer .footer_top .footer_top_inner {
    flex-direction: column;
    align-items: center;
  }
  #footer .contact_block .heading {
    margin: 0 0 0.77vw;
    font-size: 3.85vw;
  }
  #footer .contact_block .tel {
    margin: 0 0 2.05vw;
  }
  #footer .contact_block .tel .link {
    font-size: 7.18vw;
  }
  #footer .contact_block .hours {
    margin: 0 0 5.13vw;
    font-size: 3.59vw;
  }
  #footer .contact_block .form_btn {
    width: 71.79vw;
    height: 12.82vw;
    font-size: 3.85vw;
  }
  #footer .nav_block {
    display: none;
  }
  #footer .line_link.sp {
    display: block;
    width: 12.82vw;
    height: 12.82vw;
    margin: 0 auto 5.13vw;
  }
  #footer .line_link.pc {
    display: none;
  }
  #footer .nav_col .line_link .image {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  #footer .footer_mid {
    padding: 10.51vw 0 10.51vw;
    text-align: center;
  }
  #footer .footer_mid .footer_mid_inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 3.59vw;
  }
  #footer .footer_logo {
    margin: 0 0 0;
    width: 58.57vw;
  }
  #footer .info_block .address {
    font-size: 3.59vw;
  }
  #footer .info_block .train,
#footer .info_block .policy_links {
    display: none;
  }
  #footer .info_block .address {
    margin-bottom: 5.13vw;
    line-height: 1.21;
  }
  #footer .info_block .license {
    margin: 0;
    text-align: center;
  }
  #footer .footer_bottom {
    padding: 3.33vw 0;
  }
  #footer .footer_bottom .copyright {
    font-size: 3.08vw;
  }
  /* 追従フッター（SP時のみ・画面下部固定） */
  .sticky_footer {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background-color: #1a1a1a;
    height: 80px;
    padding: 15px 10px;
  }
  .sticky_footer .sticky_footer_inner {
    display: flex;
    align-items: stretch;
    gap: 8px;
  }
  .sticky_footer .form_btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    text-align: center;
    background-color: transparent;
    border: 1px solid #fff;
    border-radius: 6px;
    height: 50px;
  }
  .sticky_footer .tel_btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border-radius: 6px;
  }
  .sticky_footer .tel_btn .image {
    display: block;
    width: 23px;
    height: 30px;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .sticky_footer .line_btn {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
  }
  .sticky_footer .line_btn .image {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
  /* mv
  ----------------------------------------*/
  #top .mv::before {
    right: 80px;
  }
  #top .mv::after {
    top: unset;
    bottom: 0;
    left: unset;
    right: 0;
    transform: none;
    width: 56.19vw;
    height: 56.41vw;
    background-image: url("image/mv_logo_sp.webp");
  }
  #top .mv .content {
    padding: 44.1vw 5.13vw 25.13vw;
  }
  #top .mv .content .en_caption {
    font-size: 6.67vw;
  }
  #top .mv .content .main_title {
    gap: 1.03vw;
    transform: translateX(-px_vw(24));
  }
  #top .mv .content .main_title .left {
    font-size: 14.87vw;
  }
  #top .mv .content .main_title .right {
    font-size: 21.28vw;
  }
  /* SP時はすりガラスなし・テキストを opacity 0.2 で表示 */
  #top .mv .content .main_title .right .glass {
    background: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-shadow: none;
    -webkit-mask-image: none;
    mask-image: none;
    color: #fff;
    -webkit-text-fill-color: #fff;
    opacity: 0.3;
    transform: none;
  }
  #top .mv .content .title {
    margin-top: 3.08vw;
  }
  #top .mv .content .title .top {
    font-size: 4.1vw;
    letter-spacing: 0.12em;
    line-height: 1.75;
  }
  #top .mv .content .title .bottom {
    font-size: 4.1vw;
    letter-spacing: 0.12em;
    line-height: 1.75;
  }
  /* 事業内容 BUSINESS
  ----------------------------------------*/
  #top .business {
    padding: 17.44vw 0 17.95vw;
  }
  #top .business .business_inner::before {
    content: "";
    position: absolute;
    top: 79.23vw;
    left: 10.26vw;
    width: 84.62vw;
    height: 140.26vw;
  }
  #top .business .subtitle {
    margin: 4.87vw 0 11.79vw;
    font-size: 4.62vw;
  }
  #top .business .tab_area {
    display: block;
    margin-bottom: 16.92vw;
  }
  #top .business .tab_area .nav {
    min-width: 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 3.08vw;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-bottom: 9.23vw;
    border-bottom: 1px solid #c7c7c7;
  }
  #top .business .tab_area .nav::-webkit-scrollbar {
    display: none;
  }
  #top .business .tab_area .nav .list {
    display: flex;
    flex-wrap: nowrap;
    gap: 0 5.13vw;
    overflow-x: visible;
    padding-bottom: 0;
  }
  #top .business .tab_area .nav .list .item {
    flex-shrink: 0;
  }
  #top .business .tab_area .nav .tab_btn {
    white-space: nowrap;
    margin-bottom: 0;
  }
  #top .business .tab_area .nav .tab_btn {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    font-size: 3.59vw;
    color: #aaaaaa;
    margin-left: 0;
    margin-bottom: 0;
  }
  #top .business .tab_area .nav .tab_btn::before {
    display: none;
  }
  #top .business .tab_area .nav .tab_btn::after {
    display: none;
  }
  #top .business .tab_area .nav .tab_btn.is_active {
    color: #1a1a1a;
  }
  #top .business .image_stack_wrap {
    height: 64.1vw;
    overflow: visible;
  }
  #top .business .image_stack {
    height: 64.1vw;
  }
  #top .business .stack_layer {
    top: 0;
    left: -5vw;
    width: calc(100% + 5vw);
    height: 100%;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  #top .business .stack_layer.is_active {
    opacity: 1;
  }
  #top .business .stack_layer_inner {
    top: 0;
    height: 100%;
    transform: none;
  }
  #top .business .stack_layer_inner img {
    height: 100%;
  }
  #top .business .content_panels {
    min-height: 0;
  }
  #top .business .business_thumb_list {
    display: block;
    margin-top: -6.15vw;
    margin-left: 10.26vw;
    padding: 0;
    position: relative;
    z-index: 2;
  }
  #top .business .business_thumb_list .list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: nowrap;
    gap: 0.77vw;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  #top .business .business_thumb_list .list .item {
    flex-shrink: 0;
  }
  #top .business .business_thumb_list .thumb_btn {
    display: block;
    width: 12.31vw;
    height: 12.31vw;
    padding: 0;
    margin: 0;
    background: none;
    cursor: pointer;
    overflow: hidden;
    position: relative;
  }
  #top .business .business_thumb_list .thumb_btn::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(26, 26, 26, 0.6);
  }
  #top .business .business_thumb_list .thumb_btn.is_active::before {
    display: none;
  }
  #top .business .business_thumb_list .thumb_img {
    display: block;
    width: 100%;
    height: 100%;
  }
  #top .business .business_thumb_list .thumb_img img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  #top .business .content_panels .panel .text {
    position: absolute;
    top: 79.74vw;
    left: 0;
    width: 100%;
    height: auto;
    padding: 0;
    background-color: transparent;
  }
  #top .business .content_panels .panel .text .label {
    margin: 0 0 2.82vw;
    font-size: 4.1vw;
  }
  #top .business .content_panels .panel .text .title {
    margin: 0 0 6.15vw;
    font-size: 6.15vw;
  }
  #top .business .content_panels .panel .text .description {
    margin: 0 0 8.21vw;
    font-size: 3.59vw;
  }
  #top .business .strength {
    margin-top: 74.36vw;
  }
  #top .business .strength .list {
    grid-template-columns: 1fr;
    gap: 7.69vw;
  }
  #top .business .strength .list .item .image_wrap {
    aspect-ratio: 350/130;
  }
  #top .business .strength .list .item .image_wrap::before {
    display: none;
  }
  #top .business .strength .list .item .image_wrap .caption {
    left: 2.56vw;
    transform: none;
    bottom: 2.56vw;
    font-size: 4.1vw;
    line-height: 1;
  }
  #top .business .strength .list .item .title {
    margin: 4.62vw 0 4.1vw;
    font-size: 4.1vw;
  }
  #top .business .strength .list .item .text {
    font-size: 3.59vw;
  }
  /* 売却・買取実績 RECORD
  ----------------------------------------*/
  #top .record {
    padding: 0 0 20.51vw;
  }
  #top .record .record_inner {
    padding: 14.62vw 2.56vw 13.33vw;
  }
  /* SP時は8件中6件のみ表示（7・8件目のスライドグループを非表示） */
  .record_list .slide_group.hide_on_sp {
    display: none;
  }
  .record_list.list {
    margin: 4.1vw 0 17.95vw;
  }
  /* PC時は常に4列グリッド（Slick未初期化時。.slide_groupはdisplay:contentsで6個の.itemがグリッドに並ぶ） */
  .record_list.record_slider:not(.slick-initialized) {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5.13vw;
  }
  .record_list.record_slider:not(.slick-initialized) .slide_group {
    display: contents;
  }
  .record_list .item {
    display: grid;
    grid-template-columns: 35.9vw 1fr;
  }
  .record_list .item + .item {
    margin-top: 2.56vw;
  }
  .record_list .item .image_wrap {
    width: 100%;
    height: 100%;
  }
  .record_list .item .text {
    padding: 5.38vw 6.15vw;
  }
  .record_list .item .text .title {
    margin: 0 0 5.13vw;
    font-size: 3.85vw;
  }
  .record_list .item .text .address,
.record_list .item .text .station,
.record_list .item .text .minutes {
    font-size: 3.33vw;
  }
  .record_list.record_slider .slick-dots {
    bottom: -10.26vw;
  }
  .record_list.record_slider .slick-dots li {
    width: 2.56vw;
    height: 2.56vw;
    margin: 0 2.56vw;
  }
  .record_list.record_slider .slick-dots li button {
    width: 2.56vw;
    height: 2.56vw;
    border-radius: 50%;
    background-color: #d1d1d1;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    opacity: 1;
    display: flex;
  }
  .record_list.record_slider .slick-dots li.slick-active button {
    background-color: #0068b7;
  }
  .record_list.record_slider .slick-dots li button::before {
    display: none;
  }
  .record_list .item .text .address {
    margin-bottom: 2.31vw;
  }
  .record_list.no_posts {
    margin: 0 0 8.21vw;
    font-size: 3.85vw;
    color: var(--main-color);
    text-align: center;
  }
  /* スタッフ紹介 MEMBER
  ----------------------------------------*/
  #top .staff {
    overflow: hidden;
  }
  #top .staff .header_area {
    padding: 24.1vw 0 31.54vw;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("image/staff_bg_sp.webp") center/cover;
  }
  #top .staff .arrow_wrap {
    display: none;
  }
  #top .staff .slider_area {
    padding: 0 0 12.82vw;
    margin-top: -27.69vw;
  }
  /* SP: スライド全体がaタグのためタッチがリンクに奪われスワイプが効かない → 横スワイプをスライダーに渡す */
  #top .staff .slider_area .item .card_link {
    touch-action: pan-x;
    -moz-user-select: none;
         user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
  }
  .slider_area .list .item {
    margin: 0 1.28vw;
  }
  .slider_area .list .item .card_link {
    width: 43.59vw;
  }
  .slider_area .list .item .card_link .image_wrap {
    height: 56.41vw;
  }
  .slider_area .list .item .card_link .text_box {
    padding: 4.1vw 0 0 0;
  }
  .slider_area .list .item .card_link .text_box::before {
    top: -7.69vw;
    left: 2.56vw;
    height: calc(100% + 7.69vw);
  }
  .slider_area .list .item .card_link .name_row {
    padding-left: 7.69vw;
    position: relative;
  }
  .slider_area .list .item .card_link .name_box .name {
    margin: 0 0 1.79vw;
    font-size: 4.62vw;
  }
  .slider_area .list .item .card_link .name_box .en_name {
    font-size: 3.33vw;
  }
  /* スタッフカード内は装飾のみ・カード自体がリンクのためボタン風の挙動を無効 */
  .slider_area .arrow_btn_arrow {
    width: 7.69vw;
    height: 7.69vw;
    position: absolute;
    top: -14.36vw;
    right: 2.56vw;
  }
  .slider_area .arrow_btn_arrow::before,
.slider_area .arrow_btn_arrow::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.26vw);
    left: calc(50% - 1.08vw);
    width: 2.15vw;
    height: 0.51vw;
    border-radius: 9999px;
    background-color: #ffffff;
    transform-origin: calc(100% - 0.26vw) 50%;
  }
  .slider_area .arrow_btn_arrow::before {
    transform: rotate(51.35deg);
  }
  .slider_area .arrow_btn_arrow::after {
    transform: rotate(-51.35deg);
  }
  .slider_area .list .item .card_link .position {
    margin: 4.1vw 0 2.56vw;
    font-size: 3.33vw;
    padding-left: 7.69vw;
    min-height: 8.97vw;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
  }
  .slider_area .list .item .card_link .qualifications {
    font-size: 3.08vw;
    line-height: 1.42;
    padding: 2.56vw 0 0 7.69vw;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
  }
  /* お知らせ NEWS
  ----------------------------------------*/
  #top .news {
    padding: 12.82vw 0 20.51vw;
  }
  #top .news .news_inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  #top .news .header_side {
    display: contents;
  }
  #top .news .header_side .section_title {
    order: 1;
  }
  #top .news .header_side .arrow_btn {
    order: 3;
    margin-left: auto;
  }
  .list_side {
    width: 100%;
    order: 2;
    margin-top: 6.15vw;
    margin-bottom: 11.03vw;
  }
  .list_side .list .item .link {
    gap: 0;
    padding: 6.92vw 0 6.15vw;
  }
  .list_side .list .item .link::after {
    display: none;
  }
  .list_side .list .item .date {
    transform: rotate(270deg) translateY(-2.82vw);
    min-width: 15.38vw;
  }
  .list_side .list .item .date .year {
    font-size: 3.59vw;
  }
  .list_side .list .item .date .month_day {
    font-size: 5.13vw;
  }
  .list_side .list .item .title {
    font-size: 3.59vw;
    line-height: 1.29;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    margin-right: 1.28vw;
  }
  .list_side .list .item .indicator {
    display: none;
  }
  .list_side .no_posts {
    margin: 0;
    padding: 5.13vw 0;
    font-size: 3.85vw;
    color: var(--main-color);
  }
  /* REAL ESTATE EXPERT（不動産エキスパート）
  ----------------------------------------*/
  #top .expert {
    padding-bottom: 16.67vw;
    position: relative;
  }
  #top .expert .bg {
    width: 89.74vw;
    height: 84.62vw;
    margin-left: unset;
    margin-right: auto;
  }
  #top .expert .content {
    padding: 9.23vw 0 5.13vw 5.13vw;
    width: calc(100% - 20px);
    background-color: rgba(255, 255, 255, 0.94);
    margin-top: -42.31vw;
    position: relative;
    margin-left: 5.13vw;
  }
  #top .expert .en_caption {
    position: absolute;
    font-size: 10.26vw;
    top: 0;
    left: 0;
    writing-mode: vertical-rl;
    text-orientation: mixed;
  }
  #top .expert .expert_title {
    margin: 0 0 6.67vw;
    font-size: 5.13vw;
    text-align: left;
  }
  #top .expert .expert_text {
    margin: 0;
    font-size: 3.33vw;
    letter-spacing: 0.02em;
    margin-bottom: 9.74vw;
    line-height: 1.69;
  }
  /*----------------------------------------
      売却・買取実績 一覧ページ
  ----------------------------------------*/
  .page_case .common_page_wrap {
    padding: 7.69vw 0 15.38vw;
  }
  .page_case .staff_cont_sec {
    padding: 2.56vw;
  }
  .page_case .record_list.list {
    grid-template-columns: 1fr;
    gap: 5.13vw;
    margin: 0;
  }
  .page_case .record_list .item {
    display: grid;
    grid-template-columns: 35.9vw 1fr;
  }
  .page_case .record_list .item + .item {
    margin-top: 2.56vw;
  }
  .page_case .record_list .item .image_wrap {
    width: 100%;
    height: 100%;
  }
  .page_case .record_list .item .text {
    padding: 5.38vw 6.15vw;
  }
  /*----------------------------------------
      スタッフ紹介 一覧ページ
  ----------------------------------------*/
  .page_staff .common_page_wrap {
    padding: 7.69vw 0 15.38vw;
  }
  .staff_cont_sec .staff_list_wrap .list {
    grid-template-columns: 1fr;
    gap: 10.26vw;
  }
  /*----------------------------------------
      スタッフ紹介 詳細ページ
  ----------------------------------------*/
  .single_staff .common_page_wrap {
    padding: 7.69vw 0 15.38vw;
  }
  .single_staff .about_sec .inner {
    grid-template-columns: 1fr;
    gap: 5.13vw;
  }
  .single_staff .about_sec .inner::before {
    display: none;
  }
  .single_staff .about_sec .img {
    height: auto;
  }
  .single_staff .about_sec .img img {
    aspect-ratio: 1/1;
  }
  .single_staff .about_sec .text_box {
    position: relative;
  }
  .single_staff .about_sec .text_box::before {
    content: "";
    width: 1px;
    height: calc(100% + 9.74vw);
    background: #bababa;
    position: absolute;
    top: -9.74vw;
    left: 5.13vw;
  }
  .single_staff .about_sec .text_box .name_box {
    display: flex;
    flex-wrap: wrap;
    gap: 4.36vw;
    align-items: baseline;
    padding: 0 0 5.13vw 10.26vw;
    margin: 0 0 5.13vw;
  }
  .single_staff .about_sec .text_box .name_box::before {
    width: 100%;
    left: 0;
  }
  .single_staff .about_sec .text_box .name_box .name {
    font-size: 5.13vw;
    margin: 0;
  }
  .single_staff .about_sec .text_box .name_box .en_name {
    font-size: 3.33vw;
  }
  .single_staff .about_sec .text_box .info {
    gap: 5.13vw;
  }
  .single_staff .about_sec .text_box .info .text,
.single_staff .about_sec .text_box .info .career {
    font-size: 3.85vw;
    margin: 0;
    letter-spacing: 0.03em;
    padding: 0 0 0 10.26vw;
  }
  .single_staff .cont_sec {
    padding: 15.38vw 0 20.51vw;
  }
  .single_staff .cont_sec .item {
    flex-direction: column;
    gap: 7.69vw;
  }
  .single_staff .cont_sec .item + .item {
    margin: 15.38vw 0 0;
  }
  .single_staff .cont_sec .item .img {
    width: 100%;
  }
  .single_staff .cont_sec .item .text_box {
    position: relative;
  }
  .single_staff .cont_sec .item .text_box::before {
    content: "";
    width: 1px;
    height: 100%;
    top: 0;
    left: 5.13vw;
    background: #bababa;
    position: absolute;
  }
  .single_staff .cont_sec .item .text_box .title {
    font-size: 4.62vw;
    padding: 0 0 3.33vw 10.26vw;
  }
  .single_staff .cont_sec .item .text_box .title::before {
    display: none;
  }
  .single_staff .cont_sec .item .text_box .text {
    padding: 7.69vw 0 0 10.26vw;
    font-size: 3.85vw;
  }
  /*----------------------------------------
      News 一覧ページ
  ----------------------------------------*/
  .page_archive_main {
    padding: 7.69vw 0 15.38vw;
  }
  .page_archive .list_side .list .item + .item {
    margin-top: 7.69vw;
  }
  .page_archive .list_side .list .item .link .date {
    gap: 2.56vw;
  }
  .page_archive .list_side .list .item .link .date .year {
    font-size: 3.59vw;
  }
  .page_archive .list_side .list .item .link .date .month_day {
    font-size: 3.59vw;
  }
  .page_archive .list_side .list .item .link .text_box {
    padding: 5.13vw 0 6.15vw;
  }
  .page_archive .list_side .list .item .link .text_box .title {
    font-size: 4.62vw;
  }
  .page_archive .list_side .list .item .link .text {
    padding: 0;
    margin: 0 0 6.41vw;
    font-size: 3.59vw;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
  }
  .page_archive .list_side .list .item .link .text img {
    max-width: auto;
    margin: 5.13vw 0;
  }
  .page_archive .list_side .list .item .link .text figure {
    margin: 5.13vw 0;
  }
  .page_archive .list_side .list .item .link .text figure img {
    margin: 0;
  }
  /*----------------------------------------
      会社概要ページ
  ----------------------------------------*/
  .company_profile_sec .cont .message {
    width: 100%;
    margin: 0 auto 20.51vw;
  }
  .company_profile_sec .cont .message .message_inner {
    display: block;
  }
  .company_profile_sec .cont .message .message_inner .image {
    width: 100%;
    height: 76.92vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .company_profile_sec .cont .message .message_inner .content .title {
    font-size: 5.13vw;
    margin-top: 5.13vw;
  }
  .company_profile_sec .cont .message .message_inner .content .text {
    font-size: 4.1vw;
    margin: 5.13vw 0;
  }
  .company_profile_sec .cont .message .message_inner .content .name .position {
    font-size: 4.1vw;
    margin-right: 2.56vw;
  }
  .company_profile_sec .cont .message .message_inner .content .name {
    font-size: 4.62vw;
  }
  .company_profile_sec .cont .detail .item {
    padding: 0 0;
  }
  .company_profile_sec .cont .detail .item .inbox .head {
    width: 23vw;
    font-size: 3.6vw;
    padding: 1.9em 0;
  }
  .company_profile_sec .cont .detail .item .inbox .text_area {
    font-size: 3.6vw;
    padding: 1.9em 0;
  }
  /*----------------------------------------
      業務内容ページ
  ----------------------------------------*/
  .service_cont_sec .list ul {
    gap: 15.38vw;
  }
  .service_cont_sec .list li {
    flex-direction: column;
    gap: 7.69vw;
    padding-bottom: 10.26vw;
  }
  .service_cont_sec .list li .img {
    width: 100%;
  }
  .service_cont_sec .list li:nth-child(even) {
    flex-direction: column;
  }
  .service_cont_sec .list li .text_box .title {
    font-size: 6.15vw;
    margin-bottom: 5.13vw;
  }
  .service_cont_sec .list li .text_box .text {
    font-size: 3.85vw;
  }
}
/*# sourceMappingURL=style.css.map */