/*
Theme Name: core03
Theme URI: 
Author: 
Author URI: 
Description: 
Requires at least: 6.3
Tested up to: 6.7
Requires PHP: 7.4
Version: 1.0.11
License: GNU General Public License v2 or later
License URI: https://raw.githubusercontent.com/Automattic/themes/trunk/LICENSE
Template: unpc-bt
Text Domain: core03
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, rtl-language-support, theme-options, threaded-comments, translation-ready, wide-blocks
*/

main {
  padding: 0 !important;
  margin: 0 !important;
}

h1, h2, h3, h1:after {
  border: none !important;
  padding: 0 !important;
}
h3:before {　
  content: "" !important;
}

/* ヘッダー画像の高さ制限を解除 */
.header-cover {
  height: 100vh !important;
  max-height: none !important;
  object-fit: none !important;
}

.wp-block-cover__inner-container {
  height: 100vh !important;
}

.inline-block {
  display: inline-block !important;
}

.pl-5 {
  padding-left: 5px !important;
}
.pr-5 {
  padding-right: 5px !important;
}
.pb-5 {
  padding-bottom: 5px !important;
}
.pt-5 {
  padding-top: 5px !important;
}
.mt-0 {
  margin-top: 0 !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.justify-content-center {
  justify-content: center !important;
}
#toiawasesaki, #contact_form {
  margin: 0 !important;
}
.wp-block-navigation__container li:first-child {
  margin-right: 100px !important;
}

.core3-left-border {
  border-left: 12px solid #000000 !important;
  padding-left: 15px !important;
  line-height: 2.5 !important;
}
.alignwide {
  max-width: 1200px;
  margin-left: auto !important;
  margin-right: auto !important;
}
/* 物件一覧ページ */
#list_simplepage, .navigation {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* 3カラムレイアウトのスタイル */
.core03-3column-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 25px !important;
  margin: 0 !important;
}

.core03-grid-item {
  background: #fff !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}

.core03-grid-item:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important;
}

/* レスポンシブ対応 */
@media (max-width: 1024px) {
  .core03-3column-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
}

@media (max-width: 768px) {
  .core03-3column-grid {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
  }
  
  .core03-grid-item {
    margin: 0 10px !important;
  }
}

/* 物件カード内のスタイル調整 */
.core03-grid-item .hentry {
  margin: 0 !important;
  padding: 0 !important;
}

