/* 西山不動産 共通CSS（自動生成・直接編集しない） */



/* =========================================================
   BLOGカテゴリー全体
========================================================= */

.ny-blog-filter {

    width: 100%;

    margin:

        0
        0
        38px;

    padding:

        36px
        20px
        30px;

    background:

        linear-gradient(
            180deg,
            #ffffff 0%,
            #fbfaf7 100%
        );

    border-bottom:

        1px solid
        rgba(
            22,
            43,
            37,
            0.08
        );

    box-sizing:

        border-box;

}



/* =========================================================
   中身
========================================================= */

.ny-blog-filter-inner {

    width:

        100%;

    max-width:

        1180px;

    margin:

        0 auto;

    text-align:

        center;

}



/* =========================================================
   英字
========================================================= */

.ny-blog-eyebrow {

    margin-bottom:

        5px;

    color:

        #a18a67;

    font-size:

        10px;

    font-weight:

        600;

    letter-spacing:

        .24em;

}



/* =========================================================
   BLOG
========================================================= */

.ny-blog-heading {

    margin:

        0;

    color:

        #173c32;

    font-size:

        clamp(
            32px,
            4vw,
            48px
        );

    font-weight:

        500;

    line-height:

        1.15;

    letter-spacing:

        .08em;

}



/* =========================================================
   説明
========================================================= */

.ny-blog-lead {

    margin:

        10px
        0
        26px;

    color:

        #747474;

    font-size:

        13px;

    line-height:

        1.8;

    letter-spacing:

        .05em;

}



/* =========================================================
   カテゴリー
========================================================= */

.ny-blog-category-nav {

    display:

        flex;

    align-items:

        center;

    justify-content:

        center;

    flex-wrap:

        wrap;

    gap:

        8px;

}



/* =========================================================
   ボタン
========================================================= */

.ny-blog-category-btn {

    position:

        relative;

    display:

        inline-flex;

    align-items:

        center;

    justify-content:

        center;

    min-height:

        43px;

    padding:

        9px
        20px;

    overflow:

        hidden;

    color:

        #313b37 !important;

    background:

        rgba(
            255,
            255,
            255,
            .95
        );

    border:

        1px solid
        #dedbd3;

    border-radius:

        999px;

    box-sizing:

        border-box;

    font-size:

        13px;

    font-weight:

        500;

    line-height:

        1.3;

    letter-spacing:

        .02em;

    text-decoration:

        none !important;

    white-space:

        nowrap;

    transition:

        color .25s ease,
        background .25s ease,
        border-color .25s ease,
        transform .25s ease,
        box-shadow .25s ease;

}



/* =========================================================
   文字
========================================================= */

.ny-blog-category-btn span {

    position:

        relative;

    z-index:

        2;

}



/* =========================================================
   ホバー
========================================================= */

.ny-blog-category-btn:hover {

    color:

        #ffffff !important;

    background:

        #173c32;

    border-color:

        #173c32;

    transform:

        translateY(-2px);

    box-shadow:

        0
        9px
        24px
        rgba(
            23,
            60,
            50,
            .14
        );

}



/* =========================================================
   選択中
========================================================= */

.ny-blog-category-btn.is-active {

    color:

        #ffffff !important;

    background:

        #173c32;

    border-color:

        #173c32;

    box-shadow:

        0
        6px
        18px
        rgba(
            23,
            60,
            50,
            .12
        );

}



/* =========================================================
   選択中の小さいアクセント
========================================================= */

.ny-blog-category-btn.is-active::after {

    content:

        "";

    position:

        absolute;

    bottom:

        5px;

    left:

        50%;

    width:

        14px;

    height:

        1px;

    background:

        rgba(
            255,
            255,
            255,
            .7
        );

    transform:

        translateX(-50%);

}



/* =========================================================
   スマホ
========================================================= */

@media (
    max-width: 767px
) {


    .ny-blog-filter {

        margin-bottom:

            25px;

        padding:

            27px
            0
            20px;

    }



    .ny-blog-filter-inner {

        text-align:

            left;

    }



    .ny-blog-eyebrow,
    .ny-blog-heading,
    .ny-blog-lead {

        padding-left:

            18px;

        padding-right:

            18px;

    }



    .ny-blog-heading {

        font-size:

            34px;

    }



    .ny-blog-lead {

        margin-bottom:

            20px;

        font-size:

            12px;

    }



    /* -----------------------------------------
       横スクロール
    ----------------------------------------- */

    .ny-blog-category-nav {

        justify-content:

            flex-start;

        flex-wrap:

            nowrap;

        gap:

            7px;

        width:

            100%;

        padding:

            3px
            18px
            10px;

        overflow-x:

            auto;

        overflow-y:

            hidden;

        box-sizing:

            border-box;

        scrollbar-width:

            none;

        -webkit-overflow-scrolling:

            touch;

    }



    .ny-blog-category-nav::-webkit-scrollbar {

        display:

            none;

    }



    .ny-blog-category-btn {

        flex:

            0 0 auto;

        min-height:

            40px;

        padding:

            8px
            16px;

        font-size:

            12px;

    }


}



