/*
Theme Name: kogmactive Child
Theme URI: https://kogma.work/kogma-ctive
Template: ctive
Author: kogma
Author URI: https://kogma.work
Description: テーマを編集するために作成した子テーマ
Tags: two-columns,blog,news,custom-background,custom-header,custom-logo,custom-menu,grid-layout,blog,featured-image-header,custom-colors,full-width-template,one-column,left-sidebar,right-sidebar,three-columns
Version: 6.2.1730477801
Updated: 2024-11-02 01:16:41

*/

/* h1, h2, h3, h4, h5, h6 {
    font-family: 'Inter', sans-serif;
}

h1 {
	font-size: 40px;
} */

@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Lato';
  src: url('./fonts/Lato-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'Noto Sans JP';
  src: url('./fonts/NotoSansJP-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
}

@font-face {
  font-family: 'Pacifico';
  src: url('./fonts/Pacifico-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
}

/* 同じビルの他の募集区画テーブル スタイリング */
#same_building_properties {
  margin: 30px 0;
  padding: 20px 0;
  background-color: #fefefe;
}


.same-building-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 15px;
  font-size: 14px;
}

.same-building-table th {
  border: 1px solid #ddd;
  padding: 12px 8px;
  background-color: #f8f9fa;
  text-align: center;
  font-weight: bold;
  color: #555;
  font-size: 13px;
}

.same-building-table td {
  border: 1px solid #ddd;
  padding: 10px 8px;
  text-align: center;
  vertical-align: middle;
}

.same-building-table tr:nth-child(even) {
  background-color: #fafafa;
}

.same-building-table tr:hover {
  background-color: #f0f8ff;
}

.same-building-table a {
  color: #007cba;
  text-decoration: none;
  font-weight: 500;
}

.same-building-table a:hover {
  text-decoration: underline;
  color: #005a8a;
}

body,
button,
input,
select,
textarea {
  font-family: 'Noto Sans JP', sans-serif;
  /* 日本語フォントに Noto Sans JP を適用 */
}

body:lang(en),
button:lang(en),
input:lang(en),
select:lang(en),
textarea:lang(en) {
  font-family: 'Lato', sans-serif;
  /* 英語フォントに Lato を適用 */
}

body {
  overflow-x: hidden;
  border-top: none;
}

.credit-link {
  font-family: 'Lato', sans-serif;
  color: #999;
}

#logo a {
  outline: none;
  /* フォーカス時の輪郭を非表示に */
}

#logo img:hover {
  filter: none;
  opacity: 0.9;
  /* 半透明にする */
}

.glossy-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50%;
  /* 上半分だけをカバー */
  background: rgba(255, 255, 255, 0.3);
  /* 半透明の白で光沢を表現 */
  border-radius: 35px 35px 0 0;
  opacity: 0.5;
  pointer-events: none;
}

.image-container {
  position: relative;
  width: 48.7%;
  /* 元の画像の幅に合わせる */
  display: flex;
  align-items: center;
  /* 垂直方向に中央揃え */
}

.main_picsam a:hover {
  transform: none;
  -webkit-transform: none;
}

/* スクリーンリーダー専用クラス - 視覚的に隠すがアクセシビリティを保つ */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background-color: white;
  color: rgb(1, 139, 182);
  padding: 4px 10px;
  font-weight: bold;
  border: 2px solid rgb(1, 139, 182);
  border-radius: 2px;
  font-size: 0.9em;
  z-index: 10;
  pointer-events: none;
  /* クリックできないようにする */
}

#searchitem input[type="submit"],
.search-form input[type="submit"],
#searchpage input[type="submit"] {
  border: none;
  cursor: pointer;
  transition: .4s cubic-bezier(.4, .4, 0, 1);
  box-shadow: 3px 3px rgba(0, 0, 0, 0.2);
}

#searchitem input[type="submit"]:hover,
.search-form input[type="submit"]:hover,
#searchpage input[type="submit"]:hover {
  opacity: .8;
  background-color: #018BB6;
  transform: translate(1px, 1px);
}


/* contact form 7 カスタマイズ */
.wpcf7 * {
  box-sizing: border-box;
}

.wpcf7 dl,
.wpcf7 dt,
.wpcf7 dd {
  margin: 0;
  padding: 0;
}

.cf7 {
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  /* 小さい画面サイズでの100%幅を確保 */
}

.cf7 .cf7__list {
  display: flex;
  flex-wrap: wrap;
}

.cf7 .cf7__list dt {
  width: 35%;
  display: flex;
  align-items: center;
  /* 垂直方向の中央揃え */
}

.cf7 .cf7__list dd {
  width: 65%;
}

.cf7__list dt:nth-of-type(n + 2),
.cf7__list dd:nth-of-type(n + 2) {
  margin-top: 15px;
}

.cf7 p {
  margin-block-start: 0;
  margin-block-end: 0;
  margin: 0;
  /* デフォルトのマージンを削除 */
}

/* 必須・任意 */
.cf7__required,
.cf7__optional {
  margin-right: 15px;
  padding: 5px 11px;
  color: #fff;
  font-size: 12px;
  vertical-align: 1px;
}

.cf7__required {
  background: #BE1D1D;
}

.cf7__optional {
  background: #878D8E;
}