.core03-grid-item .list_simple_box {
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.core03-grid-item .list_simple_boxtitle {
  padding: 15px !important;
  border-bottom: 1px solid #eee !important;
}

.core03-grid-item .list_simple_boxcontent {
  padding: 15px !important;
}

/* 検索ボックスのカスタマイズ */
.wp-block-search {
  position: relative;
}

.wp-block-search__input {
  border-radius: 0 !important;
  padding: 12px 20px !important;
  font-size: 16px !important;
  background: #ffffff !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.wp-block-search__input::placeholder {
  color: #999999 !important;
  font-size: 16px !important;
}

.wp-block-search__button {
  position: absolute !important;
  right: 5px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: #ffffff !important;
  border-radius: 0 !important;
  padding: 8px 12px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.wp-block-search__button:hover {
  background: #f5f5f5 !important;
}

.wp-block-search__button svg {
  width: 16px !important;
  height: 16px !important;
  fill: #333333 !important;
}

/* 物件詳細ページの画像ギャラリー */
.core03-image-gallery {
  margin: 0;
}

@media screen and (min-width: 769px) {
  .core03-image-gallery {
    width: 66.66vh;
    max-width: 100%;
    margin: 0 auto;
  }
}

.core03-image-gallery .top_img_content {
  margin-bottom: 0 !important;
}

.core03-image-gallery .top_img_content img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (min-width: 769px) {
  .core03-image-gallery .top_img_content {
    height: 50vh;
    overflow: visible;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .core03-image-gallery .top_img_content .core03-main-image {
    width: auto !important;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .core03-image-gallery .top_img_content .core03-main-image img {
    max-height: 50vh !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: unset !important;
  }
}

/* メイン画像のスタイル */
.core03-main-image {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
}

.core03-main-image img {
  width: 100% !important;
  height: auto !important;
  max-height: 700px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
}

@media screen and (max-width: 768px) {
  .core03-main-image img {
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* サムネイルギャラリー */
.core03-thumbnail-gallery {
  margin: 0;
  padding: 0;
}

.core03-thumbnail-gallery p {
  margin: 10px 0 5px 0 !important;
  font-size: 12px !important;
  color: #666 !important;
}

.core03-thumbnail-scroll {
  display: flex;
  overflow-x: auto;
  gap: 0;
  padding: 0;
  margin: 0;
  scrollbar-width: thin;
  scrollbar-color: #ccc #f5f5f5;
}

.core03-thumbnail-scroll::-webkit-scrollbar {
  height: 6px;
}

.core03-thumbnail-scroll::-webkit-scrollbar-track {
  background: #f5f5f5;
  border-radius: 3px;
}

.core03-thumbnail-scroll::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}

.core03-thumbnail-scroll::-webkit-scrollbar-thumb:hover {
  background: #999;
}

.core03-thumbnail-item {
  flex-shrink: 0;
  width: 150px;
  height: 100px;
  border-radius: 0;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.2s ease;
  border: 1px solid #ddd;
}

.core03-thumbnail-item:hover {
  transform: scale(1.02);
  border-color: #999;
}

.core03-thumbnail-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0;
}

/* 画像説明テキスト */
.core03-image-gallery .img_conent_comment {
  margin-top: 10px !important;
  font-size: 12px !important;
  color: #666 !important;
}

/* 物件詳細ページのタイトルスタイル */
.core03-property-header {
  text-align: center;
  margin: 0 0 20px;
}

.core03-property-title {
  font-size: 2rem !important;
  font-weight: 900 !important;
  color: #000000 !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.2 !important;
}

.core03-property-subtitle {
  display: none !important;
}

/* カテゴリボタン */
.core03-category-button {
  margin-top: 8px;
  display: flex;
  justify-content: center;
}

.core03-category-text {
  background: #000000;
  color: #ffffff;
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 500;
  border-radius: 0;
  display: inline-block;
  text-align: center;
}

/* 物件詳細ページの2列レイアウト */
.core03-two-column-layout {
  display: flex;
  gap: 20px;
  margin: 0;
  padding: 0;
}

.core03-property-info-column {
  flex: 1;
  width: 33.333%;
  min-width: 0;
}

.core03-content-column {
  flex: 2;
  width: 66.666%;
  min-width: 0;
}

/* 物件詳細テーブルのスタイル */
.core03-property-info-column table {
  border: none !important;
  border-collapse: collapse;
  width: 100%;
  table-layout: fixed;
}

.core03-property-info-column table tr {
  border: none !important;
}

.core03-property-info-column table th,
.core03-property-info-column table td {
  border: none !important;
  padding: 8px 0;
  vertical-align: top;
}

.core03-property-info-column table th {
  font-weight: normal;
  width: 130px;
  text-align: left;
}

/* 物件説明コンテナのスタイル */
.description-container > p {
  margin-top: 0;
  margin-bottom: 0;
}

/* 価格セクションのスタイル調整 */
.core03-property-info-column .list_price {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.core03-property-info-column .list_price dl {
  padding: 0 !important;
  margin: 0 !important;
}

.core03-property-info-column .list_price dt {
  font-weight: bold;
  margin-bottom: 4px;
}

.core03-property-info-column .list_price dd {
  margin: 0 0 4px 0;
  padding: 0;
}

/* Google Map のスタイル */
.core03-content-column iframe {
  width: 100% !important;
  height: 400px !important;
  border: none !important;
  border-radius: 0 !important;
  margin: 20px 0 !important;
}

.core03-content-column .google-map-container {
  width: 100%;
  margin: 20px 0;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .core03-two-column-layout {
    flex-direction: column;
  }
  
  .core03-property-info-column,
  .core03-content-column {
    width: 100%;
    flex: none;
  }
  
  .core03-content-column iframe {
    height: 300px !important;
  }
}

body.fudo-template-single-full-fudo .list_simple_box .entry-content > * {
  max-width: none !important;
}

/* ============================================
   トップ物件表示のカスタマイズ
   ============================================ */
/* タイトル表示 */
.top_title {
  display: block !important;
  position: relative !important;
  padding: 10px 0 7px 0 !important;
  margin-bottom: 15px !important;
  font-weight: bold !important;
}

.top_title::after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 20% !important;
  height: 1px !important;
  background-color: #000 !important;
}

/* タイトルのリンク */
.top_title a {
  color: inherit !important;
  text-decoration: none !important;
  transition: opacity 0.3s ease !important;
}

.top_title a:hover {
  opacity: 0.7 !important;
}

.top_price, .top_menseki, .top_shozaichi, .top_kotsu, .top_madori {
  color: #222 !important;
  font-size: 14px !important;
  font-weight: normal !important;
}

.widget_fudo_top_r {
  padding: 0 60px !important;
}

.grid-content {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 30px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 20px 0 !important;
}
.introduction-title {
  font-size: 45px; font-weight: 900; letter-spacing: 0.05em; margin: 0; line-height: 1.2; color: #333;
}
.widget_fudo_top_r {
  margin-bottom: 0px !important;
}
.widget_fudo_top_r.introduction-list {
  padding: 0 !important;
}
/* introduction-listクラスの場合は3列表示 */
.widget_fudo_top_r.introduction-list .grid-content {
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 20px !important;
}

/* introduction-list の各カードを relative にして、マーク類を絶対配置できるようにする */
.widget_fudo_top_r.introduction-list .grid-content > li {
  position: relative !important;
}
.widget_fudo_top_r.introduction-list .grid-content > li .core03-new-mark,
.widget_fudo_top_r.introduction-list .grid-content > li .core03-update-mark {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: bold;
  letter-spacing: 0.06em;
  line-height: 1;
  z-index: 3;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
.widget_fudo_top_r.introduction-list .grid-content > li .core03-new-mark {
  background: #c9302c;
}
.widget_fudo_top_r.introduction-list .grid-content > li .core03-update-mark {
  background: #2f6db0;
}
.widget_fudo_top_r.introduction-list .grid-content > li .core03-new-mark + .core03-update-mark {
  top: 28px;
}
/* 販売中物件ラベル */
.widget_fudo_top_r.introduction-list .grid-content > li .core03-sale-badge {
  position: absolute;
  top: 0;
  right: 0;
  background: #1b1b1b;
  color: #fff;
  padding: 6px 12px;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.2;
  z-index: 3;
  box-shadow: 0 1px 3px rgba(0,0,0,0.2);
}
/* 非公開物件画像のモザイク（ぼかしが画像枠の外にはみ出さないよう、a 要素で clip） */
.widget_fudo_top_r .grid-content > li > a {
  overflow: hidden;
}
.widget_fudo_top_r .grid-content > li img.box1image.core03-kaiin-blur {
  filter: blur(8px);
  -webkit-filter: blur(8px);
  transform: scale(1.05);
}

.grid-content li {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
}

/* 画像のリンクを全幅表示 */
.grid-content li > a {
  width: 100% !important;
  display: block !important;
  float: none !important;
}

/* 画像を全幅表示 */
.grid-content li img.box1image,
ul.grid-content img.box1image {
  width: 100% !important;
  height: auto !important;
  display: block !important;
  float: none !important;
  padding: 0 !important;
  aspect-ratio: 1.5 !important;
}

ul.syousai-content li, ul.grid-content li {
  box-shadow: none !important;
}
ul.grid-content li .top_r_content {
  padding: 0 !important;
}

/* 物件詳細リンクを非表示にした分の余白を削除 */
.top_r_footer {
  display: none !important;
}

/* レスポンシブ：タブレット（768px以下）では1列 */
@media (max-width: 768px) {
  .grid-content {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .introduction-title-wrapper {
    text-align: center;
  }
  .introduction-title {
    font-size: 30px;
  }
  .widget_fudo_top_r.introduction-list .grid-content {
    grid-template-columns: 1fr !important;
  }
  .widget_fudo_top_r .grid-content li img.box1image {
    width: 100% !important;
    aspect-ratio: 2 !important;
  }
  .widget_fudo_top_r {
    padding: 0 !important;
  }
}

/* レスポンシブ：PC（769px以上1200px以下）でintroduction-listは2列 */
@media (min-width: 769px) and (max-width: 1200px) {
  .introduction-title-wrapper {
    padding-left: 20px;
  }
  .widget_fudo_top_r.introduction-list .grid-content {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ======================================
   固定ページ用スタイル
   ====================================== */
.single-post-wrapper h2 {
  margin-top: 40px !important;
  font-weight: 600 !important;
  font-size: 28px !important;
}
.single-post-wrapper h3 {
  font-size: 24px !important;
}

/* ======================================
   パンくずリスト（親テーマのスタイルをカスタマイズ）
   ====================================== */
.breadcrumbs {
  margin-bottom: 30px !important;
  padding-bottom: 15px;
  border-bottom: 1px solid #e0e0e0;
}

div.breadcrumbs ul {
  padding: 0;
  margin: 0;
}

div.breadcrumbs li {
  display: inline;
  font-size: 13px;
  color: #666;
}

div.breadcrumbs li a {
  color: #666;
  text-decoration: none;
  transition: color 0.3s;
}

div.breadcrumbs li a:hover {
  color: #000;
  text-decoration: underline;
}

.breadcrumbs span.sp {
  margin: 0 8px;
  color: #999;
  font-size: 12px;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .core03-property-subtitle,
  .core03-category-button {
    display: none !important;
  }

  .core03-property-title {
    font-size: 1.5rem !important;
    margin: 0 !important;
    padding: 10px 0 !important;
    text-align: center !important;
  }

  .core03-property-header {
    margin: 0 !important;
  }

  .core03-property-name-section {
    display: none !important;
  }

  .core03-property-name-wrap {
    display: none !important;
  }

  .core03-thumbnail-item {
    width: 100px !important;
    height: 66px !important;
  }

  .core03-image-divider {
    display: none !important;
  }

  .list_detail {
    padding: 10px !important;
  }

  .list_detail table {
    width: 100%;
    border-collapse: collapse;
  }

  .list_detail table th,
  .list_detail table td {
    border-bottom: 1px solid #ddd;
    padding: 12px 10px;
    text-align: left;
    vertical-align: middle;
    font-size: 14px;
  }

  .list_detail table th {
    width: 40%;
    font-weight: bold;
    background-color: #f5f5f5;
  }

  .site-branding img,
  .custom-logo-link img,
  .custom-logo {
    height: 32px !important;
    width: auto !important;
  }
}

@media screen and (max-width: 768px) {
  .breadcrumbs {
    margin-bottom: 20px !important;
    padding-bottom: 12px;
  }
  
  div.breadcrumbs li {
    font-size: 12px;
  }
  
  .breadcrumbs span.sp {
    margin: 0 6px;
  }
}
.vintage {
  background-color: #EFEFEF !important;
}
.vintage-main-bg {
  background-color: #EFEFEF !important;
}
.vintage .core03-property-subtitle {
  margin-bottom: 80px !important;
}
.vintage .core03-category-button {
  display: none !important;
}
.vintage .core03-category-box {
  display: none !important;
}
.vintage .the-content {
  background-color: #fff !important;
  padding: 0 50px !important;
}
.vintage .core03-action-buttons {
  background-color: #fff !important;
}
.category-archive-hero,.contact-page-hero,.register-page-hero {
  background-color: #000 !important;
  color: #fff !important;
  padding: 90px 40px;
  text-align: center;
}
.vintage .category-archive-hero,.vintage .contact-page-hero,.vintage .register-page-hero {
  background-color: #EFEFEF !important;
  color: #333 !important;
  padding: 90px 40px 0;
  text-align: center;
}
.vintage .post-content {
  background-color: #fff !important;
}

