@charset "UTF-8";

/*!
Theme Name: Simplicity2 child
Template:   simplicity2
Version:    20161002
*/

/* Simplicity子テーマ用のスタイル */

/************************************
** 基本設定
************************************/
:root {
  --hdr-h: 0px;
  --adminbar-h: 0px;
}

html {
  scroll-behavior: smooth;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 400;
}
#body ul,
#body ul li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
#body dl,
#body dt,
#body dd {
  margin: 6px 0 0 0;
  padding: 0;
}
#body {
  text-align: justify;
}

/* PC */
@media screen and (min-width: 751px) {
  .pc-only {
    display: block;
  }
  .sp-only {
    display: none;
  }
}

/* スマホ */
@media screen and (max-width: 750px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}

/************************************
** ページ下部固定リンクボタン
************************************/
.fixed-buttons {
  position: fixed;
  bottom: 50px;
  display: flex;
  gap: 10px;
  z-index: 900;
}

/* ボタン共通構造 */
.fixed-btn {
  position: relative;
  overflow: visible;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border: none;
  text-decoration: none;
  color: #000;
  min-width: 330px;
  height: 80px;
  background: transparent;
  cursor: pointer;
}
.fixed-btn::before {
  content: "EVENTを申込む";
  background-color: #000;
  color: #fff;
  font-size: 10px;
  letter-spacing: 0.2em;
  z-index: 100;
  position: absolute;
  top: -12px;
  left: -12px;
  padding: 6px 10px;
}
.fixed-btn:hover {
  color: #000 !important;
  opacity: 1 !important ;
}
.fixed-btn:hover .btn-text-en,
.fixed-btn:hover .btn-text-ja {
  color: #000 !important;
  opacity: 1 !important ;
}
/* 背景レイヤー */
.fixed-btn .btn-bg {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  background-color: #ffffff;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  border-radius: 0;
  transition: all 0.4s ease;
  z-index: 0;
}

/* テキストラッパー（前面） */
.fixed-btn .btn-text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.4s ease;
}

/* 英語テキスト */
.btn-text-en {
  font-size: 10px;
  font-family: district-pro, sans-serif;
  font-weight: 300;
  letter-spacing: 0.3em;
  text-transform: uppercase;
}

/* 日本語テキスト */
.btn-text-ja {
  font-size: 14px;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  letter-spacing: 0.2em;
  margin-top: 4px;
}

/* PCサイズ：右下配置 */
@media screen and (min-width: 751px) {
  .fixed-buttons {
    right: calc(5% - 25px);
  }
  /* ホバーで背景が上に伸びる */
  .fixed-btn:hover .btn-bg {
    height: 120%;
    color: #000 !important;
    opacity: 1 !important ;
  }
  .fixed-btn {
    width: 240px;
  }

  /* ホバーで上方向にスライド */
  .fixed-btn:hover .btn-text {
    transform: translateY(-15px);
  }
}

/* SPサイズ：中央配置＋幅計算 */
@media screen and (max-width: 750px) {
  .fixed-buttons {
    left: 5%;
    right: 5%;
    justify-content: center;
  }
  .fixed-btn {
    width: calc((100vw - 10vw - 0px));
    height: 60px;
  }
}
/* =========================
   固定イベントカード（右下固定）
   ========================= */

/* 外枠。背景は付けない（SP閉時に白が見えないように） */
.fixed-event-box {
  position: fixed;
  right: 24px;
  bottom: 24px;
  width: min(330px, 86vw);
  z-index: 5000;
  overflow: visible; /* タグが外にはみ出す場合の保険 */
}

/* 黒い小タグ（ボタン） */
.fixed-event-tag {
  position: absolute;
  left: 12px;
  top: -12px;
  background: #000 !important;
  color: #fff;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.2em;
  padding: 6px 10px;
  line-height: 1;
  border: 0;
  cursor: pointer;
  pointer-events: auto;
  z-index: 6000;
}

/* 白いカード本体（リスト）— PCでは常時見える想定 */
.fixed-event-list {
  list-style: none;
  margin: 0;
  padding: 14px; /* 外枠の余白 */
  background: #fff;
  box-shadow:
    0 8px 28px rgba(0, 0, 0, 0.18),
    0 2px 8px rgba(0, 0, 0, 0.08);
  overflow: hidden; /* はみ出し防止 */
  will-change: max-height;
}

.fixed-event-item + .fixed-event-item {
  margin-top: 0; /* 行間なし（見本寄せ） */
}

/* 行全体リンク（左：小カテゴリ / 右：タイトル） */
.fixed-event-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 5px;
  text-decoration: none;
  background: #fff;
  color: #000;
  transition:
    background 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.06s ease;
}
.fixed-event-link:hover {
  /* 必要ならホバー時の装飾を追加 */
}
.fixed-event-link:focus-visible {
  outline: 3px solid #7aa7ff;
  outline-offset: 2px;
}

/* 左の小カテゴリ */
.fixed-event-label {
  flex: 0 0 auto;
  width: 80px;
  font-family: district-pro, sans-serif;
  font-size: 10px;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 7px 0 6px;
  color: #000;
  white-space: nowrap;
}

/* 右のタイトル（複数行OK） */
.fixed-event-title {
  flex: 1 1 auto;
  min-width: 0; /* 省略防止 */
  text-align: left;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 12px;
  line-height: 1.6;
  color: #000;
  text-wrap: balance; /* 対応ブラウザで見やすい折り返し */
}

/* =========================
   スマホ（展開式 / 矢印表示）
   ========================= */
@media (max-width: 750px) {
  /* 位置・幅の微調整 */
  .fixed-event-box {
    right: 12px;
    bottom: 12px;
    width: calc(100vw - 24px);
  }

  /* 矢印はSPのみ表示。文字に重ならないよう右パディングを確保 */
  .fixed-event-tag {
    padding-right: 26px;
    position: absolute;
    top: -30px;
    transition: top 0.3s ease;
  }
  .fixed-event-box.is-open .fixed-event-tag {
    top: -12px;
  }
  .fixed-event-tag::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    width: 8px;
    height: 8px;
    margin-top: -7px;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(45deg); /* ▼（閉） */
    transition: transform 0.3s ease;
    pointer-events: none;
  }
  .fixed-event-box.is-open .fixed-event-tag::after {
    transform: rotate(-135deg); /* ▲（開） */
    margin-top: -2px;
  }

  /* 閉時：完全に畳む（高さ0・透明・パディング0・背景/影なし） */
  .fixed-event-box:not(.is-open) .fixed-event-list {
    max-height: 0;
    opacity: 0;
    padding: 0;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
    transition:
      max-height 0.3s ease,
      opacity 0.3s ease,
      padding 0.3s ease;
  }

  /* 開時：背景/影/パディングを付けて表示（max-heightはJSで自然高を設定） */
  .fixed-event-box.is-open .fixed-event-list {
    opacity: 1;
    pointer-events: auto;
    background: #fff;
    box-shadow:
      0 8px 28px rgba(0, 0, 0, 0.18),
      0 2px 8px rgba(0, 0, 0, 0.08);
    padding: 14px;
    transition:
      max-height 0.3s ease,
      opacity 0.3s ease,
      padding 0.3s ease;
  }
}

/* =========================
   アニメ軽減ユーザー配慮
   ========================= */
@media (prefers-reduced-motion: reduce) {
  .fixed-event-box:not(.is-open) .fixed-event-list,
  .fixed-event-box.is-open .fixed-event-list {
    transition: none;
  }
}

/* =========================================================
   KKD Header — Full CSS
   PC: 左ロゴ / 中央メニュー / 右CONTACT（常時）
   SP: ハンバーガー → オーバーレイメニュー
   ========================================================= */

/* 既定値（JSが実測値を入れる。なければ60px） */
:root {
  --hdr-h: 60px;
}

/* SP専用パーツは初期状態で非表示（PCで出ないように） */
.overlay-head,
.utility-cards,
.overlay-cta {
  display: none;
}

/* ========== ヘッダー骨格 ========== */
#h-top {
  position: fixed;
}
.kkd-header {
  position: fixed;
  top: var(--adminbar-h);
  left: 0;
  right: 0;
  z-index: 2000;
  display: grid;
  grid-template-columns: 140px 1fr auto;
  align-items: center;
  gap: 16px;
  padding: 20px 5%;
}
@media (max-width: 920px) {
  .kkd-header {
    grid-template-columns: 140px auto;
  }
}

/* 本文を押し下げ（潜り込み防止） */
body {
  padding-top: calc(var(--hdr-h));
}

/* WP管理バー対応 */
body.admin-bar {
  --adminbar-h: 32px;
}
@media (max-width: 782px) {
  body.admin-bar {
    --adminbar-h: 46px;
  }
}

@media (min-width: 960px) {
  /* SPオーバーレイ用の指定を完全リセット */
  #site-nav.primary-nav {
    align-self: center; /* グリッド内で上下中央 */
  }
}

/* SPオーバーレイは固定ヘッダーの下から */
@media (max-width: 920px) {
  .primary-nav {
    position: fixed;
    inset: calc(var(--adminbar-h)) 0 0 0;
  }
}

/* アンカーリンクがヘッダーに隠れないように */
html {
  scroll-padding-top: calc(var(--hdr-h) + var(--adminbar-h));
}

/* ロゴ */
.kkd-logo img {
  display: block;
  height: auto;
}

/* 右側：CONTACT常時表示＋ハンバーガー */
.kkd-right {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-left: auto;
}
.btn-contact {
  display: inline-block;
  padding: 4px 10px;
  background: #000;
  color: #fff;
  border-radius: 9999px;
  font-family: district-pro, sans-serif;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.2em;
  line-height: 1;
  text-decoration: none;
}
.btn-contact:focus-visible {
  outline: 2px solid #111;
  outline-offset: 2px;
}

/* ハンバーガー */
.nav-toggle {
  inline-size: 30px;
  block-size: 17px;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  margin-bottom: 0px;
  padding: 0px;
}
.nav-toggle-box {
  inline-size: 30px;
  block-size: 1px;
  background: #000;
  box-shadow:
    0 8px 0 #000,
    0 -8px 0 #000;
}

/* 共通：メニューリセット */
.primary-menu,
.primary-menu .sub-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.primary-menu a {
  text-decoration: none;
}

/* --- PC(>=920px)：ENのみ表示、JPは非表示 --- */
@media (min-width: 920px) {
  .primary-menu .en {
    display: inline;
  }
  .primary-menu .jp {
    display: none;
  }
}

/* --- SP(<920px)：ENとJPを両方表示 --- */
@media (max-width: 920px) {
  .primary-menu .en,
  .primary-menu .jp {
    display: block;
  }

  /* SPの行レイアウト（左EN / 右JP にしたい場合） */
  .primary-menu > li > a {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 14px;
  }
  .primary-menu > li > a .en {
    grid-column: 1;
    font-family: district-pro, sans-serif;
  }
  .primary-menu > li > a .jp {
    grid-column: 2;
    justify-self: end;
    font-family: "a-otf-ud-reimin-pr6n", serif;
    font-size: 12px;
    opacity: 0.9;
  }
}

/* RECRUITのドットは .en 内で横並びにする */
.recruit-dot-on .menu-item-recruit > a .en {
  display: inline-flex;
  align-items: center;
  gap: 6px; /* ドットと文字の間隔 */
}

/* ドット本体 */
@media (min-width: 920px) {
  .recruit-dot-on .menu-item-recruit > a .en::before {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #777;
    transform: translateY(0px); /* 見た目の芯合わせ（任意） */
  }
}
@media (max-width: 920px) {
  .recruit-dot-on .menu-item-recruit > a .en::after {
    content: "";
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #777;
    transform: translateY(0px); /* 見た目の芯合わせ（任意） */
  }
}

/* サブメニュートグル（∨）共通スタイル */
.submenu-toggle {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
  width: 38px;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.submenu-toggle::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-right: 1.8px solid #111;
  border-bottom: 1.8px solid #111;
  transform: rotate(45deg);
  margin: 0 auto;
}
.submenu-toggle[aria-expanded="true"]::before {
  transform: rotate(-135deg);
}

/* ========== PC（>=921px） ========== */
@media (min-width: 921px) {
  header nav {
    position: relative;
    width: auto;
    display: block;
  }
  .nav-toggle {
    display: none;
  } /* PCではハンバーガー非表示 */
  .primary-nav {
    justify-self: end;
  } /* 中央配置 */

  .primary-menu {
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .primary-menu > li {
    position: relative;
  }
  .primary-menu > li > a {
    display: block;
    padding: 8px 0;
    font-size: 12px;
    letter-spacing: 0.2em;
  }
  .primary-menu .jp {
    font-size: 12px;
    margin-top: 2px;
    letter-spacing: normal;
  }

  /* ドロップダウン */
  .primary-menu .sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-inline-size: 220px;
    background: #fff;
    border: 1px solid #eee;
    padding: 10px;
    display: none;
    gap: 6px;
  }
  .primary-menu li:where(:hover, :focus-within) > .sub-menu {
    display: block;
  }

  /* PCでは∨ボタンは不要 */
  .submenu-toggle {
    display: none;
  }

  /* SP専用はPCでずっと非表示 */
  .overlay-head,
  .utility-cards,
  .overlay-cta {
    display: none !important;
  }
}

/* ========== SP（<920px） ========== */
@media (max-width: 920px) {
  header nav {
    width: 100%;
    display: block;
  }
  /* オーバーレイ本体（ヘッダー高さに追従） */
  .primary-nav {
    position: fixed;
    inset: var(--adminbar-h) 0 0 0;
    background: #ececec;
    transform: translateY(-8px);
    opacity: 0;
    pointer-events: none;
    transition:
      opacity 0.2s ease,
      transform 0.2s ease;
    z-index: 9999;
  }
  .primary-nav.is-open {
    opacity: 1;
    transform: none;
    pointer-events: auto;
  }

  .overlay-inner {
    padding: 20px 5%;
  }

  /* 見出し行（CONTENTS + X） */
  .overlay-head {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    padding: 0 10px;
  }
  .overlay-title {
    font-size: 12px;
    letter-spacing: 0.22em;
    color: #333;
  }
  .primary-nav .overlay-close {
    height: 20px;
    font-size: 0;
    padding: 0;
    margin-bottom: 0;
    background: none;
    border: transparent;
  } /* 文字は隠す */
  .primary-nav .overlay-close::before,
  .primary-nav .overlay-close::after {
    content: "";
    display: block;
    width: 30px;
    height: 1px;
    background: #000;
  }
  .primary-nav .overlay-close::before {
    transform: rotate(45deg);
  }
  .primary-nav .overlay-close::after {
    transform: rotate(-45deg);
    margin-top: -2px;
  }

  /* STYLE SHOP / REAL ESTATE の枠ボタン */
  .utility-cards {
    display: grid;
    gap: 10px;
    margin: 8px 0 16px;
  }
  .util-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    border: 1.5px solid #6f6f6f;
    color: #111;
    background: #efefef;
    text-decoration: none;
  }
  .util-sig {
    width: 64px;
    height: auto;
    opacity: 0.8;
  }
  .util-card span {
    letter-spacing: 0.18em;
    font-size: 12px;
  }

  /* メニュー本体（左EN・右JP・右端∨） */
  .primary-menu {
    display: grid;
    gap: 0;
  }
  .primary-menu > li {
    position: relative;
    border-bottom: 1px solid #bdbdbd;
  }
  .primary-menu > li > a {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 14px;
    padding: 14px 10px;
    font-size: 14px;
    letter-spacing: 0.2em;
  }
  .primary-menu .jp {
    font-size: 12px;
    color: #000;
  }

  /* サブメニュー（左に縦ルール） */
  .primary-menu .sub-menu {
    padding: 8px 0 10px 12px;
    border-left: 2px solid #d4d4d4;
  }
  .primary-menu .sub-menu li a {
    display: block;
    padding: 8px 0;
    font-size: 14px;
    letter-spacing: normal;
  }

  /* SP専用要素を表示へ */
  .overlay-head,
  .overlay-cta {
    display: block;
  }

  /* 下部の黒いCONTACT */
  .overlay-cta {
    width: 100%;
    margin-top: 24px;
    padding: 14px 0 12px;
    background: #000;
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 0px;
  }
  .overlay-cta .en {
    display: block;
    letter-spacing: 0.18em;
  }
  .overlay-cta .jp {
    display: block;
    font-family: "a-otf-ud-reimin-pr6n", serif;
    font-size: 12px;
    letter-spacing: 0.2em;
    margin-top: 4px;
  }
}

/* 1) 固定化した .kkd-header の親ラッパを完全に潰す（高さ・余白・背景） */
#header,
#header-in {
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* 2) さらにその上位（<header> 要素）にも余白があれば消す */
header[itemtype="http://schema.org/WPHeader"] {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* 3) 最初のコンテンツが上マージンを持っていても“重なって”見えないよう保険
   （body に padding-top を入れているので通常は不要だが、親テーマ次第で効くことあり） */
body > :not(header):first-child {
  margin-top: 0;
}
/* ===== PCでのメニュー位置ズレ矯正 ===== */
@media (min-width: 921px) {
  /* SPオーバーレイ用の指定を完全リセット */
  #site-nav.primary-nav {
    position: static !important;
    top: auto !important;
    inset: auto !important;
    transform: none !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    align-self: center; /* グリッド内で上下中央 */
    display: flex; /* 中身を縦中央に */
    align-items: center;
  }

  /* 親テーマの ul.menu 初期マージン/line-height を打ち消し */
  .primary-menu {
    display: flex;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1; /* でかい行間を無効化 */
  }

  .primary-menu > li {
    position: relative; /* ドロップダウン基準 */
    margin: 0 !important;
  }

  /* アンカー自体を縦中央に */
  .primary-menu > li > a {
    display: inline-flex; /* baselineのズレを回避 */
    align-items: center;
    line-height: 1;
    padding: 8px 0;
  }

  /* 念のため：SP専用UIはPCで常に非表示 */
  .overlay-head,
  .utility-cards,
  .overlay-cta {
    display: none !important;
  }
}

/* ========== 配慮 ==========
   旧テーマのfloat/clearfixの影響を受けにくくするための保険
   ============================================ */
#h-top:after,
.kkd-header:after {
  content: none !important;
}
.primary-nav:after {
  content: none !important;
}

/* 動きを最小化したいユーザー向け */
@media (prefers-reduced-motion: reduce) {
  .primary-nav {
    transition: none;
  }
}

/************************************
** フッターSNS
************************************/
#copyright .sns-pages ul.snsp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
#copyright .sns-pages ul li:nth-last-child(1) {
  margin: 0 0 0 0;
}

#copyright .sns-pages ul.snsp li a span {
  display: block;
  width: 22px;
  height: 100%;
}
#copyright .sns-pages ul.snsp li a span img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 750px) {
  #copyright .sns-pages ul.snsp li a span {
    width: 40px;
    height: 40px;
  }
}

/************************************
** 投稿・ページ
************************************/

.fs20 {
  font-size: 20px;
}
.fs18 {
  font-size: 18px;
}
.fs16 {
  font-size: 16px;
}
.fs14 {
  font-size: 14px;
}
.fs12 {
  font-size: 12px;
}