/* input・textarea */
.cf7__list dd input[type="text"],
.cf7__list dd input[type="tel"],
.cf7__list dd input[type="email"],
.cf7__list dd textarea {
  width: 100%;
  padding: 10px 20px;
  background: #F4F4F4;
  border-width: 1px;
}

/* ドロップダウンメニュー */
.cf7__select {
  position: relative;
}

.cf7__select:before {
  position: absolute;
  top: 50%;
  right: 20px;
  z-index: 10;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 8px solid #000;
  border-right: 6px solid transparent;
  border-left: 6px solid transparent;
  pointer-events: none;
  content: '';
}

.cf7__select select {
  width: 100%;
  padding: 19px 20px;
  background: #F4F4F4;
  color: #a5a5a5;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* チェックボックス・ラジオボタン */
.cf7__list dd .wpcf7-checkbox,
.cf7__list dd .wpcf7-radio {
  display: block;
  padding-bottom: 10px;
}

/* 縦並び（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item {
  display: block;
  margin: 0;
}

.cf7__list dd .wpcf7-list-item:nth-child(n + 2) {
  margin-top: 18px;
}

/* マウスカーソル（チェックボックス・ラジオボタン） */
.cf7__list dd .wpcf7-list-item label {
  cursor: pointer;
  margin-right: 10px;
}

/* チェックボックス・ラジオボタン */
.cf7 input[type="checkbox"],
.cf7 input[type="radio"] {
  position: relative;
  width: 18px;
  height: 18px;
  margin-right: 8px;
  border: 1px solid #bcbcbc;
  vertical-align: -3px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* チェックボックス */
.cf7 input[type="checkbox"]:checked {
  border: 1px solid #000;
  background: #000;
}

.cf7 input[type="checkbox"]:checked:before {
  position: absolute;
  top: 2px;
  left: 5px;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: '';
}

/* ラジオボタン */
.cf7 input[type="radio"] {
  border-radius: 50%;
}

.cf7 input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #000;
  content: '';
}

/* プレースホルダー */
/* Google Chrome / Safari / Mozilla Firefox / Opera */
.cf7__list dd input[type="text"]::placeholder,
.cf7__list dd input[type="tel"]::placeholder,
.cf7__list dd input[type="email"]::placeholder,
.cf7__list dd textarea::placeholder {
  color: #a5a5a5;
}

/* Microsoft Edge */
.cf7__list dd input[type="text"]::-ms-input-placeholder,
.cf7__list dd input[type="tel"]::-ms-input-placeholder,
.cf7__list dd input[type="email"]::-ms-input-placeholder,
.cf7__list dd textarea::-ms-input-placeholder {
  color: #a5a5a5;
}

/* Internet Explorer */
.cf7__list dd input[type="text"]:-ms-input-placeholder,
.cf7__list dd input[type="tel"]:-ms-input-placeholder,
.cf7__list dd input[type="email"]:-ms-input-placeholder,
.cf7__list dd textarea:-ms-input-placeholder {
  color: #a5a5a5;
}

/* 送信ボタン */
.cf7__button {
  padding-left: 72px;
  text-align: center;
  margin-top: 10px;
}

.cf7__button input[type="submit"] {
  width: 260px;
  height: 60px;
  background: #333;
  font-size: 15px;
  line-height: 15px;
  font-weight: 400;
  letter-spacing: normal;
  color: #fff;
  border: none;
  box-shadow: 3px 3px rgba(0, 0, 0, 0.2);
  transition: .4s cubic-bezier(.4, .4, 0, 1);
  cursor: pointer;
}

.cf7__button input[type="submit"]:hover {
  opacity: .8;
  transform: translate(1px, 1px);
}

/* ajax-loader */
.wpcf7-spinner {
  vertical-align: middle;
}

@media screen and (max-width: 650px) {

  /* 600px + 余白 */
  .cf7 {
    max-width: 90%;
    /* 画面の90%幅に設定 */
  }

  .cf7 .cf7__list {
    display: block;
    /* フレックスボックスを解除 */
  }

  .cf7 .cf7__list dt,
  .cf7 .cf7__list dd {
    width: 100%;
    /* 全幅表示 */
  }

  .cf7 .cf7__list dt {
    margin-bottom: 10px;
  }

  .cf7 .cf7__list dd {
    margin-bottom: 20px;
  }

  .cf7__list dt:nth-of-type(n + 2),
  .cf7__list dd:nth-of-type(n + 2) {
    margin-top: 0;
  }

  /* 送信ボタン */
  .cf7__button input[type="submit"] {
    width: 180px;
    height: 56px;
  }

  .main-navigation-menu {
    padding-top: 36px;
  }

  #menu-item-302640>a {
    border-color: #fff;
  }

  .glossy-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 50%;
    /* 上半分だけをカバー */
    background: rgba(255, 255, 255, 0.3);
    /* 半透明の白で光沢を表現 */
    border-radius: 0;
    opacity: 0.5;
    pointer-events: none;
  }
}

/* ヘッダーラッパー - 親要素と同じ幅でスティッキー */
.header-wrapper {
  width: 100%;
  background-color: #fff;
  padding: 0 20px;
  position: sticky;
  /* スティッキーヘッダーに変更 */
  top: 0;
  z-index: 1000;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  border-top: 4px solid #018BB6;
}

.admin-bar .header-wrapper {
  top: 32px;
  /* 管理バーの高さ分下げる */
}

#page {
  padding-top: 0;
  position: relative;
}