/* 売買検索フォーム：コンパクト表示（nyz26c） */
/* 新築・中古／駐車場の切り替え：選択中の色が文字幅だけになる不具合を修正 */
form.nyz-panel .nyz-seg{height:46px}
form.nyz-panel .nyz-seg label{display:flex!important;flex:1 1 0!important;min-width:0}
form.nyz-panel .nyz-seg label span{flex:1 1 auto;width:100%;font-size:13px}
/* こだわり設備：開いたときは枠内スクロール */
form.nyz-panel .nyz-detail-panel.is-open .nyz-feature-groups{max-height:230px;overflow-y:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:#cfc3ad transparent}
form.nyz-panel .nyz-detail-panel.is-open .nyz-feature-groups::-webkit-scrollbar{width:6px}
form.nyz-panel .nyz-detail-panel.is-open .nyz-feature-groups::-webkit-scrollbar-thumb{background:#cfc3ad;border-radius:6px}
@media (min-width:1081px){
  form.nyz-panel .nyz-type-tab span{height:54px;font-size:14px}
  form.nyz-panel .nyz-fields{gap:14px 18px;padding:20px 28px 22px}
  form.nyz-panel .nyz-field label,form.nyz-panel .nyz-field-label{margin-bottom:6px;font-size:13px}
  form.nyz-panel .nyz-field select{height:46px;font-size:14px}
  form.nyz-panel .nyz-lifestyle{display:grid;grid-template-columns:150px minmax(0,1fr);align-items:start;gap:0 18px;padding:18px 28px}
  form.nyz-panel .nyz-lifestyle .nyz-block-title{flex-direction:column;align-items:flex-start;gap:2px;margin:4px 0 0}
  form.nyz-panel .nyz-lifestyle .nyz-block-title strong{font-size:17px}
  form.nyz-panel .nyz-lifestyle .nyz-block-title span{font-size:11px;line-height:1.5}
  form.nyz-panel .nyz-chips{gap:8px}
  form.nyz-panel .nyz-chip span{height:38px;padding:0 14px 0 10px;font-size:13px;gap:7px}
  form.nyz-panel .nyz-chip span .nyz-ico{width:20px;height:20px}
  form.nyz-panel .nyz-detail-toggle{padding:12px 28px;gap:14px}
  form.nyz-panel .nyz-detail-icon{width:38px;height:38px;border-radius:10px}
  form.nyz-panel .nyz-detail-copy strong{font-size:15px}
  form.nyz-panel .nyz-detail-arrow{width:32px;height:32px}
  form.nyz-panel .nyz-detail-panel{padding:4px 28px 18px}
  form.nyz-panel .nyz-detail-head{margin-bottom:12px;padding:8px 14px}
  form.nyz-panel .nyz-feature-groups{columns:4;column-gap:22px}
  form.nyz-panel .nyz-feature-group{margin-bottom:14px}
  form.nyz-panel .nyz-feature-group legend{margin-bottom:7px;font-size:12px}
  form.nyz-panel .nyz-feature-options{gap:5px}
  form.nyz-panel .nyz-feature span{padding:5px 10px 5px 8px;font-size:12px}
  form.nyz-panel .nyz-panel-foot{padding:14px 28px}
  form.nyz-panel .nyz-submit{min-height:52px;min-width:300px}
}
@media (max-width:700px){
  form.nyz-panel .nyz-detail-panel.is-open .nyz-feature-groups{max-height:52vh}
}
/* 賃貸検索フォーム：コンパクト表示（nr3c） */
/* 費用チップ欄（4列分） */
form.nr3-panel .nr3-field.s4{grid-column:span 4}
form.nr3-panel .nr3-cost .nr3-chips{gap:6px}
form.nr3-panel .nr3-cost .nr3-chip span{height:42px;padding:0 14px}
@media (max-width:1000px){form.nr3-panel .nr3-field.s4{grid-column:1/-1}}
/* こだわり設備：開いたときは枠内スクロール */
form.nr3-panel .nr3-detail[open] .nr3-feature-groups{max-height:230px;overflow-y:auto;padding-right:8px;scrollbar-width:thin;scrollbar-color:#cfc3ad transparent}
form.nr3-panel .nr3-detail[open] .nr3-feature-groups::-webkit-scrollbar{width:6px}
form.nr3-panel .nr3-detail[open] .nr3-feature-groups::-webkit-scrollbar-thumb{background:#cfc3ad;border-radius:6px}
@media (min-width:1001px){
  form.nr3-panel .nr3-panel-head{padding:14px 28px 12px}
  form.nr3-panel .nr3-panel-head h2{font-size:21px;margin:0!important;padding:0!important;border:0!important;background:none!important}
  form.nr3-panel .nr3-panel-head h2::before,form.nr3-panel .nr3-panel-head h2::after{display:none!important}
  form.nr3-panel .nr3-group{padding:10px 28px;gap:14px;grid-template-columns:120px minmax(0,1fr)}
  form.nr3-panel .nr3-group-label{padding-top:22px;font-size:12px}
  form.nr3-panel .nr3-grid{gap:8px 14px}
  form.nr3-panel .nr3-field select{height:42px;font-size:14px}
  form.nr3-panel .nr3-lifestyle{display:grid;grid-template-columns:170px minmax(0,1fr);align-items:start;gap:0 14px;padding:14px 28px}
  form.nr3-panel .nr3-lifestyle .nr3-block-title{flex-direction:column;align-items:flex-start;gap:2px;margin:2px 0 0}
  form.nr3-panel .nr3-lifestyle .nr3-block-title strong{font-size:16px}
  form.nr3-panel .nr3-lifestyle .nr3-block-title span{font-size:11px;line-height:1.5}
  form.nr3-panel .nr3-chips{gap:7px}
  form.nr3-panel .nr3-chip span{height:36px;font-size:13px}
  form.nr3-panel .nr3-detail>summary{padding:10px 28px}
  form.nr3-panel .nr3-detail-panel{padding:4px 28px 16px}
  form.nr3-panel .nr3-detail-note{margin-bottom:10px;padding:8px 14px}
  form.nr3-panel .nr3-feature-groups{columns:4;column-gap:22px}
  form.nr3-panel .nr3-feature-group{margin-bottom:14px}
  form.nr3-panel .nr3-feature-group legend{margin-bottom:7px;font-size:12px}
  form.nr3-panel .nr3-feature-options{gap:5px}
  form.nr3-panel .nr3-feature span{padding:5px 10px 5px 8px;font-size:12px}
  form.nr3-panel .nr3-panel-foot{padding:12px 28px}
  form.nr3-panel .nr3-submit{min-height:48px}
}
@media (max-width:700px){
  form.nr3-panel .nr3-detail[open] .nr3-feature-groups{max-height:52vh}
}
#nya26-budget .nya26-card2{background:linear-gradient(135deg,#0b2f4f 0%,#123d63 100%);border:0;box-shadow:0 18px 40px rgba(11,47,79,.22)}
#nya26-budget .nya26-h{color:#fff}
#nya26-budget .nya26-lead{color:rgba(255,255,255,.82)}
#nya26-budget .nya26-form label{color:rgba(255,255,255,.88)}
#nya26-budget .nya26-form select{background-color:#fff;color:#102c49;border-color:transparent}
#nya26-budget #nya26-b-go{background:#c9a24b;color:#fff}
#nya26-budget #nya26-b-go:hover{background:#d8b260}
#nya26-budget .nya26-src{color:rgba(255,255,255,.6)}
#nya26-budget #nya26-b-out{color:#fff}
#nya26-budget #nya26-b-out p{color:rgba(255,255,255,.85)}
#nya26-budget .nya26-rank li{background:#fff;border-color:transparent;color:#102c49}
/* 追加CSS（カスタマイズ） */
/* =========================================================
   西山不動産｜追加CSS 整理版 2026-09-19
   - カラー/よく使う値を CSS変数化して一元管理
   - 重複ルール・矛盾ルールを削除
   - インデント/引用符/空行の書式を統一
========================================================= */

:root {
  /* 背景色 */
  --nishi-bg-page: #f5f0e8;      /* サイト共通背景 */
  --nishi-bg-muted: #f5f5f2;     /* 売買ページ セクション背景 */
  --nishi-bg-card: #fafafa;      /* 検索ボックス背景 */
  --nishi-bg-input: #fffdf9;     /* フォーム入力欄背景 */

  /* ネイビー系(ブランドカラー) */
  --nishi-navy: #061c2f;         /* 売買ページ / 汎用カード共通 */
  --nishi-navy-contact: #20252c; /* お問い合わせページ専用 */

  /* ゴールド系(アクセントカラー) */
  --nishi-gold: #b08c49;         /* 売買ページ アクセント */
  --nishi-gold-light: #d4b36b;   /* 売買ヒーロー ラベル文字 */
  --nishi-gold-line: #c7a45d;    /* 売買ヒーロー 装飾ライン */
  --nishi-gold-contact: #b99a59; /* お問い合わせページ アクセント */
  --nishi-gold-btn-text: #d2b676;/* お問い合わせ送信ボタン文字 */

  /* テキスト・ボーダー */
  --nishi-text-gray: #666;
  --nishi-text-gray-light: #777;
  --nishi-border: #d8ccb9;
}

/* =========================================================
   01 共通 / Lightning リセット
========================================================= */
html,
body {
  overflow-x: hidden !important;
}

/* Lightning純正ヘッダーを非表示 */
.site-header,
header.site-header {
  display: none !important;
}

/* 共通背景 */
body,
.site,
.site-body,
.site-content,
main,
.entry-body,
.entry-content {
  background-color: var(--nishi-bg-page) !important;
}

/* 不要な上余白をリセット */
.site-body,
.siteContent,
.site-content,
.site-main,
.mainSection,
.main-section,
.entry-body,
.entry-content {
  margin-top: 0 !important;
}

/* トップページをHEROから上詰め */
.home .site-body,
.home .siteContent,
.home .site-content,
.home .site-main,
.home .mainSection,
.home .main-section,
.home .entry-body,
.home .entry-content,
.home .wp-block-html {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.home .entry-content > *:first-child {
  margin-top: 0 !important;
}

/* 下層ページ：SIGNATURE HEADER直下の余白を除去 */
body:not(.home) .site-body,
body:not(.home) .siteContent,
body:not(.home) .site-content,
body:not(.home) .site-main,
body:not(.home) .mainSection,
body:not(.home) .main-section,
body:not(.home) main,
body:not(.home) .entry-body,
body:not(.home) .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:not(.home) .entry-content > *:first-child,
body:not(.home) .wp-block-html:first-child,
body:not(.home) .wp-block-html > *:first-child,
body:not(.home) .entry-content > .wp-block-html:first-child,
body:not(.home) .entry-content > .wp-block-html:first-child > *:first-child {
  margin-top: 0 !important;
}

body:not(.home) .entry-content > * {
  --wp--style--block-gap: 0px;
}

body:not(.home) .nishi-signature-header {
  margin-bottom: 0 !important;
}

body:not(.home) .nishi-signature-header + * {
  margin-top: 0 !important;
}

/* テーマ標準ページタイトル・パンくずを非表示 */
.page-header,
.page-header-inner,
.page-header-title,
.vk_pageTitle,
.vk-page-title,
.vk_page-header,
.pageHeader,
.page-header-cover,
.siteHeader-after,
.site-header-after,
.breadcrumb,
.breadcrumb-list,
.breadcrumb-area,
.breadcrumbs,
.vk-breadcrumb,
.breadcrumb-container {
  display: none !important;
}

/* サイドバー・テーマ標準フッター */
.sub-section,
.subSection,
.widget-area,
.site-body-bottom {
  display: none !important;
}

.site-footer,
.site-footer-copyright,
.site-footer .copySection,
footer .copySection {
  display: none !important;
}

.site-body {
  padding-bottom: 0 !important;
}

.site-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

input,
select,
textarea {
  background: var(--nishi-bg-input) !important;
  border: 1px solid var(--nishi-border) !important;
  color: #333 !important;
}

/* =========================================================
   02 売買ページ
========================================================= */
body:has(.ny-sale-wrap) .siteContent,
body:has(.ny-sale-wrap) .siteContent > .container,
body:has(.ny-sale-wrap) .mainSection,
body:has(.ny-sale-wrap) .entry-body {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

.ny-sale-wrap {
  width: 100% !important;
  max-width: none !important;
  position: relative !important;
  left: auto !important;
  right: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  background: var(--nishi-bg-muted) !important;
  box-sizing: border-box !important;
}

.ny-sale-hero {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 580px !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  padding: 100px 6% 130px !important;
  background: linear-gradient(110deg, rgba(2, 18, 31, .98) 0%, rgba(4, 34, 55, .92) 50%, rgba(9, 61, 91, .88) 100%) !important;
  overflow: hidden !important;
}

.ny-sale-hero::before {
  content: "";
  position: absolute;
  top: -200px;
  right: -100px;
  width: 650px;
  height: 650px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, 0) 68%);
  pointer-events: none;
}

.ny-sale-hero::after {
  content: "";
  position: absolute;
  left: 6%;
  bottom: 90px;
  width: 280px;
  height: 1px;
  background: linear-gradient(90deg, var(--nishi-gold-line), rgba(199, 164, 93, 0));
}

.ny-sale-hero-inner {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
}

.ny-sale-hero .ny-en {
  display: block !important;
  margin-bottom: 22px !important;
  color: var(--nishi-gold-light) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: .48em !important;
}

.ny-sale-hero h1 {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: clamp(58px, 7vw, 100px) !important;
  font-weight: 400 !important;
  line-height: 1.1 !important;
  letter-spacing: .08em !important;
}

.ny-hero-copy {
  margin-top: 36px !important;
  color: rgba(255, 255, 255, .80) !important;
  font-size: 14px !important;
  line-height: 2.2 !important;
  letter-spacing: .05em !important;
}

.ny-search-section {
  position: relative !important;
  z-index: 5 !important;
  width: calc(100% - 80px) !important;
  max-width: 1500px !important;
  box-sizing: border-box !important;
  margin: -70px auto 0 !important;
  padding: 52px !important;
  background: #fff !important;
  box-shadow: 0 25px 70px rgba(0, 25, 45, .14) !important;
}

.ny-search-head {
  margin: 0 0 36px !important;
}

.ny-search-head p {
  margin: 0 0 10px !important;
  color: var(--nishi-gold) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .42em !important;
}

.ny-search-head h2 {
  margin: 0 !important;
  color: var(--nishi-navy) !important;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: clamp(34px, 3.5vw, 50px) !important;
  font-weight: 400 !important;
  letter-spacing: .04em !important;
}

.ny-search-form {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
}

.ny-search-box {
  min-width: 0 !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  background: var(--nishi-bg-card) !important;
  border: 1px solid #dededb !important;
  transition: border-color .25s ease, background .25s ease !important;
}

.ny-search-box:hover {
  background: #fff !important;
  border-color: var(--nishi-gold) !important;
}

.ny-search-box label {
  display: block !important;
  margin: 0 0 10px !important;
  color: var(--nishi-navy) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.ny-search-box label small {
  display: block !important;
  margin-bottom: 4px !important;
  color: var(--nishi-gold) !important;
  font-size: 8px !important;
  letter-spacing: .28em !important;
}

.ny-search-box select {
  width: 100% !important;
  height: 48px !important;
  box-sizing: border-box !important;
  padding: 0 12px !important;
  border: 1px solid #e2e2df !important;
  background: #fff !important;
  color: #222 !important;
  font-size: 13px !important;
  outline: none !important;
}

.ny-search-action {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  padding-top: 24px !important;
}

.ny-search-action button {
  width: 340px !important;
  height: 64px !important;
  border: none !important;
  background: var(--nishi-navy) !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
  cursor: pointer !important;
  box-shadow: 0 10px 25px rgba(0, 20, 35, .16) !important;
  transition: transform .3s ease, background .3s ease !important;
}

.ny-search-action button:hover {
  transform: translateY(-3px) !important;
  background: var(--nishi-gold) !important;
}

.ny-search-action a {
  color: #777 !important;
  font-size: 11px !important;
  text-decoration: none !important;
}

.ny-property-section {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 120px 5% 140px !important;
  background: var(--nishi-bg-muted) !important;
}

.ny-property-head {
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto 52px !important;
}

.ny-property-head p {
  margin: 0 0 10px !important;
  color: var(--nishi-gold) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .42em !important;
}

.ny-property-head h2 {
  margin: 0 !important;
  color: var(--nishi-navy) !important;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif !important;
  font-size: clamp(38px, 4vw, 58px) !important;
  font-weight: 400 !important;
  letter-spacing: .04em !important;
}

.ny-property-grid {
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 32px !important;
}

/* 売買ページ専用カード */
.ny-property-card {
  position: relative !important;
  width: 100% !important;
  overflow: hidden !important;
  background: #fff !important;
  border: none !important;
  box-shadow: 0 8px 30px rgba(0, 20, 35, .07) !important;
  transition: transform .4s ease, box-shadow .4s ease !important;
}

.ny-property-card:hover {
  transform: translateY(-7px) !important;
  box-shadow: 0 22px 50px rgba(0, 20, 35, .14) !important;
}

.ny-property-image {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 10 !important;
  overflow: hidden !important;
  background: #e5e5e5 !important;
}

.ny-property-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .65s ease !important;
}

.ny-property-card:hover .ny-property-image img {
  transform: scale(1.055) !important;
}

.ny-badge {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 3 !important;
  padding: 9px 14px !important;
  background: rgba(6, 28, 47, .94) !important;
  color: #fff !important;
  font-size: 9px !important;
  letter-spacing: .12em !important;
}

.ny-property-info {
  padding: 27px 25px 30px !important;
}

.ny-property-location {
  margin: 0 0 9px !important;
  color: var(--nishi-gold) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .14em !important;
}

.ny-property-info h3 {
  margin: 0 0 17px !important;
  color: var(--nishi-navy) !important;
  font-family: "Yu Mincho", serif !important;
  font-size: 24px !important;
  font-weight: 500 !important;
}

.ny-price {
  margin-bottom: 18px !important;
  color: var(--nishi-navy) !important;
  font-size: 34px !important;
  font-weight: 500 !important;
}

.ny-spec {
  color: var(--nishi-text-gray) !important;
  font-size: 12px !important;
  line-height: 1.9 !important;
}

.ny-station {
  margin-top: 10px !important;
  color: var(--nishi-text-gray-light) !important;
  font-size: 11px !important;
}

.ny-view-detail {
  margin-top: 22px !important;
  padding-top: 18px !important;
  border-top: 1px solid #e5e5e5 !important;
  color: var(--nishi-navy) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
}

.ny-property-grid > .ny-property-card:only-child {
  max-width: 520px !important;
}

@media (max-width: 1000px) {
  .ny-search-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ny-property-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .ny-sale-hero {
    min-height: 440px !important;
    padding: 75px 22px 110px !important;
  }

  .ny-sale-hero h1 {
    font-size: 48px !important;
  }

  .ny-search-section {
    width: calc(100% - 28px) !important;
    margin: -55px auto 0 !important;
    padding: 32px 18px !important;
  }

  .ny-search-form {
    grid-template-columns: 1fr !important;
  }

  .ny-search-action {
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .ny-search-action button {
    width: 100% !important;
  }

  .ny-property-section {
    padding: 80px 16px 100px !important;
  }

  .ny-property-grid {
    grid-template-columns: 1fr !important;
  }

  .ny-property-grid > .ny-property-card:only-child {
    max-width: none !important;
  }
}

/* =========================================================
   03 賃貸ページ（PAGE ID 16）
========================================================= */
body.page-id-16 .site-body,
body.page-id-16 .siteContent,
body.page-id-16 .site-content,
body.page-id-16 .site-body-container,
body.page-id-16 .mainSection,
body.page-id-16 .main-section,
body.page-id-16 main,
body.page-id-16 .entry-body,
body.page-id-16 .entry-content {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 1px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.page-id-16 .site-body > .container,
body.page-id-16 .site-body-container.container,
body.page-id-16 .siteContent > .container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.page-id-16 .entry-body,
body.page-id-16 .entry-content {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #111 !important;
  background: #fff !important;
}

body.page-id-16 .wp-block-shortcode,
body.page-id-16 .wp-block-html {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  position: relative !important;
  z-index: 2 !important;
}

body.page-id-16 .site-body-container > .row {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.page-id-16 .mainSection,
body.page-id-16 .main-section {
  display: block !important;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.page-id-16,
body.page-id-16 .site,
body.page-id-16 .site-body,
body.page-id-16 .siteContent,
body.page-id-16 .site-content {
  background: #fff !important;
}

body.page-id-16 .nishi-rent-v2 {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 300px !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
  box-sizing: border-box !important;
}

body.page-id-16 .nrv2-hero {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.page-id-16 .nrv2-hero-inner {
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  padding-left: 70px !important;
  padding-right: 70px !important;
  box-sizing: border-box !important;
}

body.page-id-16 .nrv2-copy {
  width: 760px !important;
  max-width: 100% !important;
}

body.page-id-16 .nrv2-copy h1 {
  font-size: 44px !important;
  line-height: 1.35 !important;
}

body.page-id-16 .nrv2-search-wrap {
  width: 100% !important;
  max-width: 1480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.page-id-16 .nrv2-search {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-id-16 .nrv2-pickup-head,
body.page-id-16 .nrv2-card-grid {
  width: 100% !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 767px) {
  body.page-id-16 .nrv2-hero-inner {
    padding-left: 22px !important;
    padding-right: 22px !important;
  }

  body.page-id-16 .nrv2-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.page-id-16 .nrv2-copy h1 {
    font-size: 34px !important;
    line-height: 1.4 !important;
  }
}

/* =========================================================
   04 会社概要
========================================================= */
.nishi-company-page,
.nishi-company-hero {
  margin-top: 0 !important;
}

/* =========================================================
   05 お問い合わせ
========================================================= */
.nishi-contact-head {
  max-width: 1100px;
  margin: 70px auto 20px;
  padding: 0 20px;
  text-align: center;
}

.nishi-contact-head span {
  display: block;
  margin-bottom: 10px;
  color: var(--nishi-gold-contact);
  font-family: Georgia, serif;
  font-size: 13px;
  letter-spacing: .30em;
}

.nishi-contact-head h2 {
  margin: 0;
  color: var(--nishi-navy-contact);
  font-family: "Noto Serif JP", "Yu Mincho", serif;
  font-size: 40px;
  font-weight: 500;
  letter-spacing: .08em;
}

.nishi-contact-head p {
  margin: 22px 0 0;
  color: var(--nishi-text-gray);
  font-size: 13px;
  line-height: 2;
  letter-spacing: .05em;
}

.nishi-contact-head::after {
  content: "";
  display: block;
  width: 55px;
  height: 1px;
  margin: 28px auto 0;
  background: var(--nishi-gold-contact);
}

.nishi-contact-form {
  max-width: 1100px;
  margin: 0 auto 100px;
  padding: 55px 60px 70px;
  background: #fff;
  border-top: 3px solid var(--nishi-navy-contact);
  box-sizing: border-box;
  box-shadow: 0 20px 60px rgba(20, 25, 30, .07);
}

.nishi-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 35px;
}

.nishi-contact-form label {
  display: block;
  margin: 0;
  padding: 22px 0 25px;
  color: #25292d;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .07em;
}

.nishi-required {
  display: inline-block;
  margin-left: 8px;
  padding: 3px 7px;
  background: var(--nishi-gold-contact);
  color: #fff;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .08em;
}

.nishi-contact-form input[type="text"],
.nishi-contact-form input[type="email"],
.nishi-contact-form input[type="tel"],
.nishi-contact-form select,
.nishi-contact-form textarea {
  width: 100%;
  margin-top: 10px;
  padding: 16px 17px;
  border: 1px solid #ded8cd;
  border-radius: 0;
  box-sizing: border-box;
  background: #faf9f6;
  color: #222;
  font-size: 14px;
  outline: none;
  transition: border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.nishi-contact-form input[type="text"]:focus,
.nishi-contact-form input[type="email"]:focus,
.nishi-contact-form input[type="tel"]:focus,
.nishi-contact-form select:focus,
.nishi-contact-form textarea:focus {
  border-color: var(--nishi-gold-contact);
  background: #fff;
  box-shadow: 0 0 0 3px rgba(185, 154, 89, .08);
}

.nishi-contact-form input::placeholder,
.nishi-contact-form textarea::placeholder {
  color: #aaa;
}

.nishi-contact-form textarea {
  min-height: 180px;
  resize: vertical;
  line-height: 1.8;
}

.nishi-contact-form select {
  cursor: pointer;
}

.nishi-contact-submit {
  margin-top: 35px;
  text-align: center;
}

.nishi-contact-submit input[type="submit"] {
  width: 360px;
  max-width: 100%;
  min-height: 60px;
  padding: 16px 30px;
  border: 1px solid var(--nishi-navy-contact);
  border-radius: 0;
  background: var(--nishi-navy-contact);
  color: var(--nishi-gold-btn-text);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .22em;
  cursor: pointer;
  transition: .3s ease;
}

.nishi-contact-submit input[type="submit"]:hover {
  background: var(--nishi-gold-contact);
  border-color: var(--nishi-gold-contact);
  color: #fff;
  transform: translateY(-2px);
}

.nishi-contact-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #a94442;
  font-size: 11px;
}

.wpcf7 form .wpcf7-response-output {
  margin: 30px 0 0;
  padding: 15px 18px;
  border: 1px solid rgba(185, 154, 89, .55);
  font-size: 12px;
  text-align: center;
}

/* お問い合わせページ本文の背景色（01の共通背景より優先させる） */
body.page .entry-content {
  background: #f3efe7 !important;
}

@media (max-width: 767px) {
  .nishi-contact-head {
    margin-top: 45px;
  }

  .nishi-contact-head h2 {
    font-size: 30px;
  }

  .nishi-contact-form {
    width: calc(100% - 24px);
    padding: 35px 22px 50px;
  }

  .nishi-form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .nishi-contact-form label {
    padding: 18px 0 20px;
  }

  .nishi-contact-form input[type="text"],
  .nishi-contact-form input[type="email"],
  .nishi-contact-form input[type="tel"],
  .nishi-contact-form select,
  .nishi-contact-form textarea {
    font-size: 16px;
  }

  .nishi-contact-submit input[type="submit"] {
    width: 100%;
  }
}

/* =========================================================
   06 汎用物件カード
   ※ .ny-property-card は売買専用定義を優先し重複させない
========================================================= */
.property-card,
.nishi-property-card {
  background: #fff;
  border: none !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, .08);
  overflow: hidden;
  transition: transform .4s ease, box-shadow .4s ease;
}

.property-card:hover,
.nishi-property-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .14);
}

.property-card img,
.nishi-property-card img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
  transition: transform .7s ease;
}

.property-card:hover img,
.nishi-property-card:hover img {
  transform: scale(1.05);
}

.property-card .content,
.nishi-property-card .content {
  padding: 22px 22px 24px;
}

.property-card h3,
.nishi-property-card h3 {
  margin: 0 0 12px;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 600;
  letter-spacing: .03em;
  color: var(--nishi-navy);
}

.property-card .price,
.nishi-property-card .price {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: .03em;
  color: var(--nishi-navy);
  margin-bottom: 10px;
}

.property-card p,
.nishi-property-card p {
  color: #6b7280;
  font-size: 14px;
  line-height: 1.8;
}

.property-card a,
.nishi-property-card a {
  color: inherit;
  text-decoration: none;
}

.property-card .tag,
.nishi-property-card .tag {
  display: inline-block;
  padding: 6px 12px;
  font-size: 11px;
  letter-spacing: .12em;
  background: var(--nishi-navy);
  color: #fff;
  margin-bottom: 12px;
}

/* =========================================================
   07 トップページ ふわっと表示
========================================================= */
.home .ny-reveal-item {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition: opacity .65s ease, transform .65s cubic-bezier(.22, .61, .36, 1);
}

.home .ny-reveal-item.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.home .ny-hero {
  opacity: 1 !important;
  visibility: visible !important;
}

@media (max-width: 768px) {
  .home .ny-reveal-item {
    transform: translate3d(0, 10px, 0);
    transition-duration: .55s;
  }

  .home .ny-reveal-item.is-visible {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .home .ny-reveal-item,
  .home .ny-reveal-item.is-visible {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* =========================================================
   08 ページトップ矢印を完全非表示
========================================================= */
.page_top_btn,
.page-top,
.pageTop,
.scroll-to-top,
.scroll-top,
#page-top,
#page_top,
.back-to-top,
.to-top,
.vk-page-top,
.vk_page_top,
.vk-scroll-top,
.nishi-page-top,
html body [class*="page_top"],
html body [class*="page-top"],
html body [class*="scroll-top"],
html body [class*="scroll_top"] {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}

.page_top_btn::before,
.page_top_btn::after,
#page_top::before,
#page_top::after,
.page-top::before,
.page-top::after,
.scroll-top::before,
.scroll-top::after,
.scroll-to-top::before,
.scroll-to-top::after,
.back-to-top::before,
.back-to-top::after,
.to-top::before,
.to-top::after,
.vk-page-top::before,
.vk-page-top::after,
.vk_page_top::before,
.vk_page_top::after {
  content: none !important;
  display: none !important;
}

/* =========================================================
   09 ページ遷移アニメーション
========================================================= */
@view-transition {
  navigation: auto;
}

::view-transition-old(root) {
  animation: ny-page-out .45s ease both;
}

::view-transition-new(root) {
  animation: ny-page-in .65s ease both;
}

@keyframes ny-page-out {
  0% {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }

  100% {
    opacity: 0;
    filter: blur(4px);
    transform: scale(1.015);
  }
}

@keyframes ny-page-in {
  0% {
    opacity: 0;
    filter: blur(5px);
    transform: scale(1.02);
  }

  100% {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation: none !important;
  }
}

/* =========================================================
   10 ブログ
========================================================= */
body.blog .site-body,
body.single-post .site-body {
  padding-top: 100px !important;
}

/* =========================================================
   11 アーカイブ・カテゴリー等の不要ウィジェットを非表示
========================================================= */
.widget_archive,
.wp-block-archives,
.wp-block-archives-list,
.widget_categories,
.wp-block-categories,
.wp-block-categories-list,
.widget_meta,
.widget_recent_entries,
.wp-block-latest-posts,
.widget_recent_comments,
.wp-block-latest-comments,
.widget_tag_cloud,
.wp-block-tag-cloud,
.site-footer .site-info,
.copySection p:nth-child(2) {
  display: none !important;
}
@media (max-width: 600px) {
  #nyKv .nyk-media {
    clip-path: none !important;
    animation: none !important;
  }

  #nyKv .nyk-grain {
    display: none !important;
  }

  .nishi-signature-header {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}
/* 共通ヘッダー */


/* =========================================================
   RESET
========================================================= */

html,
body{
    margin:0 !important;
    overflow-x:hidden !important;
}


/* =========================================================
   HEADER SPACE
========================================================= */

/* 下層ページ */
body:not(.home){
    padding-top:82px !important;
}

/* TOPページ */
body.home{
    padding-top:0 !important;
}


/* =========================================================
   HIDE LIGHTNING HEADER
========================================================= */

header.site-header,
.site-header{
    display:none !important;
}

.site-body,
.siteContent,
.site-content{
    margin-top:0 !important;
}


/* =========================================================
   HEADER
========================================================= */

.nishi-signature-header{

    position:fixed !important;

    top:0 !important;
    left:0 !important;
    right:0 !important;

    z-index:999999 !important;

    width:100% !important;
    height:82px !important;

    margin:0 !important;
    padding:0 38px !important;

    display:grid !important;

    grid-template-columns:
        320px
        1fr
        220px !important;

    align-items:center !important;

    box-sizing:border-box !important;

    background:
        rgba(3,25,43,.94) !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.09) !important;

    box-shadow:
        0 5px 24px
        rgba(0,18,32,.12) !important;

    -webkit-backdrop-filter:
        blur(16px)
        saturate(120%) !important;

    backdrop-filter:
        blur(16px)
        saturate(120%) !important;

    transition:
        background .35s ease,
        box-shadow .35s ease !important;
}


/* TOPページだけ透明感 */

.home .nishi-signature-header{

    background:
        linear-gradient(
            180deg,
            rgba(1,19,34,.84) 0%,
            rgba(1,22,40,.58) 65%,
            rgba(1,22,40,.18) 100%
        ) !important;

    box-shadow:none !important;
}


/* スクロール後 */

.home .nishi-signature-header.is-scrolled{

    background:
        rgba(3,28,48,.97) !important;

    box-shadow:
        0 7px 30px
        rgba(0,15,30,.20) !important;

    -webkit-backdrop-filter:
        blur(20px)
        saturate(125%) !important;

    backdrop-filter:
        blur(20px)
        saturate(125%) !important;
}


/* =========================================================
   BRAND
========================================================= */

.nishi-signature-brand{

    height:100% !important;

    display:flex !important;

    align-items:center !important;

    gap:13px !important;

    justify-self:start !important;

    color:#fff !important;

    text-decoration:none !important;

    transition:
        opacity .25s ease !important;
}

.nishi-signature-brand:hover{
    opacity:.80 !important;
}


/* =========================================================
   LOGO
========================================================= */

.nishi-signature-logo{

    width:62px !important;
    height:50px !important;

    flex:0 0 62px !important;

    display:flex !important;

    align-items:center !important;
    justify-content:center !important;
}

.nishi-signature-logo svg{

    width:58px !important;
    height:48px !important;

    display:block !important;

    fill:none !important;

    stroke:#d8bd75 !important;

    stroke-width:1.5 !important;

    stroke-linecap:round !important;
    stroke-linejoin:round !important;
}


/* =========================================================
   COMPANY NAME
========================================================= */

.nishi-signature-company{

    display:flex !important;

    flex-direction:column !important;

    justify-content:center !important;

    line-height:1 !important;

    white-space:nowrap !important;
}

.nishi-signature-company small{

    margin:0 0 7px !important;

    color:rgba(226,197,119,.96) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:7px !important;

    font-weight:600 !important;

    line-height:1 !important;

    letter-spacing:.30em !important;

    text-transform:uppercase !important;

    text-shadow:
        0 1px 12px rgba(216,189,117,.10) !important;
}

.nishi-signature-company strong{

    margin:0 !important;

    color:#fff !important;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        "Hiragino Mincho Pro",
        "Noto Serif JP",
        serif !important;

    font-size:18px !important;

    font-weight:500 !important;

    line-height:1 !important;

    letter-spacing:.10em !important;

    font-feature-settings:"palt" 1 !important;

    text-shadow:
        0 1px 16px rgba(255,255,255,.05) !important;
}


/* =========================================================
   PC NAV
========================================================= */

.nishi-signature-nav{

    height:100% !important;

    display:flex !important;

    align-items:stretch !important;

    justify-content:center !important;

    gap:34px !important;

    justify-self:center !important;
}

.nishi-signature-nav > a{

    position:relative !important;

    min-width:74px !important;
    height:100% !important;

    padding:0 3px !important;

    display:flex !important;

    flex-direction:column !important;

    align-items:center !important;
    justify-content:center !important;

    box-sizing:border-box !important;

    color:#fff !important;

    text-decoration:none !important;

    transition:
        opacity .25s ease !important;
}

.nishi-signature-nav > a::after{

    content:"" !important;

    position:absolute !important;

    left:50% !important;
    bottom:0 !important;

    width:0 !important;
    height:1px !important;

    transform:
        translateX(-50%) !important;

    background:
        linear-gradient(
            90deg,
            rgba(207,173,93,0),
            #dfc376,
            rgba(207,173,93,0)
        ) !important;

    transition:
        width .3s ease !important;
}

.nishi-signature-nav > a:hover::after{
    width:68% !important;
}

.nishi-signature-nav > a:hover{
    opacity:.72 !important;
}

.nishi-signature-nav > a:hover > span{
    color:#e6ca7a !important;
    letter-spacing:.22em !important;
}

.nishi-signature-nav > a:hover > small{
    color:rgba(255,255,255,.78) !important;
}


/* ENGLISH */

.nishi-signature-nav > a > span{

    color:rgba(255,255,255,.97) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:11px !important;

    font-weight:600 !important;

    line-height:1 !important;

    letter-spacing:.18em !important;

    text-transform:uppercase !important;

    transition:
        color .25s ease,
        letter-spacing .25s ease !important;
}


/* JAPANESE */

.nishi-signature-nav > a > small{

    margin-top:7px !important;

    color:rgba(255,255,255,.58) !important;

    font-family:
        "Yu Gothic",
        "Hiragino Kaku Gothic ProN",
        sans-serif !important;

    font-size:7px !important;

    font-weight:500 !important;

    line-height:1 !important;

    letter-spacing:.12em !important;

    transition:
        color .25s ease !important;
}


/* =========================================================
   CONTACT
========================================================= */

.nishi-signature-right{

    display:flex !important;

    align-items:center !important;

    justify-content:flex-end !important;
}

.nishi-signature-contact{

    position:relative !important;

    width:182px !important;
    height:48px !important;

    padding:
        0
        42px
        0
        19px !important;

    display:flex !important;

    flex-direction:column !important;

    justify-content:center !important;

    box-sizing:border-box !important;

    border:
        1px solid
        rgba(220,189,110,.72) !important;

    background:
        rgba(4,40,65,.28) !important;

    color:#fff !important;

    text-decoration:none !important;

    overflow:hidden !important;

    transition:
        background .3s ease,
        border-color .3s ease,
        transform .3s ease !important;
}

.nishi-signature-contact::before{

    content:"" !important;

    position:absolute !important;

    top:0 !important;
    left:0 !important;

    width:38% !important;
    height:1px !important;

    background:#f0d98c !important;
}

.nishi-signature-contact:hover{

    background:
        rgba(190,148,58,.92) !important;

    border-color:#d7b965 !important;

    transform:
        translateY(-2px) !important;
}

.nishi-contact-en{

    margin-bottom:5px !important;

    color:#e2c875 !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:9px !important;

    font-weight:600 !important;

    line-height:1 !important;

    letter-spacing:.22em !important;

    text-transform:uppercase !important;
}

.nishi-contact-jp{

    color:rgba(255,255,255,.92) !important;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif !important;

    font-size:10px !important;

    font-weight:500 !important;

    letter-spacing:.10em !important;
}

.nishi-signature-contact i{

    position:absolute !important;

    right:17px !important;
    top:50% !important;

    transform:
        translateY(-50%) !important;

    color:#e3c773 !important;

    font-style:normal !important;

    font-size:17px !important;

    font-weight:300 !important;
}

.nishi-signature-contact:hover .nishi-contact-en,
.nishi-signature-contact:hover i{
    color:#fff !important;
}


/* =========================================================
   MOBILE BUTTON
========================================================= */

.nishi-signature-menu{

    display:none !important;

    position:relative !important;

    width:46px !important;
    height:46px !important;

    margin:0 !important;

    padding:
        9px
        9px
        6px !important;

    background:
        rgba(0,0,0,.06) !important;

    border:
        1px solid
        rgba(217,188,112,.60) !important;

    border-radius:0 !important;

    cursor:pointer !important;
}

.nishi-signature-menu > span{

    display:block !important;

    width:100% !important;
    height:1px !important;

    margin:5px 0 !important;

    background:
        rgba(255,255,255,.90) !important;

    transform-origin:center !important;

    transition:
        transform .3s ease,
        opacity .3s ease !important;
}

.nishi-signature-menu small{

    display:block !important;

    margin-top:3px !important;

    color:#d9bd73 !important;

    font-family:
        Arial,
        sans-serif !important;

    font-size:5px !important;

    letter-spacing:.16em !important;
}


/* OPEN */

.nishi-signature-menu.is-open span:nth-child(1){

    transform:
        translateY(6px)
        rotate(45deg) !important;
}

.nishi-signature-menu.is-open span:nth-child(2){
    opacity:0 !important;
}

.nishi-signature-menu.is-open span:nth-child(3){

    transform:
        translateY(-6px)
        rotate(-45deg) !important;
}


/* =========================================================
   MOBILE NAV
========================================================= */

.nishi-signature-mobile{

    position:fixed !important;

    z-index:999998 !important;

    top:70px !important;

    left:0 !important;
    right:0 !important;

    width:100% !important;

    height:
        calc(100dvh - 70px) !important;

    visibility:hidden !important;

    opacity:0 !important;

    transform:
        translateY(-12px) !important;

    pointer-events:none !important;

    overflow-y:auto !important;

    background:
        rgba(3,28,48,.985) !important;

    -webkit-backdrop-filter:
        blur(20px) !important;

    backdrop-filter:
        blur(20px) !important;

    transition:
        opacity .32s ease,
        transform .32s ease,
        visibility .32s ease !important;
}

.nishi-signature-mobile.is-open{

    visibility:visible !important;

    opacity:1 !important;

    transform:
        translateY(0) !important;

    pointer-events:auto !important;
}

.nishi-mobile-inner{

    width:
        calc(100% - 38px) !important;

    max-width:520px !important;

    margin:
        25px
        auto
        100px !important;

    border-top:
        1px solid
        rgba(255,255,255,.10) !important;
}

.nishi-mobile-inner > a{

    min-height:64px !important;

    padding:
        0
        6px !important;

    display:flex !important;

    align-items:center !important;

    justify-content:space-between !important;

    box-sizing:border-box !important;

    border-bottom:
        1px solid
        rgba(255,255,255,.09) !important;

    color:#fff !important;

    text-decoration:none !important;
}

.nishi-mobile-inner > a > div{

    display:flex !important;

    flex-direction:column !important;
}

.nishi-mobile-inner strong{

    color:#fff !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif !important;

    font-size:12px !important;

    font-weight:600 !important;

    letter-spacing:.18em !important;

    text-transform:uppercase !important;
}

.nishi-mobile-inner small{

    margin-top:5px !important;

    color:rgba(255,255,255,.52) !important;

    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif !important;

    font-size:8px !important;

    font-weight:500 !important;

    letter-spacing:.10em !important;
}

.nishi-mobile-inner > a > span{

    color:#d9bc70 !important;

    font-size:18px !important;
}

.nishi-mobile-contact{

    margin-top:15px !important;

    padding:
        0
        18px !important;

    border:
        1px solid
        rgba(218,186,105,.65) !important;
}


/* =========================================================
   WORDPRESS ADMIN BAR
========================================================= */

body.admin-bar .nishi-signature-header{
    top:32px !important;
}

body.admin-bar .nishi-signature-mobile{
    top:102px !important;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1180px){

    .nishi-signature-header{

        grid-template-columns:
            270px
            1fr
            190px !important;

        padding:
            0
            24px !important;
    }

    .nishi-signature-nav{
        gap:19px !important;
    }

    .nishi-signature-nav > a{
        min-width:64px !important;
    }

    .nishi-signature-contact{
        width:165px !important;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media(max-width:850px){

    body:not(.home){
        padding-top:70px !important;
    }

    .nishi-signature-header{

        height:70px !important;

        padding:
            0
            16px !important;

        display:flex !important;

        align-items:center !important;
    }

    .home .nishi-signature-header{

        background:
            rgba(2,24,42,.88) !important;
    }

    .nishi-signature-nav,
    .nishi-signature-right{

        display:none !important;
    }

    .nishi-signature-menu{

        display:block !important;

        margin-left:auto !important;
    }

    .nishi-signature-logo{

        width:48px !important;
        height:43px !important;

        flex:
            0 0
            48px !important;
    }

    .nishi-signature-logo svg{

        width:45px !important;
        height:41px !important;
    }

    .nishi-signature-company small{

        margin-bottom:5px !important;

        font-size:5.5px !important;

        letter-spacing:.18em !important;
    }

    .nishi-signature-company strong{

        font-size:15px !important;
    }

    .nishi-signature-brand{
        gap:8px !important;
    }

    body.admin-bar .nishi-signature-header{
        top:46px !important;
    }

    body.admin-bar .nishi-signature-mobile{
        top:116px !important;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media(max-width:390px){

    .nishi-signature-header{

        padding:
            0
            11px !important;
    }

    .nishi-signature-logo{

        width:43px !important;

        flex:
            0 0
            43px !important;
    }

    .nishi-signature-company strong{
        font-size:13px !important;
    }

    .nishi-signature-menu{

        width:42px !important;
        height:42px !important;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){

    .nishi-signature-header,
    .nishi-signature-mobile,
    .nishi-signature-menu span,
    .nishi-signature-contact{

        transition:none !important;
    }
}