.layout-box1,
.layout-box2,
.layout-box3 {
  position: relative;
  width: 100%;
}

.entry-content img {
  display: block;
}

/* figureは基本フル幅 */
.entry-content figure {
  max-width: 100%;
  margin: 40px auto;
}

/* 縦長判定のfigureだけ幅を縮小して中央寄せ */
.entry-content figure.is-portrait {
  width: 60%;
  max-width: 100%;
  margin: 40px auto; /* 既存のfigure余白に合わせて調整可 */
}

/* figure内の画像は幅100%にして追従 */
.entry-content figure.is-portrait > img,
.entry-content figure.is-portrait .wp-block-image > img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0; /* img側の中央寄せは不要 */
}

/* キャプションはfigure基準で左揃え（＝画像左端に揃う） */
.entry-content figure.is-portrait figcaption {
  text-align: left;
}

/* SP */
@media (max-width: 600px) {
  .entry-content figure.is-portrait {
    width: 100%;
  }
}

.page article h2 {
  line-height: 1.6;
  margin: 0;
}

#line_add {
  height: 35px;
  width: 112px;
}

#line_QR {
  height: 200px;
  width: 200px;
}

/* 共通ボタン */
.btn-wrap {
  width: 100%;
}
.btn-wrap .btnL {
}
.btn-wrap .btnL a {
  display: block;
  font-family: district-pro, sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 14px;
  color: #000;
  text-align: center;
  margin: 0 auto;
  padding: 30px;
  border: 1px solid #000;
  letter-spacing: 0.2em;
}

.btn-single {
  width: inherit;
}
.btn-single a {
  display: block;
  font-family: district-pro, sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 12px;
  color: #000;
  text-align: center;
  margin: 0 auto;
  padding: 18px;
  letter-spacing: 0.2em;
  border: 1px solid #000;
}
.btn-single2 {
  width: inherit;
}
.btn-single2 a {
  display: block;
  font-family: district-pro, sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 12px;
  color: #000;
  text-align: center;
  margin: 0 auto;
  padding: 13px;
  letter-spacing: 0.2em;
  border: 1px solid #000;
}

/* 矢印 */
a.arrow1 {
  position: relative;
}
a.arrow1:before {
  content: " ";
  position: absolute;
  left: -20px;
  width: 39px;
  height: 10px;
  background: url(images/arrow1_right.svg) no-repeat left top;
  background-size: cover;
  margin: 0;
}
a.arrow1b:before {
  content: " ";
  position: absolute;
  left: -20px;
  width: 39px;
  height: 19px;
  background: url(images/arrow1_right.svg) no-repeat left top;
  background-size: cover;
  margin: 0;
}

a.arrow2:before {
  content: " ";
  display: inline-block;
  width: 5px;
  height: 8px;
  background: url(images/arrow2.svg) no-repeat left center;
  background-size: cover;
  margin-right: 10px;
}

.arrow3 {
  position: absolute;
  right: 10px;
  top: 27px;
  display: inline-block;
  padding-left: 20px;
}

.arrow3::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  -ms-transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}

/* PC */
@media screen and (min-width: 751px) {
  .pc-only {
    display: block;
  }
  .sp-only {
    display: none;
  }
}

/* タブレット */
@media screen and (min-width: 751px) and (max-width: 960px) {
  .pc-only {
    display: block;
  }
  .sp-only {
    display: block;
  }
}

/* スマホ */
@media screen and (max-width: 750px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}

/************************************
** 共通パーツ
************************************/

.sec_inner {
  position: relative;
  max-width: 920px;
  width: 90%;
  margin: 0 auto;
}

/* スマホ */
@media screen and (max-width: 750px) {
  .sec_inner {
    width: 90%;
  }
}

/************************************
** HOME(home)
************************************/

.home {
}

/* keyvisual */
.home #keyvisual {
  position: relative;
  background-color: #ececec;
  width: 90%;
  padding: 0 5%;
}
.home #keyvisual img {
  /*display: block;*/
}
.home #keyvisual .kv {
  /*background: url(images/keyvisual01.jpg) no-repeat center center;
	background-posotion: center center;
	background-repeat: no-repeat;*/
  background-posotion: center center;
  background-size: cover;
  width: 100%;
  height: 75vh;
  /*max-width: 1170px;*/
  margin: 0 auto;
  /*overflow: visible;*/
}
.home #keyvisual .kv {
  background-posotion: center center;
}
.home #keyvisual > div {
  z-index: 0 !important;
  background-position: center center !important;
}
.home #keyvisual .symbol {
  position: absolute;
  left: 0;
  bottom: -5vw;
  width: 30vw;
}

/* concept */
.home #concept {
  background-color: #ececec;
  padding: 100px 0 50px 0;
}
.home #concept .sec_inner {
  position: relative;
  width: 80%;
  max-width: 840px;
  padding: 0 40px 100px 40px;
}
.home #concept .sec_inner h2 {
  position: absolute;
  right: 80px;
  top: 0;
  font-size: 28px;
  line-height: 2;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.home #concept .sec_inner .pc-only {
  display: inline;
}
.home #concept .sec_inner p {
  line-height: 2.4;
  margin: 0;
  padding-top: 70px;
}
.home #concept .sec_inner .btn-single {
  position: absolute;
  right: 60px;
  bottom: 60px;
  width: 160px;
}

/* event */
.home #event {
  width: 100%;
  background-color: #ececec;
  margin: 0;
  padding: 0 0 80px 0;
}
.home #event .sec_inner {
  position: relative;
  display: grid;
  grid-template-columns: 100px 30px 1fr;
  gap: 50px;
  max-width: 920px;
  width: 90%;
}
.home #event h2 {
  width: 100%;
  text-align: left;
  margin: 0;
}
.home #event h2 span {
  font-weight: 200;
}
.home #event ul {
  width: auto;
  gap: 30px;
}
.home #event ul a {
}
.home #event ul li {
  float: left;
  width: 100%;
  max-width: 690px;
  display: grid;
  grid-template-columns: 170px 1fr 1fr 1fr;
  grid-template-rows: 60px 60px;
  background-color: #fff;
  list-style-type: none;
  margin-bottom: 30px;
  letter-spacing: 0.2em;
}
.home #event ul li img {
  display: block;
  width: auto;
  height: 120px;
  object-fit: cover;
}
.home #event ul a li span {
  display: block;
}
.home #event ul a li .event_subcat {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  padding: 16px 16px 0 16px;
}
.home #event ul a li .event_subcat .en {
  font-size: 10px;
}
.home #event ul a li .event_subcat .jp {
  font-size: 12px;
}
.home #event ul a li .status {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  align-self: end;
  padding: 0 16px 16px 16px;
}
.home #event ul a li .status span {
  width: 74px;
  height: 20px;
  padding: 3px 5px;
  font-size: 10px;
  text-align: center;
  line-height: 20px;
}
.home #event ul a li .status span.open {
  color: #fff;
  background-color: #000;
}
.home #event ul a li .status span.close {
  color: #000;
  background-color: transparent;
  border: solid 1px #000;
}
.home #event ul a li span.event_title {
  grid-column: 3 / 5;
  grid-row: 1 / 2;
  padding: 16px 16px 0 16px;
  font-size: 16px;
}
.home #event ul a li .event_info {
  grid-column: 3 / 5;
  grid-row: 2 / 3;
  align-self: end;
  padding: 16px;
}
.home #event ul a li span.event_date {
  font-size: 12px;
}
.home #event ul a li span.event_location {
  font-size: 10px;
  color: #929292;
  letter-spacing: 0.1em;
}
.home #event .btn-single {
  grid-column: 3 / 4;
  grid-row: 2 / 3;
  width: 200px;
  margin: 0px 0px 0px auto;
}
/* タブレット */
@media (max-width: 920px) {
  .home #event .sec_inner {
    grid-template-columns: 50px 1fr;
    grid-template-rows: 40px auto;
    justify-content: start;
    gap: 20px 40px;
  }
  .home #event .sec_inner h2.f01 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }
  .home #event .sec_inner h2.f02 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    line-height: 1;
  }
  .home #event .sec_inner ul {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
  }
  .home #event .btn-single {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
    margin: 0px auto 0px auto;
  }
}
/* スマホ */
@media (max-width: 750px) {
  .home #event .sec_inner {
    grid-template-columns: 30px 1fr;
    grid-template-rows: 40px auto;
    justify-content: start;
    gap: 20px 20px;
  }
  .home #event ul li {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr auto auto auto;
    background-color: #fff;
    list-style-type: none;
    letter-spacing: 0.2em;
  }
  .home #event ul li img {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    width: 100%;
    height: auto;
  }
  .home #event ul a li .event_subcat {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .home #event ul a li .status {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    justify-self: end;
    align-self: start;
    padding: 16px 16px 0 16px;
  }
  .home #event ul a li span.event_title {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
  }
  .home #event ul a li .event_info {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
}

/* WORKS */
.home #works {
  width: 100%;
  background-color: #ececec;
  margin: 0;
  padding: 0 0 80px 0;
}
.home #works .sec_inner {
  position: relative;
  max-width: 920px;
  width: 90%;
}
.home #works h2 {
  width: 100%;
  text-align: center;
  margin: 15px 0;
}
.home #works h2 span {
  font-weight: 200;
}
.home #works ul {
  margin-top: 50px;
}

.home #works ul li {
  float: left;
  width: 45.4%;
  aspect-ratio: 418 / 280;
  background-color: #fff;
  list-style-type: none;
  margin-bottom: 2%;
  padding: 1.8% 1.8% 2.4% 1.8%;
}
.home #works ul li img {
  display: block;
  width: 100%;
  aspect-ratio: 418 / 280;
  height: auto;
  margin-bottom: 20px;
  object-fit: cover;
}
.home #works ul li:nth-child(even) {
  float: right;
}
.home #works ul li a span {
  display: block;
}
.home #works ul li a span.works_title {
  float: left;
  font-size: 16px;
  padding: 2.5px 0;
  letter-spacing: 0.1em;
  width: calc(100% - 90px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.home #works ul li a span.works_type {
  float: right;
  font-size: 11px;
  text-align: right;
}
.home #works .btn-single {
  width: 200px;
  margin: 40px auto 0 auto;
}

/* スマホ */
@media screen and (max-width: 750px) {
  .home #keyvisual .kv {
    background-position: center center;
  }
  .home #works ul li img {
    min-height: inherit;
  }
  .home #works ul li a span.works_title {
    width: auto;
    overflow: inherit;
    text-overflow: inherit;
    white-space: inherit;
  }
}

/* interview */
.home #interview {
  width: 100%;
  background-color: #ececec;
  margin: 0;
  padding: 0 0 80px 0;
}
.home #interview .sec_inner {
  position: relative;
  display: grid;
  grid-template-columns: 30px 1fr;
  grid-template-rows: auto auto auto auto;
  gap: 30px;
  max-width: 920px;
  width: 90%;
}

.home #interview h2 {
  width: 100%;
  text-align: left;
  margin: 0;
}
.home #interview h2 span {
  font-weight: 200;
}
.home #interview ul {
  width: auto;
  gap: 30px;
}
.home #interview .sec_inner h2.f01 {
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}
.home #interview .sec_inner p {
  grid-column: 1 / 3;
  grid-row: 2 / 3;
  margin: 0 0 20px 0;
}
.home #interview .sec_inner h2.f02 {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
  line-height: 1;
}
.home #interview .sec_inner ul {
  grid-column: 2 / 3;
  grid-row: 3 / 4;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
}
.home #interview ul li {
  float: left;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  list-style-type: none;
  margin-bottom: 30px;
  letter-spacing: 0.2em;
}
.home #interview ul li img {
  display: block;
  aspect-ratio: 3 / 2;
  width: 100%;
  height: auto;
  object-fit: cover;
  margin-bottom: 14px;
}
.home #interview ul a li span {
  display: block;
}
.home #interview ul a li .title {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  margin-bottom: 10px;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 16px;
}
.home #interview ul a li .date {
  grid-column: 1 / 2;
  grid-row: 3 / 4;
  font-size: 11px;
  color: #929292;
}
.home #interview .btn-single {
  grid-column: 1 / 3;
  grid-row: 4 / 5;
  width: 200px;
  margin: 0px auto 0px auto;
}
/* タブレット */
@media (max-width: 920px) {
  .home #interview .sec_inner {
    grid-template-columns: 30px 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 20px 40px;
  }
  .home #interview .sec_inner h2.f01 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
  }
  .home #interview .sec_inner h2.f02 {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    line-height: 1;
  }
  .home #interview .sec_inner ul {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
  }
  .home #interview .btn-single {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
}
/* スマホ */
@media (max-width: 750px) {
  .home #interview .sec_inner {
    grid-template-columns: 30px 1fr;
    grid-template-rows: 40px auto auto auto;
    justify-content: start;
    gap: 20px 20px;
  }
  .home #interview .sec_inner ul {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .home #interview ul li img {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    width: 100%;
    height: auto;
  }
  .home #interview ul a li .interview_subcat {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .home #interview ul a li .status {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    justify-self: end;
    align-self: start;
    padding: 16px 16px 0 16px;
  }
  .home #interview ul a li span.interview_title {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
  }
  .home #interview ul a li .interview_info {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
}

/* BLOG */
.home #blog {
  width: 100%;
  background-color: #fff;
  padding: 80px 0 80px 0;
}
.home #blog .sec_inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 30px 170px;
  grid-template-rows: auto auto;
  gap: 30px;
  max-width: 920px;
  width: 90%;
}
.home #blog h2 {
  width: 100%;
  text-align: left;
  margin: 0;
}
.home #blog h2 span {
  font-weight: 200;
}
.home #blog ul {
  width: auto;
  gap: 30px;
}
.home #blog .sec_inner h2.f01 {
  grid-column: 3 / 4;
  grid-row: 1 / 2;
}
.home #blog .sec_inner h2.f02 {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  line-height: 1;
}
.home #blog .sec_inner ul {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  margin-right: 40px;
}
.home #blog ul li {
  float: left;
  width: 100%;
  display: grid;
  grid-template-columns: 150px 1fr;
  grid-template-rows: auto auto;
  list-style-type: none;
  background-color: #ececec;
  letter-spacing: 0.2em;
}
.home #blog ul li img {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  display: block;
  aspect-ratio: 1;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.home #blog ul a li span {
  display: block;
}
.home #blog ul a li .title {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  padding: 20px;
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 13px;
}
.home #blog ul a li .date {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  align-self: end;
  padding: 20px;
  font-size: 11px;
  color: #929292;
}
.home #blog .btn-single {
  grid-column: 2 / 4;
  grid-row: 2 / 3;
  align-self: end;
  width: 200px;
  margin: 0px auto 0px auto;
}
.home #blog .clearfix:after {
  content: none;
}
/* タブレット */
@media (max-width: 920px) {
  .home #blog .sec_inner ul {
    margin-right: 20px;
  }
}
/* スマホ */
@media (max-width: 750px) {
  .home #blog .sec_inner {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 30px;
  }
  .home #blog .sec_inner h2.f01 {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    text-align: right;
  }
  .home #blog .sec_inner h2.f02 {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    text-align: right;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }
  .home #blog .sec_inner ul {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    grid-template-columns: 1fr;
    gap: 30px;
    margin-right: 0;
  }
  .home #blog ul li {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    letter-spacing: 0.2em;
  }
  .home #blog ul li img {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }
  .home #blog ul a li .title {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    padding: 15px 15px 10px 15px;
    font-size: 13px;
  }
  .home #blog ul a li .date {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    align-self: end;
    padding: 0 15px 15px 15px;
    font-size: 11px;
  }
  .home #blog .btn-single {
    grid-column: 1 / 2;
    grid-row: 4 / 5;
    align-self: end;
    width: 200px;
    margin: 0px auto 0px auto;
  }
}

/* WORKFLOW / ABOUT */
.home #workflow-about {
  width: 100%;
  background-color: #ececec;
  margin: 0;
  padding: 60px 0;
  border-top: 1px solid #fff;
}
.home #workflow-about .sec_inner {
  position: relative;
  max-width: 920px;
  width: 90%;
}
.home #workflow-about ul li {
  float: left;
  width: 47%;
  padding-left: 10px;
}
.home #workflow-about ul li:nth-child(even) {
  float: right;
}

/* STYLE SHOP */
.home #styleshop {
  background-color: #fff;
  padding: 120px 0;
}
.home #styleshop .sec_inner {
  position: relative;
  max-width: 920px;
  width: 80%;
}
.home #styleshop h2 {
  position: relative;
  width: 70%;
  top: -20px;
}
.home #styleshop .box_img {
  float: left;
}
.home #styleshop .box_text {
  float: right;
}

.home .box_wrap {
  width: 100%;
  margin: 0;
  padding: 30px 0;
}
.home .box_wrap .box_img {
  width: 43%;
}
.home .box_wrap .box_text {
  width: 46%;
  font-size: 13px;
  line-height: 2;
}
.home .box_wrap .box_text p {
  margin: 0 0 48px 0;
}
.home .box_wrap .btn-single {
  width: 160px;
  margin: 0 auto;
}
.home .box_wrap .btn-single2 {
  width: 150px;
  margin: 0 auto;
}

/* REAL ESTATE */
.home #realestate {
  background-color: #ececec;
  padding: 120px 0;
}
.home #realestate .sec_inner {
  position: relative;
  max-width: 920px;
  width: 90%;
}
.home #realestate h2 {
  position: relative;
  width: 70%;
  top: -30px;
}
.home #realestate .box_img {
  float: right;
}
.home #realestate .box_text {
  float: left;
}