.admin-bar #page {
  padding-top: 0;
}

/* ヒーロービューのスタイル */
#hero-section {
  margin-top: 0;
  margin-bottom: 30px;
  padding-top: 50px;
  padding-bottom: 100px;
  background: linear-gradient(135deg, #018BB6, #015a8c);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
  /* 画面全幅（100vw）表示 */
  width: 100vw;
  margin-left: calc((1500px - 100vw) / 2);
  box-sizing: border-box;
  z-index: 1;
}

/* 首都圏のシルエットを背景に追加 */
#hero-section::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 180px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 200' preserveAspectRatio='none'%3E%3Cpath d='M0,200 L0,110 L20,112 L40,108 L60,115 L80,110 L100,105 L120,100 L140,95 L160,90 L180,85 L200,80 L220,75 L240,70 L260,65 L280,60 L300,65 L320,70 L340,75 L360,80 L380,85 L400,90 L420,85 L440,80 L460,75 L480,70 L500,65 L520,60 L540,55 L560,50 L580,45 L600,40 L620,35 L640,30 L660,25 L680,20 L700,15 L720,10 L740,15 L760,20 L780,25 L800,30 L820,35 L840,40 L860,45 L880,50 L900,55 L920,60 L940,65 L960,70 L980,75 L1000,80 L1020,85 L1040,90 L1060,95 L1080,100 L1100,105 L1120,110 L1140,115 L1160,120 L1180,125 L1200,130 L1200,200 Z' fill='rgba(255,255,255,0.05)'/%3E%3Cpath d='M0,200 L0,140 L20,138 L40,136 L60,134 L80,132 L100,130 L120,128 L140,126 L160,124 L180,122 L200,120 L220,118 L240,116 L260,114 L280,112 L300,110 L320,108 L340,106 L360,104 L380,102 L400,100 L420,102 L440,104 L460,106 L480,108 L500,110 L520,112 L540,114 L560,116 L580,118 L600,120 L620,122 L640,124 L660,126 L680,128 L700,130 L720,132 L740,134 L760,136 L780,138 L800,140 L820,142 L840,144 L860,146 L880,148 L900,150 L920,152 L940,154 L960,156 L980,158 L1000,160 L1020,162 L1040,164 L1060,166 L1080,168 L1100,170 L1120,172 L1140,174 L1160,176 L1180,178 L1200,180 L1200,200 Z' fill='rgba(255,255,255,0.03)'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 100% 100%;
  opacity: 0.8;
  z-index: -1;
}

/* 東京タワーと高層ビルのシルエットを追加（左側に配置） */
#hero-section::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 3%;
  /* 少し左寄りに調整 */
  width: 400px;
  /* 幅を300pxから400pxに拡大 */
  height: 300px;
  /* 高さを250pxから300pxに拡大 */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 300' preserveAspectRatio='none'%3E%3C!-- 東京タワー --%3E%3Cpath d='M200,0 L210,300 L230,300 L240,0 Z' fill='rgba(255,255,255,0.08)'/%3E%3Cpath d='M190,40 L250,40 L245,30 L195,30 Z' fill='rgba(255,255,255,0.08)'/%3E%3Cpath d='M185,80 L255,80 L250,70 L190,70 Z' fill='rgba(255,255,255,0.08)'/%3E%3Cpath d='M180,120 L260,120 L255,110 L185,110 Z' fill='rgba(255,255,255,0.08)'/%3E%3Cpath d='M175,160 L265,160 L260,150 L180,150 Z' fill='rgba(255,255,255,0.08)'/%3E%3Cpath d='M170,200 L270,200 L265,190 L175,190 Z' fill='rgba(255,255,255,0.08)'/%3E%3C!-- 東京スカイツリー --%3E%3Cpath d='M320,0 L325,300 L335,300 L340,0 Z' fill='rgba(255,255,255,0.07)'/%3E%3Cpath d='M315,100 L345,100 L340,90 L320,90 Z' fill='rgba(255,255,255,0.07)'/%3E%3Cpath d='M310,200 L350,200 L345,190 L315,190 Z' fill='rgba(255,255,255,0.07)'/%3E%3C!-- 高層ビル1（六本木ヒルズ風） --%3E%3Cpath d='M50,80 L50,300 L100,300 L100,80 Z' fill='rgba(255,255,255,0.06)'/%3E%3Cpath d='M55,70 L95,70 L95,80 L55,80 Z' fill='rgba(255,255,255,0.06)'/%3E%3Cpath d='M65,50 L85,50 L85,70 L65,70 Z' fill='rgba(255,255,255,0.06)'/%3E%3C!-- 高層ビル2（新宿高層ビル群） --%3E%3Cpath d='M120,120 L120,300 L150,300 L150,120 Z' fill='rgba(255,255,255,0.07)'/%3E%3Cpath d='M125,110 L145,110 L145,120 L125,120 Z' fill='rgba(255,255,255,0.07)'/%3E%3C!-- 高層ビル3（東京ミッドタウン風） --%3E%3Cpath d='M160,150 L160,300 L190,300 L190,150 Z' fill='rgba(255,255,255,0.06)'/%3E%3C!-- 高層ビル4（丸の内ビル風） --%3E%3Cpath d='M270,130 L270,300 L310,300 L310,130 Z' fill='rgba(255,255,255,0.06)'/%3E%3Cpath d='M275,120 L305,120 L305,130 L275,130 Z' fill='rgba(255,255,255,0.06)'/%3E%3C!-- 高層ビル5（汐留シティセンター風） --%3E%3Cpath d='M350,170 L350,300 L390,300 L390,170 Z' fill='rgba(255,255,255,0.05)'/%3E%3Cpath d='M360,150 L380,150 L380,170 L360,170 Z' fill='rgba(255,255,255,0.05)'/%3E%3C!-- 窓の表現 --%3E%3Cpath d='M60,100 L90,100 L90,105 L60,105 Z' fill='rgba(255,255,255,0.09)'/%3E%3Cpath d='M60,120 L90,120 L90,125 L60,125 Z' fill='rgba(255,255,255,0.09)'/%3E%3Cpath d='M60,140 L90,140 L90,145 L60,145 Z' fill='rgba(255,255,255,0.09)'/%3E%3Cpath d='M60,160 L90,160 L90,165 L60,165 Z' fill='rgba(255,255,255,0.09)'/%3E%3Cpath d='M60,180 L90,180 L90,185 L60,185 Z' fill='rgba(255,255,255,0.09)'/%3E%3Cpath d='M125,140 L145,140 L145,145 L125,145 Z' fill='rgba(255,255,255,0.09)'/%3E%3Cpath d='M125,160 L145,160 L145,165 L125,165 Z' fill='rgba(255,255,255,0.09)'/%3E%3Cpath d='M125,180 L145,180 L145,185 L125,185 Z' fill='rgba(255,255,255,0.09)'/%3E%3Cpath d='M280,150 L300,150 L300,155 L280,155 Z' fill='rgba(255,255,255,0.09)'/%3E%3Cpath d='M280,170 L300,170 L300,175 L280,175 Z' fill='rgba(255,255,255,0.09)'/%3E%3Cpath d='M280,190 L300,190 L300,195 L280,195 Z' fill='rgba(255,255,255,0.09)'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: bottom left;
  /* 右側から左側に変更 */
  background-size: contain;
  opacity: 0.8;
  /* 不透明度を0.7から0.8に上げて少し目立たせる */
  z-index: -1;
}