/* NEWS-INSTAGRAM */
.home #news-ig {
  background-color: #ececec;
  padding: 80px 0 115px 0;
}
.home #news-ig .sec_inner {
  position: relative;
  max-width: 920px;
  width: 90%;
}
.home #news-ig #news {
  position: relative;
  float: left;
  width: 46%;
}
.home #news-ig #news h2,
.home #news-ig #instagram h2 {
  font-size: 14px;
  margin: 0 0 30px 0;
}
.home #news-ig #news ul {
  margin: 0;
  padding: 0;
  border-top: 1px solid #000;
}
.home #news-ig #news ul li {
  list-style-type: none;
  width: 100%;
  margin: 0;
  padding: 20px 0;
  border-bottom: 1px solid #000;
}
.home #news-ig #news ul li a > span {
  float: left;
  width: 100%;
  padding: 0;
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.1em;
}
.home #news-ig #news ul li a > span span {
  font-size: 11px;
  color: #929292;
  padding-bottom: 8px;
}
.home #news-ig #news .text-link,
.home #news-ig #instagram .text-link {
  position: absolute;
  right: 0;
  top: 2px;
  font-size: 12px;
  line-height: 1;
}
.home #news-ig #instagram {
  position: relative;
  float: right;
  width: 46%;
}
.home #news-ig #instagram iframe {
  display: block;
  margin: 0 auto;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  /* keyvisual */
  .home #keyvisual {
    width: 100%;
    padding: 0;
    overflow: hidden;
  }
  .home #keyvisual .kv {
    width: 90%;
    height: 90vh;
    margin: 0 auto;
  }
  .home #keyvisual .symbol {
    position: absolute;
    left: 0;
    bottom: 40%;
    width: 100vw;
  }

  /* concept */
  .home #concept {
    padding: 100px 0 25px 0;
  }
  .home #concept .sec_inner {
    width: 90%;
    padding: 0 5% 25px 5%;
  }
  .home #concept .sec_inner h2 {
    position: inherit;
    right: inherit;
    top: inherit;
    font-size: 28px;
    text-align: center;
    -webkit-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
  }
  .home #concept .sec_inner .pc-only {
    display: none;
  }
  .home #concept .sec_inner p {
    line-height: 2.4;
    margin: 50px 0;
    padding: 0;
  }
  .home #concept .sec_inner .btn-single {
    position: inherit;
    right: inherit;
    bottom: inherit;
    width: 60%;
    margin: 0 auto;
  }

  /* WORKS */
  .home #works {
    padding: 0 0 80px 0;
  }
  .home #works h2 {
  }
  .home #works ul li {
    float: none !important;
    width: 92%;
    margin-bottom: 4%;
    padding: 4%;
  }

  /* WORKFLOW / ABOUT */
  .home #workflow-about ul li {
    float: none !important;
    width: 95%;
    margin-bottom: 10px;
    padding-left: 5%;
  }

  /* STYLE SHOP */
  /* REAL ESTATE */
  .home .box_wrap {
    width: 100%;
    padding: 60px 0 !important;
  }
  .home .box_wrap h2 {
    position: relative;
    width: 70%;
    top: 0 !important;
  }
  .home .box_wrap .box_img {
    float: none;
    width: 100%;
  }
  .home .box_wrap .box_text {
    float: none;
    width: 100%;
  }
  .home .box_wrap .box_text h2 {
    margin: 20px 0;
  }
  .home .box_wrap .box_text p {
    margin: 0 0 20px 0;
  }
  .home .box_wrap .btn-single {
    width: 160px;
  }

  /* BLOG */
  .home #news-ig {
    padding: 60px 0;
    overflow: hidden;
  }
  .home #news-ig #news {
    position: relative;
    float: none;
    width: 100%;
  }
  .home #news-ig #news ul li {
    padding: 20px 0;
  }
  .home #news-ig #instagram {
    float: none;
    display: block !important;
    width: 100%;
    margin: 50px auto 0 auto;
    overflow: hidden;
  }
}

/* CONTACT セクション全体 */
#contact {
  position: relative;
  background-size: cover;
  background-position: center;
  height: 60vh; /* 必要に応じて調整 */
  color: #fff;
}

/* 黒の半透明フィルター */
.contact-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5); /* 半透明の黒 */
  display: flex;
  justify-content: center;
  align-items: center;
}

/* コンテンツ配置 */
.contact-content {
  text-align: center;
  max-width: 800px;
  padding: 0 30px;
}

/* 見出し */
.contact-heading {
  font-size: 20px;
  margin-bottom: 120px;
  font-family: district-pro, sans-serif;
  font-weight: 300;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

/* 説明文 */
.contact-description {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 120px;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  letter-spacing: 0.1em;
}
/* スマホ */
@media screen and (max-width: 750px) {
  #contact {
    height: 80vh; /* 必要に応じて調整 */
  }
  .contact-heading {
    font-size: 18px;
  }
  .contact-description {
    font-size: 14px;
  }
}

/* ボタン */
.contact-button {
  display: inline-block;
  padding: 15px 30px;
  background-color: #ffffff;
  color: #000;
  text-decoration: none;
  font-size: 14px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.contact-button:hover {
  background-color: #f5f5f5;
}

#contact .arrow1 {
  color: #fff;
  border-color: #fff;
}
#contact .arrow1::before {
  background: url(images/arrow1_right_white.svg) no-repeat left top;
}

/************************************
** COMMON STYLE
************************************/

.page main article .eye-catch {
  width: 90%;
  margin: 0 auto;
}

.page #the-content {
  width: 920px;
  max-width: 90%;
  font-size: 16px;
  margin: 0 auto;
}

.single #the-content {
  width: 80%;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
  font-size: 16px;
  line-height: 2;
  margin: 0 auto;
}

.category .page-header,
.single .page-header,
.page .page-header,
.archive .page-header {
  position: relative;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto;
  gap: 30px;
  justify-content: space-between;
  width: 920px;
  max-width: 90%;
  margin: 0 auto 60px auto;
  margin-top: 20px;
}
.category .page-header #archive-title,
.single .page-header .entry-title,
.page .page-header .entry-title,
.archive .page-header #archive-title {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  font-size: 24px;
  line-height: 1.8;
  text-align: left;
  margin: 0;
  padding: 0;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.page-header .lead {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  justify-self: right;
  width: calc((100% + 120px) * 0.75);
  line-height: 2.2;
  margin-top: 80px;
}
.page-header .lead span.f01 {
  /*float: right;*/
  text-align: right;
  display: block;
  margin-bottom: 2em;
}
.vertical {
  -webkit-writing-mode: vertical-lr;
  -ms-writing-mode: tb-lr;
  writing-mode: vertical-lr;
  letter-spacing: 0.3em;
}
.page-header .lead h2 {
  margin-bottom: 1em;
}
.page-header .lead p,
.page-header .lead .text {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
  margin-top: 1em;
}

.item-list1 {
  width: 100%;
}
.item-list1 .item {
  float: left;
  width: 32%;
  margin: 0 2% 4% 0;
}
.item-list1 .item:nth-child(3n) {
  margin-right: 0 !important;
  margin-left: 0 !important;
}
.item-list1 .item .item-img img {
  width: 100%;
}
.item-list1 .item dl dt {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
  letter-spacing: 0.2em;
  font-size: 16px;
  margin: 1em 0 !important;
}

.entry-content .btn-single {
  clear: both;
  width: 300px;
  max-width: 90%;
  margin: 50px auto 100px auto;
}
.entry-content .btn-single a {
  /*font-family: UD Reimin Light; letter-spacing: .2em;*/
  font-family: district-pro, sans-serif;
  font-size: 14px;
  padding: 20px;
}

/* table style */
.tbl-style1 {
  width: 100%;
  margin: 0 !important;
  border: none;
  /*border-top: 1px solid #fff;*/
}
.tbl-style1 th,
.tbl-style1 td {
  background-color: transparent;
  padding: 20px 0;
  border: none;
  border-bottom: 1px solid #000;
}
.tbl-style1 tr:last-child th,
.tbl-style1 tr:last-child td {
  border-bottom: none;
}
.tbl-style1 th {
  width: 20%;
  vertical-align: top;
  text-align: left;
}
.tbl-style1 td {
  width: 70%;
}

/* PC */
@media screen and (min-width: 751px) {
  .page-header .entry-title .pc-only {
    display: inline;
  }
  .page-header .entry-title .sp-only {
    display: none;
  }
}

/* タブレット */
@media screen and (max-width: 920px) {
  #the-content {
    width: 90%;
  }

  .page main article .eye-catch {
    width: 100%;
  }
}

/* スマホ */
@media screen and (max-width: 750px) {
  .page-header .entry-title {
    left: -10px !important;
    top: 30px;
    font-size: 22px;
  }
  .page-concept-child .lead {
    margin-top: 60px;
  }
  .page-header .lead {
    width: 80%;
    margin-top: 0;
  }

  .page-header .entry-title {
    left: 0px !important;
    top: 30px;
    font-size: 22px;
  }

  .page-header .entry-title .pc-only {
    display: none;
  }
  .page-header .entry-title .sp-only {
    display: inline;
  }

  #the-content {
    width: 90%;
  }
  .single #the-content {
    font-size: 14px;
  }
  .category .page-header,
  .single .page-header,
  .page .page-header,
  .archive .page-header {
    max-width: 100%;
  }
  .page-header {
    /*min-height: 200px;*/
    margin-bottom: 30px;
  }
  .page-header .lead {
    width: 100%;
    margin-top: 30px !important;
  }

  .tbl-style1 th,
  .tbl-style1 td {
    width: 100%;
    display: block;
  }

  .item-list1 {
    width: 100%;
  }
  .item-list1 .item {
    float: none;
    width: 100%;
    margin: 0 0 4% 0;
  }
  .item-list1 .item:nth-child(3n) {
    margin-right: 0;
    margin-left: 0 !important;
  }
}

/************************************
** ABOUT
************************************/

.page-about {
}
.page-about #the-content {
  width: 100%;
  max-width: inherit;
}
.page-about .page-header {
  width: 920px;
  max-width: 80%;
  margin-top: 50px !important;
  margin-bottom: 50px !important;
}
.page-about .page-header .sign {
  float: right;
  margin: 50px 0;
}
.page-about #company-profile,
.page-about .item-list1 {
  width: 920px;
  margin: 0 auto;
}
.page-about #company-profile {
  padding-bottom: 0px;
}
.page-about section.wide {
  width: 100%;
  background-color: #fff;
  padding-top: 50px;
}
.page-about .item-list1 {
  width: 920px;
  max-width: 90%;
}
.page-about .item-list1 h2 {
  margin: 0 0 50px 0;
  font-size: 14px;
}
.page-about .item-list1 .item {
  position: relative;
  width: 40%;
  margin: 0 15% 8% 0;
  padding: 0;
}
.page-about .item-list1 .item:nth-child(3) {
  margin-right: 0;
}
.page-about .item-list1 .item dl dt {
  position: absolute;
  height: 423px;
  right: -2em;
  top: -1.5em;
  font-size: 24px;
  margin: 0 !important;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.page-about .item-list1 .item dl dt span {
  display: inline-block;
  font-size: 12px;
  margin-top: 20px;
}
.page-about .item-list1 .item dl dd {
  font-size: 14px;
  line-height: 1.8;
  margin-top: 1em !important;
  letter-spacing: 0.1em;
}
#company-profile {
  width: 920px;
  max-width: 90%;
  border-top: 1px solid #000;
}

#company-profile .about-item {
  position: relative;
  width: 100%;
  padding: 20px 0;
  border-bottom: 1px solid #000;
  cursor: pointer;
}
#company-profile .about-item .title {
  float: left;
  width: 10%;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
#company-profile .about-item .detail {
  float: right;
  width: 80%;
  padding: 5% 0 0 0;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
  display: none;
}
#company-profile .about-item .detail table th,
#company-profile .about-item .detail table td {
  border-color: #fff;
}

/*アイコンの＋と-*/
.page-about #company-profile .about-item {
  position: relative;
}

.page-about #company-profile .about-item .title::before,
.page-about #company-profile .about-item .title::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 1px;
  background-color: #333;
}
.page-about #company-profile .about-item .title::before {
  top: 33px;
  right: 15px;
  transform: rotate(0deg);
  transition: all 0.3s ease-out;
}
.page-about #company-profile .about-item .title::after {
  top: 33px;
  right: 15px;
  transform: rotate(-90deg);
  transition: all 0.3s ease-out;
}
/*　closeというクラスがついたら形状変化　*/
.page-about #company-profile .about-item.open .title::before {
  transform: rotate(0deg);
}
.page-about #company-profile .about-item.open .title::after {
  transform: rotate(0deg);
}

.page-about #company-info {
  width: 920px;
  max-width: 90%;
  height: auto;
  margin: 0px auto 50px auto;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
.page-about #company-info .info-wrap {
  position: relative;
  width: 100%;
  height: auto;
  padding: 20px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-between;
}
.page-about #company-info .info-wrap:nth-child(1) {
  border-bottom: 1px solid #000;
}
.page-about #company-info .info-wrap .head {
  width: 10%;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
.page-about #company-info .info-wrap .head span {
  display: inline-block;
}
.page-about #company-info .info-wrap .list {
  width: 80%;
  padding: 0 0 0 0;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
.page-about #company-info .info-wrap .list dl {
  margin-bottom: 25px;
}
.page-about #company-info .info-wrap .list dt {
  font-weight: normal;
}
.page-about #company-info .info-wrap .list dd {
  font-size: 14px;
  text-indent: 1em;
}
.page-about #company-info .info-wrap .list dd a {
  text-decoration: none;
}
.page-about #access {
  width: 920px;
  max-width: 90%;
  margin: 50px auto 100px auto;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
.page-about #gmap {
  width: 100%;
  height: 600px;
}

/* Google Mapを囲う要素 */
.page-about .gmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 600px;
}

/* Google Mapのiframe */
.page-about .gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .page-about .page-header {
    width: 90% !important;
  }

  .page-about #company-profile,
  .page-about .item-list1 {
    width: 90%;
  }
  .page-about .item-list1 {
    width: 90%;
  }
  .page-about .item-list1 .item {
    position: relative;
    width: 90%;
    padding-bottom: 60px;
  }

  #company-profile .about-item {
    width: 100%;
    padding: 20px 0;
    border-bottom: 1px solid #000;
  }
  #company-profile .about-item .title {
    float: none;
    width: 100%;
    font-size: 18px;
  }
  #company-profile .about-item .detail {
    float: none;
    width: 100%;
  }
  #company-profile .about-item .detail table {
  }
  #company-profile .about-item table th {
    padding-bottom: 0;
    border-bottom: none;
  }
  .page-about #company-info .info-wrap {
    display: block;
  }
  .page-about #company-info .info-wrap .head {
    width: 100%;
    font-size: 18px;
  }
  .page-about #company-info .info-wrap .list {
    width: 100%;
  }
  .page-about .item-list1 .item:nth-child(3) {
    margin-bottom: 0;
  }
  .page-about #access {
    width: 90%;
    margin: 0 auto;
    padding-bottom: 60px;
    padding-top: 30px;
  }
  .page-about .item-list1 h2 {
    padding: 0;
  }
  .article h2 {
    padding: 0px;
  }
}

/************************************
** CONCEPT
************************************/

.page-concept-child {
}

.page-concept-child .page-header .lead {
  margin-top: 70px;
}

/* INDEX */
#concept-index .concept-item {
  width: 100%;
  padding: 60px 0;
}
#concept-index .concept-item .title {
  float: left;
  width: 10%;
  font-family: district-pro, sans-serif;
  font-style: normal;
}
#concept-index .concept-item .detail {
  float: right;
  width: 80%;
}
#concept-index .concept-item .detail p {
  margin-top: 0;
}

/* タブ（新築のこと、リノベーションのこと）*/
.tab-wrap {
  position: relative;
  max-width: 920px;
  width: 100%;
  margin: 0 auto 80px auto;
  padding: 0;
}
.tab-wrap ul.tab_menu {
  margin: 30px 0 0 0;
  padding: 0;
}

.tab-wrap ul.tab_menu li {
  float: left;
  width: 48.5%;
}
.tab-wrap ul.tab_menu li:nth-child(2) {
  float: right;
  margin-right: 6px !important;
}
.tab-wrap ul.tab_menu li a {
  display: block;
  width: 90%;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.2em;
  text-align: center;
  padding: 5%;
  border: 3px solid #fff;
  border-bottom: none;
  cursor: pointer;
}
.tab-wrap ul.tab_menu li.active a {
  background-color: #fff;
}
.tab-wrap .tab2 {
  display: none;
}
.tab-wrap .tab_content {
  padding: 5% 5% 0 5%;
  border: 3px solid #fff;
}
.tab-wrap + .btn-single {
  width: 300px;
  margin: 50px auto 0 auto;
}

/* スマホ */
@media screen and (max-width: 750px) {
  .tab-wrap {
    width: 100%;
  }
  .tab-wrap ul.tab_menu span {
    display: none;
  }
  .tab-wrap ul.tab_menu li {
    width: 47%;
  }
  .tab-wrap ul.tab_menu li a {
    font-size: 14px;
    padding: 20px 5%;
  }
  .tab-wrap .tab_content {
    padding: 10% 10% 0 10%;
  }
}
/* 新築のこと（タブ内）*/
.page-concept .lead {
  width: 100%;
  margin: 0 0 80px 0;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
.page-concept .lead h2 {
  margin-bottom: 30px;
}
.page-concept .lead p {
  margin: 0;
}
.newbuilt-list {
  position: relative;
}
.newbuilt-list .subtitle {
  position: absolute;
  right: 0;
  top: 0;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.newbuilt-list .item {
  position: relative;
  width: 80%;
  margin-bottom: 60px;
  margin-left: 5%;
  padding: 0%;
}
.newbuilt-list .item:nth-child(odd) {
  margin-left: 15%;
}
.newbuilt-list .item .item-text {
  float: left;
  width: 55%;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
  margin-bottom: 15px !important;
}
.newbuilt-list .item .item-text dt {
  font-size: 16px;
  margin-bottom: 15px !important;
}
.newbuilt-list .item .item-text dt .step {
  font-size: 38px;
  font-family: district-pro, sans-serif;
  font-weight: 100;
  font-style: normal;
  margin-right: 10px;
  vertical-align: -2px;
}
.newbuilt-list .item .item-text dd {
  font-size: 13px;
}
.newbuilt-list .item .item-img {
  float: right;
  width: 40%;
}

/* リノベーションのこと（タブ内）*/
.renovation-list {
  width: 90%;
  margin: 0 auto;
}
.renovation-list .item {
  position: relative;
  float: left;
  width: 44%;
  height: 330px;
  margin-bottom: 30px;
  font-size: 13px;
}
.renovation-list .item:nth-child(odd) {
  margin-right: 3%;
}
.renovation-list .item:nth-child(even) {
  margin-left: 3%;
}
.renovation-list .item .item-img img {
  width: 100%;
  height: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.renovation-list .item dl dt {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
  letter-spacing: 0.2em;
  font-size: 16px;
  margin: 1em 0 !important;
}
.renovation-list .item .step {
  position: absolute;
  font-size: 38px;
  font-family: district-pro, sans-serif;
  font-weight: 100;
  font-style: normal;
  top: -22px;
  right: 10px;
}

.concept-navi {
  padding-bottom: 100px;
}
.concept-navi ul li {
  width: 49%;
  margin-bottom: 2% !important;
}
.concept-navi ul li:nth-child(odd) {
  float: left;
}
.concept-navi ul li:nth-child(even) {
  float: right;
}
.concept-navi ul li a {
  display: block;
  background-color: #fff;
  font-size: 16px;
  line-height: 1;
  padding: 2.5%;
  border: 3px solid transparent;
}
.page-newbuilt .concept-navi ul li:nth-child(1) a,
.page-renovation .concept-navi ul li:nth-child(2) a,
.page-storage .concept-navi ul li:nth-child(3) a,
.page-afterservice .concept-navi ul li:nth-child(4) a,
.page-casestudy .concept-navi ul li:nth-child(5) a {
  background-color: inherit;
  border: 3px solid #fff;
}
.concept-navi ul li a img {
  float: left;
  display: block;
  width: 110px;
  height: 80px;
  margin-right: 2.5%;
  object-fit: cover;
}
.concept-navi ul li a span {
  display: inline-block;
  line-height: 80px;
  vertical-align: middle;
}

/* 見えない部分のこだわり */
.technical {
  position: relative;
  width: 100%;
  margin-bottom: 30px;
}
.technical .entry-title {
  position: absolute;
  left: 0 !important;
  top: 0;
  line-height: 2;
  text-align: left;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.technical .lead {
  float: right;
  width: 75%;
  min-height: 320px;
  height: auto;
  margin-bottom: 20px;
  line-height: 2;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
}
.technical .lead span.f01 {
  text-align: right;
  display: block;
  margin-bottom: 2em;
}
.technical .lead p {
  display: block;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
  margin-top: 1em;
}
.technical-nav {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  margin-bottom: 100px !important;
}
.technical-nav-list {
  width: 100%;
  height: 100%;
  background-color: #fff;
  font-size: clamp(16px, 2vw, 20px) !important;
}
.technical-nav-list a {
  display: block;
  padding: min(1em, 20px);
}
.technical-nav-list a:hover {
  opacity: 0.8;
}
.technical-nav-list a .txt-inner {
  display: block;
  line-height: 1.5;
  margin-top: 5px;
  font-size: clamp(12px, 3vw, 14px) !important;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .concept-navi {
    padding-bottom: 100px;
    width: 100%;
    margin: 0 auto;
  }
  .concept-navi ul li {
    width: 100%;
  }
  .concept-navi ul li:nth-child(odd) {
    float: none;
  }
  .concept-navi ul li:nth-child(even) {
    float: none;
  }

  .concept-navi ul li a img {
    width: 100px;
    height: 70px;
    margin-right: 5%;
  }
  .concept-navi ul li a span {
    line-height: 70px;
  }

  /* INDEX */
  #concept-index .concept-item .title {
    float: none;
    width: 100%;
    margin-bottom: 20px;
  }
  #concept-index .concept-item .detail {
    float: none;
    width: 100%;
  }
  #concept-index .concept-item {
    padding: 46px 0;
  }
  .page-header .lead h2 {
    margin-top: 16px;
  }
  /* 新築のこと（タブ内）*/
  .page-newbuilt .lead_img {
    float: none;
    clear: both;
    width: 100%;
    padding-top: 30px;
  }
  .page-newbuilt .page-header {
    width: 100% !important;
  }
  .newbuilt-list .subtitle {
    display: block;
    position: relative;
    right: inherit;
    top: inherit;
    margin-bottom: 30px;
    -webkit-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
  }
  .newbuilt-list {
    width: 100%;
    margin: 0 auto;
  }

  .newbuilt-list .item {
    width: 100%;
    padding: 0%;
    margin-left: 0;
  }
  .newbuilt-list .item:nth-child(odd) {
    margin-left: 0;
  }
  .newbuilt-list .item .item-text {
    float: none;
    width: 100%;
  }
  .newbuilt-list .item .item-img {
    float: none;
    width: 100%;
  }
  /* リノベーションのこと（タブ内）*/
  .renovation-list {
    width: 100%;
    margin: 0 auto;
  }
  .renovation-list .item {
    position: relative;
    float: left;
    width: 100%;
    height: auto;
    margin-bottom: 30px;
    font-size: 13px;
  }
  .renovation-list .item:nth-child(odd) {
    margin-right: 0%;
  }
  .renovation-list .item:nth-child(even) {
    margin-left: 0%;
  }
}

/* 保証とメンテ */
.page-afterservice {
}
.page-concept-child .lead_img {
  margin: 30px 0 70px 0;
}
.page-concept-child .lead_sub {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
  padding-left: 30%;
}

/* 収納 */
.storage-list {
  margin: 60px 0;
}
.storage-list .item {
  width: 49%;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
.storage-list .item:nth-child(odd) {
  float: left;
}
.storage-list .item:nth-child(even) {
  float: right;
}
.storage-list .item .item-img {
}
.storage-list .item .item-text dt {
  font-size: 16px;
  margin: 15px 0 !important;
}
.storage-list .item .item-text dd {
  font-size: 13px;
}

/* スマホ */
@media screen and (max-width: 750px) {
  /* 保証とメンテ */
  .page-afterservice {
  }
  .page-concept-child .lead {
    padding-bottom: 30px;
  }
  .page-concept-child .lead_img {
    margin-top: 0;
  }
  .page-concept-child .lead_sub {
    margin: 0;
    padding-left: 30%;
    padding-bottom: 30px;
  }

  /* 収納 */
  .storage-list {
  }
  .storage-list .item {
    width: 100%;
    float: none !important;
    margin-bottom: 10%;
  }
}

/* 下層ページ全体の様式 */
.technical-nav.technical-nav-margin {
  margin-bottom: 100px !important;
}
.technical-nav-list a .number {
  font-size: clamp(20px, 5vw, 36px) !important;
  margin-right: min(2.4vw, 25px);
}
.technical-content {
  margin: 0 auto 140px;
}
.technical-content .technical-content-ttl {
  display: block;
  margin: 0 auto 40px;
  font-size: clamp(24px, 5vw, 36px) !important;
  padding: 0 5% 10px 5%;
  border-bottom: #000 solid 1px;
}
.content-ttl-number {
  font-size: clamp(30px, 5vw, 50px);
}
.technical-content-text-head {
  margin: 0 auto 5px;
  width: 90%;
  font-size: clamp(18px, 5vw, 20px) !important;
}
.technical-content-text {
  margin: 0 auto 60px;
  width: 90%;
}
.technical-content .technical-content-subttl {
  display: block;
  width: 90%;
  margin: 0 auto 20px;
  font-size: clamp(20px, 5vw, 26px) !important;
}
.technical-content-img {
  margin-bottom: 40px;
  width: 100%;
  height: auto;
}
.technical-content-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.technical-text-link {
  display: block;
}

/************************************
** ESTATE
************************************/

.page-estate {
}

.page-estate .page-header {
  min-height: 450px;
  margin-top: 50px !important;
}
.page-estate .page-header .lead {
  margin-top: 0px;
}
.page-estate .page-header .lead h2 {
  margin-bottom: 40px;
}
.page-estate .page-header .lead img {
  max-height: 50px;
  margin-bottom: 40px;
}
.page-estate .message-to-owner {
  margin-top: 30px;
  margin-bottom: 50px;
  padding: 5% 10%;
  border: 1px solid #000;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
.page-estate .message-to-owner dl {
  padding-bottom: 50px !important;
  border-bottom: 1px solid #000;
}
.page-estate .message-to-owner dt {
  float: left;
  width: 20%;
  font-size: 18px;
}
.page-estate .message-to-owner dd {
  float: right;
  width: 70%;
}
.page-estate .message-to-owner .contact-info {
  padding-top: 30px;
}
.page-estate .message-to-owner .contact-info h3 {
  letter-spacing: 0.1em;
}
.page-estate .message-to-owner .tel-info {
  float: left;
  width: 47%;
}
.page-estate .message-to-owner .email-info {
  float: right;
  width: 47%;
}
.page-estate .message-to-owner .btn-single {
  margin: 10px auto !important;
  padding: 10px;
}

.page-estate #estate-list {
  width: 100%;
  margin: 0;
  padding: 50px 0;
}
.page-estate #estate-list h2 {
  font-size: 22px;
  text-align: center;
  padding: 0 0 50px 0;
}
.page-estate #estate-list .msg {
  text-align: center;
  margin: 0;
  padding: 0 0 30px 0;
}
.page-estate #estate-list .sec_inner {
  position: relative;
}
.page-estate #estate-list ul li {
  float: left;
  width: 32%;
  list-style-type: none;
  margin: 0 2% 2% 0;
  padding: 0;
}
.page-estate #estate-list ul li:nth-child(3n) {
  margin-right: 0;
}
.page-estate #estate-list ul li a {
  position: relative;
  display: block;
  width: 90%;
  background-color: #fff;
  padding: 5%;
}
.page-estate #estate-list ul li a span.new {
  position: absolute;
  left: 5px;
  top: 5px;
  display: block;
  background-color: #000;
  color: #fff;
  font-size: 12px;
  padding: 0px 30px;
}
.page-estate #estate-list ul li img {
  width: 100%;
  height: auto;
}
.page-estate #estate-list ul li a span.title {
  display: block;
  font-size: 16px;
  margin: 1em 0 0.5em 0;
}
.page-estate #estate-list ul li a .estate_meta,
.page-estate #estate-list ul li a .estate_meta span {
  float: none;
  display: block;
}
.page-estate #estate-list ul li a .estate_meta .estate_type {
  font-size: 12px;
}
.page-estate #estate-list ul li a span.cat {
  color: #929292;
}

.content-bnr {
  width: 100%;
  margin: 50px auto;
}
.content-bnr .btn-wrap li {
  width: 100%;
  padding-left: 1%;
}
.content-bnr .btn-wrap li:nth-child(odd) {
  /*float: left;*/
}
.content-bnr .btn-wrap li:nth-child(even) {
  /*float: right;*/
}
.content-bnr .btn-wrap .btnL a {
  width: 50%;
  margin: 0 auto 20px auto;
  /*font-family: UD Reimin Light;*/
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .page-estate .message-to-owner dt,
  .page-estate .message-to-owner dd {
    float: none;
    width: 100%;
  }

  .page-estate .message-to-owner dt {
    font-size: 18px;
    margin-bottom: 1em !important;
  }
  .page-estate .message-to-owner .contact-info {
    padding-top: 30px;
  }

  .page-estate .message-to-owner .tel-info {
    float: none;
    width: 100%;
  }
  .page-estate .message-to-owner .email-info {
    float: none;
    width: 100%;
  }

  .content-bnr .btn-wrap li {
    width: 90%;
    float: none !important;
    margin: 0 auto 10px auto !important;
  }

  .page-estate #estate-list ul li {
    float: none;
    width: 100%;
    margin: 0 0 2% 0;
  }
}

/************************************
** WORKFLOW
************************************/

.page-workflow .page-header {
  margin-top: 50px !important;
}
.page-workflow .page-header h1 {
  top: 30px;
}
.page-workflow .page-header .lead {
  margin-top: 120px !important;
}
.page-workflow .item-list1 {
  margin-top: 30px;
}
.page-workflow .item-list1 .info-re {
  margin-bottom: 50px !important;
}
.page-workflow .item-list1 .item {
  position: relative;
  display: flex;
  width: 90%;
  margin: 0 2.5% 6% 0;
  padding: 2.5%;
  border: 1px solid #000;
}
.page-workflow .item-list1 .item .step {
  position: absolute;
  top: -0.5em;
  left: 0.5em;
  font-size: 38px;
  font-family: district-pro, sans-serif;
  font-weight: 100;
}
.page-workflow .item-list1 .item {
  flex-wrap: wrap;
}
.page-workflow .item-list1 .item-img {
  max-width: 45%;
  margin-right: 30px;
}
.page-workflow .item-list1 .item-text {
  max-width: 50%;
  height: auto !important;
}
.page-workflow .item-list1 .item-text .text-supp {
  margin: 20px 0px !important;
}
.page-workflow .item-list1 dl dt {
  font-size: 18px;
}
.page-workflow .item-list1 dl dd {
  font-size: 13px;
}
.page-workflow .btn-single {
  width: 400px;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .page-workflow .item-list1 .item {
    width: 84%;
    margin: 0 0 15% 0;
    padding: 8%;
  }
  .page-workflow .item-list1 .item-img {
    max-width: 100%;
    margin-right: 0px;
    margin: 0 auto;
  }
  .page-workflow .item-list1 .item-text {
    max-width: 100%;
    margin: 0 auto;
  }
  .page-workflow .btn-single {
    width: 90%;
  }
  .page-workflow .page-header {
    margin-top: -20px !important;
  }
}

/************************************
** WORKFLOW-リノベーション
************************************/

.page-workflow-re .page-header {
  margin-top: 50px !important;
}
.page-workflow-re .page-header h1 {
  top: 30px;
}
.page-workflow-re .page-header .lead {
  margin-top: 120px !important;
}
.page-workflow-re .item-list1 {
  margin-top: 30px;
}
.page-workflow-re .item-list1 .info-re {
  margin-bottom: 50px !important;
}
.page-workflow-re .item-list1 .item {
  position: relative;
  display: flex;
  width: 90%;
  margin: 0 2.5% 6% 0;
  padding: 2.5%;
  border: 1px solid #000;
}
.page-workflow-re .item-list1 .item .step {
  position: absolute;
  top: -0.5em;
  left: 0.5em;
  font-size: 38px;
  font-family: district-pro, sans-serif;
  font-weight: 100;
}
.page-workflow-re .item-list1 .item {
  flex-wrap: wrap;
}
.page-workflow-re .item-list1 .item-img {
  max-width: 45%;
  margin-right: 30px;
}
.page-workflow-re .item-list1 .item-text {
  max-width: 50%;
  height: auto !important;
}
.page-workflow-re .item-list1 .item-text .text-supp {
  margin: 20px 0px !important;
}
.page-workflow-re .item-list1 dl dt {
  font-size: 18px;
}
.page-workflow-re .item-list1 dl dd {
  font-size: 13px;
}
.page-workflow-re .btn-single {
  width: 400px;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .page-workflow-re .item-list1 .item {
    width: 84%;
    margin: 0 0 15% 0;
    padding: 8%;
  }
  .page-workflow-re .item-list1 .item-img {
    max-width: 100%;
    margin-right: 0px;
    margin: 0 auto;
  }
  .page-workflow-re .item-list1 .item-text {
    max-width: 100%;
    margin: 0 auto;
  }
  .page-workflow-re .btn-single {
    width: 90%;
  }
  .page-workflow-re .page-header {
    margin-top: -20px !important;
  }
}

/************************************
** RECRUIT
************************************/

.page-recruit {
}
.page-recruit .page-header {
  margin-top: 70px !important;
  margin-bottom: 70px !important;
}

#recruit-detail {
  margin-bottom: 100px;
  border-top: 1px solid #000;
}
#recruit-detail .recruit-item {
  width: 100%;
  padding: 20px 0;
  border-bottom: 1px solid #000;
}
#recruit-detail .recruit-item .title {
  width: 100%;
  font-size: 18px;
  padding: 0 0 0 0;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
#recruit-detail .recruit-item .title p {
  text-align: center;
  margin: 0;
}
#recruit-detail .recruit-item .detail {
  float: right;
  width: 75%;
  padding: 0 0 0 5%;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
#recruit-detail .tbl-style1 td p {
  margin: 0;
}
#recruit-detail .tbl-style1 td .item {
  font-size: 20px;
  font-weight: 800;
  margin: 5px 0 24px 0;
}
#recruit-detail .tbl-style1 td .box {
  border: 1px dotted #000;
  padding: 10px 15px;
  margin: 30px 0 48px 0;
}
#recruit-detail .tbl-style1 td .box .accent {
  text-decoration: underline;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  #recruit-detail .recruit-item .title {
    float: none;
    width: 100%;
    font-size: 20px;
    padding: 0 0 0 0;
  }
  #recruit-detail .recruit-item .detail {
    float: none;
    width: 100%;
    padding: 0;
  }
  #recruit-detail .tbl-style1 th {
    padding: 15px 0 0 0;
    border: none;
  }
  #recruit-detail .tbl-style1 td {
    padding: 5px 0 15px 0;
  }
}

/************************************
** EVENT
************************************/

.page-event {
}
.page-event .eye-catch img {
  height: 400px;
  object-fit: cover;
}
.page-event #the-content {
  width: 90%;
  max-width: inherit;
}
.page-event .page-header {
  margin: 50px auto 80px auto !important;
}

.page-event .page-header .lead span + p {
  display: none;
}
.page-event .sec_inner {
  width: 920px;
  max-width: 90%;
  margin: 0 auto;
}
.page-event .posts-grid {
  width: 75%;
  height: auto;
  margin: 0 0 0 auto;
  gap: 30px;
}
.page-event .post-card {
  display: flow-root;
  height: auto;
}
.page-event .post-card a {
  float: left;
  width: 100%;
  max-width: 690px;
  display: grid;
  grid-template-columns: 170px 1fr 1fr 1fr;
  grid-template-rows: 60px 60px;
  background-color: #fff;
  list-style-type: none;
  margin-bottom: 30px;
  letter-spacing: 0.2em;
}
.page-event .post-card a img {
  display: block;
  width: auto;
  height: 120px;
  object-fit: cover;
}
.page-event .post-card a span {
  display: block;
}
.page-event .post-card a .event_subcat {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  padding: 16px 16px 0 16px;
}
.page-event .post-card a .event_subcat .en {
  font-size: 10px;
}
.page-event .post-card a .event_subcat .jp {
  font-size: 12px;
}
.page-event .post-card a .status {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  align-self: end;
  padding: 0 16px 16px 16px;
}
.page-event .post-card a .status span {
  width: 74px;
  height: 20px;
  padding: 3px 5px;
  font-size: 10px;
  text-align: center;
  line-height: 20px;
}
.page-event .post-card a .status span.open {
  color: #fff;
  background-color: #000;
}
.page-event .post-card a .status span.close {
  color: #000;
  background-color: transparent;
  border: solid 1px #000;
}
.page-event .post-card a .event_title {
  grid-column: 3 / 5;
  grid-row: 1 / 2;
  padding: 16px 16px 0 16px;
  font-size: 16px;
}
.page-event .post-card a .event_info {
  grid-column: 3 / 5;
  grid-row: 2 / 3;
  align-self: end;
  padding: 16px;
}
.page-event .post-card a span.event_date {
  font-size: 12px;
}
.page-event .post-card a span.event_location {
  font-size: 10px;
  color: #929292;
  letter-spacing: 0.1em;
}