/* サイドバーとの関係を調整 */
body.home #secondary {
  position: relative;
  z-index: 10;
  margin-top: 300px;
  border-top: none;
  padding-left: 0;
  padding-right: 0;
}

/* サイドバーの青いボーダーを削除 */
#secondary.sidebar {
  border-top: none;
  padding-left: 0;
  /* 左パディングをリセット */
  padding-right: 0;
  /* 右パディングをリセット */
}

/* 物件検索ウィジェットのスタイル調整 */
body.home #secondary .widget:first-child {
  background-color: #fff;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15), 0 0 10px rgba(0, 0, 0, 0.05);
  border-radius: 5px;
  padding: 20px;
  margin-bottom: 20px;
  position: relative;
  z-index: 20;
  transition: top 0.3s ease;
  transform: translateY(-5px);
  border: 1px solid rgba(255, 255, 255, 0.8);
  margin-left: 0;
  margin-right: 0;
}

/* ホバー時に影をさらに強調 */
body.home #secondary .widget:first-child:hover {
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18), 0 0 15px rgba(0, 0, 0, 0.08);
  /* ホバー時も境界線をぼかす */
}

#hero-section .container {
  position: relative;
  max-width: 1170px;
  margin: 0 auto;
  padding: 0 15px;
  z-index: 2;
}

#hero-section .hero-content {
  position: relative;
  z-index: 1;
  max-width: 800px;
  margin: 0 auto;
}

#hero-section .hero-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 15px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

#hero-section .hero-description {
  font-size: 18px;
  margin-bottom: 30px;
  font-weight: 400;
  opacity: 0.9;
}

#hero-section .hero-search-box {
  margin: 0;
  flex: 0 1 450px;
  max-width: 450px;
}

#hero-section .hero-search-box .search-form {
  display: flex;
  background: #fff;
  border-radius: 4px;
  padding: 0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

#hero-section .hero-search-box .search-field {
  flex-grow: 1;
  border: none;
  background: transparent;
  padding: 12px 15px 12px 40px;
  /* 左側のパディングを増やして虫眼鏡アイコンのスペースを確保 */
  font-size: 16px;
  color: #333;
  width: 100%;
  height: 50px;
}

/* 既存の虫眼鏡アイコンを修正 */
#hero-section .hero-search-box .search-form label::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="%23666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg>');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 1;
}

#hero-section .hero-search-box .search-form label {
  position: relative;
  flex-grow: 1;
  display: flex;
  align-items: center;
}

#hero-section .hero-search-box .search-field::placeholder {
  color: #666;
}

#hero-section .hero-search-box .search-field:focus {
  outline: none;
}

#hero-section .hero-search-box .search-submit {
  background: #F07030;
  color: white;
  border: none;
  padding: 0 25px;
  height: 50px;
  cursor: pointer;
  font-weight: bold;
  font-size: 16px;
  transition: background 0.3s ease;
  border-radius: 0;
  line-height: 50px;
  /* 高さに合わせてテキストを中央に */
  margin: 0;
  /* マージンを削除 */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transform: none !important;
  /* 沈み込む演出を無効化 */
}

#hero-section .hero-search-box .search-submit:hover {
  background: #FF8040;
  /* ホバー時はさらに明るく */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  /* ホバー時も同じ影を維持 */
  transform: none !important;
  /* ホバー時も沈み込まないように */
}