/* タブレット */
@media (max-width: 920px) {
  .page-event .posts-grid {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
  .page-event .post-card a {
    max-width: inherit;
  }
}
/* スマホ */
@media (max-width: 750px) {
  .page-event .page-header {
    margin: 50px auto 30px auto !important;
  }
  .page-event .post-card a {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr auto auto auto;
    background-color: #fff;
    list-style-type: none;
    letter-spacing: 0.2em;
  }
  .page-event .post-card a img {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    width: 100%;
    height: auto;
  }
  .page-event .post-card a .event_subcat {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .page-event .post-card a .status {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    justify-self: end;
    align-self: start;
    padding: 16px 16px 0 16px;
  }
  .page-event .post-card a .event_title {
    grid-column: 1 / 3;
    grid-row: 3 / 4;
  }
  .page-event .post-card a .event_info {
    grid-column: 1 / 3;
    grid-row: 4 / 5;
  }
}

/* スマホ */
@media screen and (max-width: 750px) {
  .page-event .event-wrap,
  .category-showhome .event-wrap {
    width: 80%;
    margin: 25px auto 100px auto;
    padding: 5% !important;
    border: 3px solid #fff;
  }

  .page-event .event-wrap .gallery-item,
  .category-showhome .event-wrap .gallery-item {
    float: left;
    width: calc((100% - 4px) / 3);
    padding-right: 2px !important;
  }
  .page-event .event-wrap .gallery-item:nth-child(1),
  .category-showhome .event-wrap .gallery-item:nth-child(1) {
    width: 100%;
  }
  .page-event .event-wrap .gallery-item:nth-child(4),
  .category-showhome .event-wrap .gallery-item:nth-child(4) {
    padding-right: 0 !important;
  }
  .page-event .event-wrap .house-info,
  .category-showhome .event-wrap .house-info {
    float: none;
    width: 100%;
  }
  .page-event .event-wrap p span.icon,
  .category-showhome .event-wrap p span.icon {
    display: block;
    margin-bottom: 10px !important;
  }
  .page-event section.wide-white .event-wrap .balloon,
  .category-showhome section.wide-white .event-wrap .balloon {
    left: 0;
    top: 0;
  }
  .page-event .event-wrap p span.icon:nth-child(4),
  .category-showhome .event-wrap p span.icon:nth-child(4) {
    margin-top: 1em !important;
  }
  .page-event .event-wrap .note,
  .category-showhome .event-wrap .note {
    float: none;
    width: 100%;
    margin-top: 2em;
  }

  .openhouse-wrap {
    padding: 60px 0;
  }
  .openhouse-info,
  .openhouse-list {
    float: none;
    width: 100%;
  }
  .openhouse-info {
    margin-bottom: 30px;
  }
  .page-event .page-header .lead {
    margin-top: 40px !important;
    margin-bottom: 30px;
  }
}

/************************************
** SHOW HOUSE RESERVATION (宮川追加分)
************************************/

.sh-reservation .f01-container {
  text-align: right;
  margin-top: 80px;
}

.youtube-wrap {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  margin-bottom: 30px !important;
}
.youtube-box {
  width: 48%;
  position: relative;
  aspect-ratio: 16 / 9;
  margin: 60px auto;
}
.youtube-box iframe {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.youtube-box .video {
  height: calc(100vw / 56.25) px;
}

/* スマホ */
@media screen and (max-width: 750px) {
  .youtube-wrap {
    flex-direction: column;
  }
  .youtube-box {
    width: 100%;
  }
}

/************************************
** KOTO+ (宮川追加分)
************************************/
.koto {
  margin: 100px 0px 150px;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
.content_left {
  float: left;
}
.content_left h3 {
  font-size: 65px;
}
.content_left p {
  margin: 0px;
}
.content_left .list {
  font-size: 20px;
}
.content_right {
  float: right;
  width: 690px;
}
.content_right h4 {
  font-size: 20px;
}
.block {
  margin: 40px 0px;
}
.koto img {
  float: left;
  margin-right: 10px;
}
.koto img:last-child {
  margin-right: 0px;
}

/* スマホ */
@media screen and (max-width: 750px) {
  .content_left {
    display: block;
    width: 750px;
    margin-bottom: 30px;
  }
  .content_right {
    float: none;
    width: 100%;
  }
  .koto img {
    float: none;
    margin: 10px 0px;
  }
}

/************************************
** SHOP
************************************/

.page-shop #the-content {
  width: 100%;
  max-width: inherit;
}
.page-shop .page-header {
  width: 920px;
  max-width: 80%;
  margin-top: 70px !important;
  margin-bottom: 100px !important;
}
.page-shop .page-header .lead {
  margin-top: 0;
}
.page-shop .page-header .lead img {
  max-height: 50px;
  margin-bottom: 40px;
}
.page-shop .shop-navi {
  display: flex;
  align-items: left;
  top: 0;
  margin: 0 0 40px 0 !important;
}
.page-shop .shop-navi li {
  float: left;
  margin-right: 5% !important;
  font-size: 11px;
}
.page-shop .shop-navi li a {
  position: relative;
  text-align: left;
  padding: 0 0 0 20px;
  border: none;
}
.page-shop .shop-navi li a:before {
  content: " ";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 2px;
  width: 6px;
  height: 6px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.page-shop .shop-navi li a:hover {
  background-color: inherit;
  color: inherit;
}

/* NEW ITEMS */
.page-shop #new-items {
  width: 100%;
  background-color: #fff;
  margin: 0;
  padding: 50px 0 100px 0;
}
.page-shop #new-items h2 {
  font-size: 14px;
  padding: 0 0 50px 0;
}
.page-shop #new-items .sec_inner {
  position: relative;
  max-width: 920px;
  width: 80%;
}
.page-shop #new-items ul li {
  float: left;
  width: 21.25%;
  list-style-type: none;
  margin-right: 5%;
  padding: 0;
}
.page-shop #new-items ul li:nth-child(4n) {
  margin-right: 0;
}
.page-shop #new-items ul li img {
  width: 100%;
  height: auto;
}
.page-shop #new-items ul li a span.title {
  display: block;
  font-size: 13px;
  margin: 1em 0 0 0;
}
.page-shop #new-items ul li a span.date {
  display: block;
  font-size: 11px;
}
.page-shop #new-items ul li a span.cat {
  color: #929292;
}
.page-shop #new-items .text-link {
  position: absolute;
  right: 0;
  top: 0;
  font-size: 12px;
  line-height: 1;
}
/* Google Mapを囲う要素 */
.page-shop .gmap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 400px;
}
/* Google Mapのiframe */
.page-shop .gmap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.page-shop .shopdata {
  width: 920px;
  max-width: 80%;
  margin: 60px auto 90px auto;
}
.page-shop .shopdata-item {
  width: 100%;
  padding: 20px 0;
  /* border-bottom: 1px solid #000; */
}
.page-shop .shopdata-item:nth-chicld(2) {
  border-bottom: none;
}
.page-shop .shopdata-item .title {
  float: left;
  width: 15%;
  padding: 20px 5%;
  font-family: district-pro, sans-serif;
  font-weight: 300;
  font-style: normal;
  letter-spacing: 0.2em;
}
.page-shop .shopdata-item .detail {
  float: right;
  width: 70%;
  padding: 0 0 20px 5%;
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-weight: 300;
}
.page-shop .shopdata-item .detail p {
  padding-top: 5px;
}
.page-shop .shopdata-item .detail table th,
.page-shop .shopdata-item .detail table td {
  border-color: #fff;
}
.page-shop .shop {
  float: left;
  width: 70%;
}
.page-shop .shop img {
}
.page-shop #followus {
  width: 920px;
  margin: 100px auto 0 auto;
}
.page-shop #followus h2 {
  text-align: center;
  margin: 0 auto 30px auto;
}
.page-shop #followus #news_list {
}
.page-shop #followus #news_list li {
  float: left;
  width: 25%;
}
.page-shop #followus #news_list li a {
  position: relative;
  display: block;
  width: 100%;
  height: 230px;
  line-height: 230px;
  overflow: hidden;
  background-position: center center;
  background-size: cover;
}
.page-shop #followus #news_list li a img {
  width: 100%;
  /*vertical-align: middle;*/
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .page-shop .page-header {
    margin-top: 10px !important;
    margin-bottom: 50px !important;
  }
  .page-shop .lead .text {
    clear: both;
  }
  .page-shop .shop-navi {
    width: 100%;
    top: 20px;
  }

  .page-shop #new-items ul li {
    width: 48%;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .page-shop #new-items ul li:nth-child(odd) {
    float: left;
  }
  .page-shop #new-items ul li:nth-child(even) {
    float: right;
  }
  .page-shop .shopdata {
    width: 90%;
  }
  .page-shop .shopdata .title,
  .page-shop .shopdata .detail {
    float: none;
    width: 100%;
  }
  .page-shop .shopdata .title {
    font-size: 20px;
    padding: 20px 0;
  }
  .page-shop .shopdata-item .detail {
    padding: 0 0 20px 0;
  }
  .page-shop .shopdata-item .detail table th {
    padding-bottom: 0;
    border: none;
  }
  .page-shop .shopdata-item .detail table td {
    padding-top: 10px;
  }
  .page-shop .shopdata-item .detail p {
    padding-top: 0px;
  }
  .page-shop #followus {
    width: 90%;
  }
  .page-shop #followus h2 {
    float: none;
  }
  .page-shop .shop {
    float: none;
    width: 70%;
    margin: 0 auto;
  }
  .page-shop #followus #news_list li {
    width: 33.33%;
  }
  .page-shop #followus #news_list li a {
    height: 25vw;
    line-height: 25vw;
    overflow: hidden;
  }
}

/* ==================================================
   PRODUCTS SECTION
   PC: 3 columns / SP: 1 column
   Image ratio: 3:2
   Text area: white background (PDF仕様)
================================================== */
.page-products #the-content {
  width: 100%;
  max-width: inherit;
}
.products-page .lead {
  margin-top: 0;
}
.products-page .lead p {
  margin-top: 0;
}

.page-products .page-header {
  width: 920px;
  max-width: 90%;
  margin-top: 120px !important;
  margin-bottom: 50px !important;
}
.page-products .sec {
  width: 920px;
  max-width: 90%;
  margin: 120px auto 160px auto;
}

.page-products article h2 {
  margin-bottom: 40px;
}
.page-products .sec_inner {
  margin-bottom: 160px;
  padding: 0 0 0 0;
}
/* セクション全体 */
.page-products #products {
  margin-top: 120px;
}

/* リード文：左寄せ */
.page-products #products .products-lead {
  max-width: 100%;
  margin: 0 0 40px;
  line-height: 1.9;
}

/* グリッド */
.page-products .products-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  align-items: stretch; /* 行をまたいで高さを揃える */
}

/* カード */
.page-products .product-card {
  list-style: none;
  display: flex;
  flex-direction: column;
}

.page-products .product-link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

/* サムネイル（3:2） */
.page-products .product-thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background: #eaeaea;
}

.page-products .product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;

  /* テーマ側の指定を無効化 */
  max-width: none;
  max-height: none;

  display: block;
}

/* ===== テキストエリア（白背景） ===== */
.page-products .product-meta {
  background: #fff;
  padding: 18px 16px 16px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

/* タイトル */
.page-products .product-title {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 6px;
}

/* ラベル（For Client / Prototype） */
.page-products .product-badge {
  display: block;
  font-size: 11px;
  margin-bottom: 6px;
  color: #666;
}

/* 価格 */
.page-products .product-price {
  font-size: 13px;
  letter-spacing: 0.05em;
  margin-top: 4px;
  color: #000;
}

/* ホバー（PCのみ・控えめ） */
@media (hover: hover) {
  .page-products .product-link:hover .product-thumb img {
    transform: scale(1.03);
    transition: transform 0.4s ease;
  }
}

/* ページネーション余白 */
.page-products .pagination,
.page-products .pager {
  margin-top: 80px;
}

/* =========================
   SP（1列）
========================= */
@media screen and (max-width: 767px) {
  .page-products .eye-catch {
    overflow: hidden; /* はみ出しを隠す */
  }

  .page-products .eye-catch img {
    width: 100%;
    height: auto;
    transform: scale(1.5); /* 少しだけ拡大 */
    transform-origin: center center;
  }

  .page-products #products {
    margin-top: 80px;
  }

  .page-products #products .products-lead {
    margin-bottom: 40px;
  }

  .page-products .products-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .page-products .product-meta {
    padding: 16px;
  }

  .page-products .product-title {
    font-size: 14px;
  }
}

/* ==================================================
   PARTNERS SECTION
================================================== */

.page-products #partners {
  margin-top: 160px;
}

/* セクション見出し下の余白 */
.page-products #partners h2 {
  margin-bottom: 64px;
}

/* リスト全体 */
.page-products .partners-list {
  display: flex;
  flex-direction: column;
  gap: 96px;
}

/* 各パートナー */
.page-products .partner {
  display: grid;
  grid-template-columns: 180px 1fr; /* 画像 180px 固定 */
  gap: 64px;
  align-items: start;
}

/* 画像 */
.page-products .partner-media {
  width: 100%;
}

.page-products .partner-media img {
  width: 180px;
  max-width: 100%;
  height: auto;
  display: block;
}

/* テキスト側 */
.page-products .partner-content {
  padding-top: 0px;
}

/* 名前 */
.page-products .partner-name {
  font-size: 18px;
  font-weight: normal;
  margin-bottom: 32px;
  line-height: 1.4;
}

/* 名前リンク */
.page-products .partner-name a {
  color: inherit;
  text-decoration: none;
}

.page-products .partner-name a:hover {
  text-decoration: underline;
}

/* 本文 */
.page-products .partner-body {
  font-size: 14px;
  line-height: 1.9;
  color: #333;
  width: 100%;
}

/* =========================
   SP
========================= */
@media screen and (max-width: 767px) {
  .page-products #partners {
    margin-top: 120px;
  }

  .page-products #partners h2 {
    margin-bottom: 40px;
  }

  .page-products .partners-list {
    gap: 64px;
  }

  .page-products .partner {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .page-products .partner-content {
    padding-top: 0;
  }

  .page-products .partner-name {
    font-size: 16px;
    margin-bottom: 12px;
  }

  .page-products .partner-body {
    font-size: 14px;
  }
}

/************************************
** お知らせ一覧(news)
************************************/

.page-news {
}
/*
.category-navi {
	float: right;
	width: 600px;
}
.category-navi li{
	float: left;
	width: 32%;
	margin-right: 3%;
}
.category-navi li:nth-child(3n){
	margin-right: 0;
}

*/

hr {
  color: none;
  margin: 30px 0;
  width: 98%;
  border: 0.1px solid #000;
}

/************************************
** お知らせ　カテゴリインデックス(category)
************************************/

.category #list,
.archive #list {
  width: 920px;
  max-width: 90%;
  margin: 0 auto;
}

.category #breadcrumb {
  display: none;
  float: right;
}
.category #list article,
.archive #list article {
  background-color: #fff;
  margin: 0 0 20px 0;
  padding: 20px 30px 20px 20px;
}
.category #list article header h2,
.archive #list article header h2 {
  text-align: left;
  margin: 0.5em 0;
  letter-spacing: 0.1em;
}
.works_m {
  margin: 1.3em 0 0 0;
}
.category #list article header h2 a,
.archive #list article header h2 a {
  font-size: 16px;
  color: #000;
}
.category #list article figure,
.archive #list article figure {
  position: relative;
  display: block;
  float: left;
  width: 29%;
  margin-right: 5%;
}
.category #list article figure span,
.archive #list article figure span {
  position: absolute;
  left: -13px;
  top: -15px;
  display: block;
  color: #fff;
  font-size: 12px;
  padding: 5px 30px;
}
.category #list article figure span.new,
.archive #list article figure span.new {
  background-color: #000;
}
.category #list article figure span.awarded,
.archive #list article figure span.awarded {
  background-color: #b29044;
}
.category #list article .entry-thumb img,
.archive #list article .entry-thumb img {
  height: inherit;
}
.category #list article figure img,
.archive #list article figure img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.category #list article header .post-meta,
.archive #list article header .post-meta {
  background-color: transparent;
  margin-bottom: 20px;
}
.category #list article header h2 + .post-meta,
.archive #list article header h2 + .post-meta {
  margin-bottom: 10px;
}
.category #list article header .post-meta span.fa,
.archive #list article header .post-meta span.fa {
  display: none;
}
.category #list .entry-headline {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 20px;
  font-weight: bold;
}
.category #list .entry-snippet,
.archive #list .entry-snippet {
  line-height: 1.8;
  color: inherit;
  font-size: 13px;
}
.category-news #list,
.category-news-preview #list,
.category-blog #list,
.archive #list {
  padding-bottom: 100px;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .category #list,
  .archive #list {
    width: 90%;
  }

  .category #list article figure,
  .archive #list article figure {
    float: none;
    width: 100%;
    margin-right: 0;
  }
  .category #list article figure img,
  .archive #list article figure img {
    width: 100%;
  }
  .category #list article header h2,
  .archive #list article header h2 {
    margin: 1em 0;
  }
  .category #list article,
  .archive #list article {
    padding: 20px 20px 40px 20px;
  }
}

/************************************
** SHOPカテゴリインデックス(category)
************************************/

/* ITEM一覧 */

.category-styleshop #list,
.category-item #list,
.page-brand #list,
.tag #list.item {
  width: 100%;
  background-color: #fff;
  margin: 0 auto;
  padding: 0;
}
.category-styleshop #list .list_inner,
.category-item #list .list_inner,
.page-brand #list .list_inner,
.tag #list.item .list_inner {
  width: 920px;
  max-width: 90%;
  margin: 0 auto;
}

.category-styleshop #list h2.list_title,
.category-item #list h2.list_title,
.page-brand #list h2.list_title,
.archive #list h2.list_title {
  text-align: center;
  margin: 0 auto;
  padding: 50px 0 70px 0;
}

.category-styleshop #list article,
.category-item #list article,
.category-item #list article,
.archive #list.item article {
  clear: inherit;
  float: left;
  width: 22%;
  background-color: transparent;
  margin: 0 4% 4% 0;
  padding: 0;
  border-bottom: none;
}
.category-styleshop #list article:nth-child(4n),
.category-item #list article:nth-child(4n),
.archive #list.item article:nth-child(4n) {
  margin-right: 0;
}

.category-styleshop #list article figure,
.category-item #list article figure,
.archive #list.item article figure {
  width: 100%;
  margin: 0 0 20px;
  padding: 0;
}
.category-styleshop #list article figure img,
.category-item #list article figure img {
  width: 100%;
}

.category-styleshop #list article .entry-card-content h2,
.category-item #list article .entry-card-content h2,
.archive #list.item article .entry-card-content h2 {
  margin: 0 0 10px 0;
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.category-styleshop #list article .entry-card-content .post-meta,
.category-item #list article .entry-card-content .post-meta,
.archive #list.item article .entry-card-content .post-meta {
  margin: 0 0 10px 0;
}
.category-item #list article .entry-snippet,
.archive #list.item article .entry-snippet {
  height: 5em;
  overflow: hidden;
}

.category-styleshop #list .content-bnr,
.category-item #list .content-bnr,
.archive #list.item .content-bnr {
  width: 100%;
  background-color: #ececec;
  margin: 50px 0 0 0;
  padding: 50px 0;
}

/* BRAND一覧 */
.page-brand .page-header {
}
.page-brand #list h2 {
  padding-bottom: 50px !important;
}
.page-brand #list ul {
  margin: 0;
  padding: 0 0 30px;
}

.page-brand #list li {
  clear: inherit;
  float: none;
  width: 100%;
  background-color: transparent;
  text-align: center;
  margin: 0px 0 50px;
  padding: 0;
}
.page-brand #list li.unco {
  color: #8c8c8c;
}
.page-brand #list h3 {
  text-align: center;
  margin: 0;
  padding: 50px 0;
  border-top: 1px solid #000;
  font-size: 130%;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .category-styleshop .page-header,
  .category-item .page-header,
  .page-brand .page-header,
  .tag .page-header,
  .categoryid-8 .page-header {
    min-height: 180px !important;
  }

  .category-styleshop #list article,
  .category-item #list article {
    width: 48%;
    margin: 0 0 4% 0;
  }
  .category-styleshop #list article:nth-child(odd),
  .category-item #list article:nth-child(odd) {
    float: left;
  }
  .category-styleshop #list article:nth-child(even),
  .category-item #list article:nth-child(even) {
    float: right;
  }

  .category-styleshop #list article,
  .category-item #list article,
  .category-item #list article,
  .archive #list.item article {
    float: left;
    width: 47%;
    margin: 0 0% 4% 0;
  }
  .category-styleshop #list article:nth-child(even),
  .category-item #list article:nth-child(even),
  .archive #list.item article:nth-child(even) {
    float: right;
  }
}

/************************************
** ITEM
************************************/
.item_notice {
  margin-bottom: 30px !important;
}
.item_notice dt {
  font-size: 12px;
}
.item_notice dd {
  font-size: 14px;
}

.brand-summary {
  border-top: 1px solid #000;
  margin-top: 50px;
}
.brand-summary p {
  line-height: 2.5;
}

/************************************
** 不動産　カテゴリインデックス
************************************/

.categoryid-38 .category-navi,
.categoryid-39 .category-navi,
.categoryid-40 .category-navi,
.categoryid-99 .category-navi,
.category-38 .category-navi,
.category-39 .category-navi,
.category-40 .category-navi,
.category-99 .category-navi {
  position: inherit;
  top: 0;
  margin: 0;
}
.categoryid-39 .category-navi .cat1 a,
.categoryid-40 .category-navi .cat2 a,
.category-39 .category-navi .cat1 a,
.category-40 .category-navi .cat2 a {
  color: #fff;
  background-color: #000;
}
.archive .sortbytag,
.single .sortbytag {
  width: 400px;
  margin: 0 auto !important;
  padding: 30px 0 !important;
}
.archive .sortbytag li,
.single .sortbytag li {
  display: inline-block;
  width: auto;
  line-height: 1;
  text-align: center;
  padding: 0 20px !important;
  border-right: 1px solid #000;
}
.archive .sortbytag li:last-child,
.single .sortbytag li:last-child {
  border-right: none;
}
.archive .sortbytag li a,
.single .sortbytag li a {
  cursor: pointer;
}

.archive .sortbytag:before,
.single .sortbytag:before {
  content: "エリア：";
  margin-left: 10%;
}

.category-realestate #list .list_inner,
.category-land #list .list_inner,
.category-house #list .list_inner,
.category-rent #list .list_inner {
  width: 920px;
  max-width: 90%;
  margin: 0 auto;
}

.category-realestate #list article,
.category-land #list article,
.category-house #list article,
.category-rent #list article {
  clear: inherit;
  float: left;
  width: 28%;
  background-color: #fff;
  margin: 0 2% 2% 0;
  padding: 2%;
}
.category-realestate #list article:nth-child(3n),
.category-land #list article:nth-child(3n),
.category-house #list article:nth-child(3n),
.category-rent #list article:nth-child(3n) {
  margin-right: 0;
}
.category-realestate #list article figure,
.category-land #list article figure,
.category-house #list article figure,
.category-rent #list article figure {
  width: 100%;
  margin: 0 0 20px;
  padding: 0;
}
.category-realestate #list article figure a,
.category-land #list article figure a,
.category-house #list.item article figure a,
.category-rent #list.item article figure a {
  display: block;
  height: 170px;
  overflow: hidden;
}
.category-realestate #list article figure img,
.category-land #list article figure img,
.category-house #list article figure img,
.category-rent #list article figure img {
  width: 100%;
}
.category-realestate #list article .entry-snippet,
.category-land #list article .entry-snippet,
.category-house #list article .entry-snippet,
.category-rent #list article .entry-snippet {
  display: none;
}
.category-realestate #list article .estate_meta .estate_area,
.category-land #list article .estate_meta .estate_area,
.category-house #list article .estate_meta .estate_area,
.category-rent #list article .estate_meta .estate_area {
  float: none;
  font-size: 14px;
  margin-bottom: 0.5em;
}
.category-realestate #list article .estate_meta .estate_type,
.category-land #list article .estate_meta .estate_type,
.category-house #list article .estate_meta .estate_type,
.category-rent #list article .estate_meta .estate_type {
  float: none;
  font-size: 12px;
}
.category-realestate #list article .post-meta,
.category-land #list article .post-meta,
.category-house #list article .post-meta,
.category-rent #list article .post-meta {
  display: none;
}

/* スマホ */
@media screen and (max-width: 750px) {
  .categoryid-38 .category-navi,
  .categoryid-39 .category-navi,
  .categoryid-40 .category-navi,
  .categoryid-99 .category-navi,
  .category-38 .category-navi,
  .category-39 .category-navi,
  .category-40 .category-navi,
  .category-99 .category-navi {
    top: 0;
    width: 100%;
    margin: 0;
  }
  .categoryid-38 .category-navi li,
  .categoryid-39 .category-navi li,
  .categoryid-40 .category-navi li,
  .categoryid-99 .category-navi li,
  .category-38 .category-navi li,
  .category-39 .category-navi li,
  .category-40 .category-navi li,
  .category-99 .category-navi li {
    float: left !important;
    width: 32% !important;
    margin-right: 0 !important;
  }
  .categoryid-38 .category-navi li:nth-child(3n),
  .categoryid-39 .category-navi li:nth-child(3n),
  .categoryid-40 .category-navi li:nth-child(3n),
  .category-38 .category-navi li:nth-child(3n),
  .category-39 .category-navi li:nth-child(3n),
  .category-40 .category-navi li:nth-child(3n) {
    margin-right: 0 !important;
  }

  .archive .sortbytag {
    /*max-width: 74%;*/
    width: 310px;
    padding: 80px 0 30px 0 !important;
  }
  .archive .sortbytag:before,
  .single .sortbytag:before {
    margin-left: 0;
  }
  .archive .sortbytag li {
    padding: 0 15px !important;
  }

  .category-realestate #list .list_inner,
  .category-land #list .list_inner,
  .category-house #list .list_inner,
  .category-rent #list .list_inner {
    max-width: 100%;
  }
  .category-realestate #list article,
  .category-land #list article,
  .category-house #list article,
  .category-rent #list article {
    float: none;
    width: 90%;
    margin: 0 0 2% 0;
  }
  .category-realestate #list article figure a,
  .category-land #list article figure a,
  .category-house #list article figure a,
  .category-rent #list article figure a {
    height: 60vw;
    overflow: hidden;
  }
}

/************************************
** お知らせ詳細(single)
************************************/

.single .post article p {
  text-align: justify;
}

.single .post {
  width: 920px;
  max-width: 90%;
  margin: 0 auto;
}
.single .category-showhome {
  width: 100%;
  margin: 0 auto;
}
.single .post article {
  background-color: #fff;
  margin: 0;
  padding: 8%;
}
.single .post article .entry-content {
}
.single .post article .entry-content p {
}

.single #breadcrumb {
}
.single .post header .entry-title {
  position: inherit;
  left: 0;
  top: 0;
  font-size: 20px;
  text-align: left;
  letter-spacing: 0.1em;
  -webkit-writing-mode: inherit;
  -ms-writing-mode: lr-tb !important;
  writing-mode: inherit;
  margin-bottom: 30px;
  line-height: 1.4em;
}

.single .post .post-meta {
  text-align: left;
  background-color: transparent;
}
.single .post h1 + .post-meta,
.single .post .post-update {
  display: none;
}
.single .post .post-meta .fa {
  display: none;
}
.single .post figure img {
  width: 100%;
  margin: 0 0 0 0;
}
.single .post img {
  width: 100%;
  margin: 40px 0 0 0;
}
.single .category-showhome img {
  margin: 0;
}
.single .post .information {
  font-family: Hiragino UD Sans W3 JIS2004;
  font-size: 12px;
  line-height: 1.6;
  color: #5f5f5f;
  margin: 5px 0 40px 0;
  padding: 0;
}
.single .post_inner .tags {
  width: 880px;
  max-width: 90%;
  margin: 50px auto;
  padding: 20px;
}

/* ギャラリー */
.single .post #gallery-1 {
  position: relative;
  width: 100%;
}
.single .post #gallery-1 .gallery-item {
  margin: 0 !important;
  width: 33%;
}
.single .post #gallery-1 {
  background-color: #fff;
}
.gallery-item {
  float: left;
}
.single .post #gallery-1 img {
  margin: 0;
  border: 2px solid #fff;
}

.categoryid-5 #the-content,
.categoryid-12 #the-content,
.categoryid-13 #the-content {
  width: 100%;
  margin: 50px 0 0 0;
}
.categoryid-5 #the-content p,
.categoryid-12 #the-content p,
.categoryid-13 #the-content p {
  width: 80%;
  margin: 50px auto;
}
.categoryid-5 #the-content p,
.categoryid-5 #the-content h1,
.categoryid-5 #the-content h2,
.categoryid-5 #the-content h3,
.categoryid-5 #the-content h4,
.categoryid-5 #the-content h5,
.categoryid-5 #the-content h6 {
  width: 80%;
  margin: 50px auto;
}
.categoryid-5 .tags,
.categoryid-12 .tags,
.categoryid-13 .tags {
  display: none;
}

/* BLOG */
.category-blog #list article,
.category-dou-products #list article,
.tag #list article,
.page-products #list article {
  background-color: transparent;
  border-bottom: 1px solid #000;
  margin: 0;
  padding: 20px 30px 20px 0px;
}

.category-blog #list article figure,
.category-dou-products #list article figure,
.tag #list article figure,
.page-products #list article figure.entry-thumb {
  position: relative;
  display: block;
  float: left;
  width: 24%;
  height: auto;
  margin: 0 7% 0 0;
}

.category-blog #list article figure img,
.category-dou-products #list article figure img,
.tag #list article figure img,
.page-products #list article figure img {
  width: 100%;
  height: inherit;
  aspect-ratio: 1;
  object-fit: cover;
}
.category-blog #list article header h2,
.category-dou-products #list article header h2,
.tag #list article header h2,
.page-products #list article header h2 {
  text-align: left;
  margin: 0.5em 0;
  letter-spacing: 0.1em;
}
.category-blog #list article header h2 a,
.category-dou-products #list article header h2 a,
.tag #list article header h2 a,
.page-products #list article header h2 a {
  font-size: 16px;
  color: #000;
}

.category-blog #list article header .post-meta,
.category-dou-products #list article header .post-meta,
.tag #list article header .post-meta,
.page-products #list article header .post-meta {
  background-color: transparent;
  margin-bottom: 20px;
}
.category-blog #list article header h2 + .post-meta,
.category-dou-products #list article header h2 + .post-meta,
.tag #list article header h2 + .post-meta,
.page-products #list article header h2 + .post-meta {
  margin-bottom: 10px;
}
.category-blog #list article header .post-meta span.fa,
.category-dou-products #list article header .post-meta span.fa,
.tag #list article header .post-meta span.fa,
.page-products #list article header .post-meta span.fa {
  display: none;
}
.category-blog #list .entry-snippet,
.category-dou-products .entry-snippet,
.tag #list .entry-snippet,
.page-products #list .entry-snippet {
  line-height: 1.8;
  color: inherit;
  font-size: 13px;
}

.category-blog .page-header > span.f01,
.categoryid-1 .page-header > span.f01,
.category-dou-products1 .page-header > span.f01,
.archive .page-header > span.f01 {
  float: right;
  margin-top: 120px;
}
.category-blog #archive-title small,
.categoryid-1 .entry-title small,
.category-dou-products .entry-title small,
.archive #archive-title small {
  display: block;
  font-size: 18px;
}

/* PC */
@media screen and (min-width: 751px) {
  .category-blog .page-header > span.f01,
  .categoryid-1 .page-header > span.f01,
  .category-dou-products .page-header > span.f01 {
    margin-top: 120px;
  }
}

/* タブレット */
@media screen and (min-width: 751px) and (max-width: 960px) {
  .single .post_inner .tags {
    width: 85%;
    padding: 20px 2.5%;
  }
}

/* スマホ */
@media screen and (max-width: 750px) {
  .category-blog #list article figure,
  .category-dou-products #list article figure,
  .tag #list article figure,
  .page-products #list article figure.entry-thumb {
    float: none;
    width: 100%;
    margin-right: 0;
  }
  .category-blog #list article figure img,
  .category-dou-products #list article figure img,
  .tag #list article figure img,
  .page-products #list article figure img {
    width: 100%;
  }
  .category-blog #list article header h2,
  .category-dou-products #list article header h2,
  .tag #list article header h2,
  .page-products #list article header h2 {
    margin: 1em 0;
  }
  .category-blog .category #list article,
  .category-dou-products .category #list article,
  .tag #list article,
  .page-products .category #list article {
    padding: 20px 20px 40px 20px;
  }
  .single .post {
    width: 90%;
    margin: 0 auto;
  }
  .single #the-content {
    width: 100%;
  }
  .categoryid-5 #the-content p,
  .categoryid-12 #the-content p,
  .categoryid-13 #the-content p {
    width: 100%;
  }
  .categoryid-5 #the-content p,
  .categoryid-5 #the-content h1,
  .categoryid-5 #the-content h2,
  .categoryid-5 #the-content h3,
  .categoryid-5 #the-content h4,
  .categoryid-5 #the-content h5,
  .categoryid-5 #the-content h6 {
    width: 100%;
  }
  .single .post_inner .tags {
    width: 85%;
    padding: 20px 2.5%;
  }
  /*
	.single #breadcrumb {
		display: none;
	}
	.single .post article {
		padding: 20px 40px 40px;
	}
	body.single #main .entry-title {
		font-size: 24px;
		letter-spacing: 0.2em;
	}
	body.single #main .entry-title-single {
		font-size: 24px;
		letter-spacing: 0.2em;
		text-align: center;
	}

	.single .post header .entry-title {
	margin: 10px 0 30px;
		line-height: 1.4em;
}
*/
  .category-blog #list article,
  .category-dou-products #list article,
  .archive #list article,
  .page-products #list article {
    padding: 20px 0;
  }
  .category-blog #list article figure,
  .category-dou-products #list article figure,
  .archive #list article figure,
  .page-products #list article figure {
    float: none;
    width: 100%;
    margin-right: 0;
  }
  .category-blog #list article figure img,
  .category-dou-products #list article figure img,
  .archive #list article figure img,
  .page-products #list article figure img {
    width: 100%;
  }
  .category-blog .page-header > span.f01,
  .categoryid-1 .page-header > span.f01,
  .category-dou-products .page-header > span.f01,
  .archive .page-header > span.f01,
  .page-products .page-header > span.f01 {
    margin-top: 0px;
  }
}

/************************************
** EVENT詳細(single)
************************************/
.categoryid-100 .entry-title {
  -webkit-writing-mode: inherit !important;
  -ms-writing-mode: tb-lr !important;
  writing-mode: horizontal-tb !important;
  line-height: 1.5 !important;
}
.categoryid-100 .entry-title span {
  font-size: 16px;
  font-family: district-pro, sans-serif;
}
.categoryid-100 .post_inner {
}
.categoryid-100 article {
  background-color: #ececec !important;
  padding: 0 !important;
}
.categoryid-100 article header .date {
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  line-height: 1;
  margin-bottom: 10px;
}
.categoryid-100 article header .status {
  margin-bottom: 20px;
}
.categoryid-100 article header .status span {
  width: 74px;
  height: 20px;
  padding: 6px 8px;
  font-size: 10px;
  text-align: center;
  line-height: 20px;
}
.categoryid-100 article header .status span.open {
  color: #fff;
  background-color: #000;
}
.categoryid-100 article header .status span.close {
  color: #000;
  background-color: transparent;
  border: solid 1px #000;
}
.categoryid-100 article .eye-catch {
  width: 100%;
  box-sizing: border-box;
}
.categoryid-100 article .field {
  width: 80%;
  margin: 0 auto;
}
.categoryid-100 article .field .text {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 16px;
  line-height: 2;
  margin: 40px 0;
}
.categoryid-100 article .field .movie-wrap div {
  width: 100%;
  margin: 40px 0 0 0;
  aspect-ratio: 16 / 9;
}
.categoryid-100 .field .related-works {
  width: 100%;
  height: auto;
  background-color: #ececec;
  margin: 80px 0 0 0;
  padding: 0 0 40px 0;
}
.categoryid-100 .field .related-works .sec_inner {
  position: relative;
  max-width: 920px;
  width: 90%;
}
.categoryid-100 .field .related-works h2 {
  width: 100%;
  text-align: center;
  margin: 15px 0;
}
.categoryid-100 .field .related-works h2 span {
  font-weight: 200;
}

.categoryid-100 .field .related-works ul {
  overflow: hidden;
  height: auto;
  margin-top: 50px;
}

.categoryid-100 .field .related-works ul li {
  float: left;
  width: 100%;
  aspect-ratio: 418 / 280;
  background-color: #fff;
  list-style-type: none;
  margin-bottom: 2% !important;
  padding: 1.8% 1.8% 2.4% 1.8% !important;
  box-sizing: border-box;
}
.categoryid-100 .field .related-works ul li img {
  display: block;
  aspect-ratio: 418 / 280;
  height: auto;
  margin: 0 0 20px 0 !important;
  object-fit: cover;
}
.categoryid-100 .field .related-works ul li:nth-child(even) {
  float: right;
}
.categoryid-100 .field .related-works ul li a span {
  display: block;
}
.categoryid-100 .field .related-works ul li a span.works_title {
  float: left;
  font-size: 16px;
  padding: 2.5px 0;
  letter-spacing: 0.1em;
  width: calc(100% - 90px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.categoryid-100 .field .related-works ul li a span.works_type {
  float: right;
  font-size: 11px;
  text-align: right;
}
.categoryid-100 .field .related-works .btn-single {
  width: 200px;
  margin: 40px auto 0 auto;
}

.categoryid-100 article .field .outline {
  margin-top: 80px;
}
.categoryid-100 article .field .outline h2 {
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  padding-bottom: 15px;
  border-bottom: 1px solid #000;
}
.categoryid-100 article .field .outline .summary {
  display: grid;
  row-gap: 0.5rem;
}
.categoryid-100 article .field .outline .summary > div {
  display: grid;
  grid-template-columns: 6em 1fr;
  column-gap: 1rem;
  width: 100%;
  font-size: 14px;
}
.categoryid-100 article .field .outline .summary dt {
  font-weight: 600;
}
.categoryid-100 article .field .outline .summary dd {
  margin: 0;
}
.categoryid-100 #the-content {
  width: 100%;
}
.categoryid-100 #the-content h2 {
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  padding-bottom: 15px;
  border-bottom: 1px solid #000;
  margin-top: 3em;
}
.categoryid-100 #the-content .tbl-style2 {
  width: 100%;
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
}
.categoryid-100 #the-content .tbl-style2 th {
  font-size: 14px;
  font-weight: 600;
}

/* タブレット */
@media screen and (max-width: 920px) {
  .categoryid-100 .page-header {
    min-height: inherit;
  }
  .categoryid-100 article .field {
    width: 100%;
  }
  .categoryid-100 article .field .outline .summary > div {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    width: 100%;
    font-size: 14px;
  }
}
/* スマホ */
@media screen and (max-width: 750px) {
  .categoryid-100 article .field .text {
    font-size: 14px;
  }
}
/************************************
** INTERVIEW詳細(一覧)
************************************/
.category-109 #archive-title {
  -webkit-writing-mode: inherit !important;
  -ms-writing-mode: tb-lr !important;
  writing-mode: horizontal-tb !important;
  line-height: 1.5 !important;
}
.category-109 #archive-title span {
  font-size: 16px;
  font-family: district-pro, sans-serif;
  font-weight: 300;
  letter-spacing: 0.1em;
  display: block;
}