/* 検索コンテナ - 物件数と検索ボックスを横に並べる */
.hero-search-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 30px 0 20px;
  gap: 40px;
  flex-wrap: wrap;
}

.hero-bukken-count-wrapper {
  flex: 0 0 auto;
}

/* 物件数表示のスタイル調整 */
.hero-bukken-count {
  background: #0a8cb6;
  /* より明るい背景色に変更 */
  border-radius: 5px;
  border: none;
  padding: 15px 20px;
  color: #fff;
  box-shadow: none;
  overflow: visible;
  transition: none;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 5;
}

/* ホバー時のスタイルを削除 */
.hero-bukken-count:hover {
  background: #0a8cb6;
  /* 通常時と同じ背景色に設定 */
}

.hero-bukken-icon {
  width: 36px;
  height: 36px;
  margin-right: 12px;
  position: relative;
  z-index: 1;
  opacity: 0.9;
}

.hero-bukken-icon svg {
  width: 100%;
  height: 100%;
  stroke: #ffffff;
  stroke-width: 1.5;
}

.hero-bukken-content {
  text-align: left;
  position: relative;
  z-index: 1;
  flex: 1;
}

.hero-bukken-label {
  font-size: 0.8em;
  font-weight: 500;
  margin-bottom: 2px;
  position: relative;
  letter-spacing: 0.5px;
  color: rgba(255, 255, 255, 0.9);
}

.hero-bukken-number {
  font-size: 1.8em;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 0;
  position: relative;
  color: #ffffff;
}

.hero-bukken-number span {
  font-size: 0.6em;
  font-weight: 500;
  vertical-align: middle;
  margin-left: 1px;
}

/* タグラインのスタイル */
.hero-bukken-tagline {
  position: absolute;
  top: -8px;
  right: -8px;
  background: rgba(255, 221, 0, 0.9);
  color: #333;
  font-size: 0.65em;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 4px;
  transform: rotate(0);
  box-shadow: none;
  z-index: 2;
}

.top_shozaichi {
  color: #555;
}

#top_fbox .grid-content li span.top_kotsu {
  color: #555;
}

.list_address {
  color: #555;
}

.list_address_koutu {
  color: #555;
}

/* カテゴリページH1タグ内のフォントサイズ調整 */
.category-name-large {
  font-size: 1.3em;
  font-weight: bold;
}

.suffix-small {
  font-size: 0.7em;
  font-weight: normal;
}

.grecaptcha-badge {
  visibility: hidden;
}

.cf7_notice {
  text-align: center;
  font-size: 0.8em;
}

/* ヘッダーの検索フォームを非表示 */
#main-navigation .search-form {
  display: none !important;
}

#hero-section .hero-search-box .search-field:focus {
  outline: none;
}

/* スクロール時のナビゲーション固定を無効化 */
.fixed {
  position: static !important;
  top: auto !important;
  box-shadow: none !important;
}

/* ナビゲーションを#page-headsの右側に配置 */
#page-heads {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
  width: 100%;
  max-width: 1500px;
  /* 1800pxから1500pxに変更 */
  margin: 0 auto;
}

#masthead {
  flex: 0 0 auto;
  width: auto;
  margin-right: 20px;
}

#main-navigation-wrap {
  position: static;
  flex: 1 1 auto;
  width: auto;
  background: none;
  display: flex;
  justify-content: flex-end;
}

#main-navigation {
  padding: 0;
  width: auto;
  display: flex;
  justify-content: flex-end;
  /* 右寄せに */
  align-items: center;
}

/* メニューを右寄せに */
.main-navigation-menu {
  display: flex;
  justify-content: flex-end;
  /* 右寄せに */
  margin-right: 10px;
}

/* 検索フォームを右寄せに */
#main-navigation .search-form {
  display: flex;
  align-items: center;
}

.header-main {
  padding: 10px 0;
}

/* メインコンテンツエリアの調整 */
body.home #primary {
  position: relative;
  z-index: 1;
}

/* .primary-navigation-wrapのborder-bottomを削除 */
.primary-navigation-wrap {
  border-bottom: none;
}

/* メニュー項目の配置を調整 */
.main-navigation-menu li {
  margin-left: 15px;
  margin-right: 0;
}

.main-navigation-menu li:first-child {
  margin-left: 0;
}

/* サブメニューの位置調整 */
.main-navigation-menu ul {
  left: auto;
  right: 0;
}

/* サブメニューの第2階層の位置調整 */
.main-navigation-menu ul ul {
  left: auto;
  right: 100%;
}

/* フッターの1番目のセクションにあしらいを追加 */
.site-footer .footer-4:first-child {
  padding: 0;
}

.site-footer .footer-4:first-child li {
  margin-bottom: 10px;
  /* 行間を少し空ける */
  line-height: 1.6;
  /* 行の高さを少し大きくする */
}