/************************************
** INTERVIEW詳細(single)
************************************/
.categoryid-104 .entry-title {
  -webkit-writing-mode: inherit !important;
  -ms-writing-mode: tb-lr !important;
  writing-mode: horizontal-tb !important;
  line-height: 1.5 !important;
}
.categoryid-104 .entry-title span {
  font-size: 16px;
  font-family: district-pro, sans-serif;
  display: block;
}
.categoryid-104 .post_inner {
}
.categoryid-104 article {
  background-color: #ececec !important;
  padding: 0 !important;
}
.categoryid-104 article header .date {
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 14px;
  line-height: 1;
  margin: 0;
}
.categoryid-104 article header .status span {
  width: 74px;
  height: 20px;
  padding: 6px 8px;
  font-size: 10px;
  text-align: center;
  line-height: 20px;
}
.categoryid-104 article header .status span.open {
  color: #fff;
  background-color: #000;
}
.categoryid-104 article header .status span.close {
  color: #000;
  background-color: transparent;
  border: solid 1px #000;
}
.categoryid-104 article .eye-catch {
  width: 100%;
  box-sizing: border-box;
}
.categoryid-104 article {
  width: 100%;
  margin: 0 auto;
}
.categoryid-104 article .text {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 16px;
  line-height: 2;
  margin: 40px 0;
}
.categoryid-104 article .movie-wrap div {
  width: 100%;
  margin: 40px 0 0 0;
  aspect-ratio: 16 / 9;
}
.categoryid-104 .related-works {
  width: 100%;
  height: auto;
  background-color: #ececec;
  margin: 80px 0 0 0;
  padding: 0 0 40px 0;
}
.categoryid-104 .related-works .sec_inner {
  position: relative;
  max-width: 920px;
  width: 90%;
}
.categoryid-104 .related-works h2 {
  width: 100%;
  text-align: center;
  margin: 15px 0;
}
.categoryid-104 .related-works h2 span {
  font-weight: 200;
}

.categoryid-104 .related-works ul {
  overflow: hidden;
  height: auto;
  margin-top: 50px;
}

.categoryid-104 .related-works ul li {
  float: left;
  width: 100%;
  aspect-ratio: 418 / 280;
  background-color: #fff;
  list-style-type: none;
  margin-bottom: 2% !important;
  padding: 1.8% 1.8% 2.4% 1.8% !important;
  box-sizing: border-box;
}
.categoryid-104 .related-works ul li img {
  display: block;
  aspect-ratio: 418 / 280;
  height: auto;
  margin: 0 0 20px 0 !important;
  object-fit: cover;
}
.categoryid-104 .related-works ul li:nth-child(even) {
  float: right;
}
.categoryid-104 .related-works ul li a span {
  display: block;
}
.categoryid-104 .related-works ul li a span.works_title {
  float: left;
  font-size: 16px;
  padding: 2.5px 0;
  letter-spacing: 0.1em;
  width: calc(100% - 90px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.categoryid-104 .related-works ul li a span.works_type {
  float: right;
  font-size: 11px;
  text-align: right;
}

.categoryid-104 .related-oh {
  margin: 80px 0;
}
.categoryid-104 .related-oh a {
  display: block;
  width: 240px;
  height: auto;
  margin: 0 auto;
  padding: 15px 20px 16px 20px;
  border: 1px solid #000;
  box-sizing: border-box;
  text-align: center;
}
.categoryid-104 #the-content .related-oh a h2 {
  font-family: district-pro, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
  margin: 0;
}
.categoryid-104 #the-content .related-oh a h2 span {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 16px;
}

.categoryid-104 article .outline {
  margin-top: 80px;
}
.categoryid-104 article .outline h2 {
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 16px;
  font-weight: 400;
  text-align: center;
  padding-bottom: 15px;
  border-bottom: 1px solid #000;
}
.categoryid-104 article .outline .summary {
  display: grid;
  row-gap: 0.5rem;
}
.categoryid-104 article .outline .summary > div {
  display: grid;
  grid-template-columns: 6em 1fr;
  column-gap: 1rem;
  width: 100%;
  font-size: 14px;
}
.categoryid-104 article .outline .summary dt {
  font-weight: 600;
}
.categoryid-104 article .outline .summary dd {
  margin: 0;
}

.categoryid-104 h2.headline {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 24px;
  font-weight: 400;
  text-align: right;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin: 40px 0 0px;
}
.categoryid-104 .owner {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 14px;
  font-weight: 400;
  text-align: right !important;
  padding-bottom: 0px;
  letter-spacing: 0.05em;
  margin: 0;
}
.categoryid-104 .lead {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 16px;
  font-weight: 400;
  text-align: left;
  padding: 1.5% 3% 2% 3%;
  letter-spacing: 0.05em;
  line-height: 2;
  background-color: #fff;
  margin-top: 30px;
}
.categoryid-104 .profile {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 14px;
  font-weight: 400;
  text-align: left;
  letter-spacing: 0.05em;
  line-height: 2;
  margin-top: 40px;
  width: 75%;
  margin: 40px auto 60px auto;
}
.categoryid-104 .profile span {
  display: block;
  font-family: district-pro, sans-serif;
  font-weight: 300;
  letter-spacing: 0.2em;
  margin-bottom: 1em;
}
.categoryid-104 #the-content {
  width: 75%;
  margin: 0 auto;
}
.categoryid-104 #the-content h2 {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 0.1em;
  margin: 40px 0 30px 0;
}
.categoryid-104 #the-content h3 {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 16px;
  color: #000;
  letter-spacing: 0.1em;
  line-height: 1.6;
  font-style: oblique;
  margin: 24px 0;
}
.categoryid-104 #the-content h4 {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-style: oblique;
  margin: 30px 0;
  color: #666;
}
.categoryid-104 #the-content p strong {
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 15px;
  font-weight: 600;
  color: #666;
  letter-spacing: 0em;
  margin: 24px 0;
}
.categoryid-104 #the-content figure img {
  width: 500px;
  margin: 40px auto 60px;
}
.categoryid-104 .wp-block-separator {
  width: 100%;
  border: 0.5px solid #000;
  margin: 80px 0;
}
.categoryid-104 #the-content .credit {
  display: grid;
  grid-template-columns: auto auto auto auto;
  gap: 15px;
  justify-content: right;
  width: auto;
  font-size: 12px;
}
.categoryid-104 #the-content .credit span {
  width: auto;
  text-align: right;
}

/* タブレット */
@media screen and (max-width: 920px) {
  .categoryid-104 .page-header {
    min-height: inherit;
  }
  .categoryid-104 article .field {
    width: 100%;
  }
  .categoryid-104 article .field .outline .summary > div {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    width: 100%;
    font-size: 14px;
  }
}
/* スマホ */
@media screen and (max-width: 750px) {
  .categoryid-104 h2.headline {
    font-size: 20px;
  }
  .categoryid-104 .owner {
    font-size: 12px;
  }
  .categoryid-104 .lead {
    font-size: 14px;
    padding: 3% 6% 4% 6%;
  }
  .categoryid-104 .profile {
    width: 100%;
    font-size: 12px;
  }
  .categoryid-104 #the-content {
    width: 100%;
  }
  .categoryid-104 #the-content h2 {
    font-family: "a-otf-ud-reimin-pr6n", serif;
    font-size: 18px;
    line-height: 1.8;
  }
  .categoryid-104 #the-content h4 {
    font-size: 14px;
  }
  .categoryid-104 #the-content p strong {
    font-size: 13px;
  }
}

/* ==================================================
   PRODUCT SINGLE（category: product）
   - service logo（post_inner外）
   - hero 3:2固定
   - body（細めカラム）
   - information / partner（ACF group）
   - nav
================================================== */

/* --------------------------------------------------
   Base container
-------------------------------------------------- */

.product-single {
  width: 920px;
  max-width: 90%;
  margin: 0 auto 40px;
  padding-bottom: 40px;
  background-color: #fff;
}

/* 投稿本体の横幅（本文＋テーブル類の親） */
.single .product-article {
  max-width: 80%;
  margin: 0 auto;
}

/* --------------------------------------------------
   Service logo（post_innerの外）
-------------------------------------------------- */

.product-service {
  width: 920px;
  max-width: 90%;
  margin: 0 auto 24px;
  padding-top: 32px;
}

.product-service-logo {
  height: 60px;
  width: auto;
  display: block;
}

/* --------------------------------------------------
   HERO（3:2固定）
-------------------------------------------------- */

.product-hero {
  margin: 0 0 40px;
  aspect-ratio: 3 / 2;
  overflow: hidden;
  background-color: #f5f5f5; /* 読み込み前の保険 */
}

.product-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* --------------------------------------------------
   HEAD
-------------------------------------------------- */

.product-head {
  margin: 0 0 40px;
}

.product-title {
  font-size: 20px;
  font-weight: normal;
  line-height: 1.4;
  margin: 0 0 20px;
}

.product-sub {
  display: flex;
  gap: 16px;
  align-items: baseline;
  flex-wrap: wrap;
}

.product-category {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #666;
}

.product-badge {
  font-size: 12px;
  letter-spacing: 0.08em;
  color: #000;
}

.product-price {
  margin-top: 12px;
  font-size: 13px;
  letter-spacing: 0.05em;
}

/* --------------------------------------------------
   BODY
-------------------------------------------------- */

.product-content {
  margin: 0 auto 60px;
}

.product-content p {
  line-height: 2;
}

.product-content figure {
  margin: 40px 0;
}

.product-content figcaption {
  margin-top: 10px;
  font-size: 12px;
  color: #666;
  letter-spacing: 0.05em;
}

/* --------------------------------------------------
   BODY → INFORMATION（製品名）
   ※「本文とINFORMATIONの間」に挿入したブロック
-------------------------------------------------- */

.product-body-to-info {
  margin: 0 auto 28px; /* ① 余白を適切に */
}

.product-info-title {
  margin: 0;
  font-size: 16px;
  font-weight: normal;
  letter-spacing: 0.06em;
}

/* --------------------------------------------------
   INFORMATION / PARTNER（ACF group）
   - section class="product_info" / "product_partner"
-------------------------------------------------- */

/* ① ブロック間の余白（product-body-to-info → INFORMATION / INFORMATION → PARTNER） */
.product_info {
  margin: 0 auto 80px;
}

.product_partner {
  margin: 0 auto;
}

/* ② 見出しフォント：District */
.product_info .product-section-title,
.product_partner .product-section-title {
  font-size: 15px;
  margin: 0 0 32px;
}

/* INFORMATION内のリード文（For Client / For Sale / Prototype） */
.product-info-lead {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.8;
}

/* テーブル（dl） */
.product-dl {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 24px;
  margin: 0;
}

.product-dl dt {
  font-size: 12px;
  color: #666;
}

.product-dl dd {
  margin: 0;
  font-size: 13px;
}

/* ③ 値のリンクは下線 */
.product_info .product-dl dd a,
.product_partner .product-dl dd a {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.product_info .product-dl dd a:hover,
.product_partner .product-dl dd a:hover {
  text-decoration-thickness: 2px;
}

/* ==================================================
   PRODUCT : ONLINE SHOP button
================================================== */

.product-shop-cta {
  margin-top: 32px;
}

/* text-driven width button */
.product-shop-btn {
  display: inline-flex; /* ← inlineにして文字幅基準 */
  align-items: center;
  justify-content: center;

  height: 55px;
  padding: 0 55px; /* ← 左右余白を指定 */

  border: 1px solid #000;
  background-color: #fff;

  font-size: 12px;
  letter-spacing: 0.24em;

  text-decoration: none;
  color: #000;
  white-space: nowrap; /* ← 改行防止 */
}

/* hover はごく控えめに */
.product-shop-btn:hover {
}

/* SP */
@media (max-width: 767px) {
  .product-shop-btn {
    height: 56px;
    padding: 0 40px; /* ← SPでは少し詰める */
    letter-spacing: 0.2em;
  }
}

/* --------------------------------------------------
   NAV
-------------------------------------------------- */

.product-nav {
  width: 920px;
  max-width: 90%;
  margin: 60px auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 16px;
  align-items: center;
}

.product-nav-prev {
  text-align: left;
}

.product-nav-next {
  text-align: right;
}

.product-nav a {
  text-decoration: none;
}

.product-nav a:hover {
}

.product-nav-back a {
  display: inline-block;
  border: 1px solid #000;
  padding: 10px 18px;
  font-size: 12px;
  letter-spacing: 0.08em;
}

/* --------------------------------------------------
   SP
-------------------------------------------------- */

@media screen and (max-width: 767px) {
  /* service logo */
  .product-service {
    padding: 24px 16px 0;
    margin-bottom: 16px;
  }

  .product-service-logo {
    height: 48px;
  }

  /* article width */
  .single .product-article {
    max-width: 85%;
  }

  /* spacing */
  .product-body-to-info {
    margin-bottom: 20px;
  }

  .product_info {
    margin-bottom: 32px;
  }

  /* dl columns */
  .product-dl {
    grid-template-columns: 120px 1fr;
  }

  /* nav */
  .product-nav {
    max-width: 100%;
    grid-template-columns: 1fr;
  }

  .product-nav-prev,
  .product-nav-next {
    text-align: left;
  }

  .product-nav-back {
    margin: 8px 0;
  }
}

/************************************
** 不動産詳細(single)
************************************/

.categoryid-38 .category-navi,
.categoryid-39 .category-navi,
.categoryid-40 .category-navi,
.categoryid-99 .category-navi,
.category-88 .category-navi,
.category-39 .category-navi,
.category-40 .category-navi,
.category-99 .category-navi {
  top: 0;
  margin: 0;
}

.categoryid-38 #archive-title,
.categoryid-39 #archive-title,
.categoryid-40 #archive-title,
.categoryid-99 #archive-title,
.category-38 #archive-title,
.category-39 #archive-title,
.category-40 #archive-title,
.category-99 #archive-title {
  display: none;
}

.categoryid-38 .shop-logo,
.categoryid-39 .shop-logo,
.categoryid-40 .shop-logo,
.categoryid-99 .shop-logo,
.category-38 .shop-logo,
.category-39 .shop-logo,
.category-40 .shop-logo,
.category-99 .shop-logo {
  width: 400px;
  margin: 100px auto 50px auto;
}

.categoryid-38 .post-meta {
  display: none;
}
.estate_meta {
  margin-bottom: 1em;
}
.estate_meta .estate_area {
  float: left;
  font-size: 14px;
}
.estate_meta .estate_type {
  float: right;
  font-size: 14px;
}

.categoryid-38 .tags,
.categoryid-39 .tags,
.categoryid-40 .tags,
.categoryid-99 .tags {
  display: none;
}
.categoryid-38 .backtoindex,
.categoryid-39 .backtoindex,
.categoryid-40 .backtoindex,
.categoryid-99 .backtoindex {
  text-align: center;
  padding: 30px 0 !important;
}
.estate_info dl {
  margin-bottom: 30px !important;
}
.estate_info dl dt {
  float: left;
  clear: left;
  margin-right: 0.5em;
  width: 80px;
  font-weight: 500;
  position: relative;
}
.estate_info dl dt::after {
  content: "：";
  position: absolute;
  right: 0;
}
.estate_info dl dd {
  float: left;
  margin-left: 1em;
}
.estate_info a {
  text-decoration: underline;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* タブレット */
@media screen and (min-width: 751px) and (max-width: 960px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .categoryid-38 .shop-logo,
  .categoryid-39 .shop-logo,
  .categoryid-40 .shop-logo,
  .categoryid-99 .shop-logo,
  .category-38 .shop-logo,
  .category-39 .shop-logo,
  .category-40 .shop-logo,
  .category-99 .shop-logo {
    max-width: 90%;
    margin: 30px auto;
  }

  .categoryid-38 .backtoindex,
  .categoryid-39 .backtoindex,
  .categoryid-40 .backtoindex,
  .categoryid-99 .backtoindex {
    padding: 80px 0 30px 0 !important;
  }
}

/************************************
** 施行事例（Works）詳細(single)
************************************/
.categoryid-5 #the-content {
  margin-top: 40px;
}
.categoryid-5 #the-content .wp-block-image figure img {
  margin: 0 0 50px 0 !important;
}
.categoryid-5 #the-content h2 {
  font-size: 16px;
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
}
.categoryid-5 .related-oh {
  margin: 80px 0;
}
.categoryid-5 .related-oh a {
  display: block;
  width: 240px;
  height: auto;
  margin: 0 auto;
  padding: 15px 20px 16px 20px;
  border: 1px solid #000;
  box-sizing: border-box;
  text-align: center;
}
.categoryid-5 #the-content .related-oh a h2 {
  font-family: district-pro, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.6;
  margin: 0;
}
.categoryid-5 #the-content .related-oh a h2 span {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 16px;
}

.categoryid-5 .related-iv {
  margin: 80px 0;
}
.categoryid-5 .related-iv a {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 1em;
  width: 80%;
  height: 150px;
  margin: 0 auto;
  padding: 12px 12px 12px 20px;
  border: 1px solid #000;
  box-sizing: border-box;
}
.categoryid-5 #the-content .related-iv a h2 {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  font-family: district-pro, sans-serif;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
  margin: 0;
  width: auto;
}
.categoryid-5 #the-content .related-iv a h2 span {
  font-family: "a-otf-ud-reimin-pr6n", serif;
  font-size: 20px;
}
.categoryid-5 .related-iv a .related-iv_title {
  grid-column: 1 / 2;
  grid-row: 2 / 3;
  align-self: end;
  font-size: 16px;
  letter-spacing: 0.2em;
}
.categoryid-5 .related-iv a img {
  grid-column: 2 / 3;
  grid-row: 1 / 3;
  justify-self: end;
  margin: 0 !important;
  aspect-ratio: 3 / 2;
  width: auto;
  height: 100%;
  object-fit: cover;
}