/* 条件検索ウィジェットのレスポンシブ対応修正 */
.widget_fudo_b_k {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.widget_fudo_b_k form {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.widget_fudo_b_k select,
.widget_fudo_b_k input[type="text"],
.widget_fudo_b_k input[type="submit"] {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* 条件検索ウィジェットのスクロール追従スタイル */
.widget-wrapper {
  position: relative;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
}

.widget.is-fixed {
  z-index: 100;
  background-color: #fff;
  padding: 15px;
  border-radius: 5px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  box-sizing: border-box !important;
  width: 100% !important;
  margin: 0 !important;
  transform: translateY(0) !important;
}

.widget.is-fixed .widget_fudo_b_k,
.widget.is-fixed .widget_fudo_b_k form,
.widget.is-fixed .widget_fudo_b_k select,
.widget.is-fixed .widget_fudo_b_k input {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ウィジェット内のテーブル要素の幅を調整 */
.widget.is-fixed .widget_fudo_b_k table,
.widget.is-fixed .widget_fudo_b_k tr,
.widget.is-fixed .widget_fudo_b_k td {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* ウィジェット内の全ての要素に対して幅を設定 */
.widget.is-fixed * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.widget select {
  width: 100%;
  border-color: #e8e8e8;
  margin: 2px 0 15px 0;
  padding: 5px 0;
}
.widget-header {
  margin: 0 0 .8em 0;
}

/* カテゴリページのh1タグ内の要素のフォントサイズ調整 */
.page-header h1 .category-name-large,
.entry-title .category-name-large {
  font-size: 1.4em;
  font-weight: bold;
}

.page-header h1 .suffix-small,
.entry-title .suffix-small {
  font-size: 0.7em;
  font-weight: normal;
}

/* フッターのh2タグをh3タグと同じスタイルに統一 */
.site-footer h2 {
  font-size: 1em;
  letter-spacing: 1px;
  margin-top: 0px;
  color: #fff;
}

/* 物件カテゴリの都道府県名（h3タグ）のスタイル */
.site-footer .prefecture-title {
  font-size: 1.5em;
  letter-spacing: 1px;
  margin-top: 0px;
  margin-bottom: 10px;
  color: #fff;
  font-weight: bold;
}

.site-footer .prefecture-title a {
  color: #fff;
  text-decoration: none;
}

.site-footer .prefecture-title a:hover {
  color: #ddd;
  text-decoration: underline;
}

/* サイドバーウィジェットのh2タイトルをh3と同じスタイルに統一 */
.widget-header h2.widget-title {
  /* h3と同じフォントサイズにリセット */
  font-size: 1em;
  margin: 0;
  padding: 0;
  font-weight: normal;
  line-height: 1.2;
}

/* ハンバーガーメニュー */
.hamburger-menu-container {
  display: none;
  position: fixed;
  right: 28px;
  top: 23px;
  z-index: 1001;
}

.hamburger-button {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  width: 26px;
  height: 22px;
  padding: 0;
  position: relative;
  z-index: 1002;
}

.hamburger-line {
  width: 100%;
  height: 3px;
  background-color: #016999;
  transition: all 0.3s ease;
  border-radius: 2px;
}

.hamburger-button.active .hamburger-line:nth-child(1) {
  transform: rotate(45deg) translate(6px, 6px);
}

.hamburger-button.active .hamburger-line:nth-child(2) {
  opacity: 0;
}

.hamburger-button.active .hamburger-line:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

/* ハンバーガーメニューがアクティブ時（クリック時）の色変更 */
.hamburger-button.active .hamburger-line {
  background-color: #333;
}

.hamburger-menu-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}

.hamburger-menu-overlay.active {
  opacity: 1;
  visibility: visible;
}

.hamburger-menu-content {
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;
  height: 100%;
  background-color: #fff;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  overflow-y: auto;
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.2);
}

.hamburger-menu-overlay.active .hamburger-menu-content {
  transform: translateX(0);
}

.hamburger-menu-header {
  display: flex;
  justify-content: flex-end;
  padding: 20px;
}

.hamburger-close {
  display: none;
}

.hamburger-menu-nav {
  padding-top: 15px;
}

.hamburger-menu-list {
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
}

.hamburger-menu-list li {
  border-bottom: 1px solid #eee;
  display: flex;
  flex-direction: column;
  width: 100%;
}

.hamburger-menu-list > li > a,
.hamburger-menu-list > li > .menu-toggle {
  display: block;
  padding: 15px 20px;
  color: #333;
  text-decoration: none;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.hamburger-menu-list > li > a:hover,
.hamburger-menu-list > li > .menu-toggle:hover {
  background-color: #f5f5f5;
}

.hamburger-menu-list .has-submenu .menu-toggle {
  position: relative;
}

.hamburger-menu-list .arrow {
  position: absolute;
  right: 27px;
  transition: transform 0.3s ease;
}

.hamburger-menu-list .has-submenu.active .arrow {
  transform: rotate(180deg);
}

.hamburger-menu-list .submenu {
  list-style: none;
  margin: 0;
  padding: 0;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background-color: #f9f9f9;
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* サブメニューの高さはJavaScriptで動的に設定されます */

.hamburger-menu-list .submenu li {
  border-bottom: 1px solid #e0e0e0;
}

.hamburger-menu-list .submenu li:last-child {
  border-bottom: none;
}

.hamburger-menu-list .submenu a {
  display: block;
  padding: 12px 30px;
  color: #666;
  text-decoration: none;
  transition: background-color 0.2s ease;
}

.hamburger-menu-list .submenu a:hover {
  background-color: #f0f0f0;
  color: #333;
}

@media (max-width: 1500px) {
  #hero-section {
    margin-left: calc(100vw * -0.05);
  }
}

/* 大画面でのコンテナ調整 */
@media (min-width: 1200px) {
  #hero-section .container {
    /* 全幅背景の恩恵を受けつつ、コンテンツは適切な幅に保つ */
    max-width: 1170px;
    /* 固定幅ではなく最大幅を使用 */
  }
}

/* モバイル表示の調整 */
@media (max-width: 768px) {
  .header-widgets {
    display: none;
  }

  #main .header-image {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    width: 100vw;
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
  }

  #page-heads{
    height: 60px;
  }
  #masthead{
    height: 60px;
  }
  .header-main{
    position: relative;
    padding: 5px 0;
    height: 100%;
  }
  .site-branding {
    margin: 0 0 0 3%;
    height: 100%;
  }
  .site-branding .custom-logo {
    margin: 0;
    max-width: 78%;
    max-height: 60px;
  }
  .hero-search-container {
    flex-direction: column;
    gap: 20px;
    margin: 20px 0;
  }

  .hero-bukken-count-wrapper {
    width: 100%;
  }

  .hero-bukken-icon {
    width: 30px;
    height: 30px;
  }

  .hero-bukken-content {
    text-align: center;
  }

  .hero-bukken-number {
    font-size: 1.5em;
  }

  .hero-bukken-tagline {
    top: -5px;
    right: 5px;
    font-size: 0.6em;
  }

  #hero-section .hero-search-box {
    width: 90% !important;
    max-width: 400px !important;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
    flex: none !important;
  }

  #hero-section .hero-search-box .search-form {
    flex-direction: row;
    width: 100%;
  }

  #hero-section .hero-search-box .search-form label::before {
    left: 10px;
    width: 16px;
    height: 16px;
  }

  #hero-section .hero-search-box .search-field {
    height: 45px;
    padding: 10px 10px 10px 35px;
  }

  #hero-section .hero-search-box .search-field::placeholder {
    color: #666;
  }

  #hero-section .hero-search-box .search-submit {
    height: 45px;
    padding: 0 15px;
    font-size: 14px;
    line-height: 45px;
    margin: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: none !important;
    /* 沈み込む演出を無効化 */
  }

  #hero-section .hero-search-box .search-submit:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    /* ホバー時も同じ影を維持 */
    transform: none !important;
    /* ホバー時も沈み込まないように */
  }

  #hero-section {
    margin-left: calc(100vw * -0.1);
    padding-top: 40px;
    padding-bottom: 80px;
  }

  #hero-section .hero-title {
    font-size: 2rem;
  }

  #hero-section .hero-description {
    font-size: 1rem;
  }

  /* モバイル表示時のサイドバー位置調整 */
  body.home #secondary {
    margin-top: 0;
  }

  .hero-bukken-count {
    position: relative;
    top: auto;
    right: auto;
    margin: 0 auto 20px;
    padding: 10px 15px;
    background: rgba(255, 255, 255, 0.08);
    width: 90%;
    justify-content: center;
  }

  .hero-bukken-icon {
    width: 30px;
    height: 30px;
  }

  .hero-bukken-content {
    text-align: center;
  }

  .hero-bukken-number {
    font-size: 1.6em;
  }

  .hero-bukken-tagline {
    position: static;
    display: inline-block;
    margin-left: 10px;
    transform: none;
    vertical-align: middle;
  }

  #hero-section .hero-search-box {
    max-width: 400px !important;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
  }

  #hero-section .hero-search-box .search-form {
    flex-direction: row;
    width: 100%;
  }

  #hero-section .hero-search-box .search-form label::before {
    left: 10px;
    width: 16px;
    height: 16px;
  }

  #hero-section .hero-search-box .search-field {
    height: 45px;
    padding: 10px 10px 10px 35px;
    /* 左パディングを増やして虫眼鏡アイコンのスペースを確保 */
  }

  #hero-section .hero-search-box .search-field::placeholder {
    color: #666;
  }

  #hero-section .hero-search-box .search-submit {
    height: 45px;
    padding: 0 15px;
    font-size: 14px;
    line-height: 45px;
    /* モバイル用に行の高さを調整 */
    margin: 0;
    /* マージンを削除 */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform: none !important;
    /* 沈み込む演出を無効化 */
  }

  #hero-section .hero-search-box .search-submit:hover {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    /* ホバー時も同じ影を維持 */
    transform: none !important;
    /* ホバー時も沈み込まないように */
  }

  body.home #secondary .widget:first-child {
    transition: top 0.3s ease;
    /* 上下方向のみスムーズに */
  }

  #page-heads {
    flex-direction: column;
    padding: 0;
  }

  #masthead {
    width: 100%;
    margin-right: 0;
  }

  #main-navigation-wrap {
    display: none;
    width: 100%;
    justify-content: center;
  }

  #main-navigation {
    width: 100%;
    flex-direction: column;
    justify-content: center;
  }

  .main-navigation-menu {
    justify-content: center;
    margin-right: 0;
    margin-bottom: 10px;
  }

  #main-navigation .search-form {
    width: 100%;
    justify-content: center;
    margin-top: 10px;
  }

  /* モバイル表示時の管理バー調整 */
  .admin-bar .header-wrapper {
    top: 46px;
    /* モバイル用管理バーの高さ */
  }

  /* ヒーローセクションの調整 */
  #hero-section {
    padding-top: 40px;
    /* モバイル表示時のパディング */
  }

  .widget_fudo_b_k {
    width: 100% !important;
  }

  .hamburger-menu-content {
    width: 280px;
  }

  .hamburger-menu-container {
    display: block;
    right: 22px;
    top: 23px;
  }

  #same_building_properties {
    margin: 20px -10px;
    padding: 15px 10px;
    border-radius: 0;
  }

  #same_building_properties h3 {
    font-size: 18px;
    margin-bottom: 12px;
  }

  .same-building-table {
    font-size: 12px;
  }

  .same-building-table th,
  .same-building-table td {
    padding: 8px 4px;
    font-size: 11px;
  }

  .same-building-table th {
    font-size: 10px;
    line-height: 1.3;
  }

  /* スマートフォンでのテーブル横スクロール改善 */
  .same-building-table th:first-child,
  .same-building-table td:first-child {
    min-width: 50px;
  }

  .same-building-table th:nth-child(2),
  .same-building-table td:nth-child(2) {
    min-width: 70px;
  }

  .same-building-table th:nth-child(3),
  .same-building-table td:nth-child(3) {
    min-width: 80px;
  }

  .same-building-table th:nth-child(4),
  .same-building-table td:nth-child(4) {
    min-width: 70px;
  }

  .same-building-table th:nth-child(5),
  .same-building-table td:nth-child(5) {
    min-width: 60px;
  }

  .same-building-table th:nth-child(6),
  .same-building-table td:nth-child(6) {
    min-width: 70px;
  }
}
/* 640px以下 */
@media (max-width: 40em) {
  #hero-section {
    margin-left: calc(100vw * -0.05);
  }
  #hero-section .hero-title {
    font-size: 1.5rem;
  }
  #hero-section .hero-description {
    font-size: 0.8rem;
  }
  .admin-bar .header-wrapper {
    top: 0;
  }
}
@media (max-width: 480px) {
  #same_building_properties {
    margin: 15px -15px;
    padding: 12px 8px;
  }

  #same_building_properties h3 {
    font-size: 16px;
    margin-bottom: 10px;
  }

  .same-building-table {
    font-size: 11px;
  }

  .same-building-table th,
  .same-building-table td {
    padding: 6px 3px;
    font-size: 10px;
    line-height: 1.2;
  }

  .same-building-table th {
    font-size: 9px;
  }
}