.works_meta {
  margin-bottom: 1em;
}
.works_meta .works_type {
  float: left;
  font-size: 11px;
}
.works_meta .works_id {
  float: right;
  font-size: 16px;
}
.eye-catch {
  position: relative;
}
.eye-catch .awarded {
  position: absolute;
  left: -10px;
  top: -10px;
  display: block;
  color: #fff;
  font-size: 12px;
  padding: 5px 30px;
  background-color: #b29044;
  z-index: 10;
}
.movie-wrap {
  width: 100%;
}
.movie-wrap div {
  width: 100%;
  margin: 50px auto;
  aspect-ratio: 16 / 9;
}
.movie-wrap div iframe {
  display: block;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.works_notice {
  margin-bottom: 30px !important;
}
.works_notice dt {
  font-size: 12px;
}
.works_notice dd {
  font-size: 14px;
}

.works_info {
  position: relative;
  min-height: 200px;
  margin-top: 50px !important;
  padding: 0 0 0 20px !important;
}
.works_info dt {
  position: absolute;
  left: -38px;
  top: 35px;
  font-size: 11px;
  padding-top: 10px;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}
.works_info dd {
  font-size: 12px;
  line-height: 2;
  padding: 10px 0 10px 20px !important;
  border-left: 1px solid #000;
}
.categoryid-5 .related-works {
  max-width: 920px;
  width: 90%;
  height: auto;
  margin: 80px auto 80px auto;
  background-color: #ececec;
  overflow: hidden;
}
.categoryid-5 .related-works h2 {
  width: 100%;
  font-family: district-pro, sans-serif;
  font-size: 16px;
  font-weight: 300;
  text-align: center;
  margin: 15px 0 30px 0;
}
.categoryid-5 .related-works h2 span {
  font-weight: 200;
}
.categoryid-5 .related-works ul {
  width: 100%;
  height: auto;
  margin-top: 50px;
}
.categoryid-5 .related-works ul li {
  float: left;
  width: 49%;
  aspect-ratio: 418 / 280;
  background-color: #fff;
  list-style-type: none;
  margin-bottom: 2% !important;
  padding: 1.8% 1.8% 2.4% 1.8% !important;
  box-sizing: border-box;
}
.categoryid-5 .related-works ul li img {
  display: block;
  aspect-ratio: 418 / 280;
  width: 100%;
  height: auto;
  margin: 0 0 20px 0 !important;
  object-fit: cover;
}
.categoryid-5 .related-works ul li:nth-child(even) {
  float: right;
}
.categoryid-5 .related-works ul li a span {
  display: block;
}
.categoryid-5 .related-works ul li a span.works_title {
  float: left;
  font-size: 16px;
  padding: 2.5px 0;
  letter-spacing: 0.1em;
  width: calc(100% - 90px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.categoryid-5 .related-works ul li a span.works_type {
  float: right;
  font-size: 11px;
  text-align: right;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* タブレット */
@media screen and (min-width: 751px) and (max-width: 960px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .categoryid-5 #the-content .wp-block-image figure img {
    margin: 0 0 40px 0 !important;
  }
  .categoryid-5 #the-content h2 {
    font-size: 14px;
    margin: 20px 0;
  }
  .categoryid-5 .related-iv a {
    width: 100%;
    height: 120px;
    padding: 10px 10px 10px 16px;
  }
  .categoryid-5 #the-content .related-iv a h2 {
    font-size: 12px;
  }
  .categoryid-5 #the-content .related-iv a h2 span {
    font-size: 16px;
  }
  .categoryid-5 .related-iv a .related-iv_title {
    font-size: 14px;
  }
  .categoryid-5 .related-iv a img {
    aspect-ratio: 1 / 1;
  }
  .categoryid-5 #the-content .related-oh a h2 {
    font-size: 12px;
  }
  .categoryid-5 #the-content .related-oh a h2 span {
    font-size: 14px;
  }
  .categoryid-5 .related-works ul li {
    width: 100%;
    padding: 3.6% 3.6% 4.8% 3.6% !important;
  }
  .categoryid-5 .related-works ul li img {
    margin: 0 0 10px 0 !important;
  }
  .categoryid-5 .related-works ul li a span.works_title {
    font-size: 14px;
  }
}

/************************************
** WORKS
************************************/

/*
.category-navi {
  position: relative;
  display: flex;
  justify-content: center;
  top: 100px;
  float: none;
  width: 60%;
  height: 40px;
  margin: 0 auto !important;
}
.category-navi li {
  float: left;
  width: 32%;
  height: 40px;
  margin-right: 2% !important;
  border: 1px solid #000;
}
.category-navi li:nth-child(3n) {
}
.category-navi li:last-child {
  margin-right: 0 !important;
}
.category-navi li a {
  display: block;
  height: 20px;
  font-size: 12px;
  text-align: center;
  padding: 10px 0;
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.category-navi li a:hover,
.category-works .category-navi li.cat0 a,
.category-newbuilt-works .category-navi li.cat1 a,
.category-renovation-works .category-navi li.cat2 a,
.category-styleshop .category-navi li.cat0 a,
.category-item .category-navi li.cat1 a,
.page-brand .category-navi li.cat2 a,
.category-news .category-navi li.cat0 a,
.category-news-preview .category-navi li.cat1 a,
.category-news-etc .category-navi li.cat2 a {
  color: #fff;
  background-color: #000;
}
  */

.category-works {
}
.category-works #list {
}
.pagination {
  margin: 50px 0 !important;
}
.category-works #list article,
.category-newbuilt-works #list article,
.category-renovation-works #list article {
  clear: inherit !important;
  width: 44%;
  padding: 2.5% 2.5% 1.5% 2.5% !important;
}
.category-works #list article:nth-child(odd),
.category-newbuilt-works #list article:nth-child(odd),
.category-renovation-works #list article:nth-child(odd) {
  float: left;
}
.category-works #list article:nth-child(even),
.category-newbuilt-works #list article:nth-child(even),
.category-renovation-works #list article:nth-child(even) {
  float: right;
}
.category-works #list article figure,
.category-newbuilt-works #list article figure,
.category-renovation-works #list article figure {
  width: 100%;
  margin: 0 0 0 0;
  padding: 0;
}
.category-works #list article figure img,
.category-newbuilt-works #list article figure img,
.category-renovation-works #list article figure img {
  display: block;
  width: 100%;
  aspect-ratio: 405/270;
}
.category-works #list article .entry-card-content,
.category-newbuilt-works #list article .entry-card-content,
.category-renovation-works #list article .entry-card-content {
  margin: 0;
}

.category-works .entry-snippet,
.category-works .post-meta,
.category-newbuilt-works .entry-snippet,
.category-newbuilt-works .post-meta,
.category-renovation-works .entry-snippet,
.category-renovation-works .post-meta {
  display: none;
}
.category-works #list article h2,
.category-newbuilt-works #list article h2,
.category-renovation-works #list article h2 {
  float: left;
  width: 70%;
  font-size: 16px;
  margin-top: 20px !important;
  /* padding: 2.5px 0; */
}
.category-works #list article .works_type,
.category-newbuilt-works #list article .works_type,
.category-renovation-works #list article .works_type {
  float: right;
  font-size: 11px;
  text-align: right;
  margin-top: 20px;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .page .page-header {
    width: 100%;
    margin-top: 0px !important;
  }
  .single .page-header,
  .category .page-header,
  .archive .page-header {
    width: 90%;
    margin-top: 30px;
  }

  .category-works #list article,
  .category-newbuilt-works #list article,
  .category-renovation-works #list article {
    width: 95%;
  }
  .category-works #list article figure,
  .category-newbuilt-works #list article figure,
  .category-renovation-works #list article figure {
    height: auto;
    margin: 0 0 0 0;
  }
  .category-works #list article h2,
  .category-newbuilt-works #list article h2,
  .category-renovation-works #list article h2 {
    margin-top: 20px !important;
  }
  .category-works #list article .works_type,
  .category-newbuilt-works #list article .works_type,
  .category-renovation-works #list article .works_type {
    margin-top: 20px;
  }
  .category-works #list article h2,
  .category-newbuilt-works #list article h2,
  .category-renovation-works #list article h2 {
    width: 60%;
    /* padding: 2.5px 0; */
  }
}

/* ==================================================
   Category Navi : text style (no border)
================================================== */

.category-navi {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;

  display: flex;
  flex-direction: column;
  align-items: flex-end; /* 右寄せ */
  gap: 14px;
}

/* li */
.category-navi > li {
  margin: 0;
}

/* リンク */
.category-navi > li > a {
  display: inline-block;

  text-decoration: none;
  color: #000;

  font-size: 12px;
  letter-spacing: 0.2em;

  text-align: right;
  position: relative;
}

/* hover */
.category-navi > li > a:hover {
  text-decoration: underline;
  text-underline-offset: 4px; /* 少し下げる */
  text-decoration-thickness: 1px;
}

/* =========================
   ACTIVE 表現
========================= */

/* 現在のカテゴリ */
.category-navi > li.is-active > a {
  color: #000;
  text-decoration: underline;
  text-underline-offset: 4px; /* 少し下げる */
  text-decoration-thickness: 1px;
}

/************************************
** お問合わせ(contact)
************************************/

.page-inquiry {
}
.page-inquiry .page-header {
  margin-top: 70px;
  margin-bottom: 50px;
}
.page-inquiry .page-header .lead {
  margin-top: 0px;
}
.tel-info {
  display: block;
  margin: 0 0 20px 0;
}
.tel-info span {
  display: inline-block;
  margin: 0px 0;
}
.tel-info span strong {
  display: inline-block;
  font-size: 20px;
  letter-spacing: 0.05em;
  margin-left: 5px;
}
.tel-info small {
  font-size: 11px;
}
.tel-info #line {
  display: inline-block;
  vertical-align: middle;
}
.tel-info #tel {
  text-decoration: none;
}

#the-content a.link-button {
  display: block;
  color: #000;
  border: 1px solid #000;
  text-decoration: none;
  text-align: center;
  padding: 15px;
  margin-bottom: 30px;
}
#the-content a.link-button span {
  display: block;
  line-height: 1.2;
}
#the-content a.link-button span.number {
  font-family: district-pro, sans-serif;
  font-size: 18px;
  margin: 0px 0 10px 0;
}
#the-content a.link-button span.small {
  font-size: 12px;
}

/*
.wpcf7-list-item:nth-child(7):before {
	display:block;
	content: "【賃貸オーナー・不動産事業者様向け】";
	margin: 30px 0 5px 0;
}*/

/* フォーム */
.page-inquiry .article form {
  /*font-family: UD Reimin Light;*/
}
.tbl-style2 {
  width: 80%;
  margin: 20px auto !important;
  border: none;
}
.tbl-style2 tr.border1 {
  border-top: 1px solid #000;
  margin-top: 10px !important;
}
.tbl-style2 tr.border1 th {
  padding-top: 10px !important;
}
.tbl-style2 tr.border2 {
  border-top: 1px solid #fff;
  margin-top: 10px !important;
}
.tbl-style2 tr.border2 th {
  padding: 10px 10px 0 10px !important;
}
.tbl-style2 tr.bottom-row th,
.tbl-style2 tr.bottom-row td {
  padding-bottom: 20px !important;
}
.tbl-style2 th,
.tbl-style2 td {
  background-color: transparent;
  padding: 10px 10px 10px 0;
  border: none;
  box-sizing: border-box;
  vertical-align: top;
}
.tbl-style2 th {
  width: 30%;
  font-size: 16px;
  font-weight: 400;
}
.tbl-style2 th .must {
  position: relative;
}
.tbl-style2 th .must::after {
  position: absolute;
  content: "※";
  font-size: 0.6em;
  vertical-align: top;
  margin-top: -2px;
  margin-left: 2px;
}
.tbl-style2 th.valign-top {
  vertical-align: top;
}
.tbl-style2 td {
  width: 100%;
  text-align: left;
}
.tbl-style2 td p {
  margin: 0;
}
.tbl-style2 td.submit {
  padding: 0;
}
.tbl-style2 td .form-td-inner {
  display: block;
  margin-bottom: 12px;
}

.tbl-style2 td .select {
  position: relative;
}
.tbl-style2 td .select::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 10px 6px 0 6px;
  border-color: #000 transparent transparent transparent;
  position: absolute;
  top: 10px;
  right: 10px;
  pointer-events: none;
}
.tbl-style2 td .select .wpcf7-form-control {
  appearance: none;
  -webkit-appearance: none; /*Google Chrome/Safari対応*/
  -moz-appearance: none; /*Firefox対応*/
  -o-appearance: none; /*Opera対応*/
  width: 100%;
  height: 33px;
  margin: 0 0 0 0;
  font-size: 14px;
  border: none;
  border-radius: 5px;
  background-color: #fff !important;
}

.tbl-style2 td .date .wpcf7-form-control {
  appearance: none;
  -webkit-appearance: none; /*Google Chrome/Safari対応*/
  -moz-appearance: none; /*Firefox対応*/
  -o-appearance: none; /*Opera対応*/
  width: 100%;
  height: 33px;
  margin: 0 0 0 0;
  font-size: 14px;
  border: none;
  border-radius: 5px;
  background-color: #fff !important;
}

.page-inquiry .article form .form-wrap {
  border-top: 1px solid #000;
}
form table th {
  width: 30%;
  text-align: left;
}
form table td input[type="text"],
form table td input[type="tel"],
form table td input[type="email"],
form table td input[type="date"],
form table td input[type="radio"],
form table td textarea {
  width: 100%;
  padding: 0px;
  border-radius: 5px;
  border: 1px solid #eee;
  font-size: 14px;
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
form table td .wpcf7-radio > span {
  display: block;
  margin: 0;
}
form table td .radiborder {
  border-bottom: solid 1px #000 !important;
}
form table td .wpcf7-radio > span {
  margin-bottom: 5px;
}
form table td .wpcf7-radio > span input[type="radio"],
form table td .wpcf7-checkbox > span input[type="checkbox"] {
  display: none;
}

form table td .wpcf7-radio > span input[type="radio"] + span::before,
form table td .wpcf7-checkbox > span input[type="checkbox"] + span::before {
  display: inline-block;
  background: url(/wp/wp-content/themes/simplicity2-child/images/radio_unchecked.png)
    no-repeat left top;
  background-size: contain;
  width: 14px;
  height: 14px;
  margin-right: 0.5em;
}
form table td .wpcf7-radio > span input[type="radio"]:checked + span::before,
form
  table
  td
  .wpcf7-checkbox
  > span
  input[type="checkbox"]:checked
  + span::before {
  background: url(/wp/wp-content/themes/simplicity2-child/images/radio_checked.png)
    no-repeat left top;
  background-size: contain;
}
form table td .wpcf7-checkbox > .wpcf7-list-item {
  margin: 0 20px 0 0;
}

.wpcf7-form-control-wrap .wpcf7-select,
.wpcf7-form-control-wrap .wpcf7-date {
  padding: 0px 10px;
  box-sizing: border-box;
}
.wpcf7-form-control-wrap .wpcf7-text,
.wpcf7-form-control-wrap .wpcf7-textarea {
  padding: 5px 10px;
}
.form-td-inner.select {
  margin-bottom: 20px;
}
.form-td-inner.select:last-child {
  margin-bottom: 0px;
}
.wpcf7-not-valid-tip {
  font-size: 0.8em !important;
}

input[type="submit"] {
  display: block;
  width: 100%;
  background-color: #000;
  /*font-family: UD Reimin Light;*/
  font-size: 16px;
  letter-spacing: 0.2em;
  color: #fff;
  margin: 30px 0 0 0;
  padding: 20px;
  border-radius: 5px;
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

:placeholder-shown,
::-webkit-input-placeholder,
:-moz-placeholder,
::-moz-placeholder,
:-ms-input-placeholder {
  color: #eee !important;
}

.form-txt2 {
  font-size: 13px;
  text-align: center;
}
#form-txt1 {
  text-align: center;
}
/* CF7のデフォルトメッセージ枠を消す */
.wpcf7 form .wpcf7-response-output {
  display: none !important;
  /* お好みで余白も消すなら ↓ */
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* reCAPTCHAのロゴを非表示 */
.grecaptcha-badge {
  visibility: hidden;
}
.recaptcha_policy {
  padding: 0;
  margin: 0;
  text-align: center;
  font-size: 11px !important;
  color: #444 !important;
}
.recaptcha_policy a {
  font-size: 11px !important;
  color: #111 !important;
}

/* PC */
@media screen and (min-width: 751px) {
}

/* スマホ */
@media screen and (max-width: 750px) {
  .tbl-style2 {
    width: 100%;
  }
  .tbl-style2 th,
  .tbl-style2 td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  .tbl-style2 th {
    padding-bottom: 0;
  }
  .tbl-style2 td {
    padding-top: 0;
  }
  input[type="submit"] {
    width: 100%;
    font-size: 20px;
  }
}

/************************************
** 見学予約(reservation)
************************************/
.reservation .accepting {
  box-sizing: border-box;
  width: 70%;
  margin: 20px auto !important;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 0 15%;
  font-size: 14px;
  box-sizing: content-box;
}
.reservation .accepting table,
.reservation .accepting th,
.reservation .accepting td {
  background: none;
  border: none;
}
.reservation .accepting th {
  padding: 3px 20px 3px 0;
  font-weight: 700;
  line-height: 1.5;
}
.reservation .accepting td {
  padding: 3px 0;
  line-height: 1.5;
}

/* スマホ */
@media screen and (max-width: 750px) {
  .reservation .accepting {
    width: 100%;
    padding: 0;
  }
  .reservation .accepting table {
    width: 100%;
  }
  .reservation .accepting th,
  .reservation .accepting td {
    width: 100% !important;
    display: block;
  }
  .reservation .accepting th {
    padding-bottom: 0;
  }
  .reservation .accepting td {
    padding-top: 0;
  }
}

/************************************
** 404
************************************/

.error404 {
}
.error404 .msg {
  height: 20vh;
  text-align: center;
}
.error404 .msg p {
  font-size: 20px;
  font-weight: 500;
  margin-top: 200px;
}
.error404 .msg a {
  font-size: 14px;
}

#swipebox-close,
#swipebox-prev,
#swipebox-next {
  background-position: center center !important;
  background-size: contain;
}
#swipebox-close {
  width: 30px !important;
  height: 30px !important;
}
#swipebox-prev,
#swipebox-next {
  width: 20px !important;
  height: 20px !important;
  margin-top: 15px;
}

#swipebox-close {
  background-image: url(images/button_close.png) !important;
  right: 25px !important;
  top: 10px !important;
}
#swipebox-prev {
  background-image: url(images/button_left.png) !important;
}
#swipebox-next {
  background-image: url(images/button_right.png) !important;
}

/************************************
** 404
************************************/
#footer-info #footer-logo dd {
  margin-top: 10px;
}

/************************************
** Thanks Modal
************************************/
.c-modal {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 9999;
}
.c-modal.is-open {
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-modal[aria-hidden="true"] {
  display: none;
}

/* Backdrop */
.c-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(5px);
}

/* Dialog */
.c-modal__dialog {
  position: relative;
  width: 90%;
  max-width: min(720px, 90vw);
  margin: auto auto;
  background: #fff;
  border-radius: 0px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.18);
  padding: 28px 24px;
  outline: none;
  box-sizing: border-box;
  text-align: center;
  font-family:
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo,
    Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* Title & Body */
.c-modal__title {
  margin: 2em 0 3em;
  font-size: 1.25rem;
  font-weight: 300;
  font-family: district-pro, sans-serif;
}
.c-modal__body p {
  line-height: 1.8;
  margin: 0 0 4em;
  word-wrap: break-word;
}
.c-modal__body hr {
  border: none;
  border-top: 1px solid #eee;
  margin: 16px 0;
}

/* Actions */
.c-modal__actions {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 8px;
}
.c-btn {
  appearance: none;
  background: #000;
  color: #fff;
  padding: 10px 24px;
  border: none;
  cursor: pointer;
  font-size: 0.95rem;
  font-weight: 400;
}
.c-btn:hover {
  background: #000;
  opacity: 0.8 !important;
}

@media (max-width: 750px) {
  .c-modal__dialog {
    margin: 10vh auto 0;
    padding: 22px 18px;
  }
  .c-modal__title {
    font-size: 1.1rem;
  }
  .c-modal__body p {
    font-size: 13px;
  }
}