/* PC版スライダーで左右の画像のopacityを削除 */
@media (min-width: 769px) {
  .swiper-slide {
    opacity: 1 !important;
  }

  .swiper-slide-visible {
    opacity: 1 !important;
  }

  /* Swiperの3D効果で追加される可能性のあるopacityも削除 */
  .swiper-slide-prev,
  .swiper-slide-next {
    opacity: 1 !important;
  }

  /* slickスライダーの場合 */
  .slick-slide {
    opacity: 1 !important;
  }

  .slider-for .slick-slide {
    opacity: 1 !important;
  }

  .slider-nav .slick-slide {
    opacity: 1 !important;
  }
}

.new_mark.up_mark {
  background-color: #7CB526;
}

/* 画像モーダルのスタイル */
.image-modal {
  display: none;
  position: fixed;
  z-index: 9999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  background-color: rgba(0, 0, 0, 0.9);
}

.modal-content {
  margin: auto;
  display: block;
  max-width: 90%;
  max-height: 90%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.modal-caption {
  margin: auto;
  display: block;
  width: 80%;
  max-width: 700px;
  text-align: center;
  color: #ccc;
  padding: 10px 0;
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 14px;
}

.modal-close {
  position: absolute;
  top: 15px;
  right: 35px;
  color: #f1f1f1;
  font-size: 40px;
  font-weight: bold;
  cursor: pointer;
  z-index: 10000;
  transition: color 0.3s;
}

.modal-close:hover,
.modal-close:focus {
  color: #fff;
  text-decoration: none;
}

/* モーダルナビゲーション */
.modal-nav {
  position: absolute;
  top: 50%;
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  box-sizing: border-box;
  pointer-events: none;
}

.modal-prev {
  color: white;
  font-size: 50px;
  cursor: pointer;
  user-select: none;
  opacity: 0.7;
  transition: opacity 0.3s;
  pointer-events: auto;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 10px 20px;
  border-radius: 5px;
  align-self: flex-start;
}

.modal-next {
  color: white;
  font-size: 50px;
  cursor: pointer;
  user-select: none;
  opacity: 0.7;
  transition: opacity 0.3s;
  pointer-events: auto;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 10px 20px;
  border-radius: 5px;
  align-self: flex-end;
  margin-left: auto;
}

.modal-prev:hover,
.modal-next:hover {
  opacity: 1;
}

/* アニメーション */
@keyframes zoom {
  from {
    transform: translate(-50%, -50%) scale(0);
  }
  to {
    transform: translate(-50%, -50%) scale(1);
  }
}

.modal-content {
  animation-name: zoom;
  animation-duration: 0.3s;
}

/* レスポンシブ対応 */
@media only screen and (max-width: 768px) {
  .modal-content {
    max-width: 95%;
    max-height: 80%;
  }

  .modal-close {
    top: 10px;
    right: 25px;
    font-size: 35px;
  }

  .modal-prev {
    font-size: 30px;
    padding: 5px 10px;
  }

  .modal-next {
    font-size: 30px;
    padding: 5px 10px;
  }

  .modal-caption {
    font-size: 12px;
    bottom: 10px;
  }
}