/*
Theme Name: トラスト白木原レジデンス
Template: lightning
Text Domain: lightning
Theme URI: https://lightning.vektor-inc.co.jp/en/
Description: Lightning is a very simple & easy to customize theme which is based on the Bootstrap. It is also very friendly with custom post types and custom taxonomies. When you add a new one, the breadcrumbs will be adjusted and posts will look beautifully without editing or adding a template files.
Author: Vektor,Inc.
Author URI: https://www.vektor-inc.co.jp
Version: 15.8.6
Requires at least: 5.9
Tested up to: 6.2
Requires PHP: 5.6.0
Tags: blog, one-column, custom-background, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, block-styles, wide-blocks
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Lightning WordPress theme, Copyright (C) 2015-2022 Vektor,Inc.
Lightning WordPress theme is licensed under the GPL.

Lightning WordPress Theme bundles the following third-party resources:

Font Awesome icon font, Copyright 2012 Fonticons, Inc.
its fonts are licensed under the terms of the SIL OFL License 1.1, and its code is licensed under the terms of the MIT license
Source: https://fontawesome.com/

Bootstrap framework, Copyright 2011 Bootstrap Authors and Twitter, Inc.
Bootstrap is licensed under the terms of the MIT license
Source: https://getbootstrap.com/

CSS Simple Tree Shaking
CSS Simple Tree Shaking is licensed under the terms of the GNU General Public License v2 license
Source: https://celtislab.net/
*/

.header-top-description {
  padding: 3px 0 !important;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}

/*******************************************************************
右から左にカーテン
*******************************************************************/
.curtainRighttoLeft {
  position: relative;
}

.curtainRighttoLeft.visible {
  animation-name: curtainLeftFadeIn;
  animation-duration: 1.2s;
  animation-timing-function: ease-in-out;
}

.curtainRighttoLeft.visible:before {
  display: block;
  content: "";
  position: absolute;
  z-index: 999;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform: scaleX(0);
  background-color: #0487b4;
  animation-name: curtainRight;
  animation-duration: 1.2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

@keyframes curtainRightFadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes curtainRight {
  0% {
    transform-origin: right;
    transform: scaleX(0);
  }

  50% {
    transform-origin: right;
    transform: scaleX(1);
  }

  50.001% {
    transform-origin: left;
  }

  100% {
    transform-origin: left;
    transform: scaleX(0);
  }
}

/*******************************************************************
右から左にカーテン
*******************************************************************/
.curtainRighttoLeft {
  position: relative;
}

.curtainRighttoLeft.visible {
  animation-name: curtainLeftFadeIn;
  animation-duration: 1.2s;
  animation-timing-function: ease-in-out;
}

.curtainRighttoLeft.visible:before {
  display: block;
  content: "";
  position: absolute;
  z-index: 999;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  transform: scaleX(0);
  background-color: #0487b4;
  animation-name: curtainRight;
  animation-duration: 1.2s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

@keyframes curtainRightFadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes curtainRight {
  0% {
    transform-origin: right;
    transform: scaleX(0);
  }

  50% {
    transform-origin: right;
    transform: scaleX(1);
  }

  50.001% {
    transform-origin: left;
  }

  100% {
    transform-origin: left;
    transform: scaleX(0);
  }
}

/*******************************************************************
左から右にふわっとフェードイン
*******************************************************************/
.fadeInLeft.visible {
  animation: fadeInLeft 0.7s ease 0s 1 normal;
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-30px);
  }

  100% {
    opacity: 1;
  }
}

/*******************************************************************
下から上にフェードイン
*******************************************************************/
.fadeInBottom.visible {
  animation: fadeInBottom 0.8s ease 0s 1 normal;
}

@keyframes fadeInBottom {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
  }
}

/***************************************************
 CTAの編集」非表示
***************************************************/
.veu_adminEdit {
  display: none;
}

.cta_exp1 {
  letter-spacing: .2em !important;
}

.cta_exp2 {
  letter-spacing: .2em !important;
}

.cta_btn {
  text-align: center;
}

.cta_btn a.vk_button_link {
  width: 94%;
  border-radius: 50vh;
  border-radius: 1px;
  letter-spacing: .2em !important;
}

.icatch-txt .vk_outer-background-area {
  background: radial-gradient(circle, #034395, #172a88) !important;
  background-image: radial-gradient(circle, #d2c082, rgba(224, 162, 8, 1)) !important;
  background: radial-gradient(circle, #d2c082, #9d894a) !important;
}

.breadcrumb {
  background-image: url('https://trust-shirakibaru.com/wp-content/uploads/2025/03/rainbowbg1.png');
  background-repeat: no-repeat;
  background-size: cover;
}

.breadcrumb,
.breadcrumb a {
  color: #fff;
}

/***************************************************
 ヘッダー固定
***************************************************/
@media only screen and (min-width: 1000px) {
  #site-header {
    top: 0 !important;
    left: 0 !important;
    width: 100%;
    height: 124px !important;
    height: 115px !important;
    height: 120px !important;
    position: fixed !important;
  }

  .home #site-header {
    background-color: transparent;
    transition: background-color 0.3s ease;
    background: rgba(0, 0, 0, 0.1);
  }

  /* スクロール後のスタイル */
  .home .scrolled {
    background: #fff !important;
  }

  /*HOME以外の下層ページ*/
  body:not(.home) .header-top-description,
  body:not(.home) #site-header a,
  body:not(.home) #site-header,
  /*スクロール時*/
  .scrolled .header-top-description,
  .scrolled #site-header a,
  .scrolled #site-header {
    color: #000 !important;
  }

  body {
    margin-top: 124px;
    margin-top: 115px;
    margin-top: 120px;
  }

  body.home {
    margin-top: 0;
  }
}

#header-top {
  background: none;
  border: none;
}

.site-header-logo img {
  max-height: 28px;
  max-height: 44px;
}

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

#global-nav .global-nav-name {
  color: #ffff;
  letter-spacing: .1em;
}

.global-nav-description {
  letter-spacing: .1em;
  font-weight: 600;
  font-size: 11px !important;
  color: #fff;
}

/*HOME以外の下層ページ*/
body:not(.home) #global-nav .global-nav-name,
body:not(.home) .global-nav-description,
/*スクロール時*/
.scrolled #global-nav .global-nav-name,
.scrolled .global-nav-description {
  color: #111;
}

h1.page-header-title,
.page-header-subtext,
.vk_heading_subtext,
.vk_heading_title {
  background: linear-gradient(45deg, #c70000, #d28300, #dfd000, #00873c, #005aa0, #181878, #800073);
  background-position: left;
  /* 中央配置 */
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  /* 背景を適用しやすくする */
  text-align: center;
  /* テキストを中央揃え */
  width: 100%;
  /* 親要素の幅いっぱいに広げる */
}

.green-grade h2.vk_heading_title {
  background: linear-gradient(45deg, #32a228, #d6de00);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.blue-grade h2.vk_heading_title {
  background: linear-gradient(45deg, #053d94, #0d88d8);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  margin-bottom: 0;
}

h1.page-header-title,
.page-header-subtext {
  background-size: 20% 100%;
  /* 全体に広げる */
}

.vk_heading_subtext,
.vk_heading_title {
  background-size: 30% 100%;
  /* 全体に広げる */
}

h2.vk_heading_title span {
  letter-spacing: .2em;
  font-size: 1.4em;
  font-weight: normal;
}

.bg-green {
  background: linear-gradient(45deg, #e9f6e6, #fbfce4);
}

.page-header {
  background-color: #f7f4e9;
}


h1.page-header-title {
  letter-spacing: .3em;
  font-size: 2.6em;
  font-weight: normal;
}

h3 {
  letter-spacing: .3em;
  font-size: 1.8em;
}

.vk_heading_subtext,
.page-header-subtext {
  font-size: 16px;
  font-weight: 600;
  font-weight: normal;
  letter-spacing: .2em;
}

.site-header-sub .contact-btn {
  padding: 0;
}

.site-header-sub .contact-btn a {
  font-size: 13px;
  color: #fff;
  line-height: 20px;
}

.site-header-sub .contact-btn a i {
  font-size: 18px;
  margin-right: .5em;
}

.site-header-sub .contact-btn a:hover {
  color: #e8f2f5;
}

.top-siryo-txt h2 {
  letter-spacing: .4em;
  font-weight: 600;
  font-size: 28px;
}

.site-footer {
  margin-top: 0;
  border: none;
}

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

.footer-owner {
  text-align: center;
}

.footer-owner img {
  height: auto;
  margin: 0 auto 20px auto;
}

.footer-owner img:hover {
  opacity: .6;
}

.ctabtn1 .wp-block-button a.wp-block-button__link:hover {
  background: #e1007f !important;
  color: #fff !important;
}

.wp-block-vk-blocks-outer.cta_bk .vk_outer-background-area {
  background: radial-gradient(circle, #034395, #172a88) !important;
}

.icatch-point .vk_outer-background-area {
  background: radial-gradient(circle, #034395, #172a88) !important;
}

.kadonashi a {
  border-radius: 0;
}

.kadomaru a {
  border-radius: 50vh;
}

.google-map-btn a {
  padding-right: 80px !important;
  padding-left: 80px !important;
  border-radius: 0;
  border-radius: 50vh;
}

.slider-txt {
  text-align: center;
}

.slider-txt img {
  width: 66%;
  height: auto;
  margin: 0 auto;
}

.mapimg img {
  padding: 10px;
  border: solid 1px #eee;
  height: auto;
}

table.out_table th {
  width: 27%;
}

table.out_table,
table.out_table th,
table.out_table td {
  border: none;
  text-align: left;
  font-size: 14px;
}

table.out_table th,
table.out_table td {
  padding: 13px 18px;
}

.site-body--padding-vertical--off .cta,
.home .cta {
  margin-top: 0 !important;
}

.topinfo h4 {
  letter-spacing: .3em;
  font-weight: normal;
}

.infoframe {
  padding: 3.5em 0 6em 0;
}

ul.newsList {
  display: flex;
  flex-flow: row wrap;
  border-bottom: 1px solid #ccc;
  padding: 5px 0;
  margin: 0;
}

ul.newsList li {
  display: block;
  margin: 10px 10px;
  font-size: 16px;
  color: #333;
}

ul.newsList li.date {
  color: #333;
}

ul.newsList li:nth-child(2) {
  flex-basis: auto;
}

/*******************************************************************
資料請求・個人情報同意
*******************************************************************/
.pv-agree {
  padding: 3em 1em;
  text-align: center;
}

.pv-agree .ttl {
  font-size: 1.4em;
  margin-bottom: 1.5em;
}

.pv-agree .exp {
  line-height: 2;
  margin-bottom: 1.5em;
}

/*******************************************************************
サイドフローティングバナー
*******************************************************************/
#side-floating {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  z-index: 9999;
  padding: 0;
  margin: 0;
  list-style: none;
  align-items: center;
  transition: .3s;
  background: none;
  text-align: center;
  width: 58px;
}

#side-floating a {
  position: relative;
  text-align: center !important;
  vertical-align: middle;
  display: block;
  color: #fff;
  text-decoration: none;
  margin: 5px 0;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  letter-spacing: .2em;
  font-size: 18px;
  font-weight: 500;
  height: 160px;
  padding: 0 13px;
  border-radius: 2px;
}

.top-siryo-btn a,
#side-floating a.nav1 {
  background: #c70000;
  background: linear-gradient(60deg, #c70000, #ff0000);
}

.top-siryo-btn a:hover,
#side-floating a.nav1:hover {
  background: linear-gradient(60deg, #ff0000, #c70000);
}

.top-reserve-btn a,
#side-floating a.nav2 {
  background: #d4c100;
  background: linear-gradient(60deg, #d4c100, #dfd000);
}

.top-reserve-btn a:hover,
#side-floating a.nav2:hover {
  background: linear-gradient(60deg, #dfd000, #d4c100);
}

#sp-floating {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9999;
  padding: 0;
  margin: 0;
  list-style: none;
  align-items: center;
  transition: .3s;
  background: none;
  z-index: 3;
  text-align: center;
  width: 100%;
}

#sp-floating a {
  float: left;
  display: inline-block;
  text-align: center;
  width: 33.33333%;
  width: 50%;
}

#sp-floating a.nav1 {
  background: #ba1b22;
  background-image: url('https://trust-shirakibaru.com/wp-content/uploads/2025/04/sp-btn-bg1.jpg');
  background-repeat: no-repeat;
  background-size: cover;
}

#sp-floating a.nav1:hover {}

#sp-floating a.nav2 {
  display: none;
}

#sp-floating a.nav2:hover {}

#sp-floating a.nav3 {
  background: #203c83;
  background-image: url('https://trust-shirakibaru.com/wp-content/uploads/2025/04/sp-btn-bg2.jpg');
  background-repeat: no-repeat;
  background-size: cover;
}

#sp-floating a.nav3:hover {}

#sp-floating img {
  width: auto;
  height: 50px !important;
}

/*******************************************************************
デザイン
*******************************************************************/
.bg-design {
  background-image: url('https://trust-shirakibaru.com/wp-content/uploads/2025/05/bg-design.png') !important;
  background-repeat: no-repeat;
  background-size: cover !important;
}

/*******************************************************************
環境・LOCATION
*******************************************************************/
.location-ttl .vk_heading {
  background-image: url('https://trust-shirakibaru.com/wp-content/uploads/2025/05/location-ttl.png') !important;
  background-repeat: no-repeat;
  background-size: cover !important;
  margin-bottom: 3em;
}

.location-ttl .vk_heading h3.vk_heading_title {
  color: #222 !important;
  line-height: 1;
  margin: 0;
  padding: .6em;
  background: none;
  -webkit-background-clip: border-box;
  -webkit-text-fill-color: currentColor;
}

.location-img figure {
  padding: 0;
  margin: 0;

}

.location-img p {
  padding: 5px 5px 20px 5px;
  font-size: 13px;
  margin: 0;
}

h4.locationH4 {
  margin: 1.2em 0 1em 0 !important;
  text-align: center;
}

table.locationTbl {
  margin-bottom: 3em !important;
}

table.locationTbl,
table.locationTbl th,
table.locationTbl td {
  border: none;
  font-size: 14px;
  font-weight: normal;
  background: #fff;
  white-space: nowrap;
}

table.locationTbl tr:nth-child(odd) th,
table.locationTbl tr:nth-child(odd) td {
  background: #f3f3f3;
}

table.locationTbl th {
  text-align: left;
}

table.locationTbl td {
  text-align: right;
}


/*******************************************************************
PCグローバルナビ・非公開ページ
1654 コンセプト
599　ロケーション
2200　デザイン
2201　モデルルーム
2202　クオリティ
600　間取り
*******************************************************************/
#global-nav #menu-item-1654- a:hover,
#global-nav #menu-item-1654- a,
#global-nav #menu-item-1654- a .global-nav-name,
#global-nav #menu-item-1654- a .global-nav-description,

#global-nav #menu-item-599- a:hover,
#global-nav #menu-item-599- a,
#global-nav #menu-item-599- a .global-nav-name,
#global-nav #menu-item-599- a .global-nav-description,

#global-nav #menu-item-2200- a:hover,
#global-nav #menu-item-2200- a,
#global-nav #menu-item-2200- a .global-nav-name,
#global-nav #menu-item-2200- a .global-nav-description,

#global-nav #menu-item-2201- a:hover,
#global-nav #menu-item-2201- a,
#global-nav #menu-item-2201- a .global-nav-name,
#global-nav #menu-item-2201- a .global-nav-description,

#global-nav #menu-item-2202- a:hover,
#global-nav #menu-item-2202- a,
#global-nav #menu-item-2202- a .global-nav-name,
#global-nav #menu-item-2202- a .global-nav-description,

#global-nav #menu-item-600- a:hover,
#global-nav #menu-item-600- a,
#global-nav #menu-item-600- a .global-nav-name,
#global-nav #menu-item-600- a .global-nav-description {
  color: #4293A9 !important;
  pointer-events: none !important;
  border: none !important;
  opacity: 1 !important;
}

/*******************************************************************
スマホグローバルナビ・非公開ページ
1653 コンセプト
601　ロケーション
2203　デザイン
2204　モデルルーム
2205　クオリティ
602　間取り
954　来場予約
1833　マンションギャラリー案内図
*******************************************************************/
ul#wprmenu_menu_ul li#menu-item-1653- a,
ul#wprmenu_menu_ul li#menu-item-601- a,
ul#wprmenu_menu_ul li#menu-item-2203- a,
ul#wprmenu_menu_ul li#menu-item-2204- a,
ul#wprmenu_menu_ul li#menu-item-2205- a,
ul#wprmenu_menu_ul li#menu-item-602- a,
ul#wprmenu_menu_ul li#menu-item-954- a,
ul#wprmenu_menu_ul li#menu-item-1833 a {
  color: #999 !important;
  background: #ccc !important;
  pointer-events: none !important;
}

ul#wprmenu_menu_ul li#menu-item-1833 a {
  display: none;
}

/***************************************************
 間取り・ROOMPLAN
***************************************************/
ul.plan_list {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

ul.plan_list a:hover{
  opacity: .8;
}

.item_bird .bird_outer {
  position: relative;
  /*
  max-width: 720px;
  width: 92.31%;
*/
  width: 100%;
}

.item_bird .bird_outer ul.bird_list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.item_bird .bird_outer .bird_list li {
  padding: 0;
  margin: 0;
  position: absolute;
  top: 0;
}

.item_bird .bird_outer .bird_list li.plan_a {
  width: 25.3%;
  left: 11.3%;
}

.item_bird .bird_outer .bird_list li.plan_b {
  width: 21.4%;
  left: 37.2%;
}


.item_bird .bird_outer .bird_list li.plan_c {
  width: 22.4%;
  left: 60%;
}

.item_bird .bird_outer .bird_list li.plan_d {
  width: 16.8%;
  left: 83%;
}

@media screen and (max-width: 600px) {
.item_bird .bird_outer .bird_list li.plan_c {
  left: 59%;
}

.item_bird .bird_outer .bird_list li.plan_d {
  left: 82%;
}
}


.item_bird .bird_outer .bird_list li a {
  display: block;
  transition: opacity 0.3s ease-in-out;
  opacity: 0;
}

body:not(.mobile) .item_bird .bird_outer .bird_list li a:hover {
  opacity: 1;
}

.item_bird .bird_outer .bird_list li.active a {
  opacity: 1;
}

.sold_out {
  pointer-events: none;
  position: relative;
}

.sold_out .so {
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
}

.sold_out .so div {
  color: #fff;
  display: block;
  font-weight: bolder;
  margin: auto;
  font-size: 2em;
  text-align: center;
  letter-spacing: 0.1em;
  padding: 4.2rem 0 0 0;
}

.item_btn {
  position: relative;
}

.item_btn a {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #fff;
  position: relative;
  padding: 5.55%;
  background-image: url('https://trust-shirakibaru.com/wp-content/uploads/2025/03/rainbowbg1.png');
  background-repeat: no-repeat;
  background-size: cover;
}

.loaded .item_btn a {
  transition: opacity 0.3s ease-in-out;
}

body:not(.mobile) .item_btn a:hover {
  opacity: 0.7;
}

.item_btn a.active {
  opacity: 0.7;
}

.item_btn a .type_head {
  width: 31.25%;
  text-align: center;
  border: 1px solid #fff;
  background: rgba(0, 0, 0, 0.4);
  background: #172a88;
  position: relative;
}

.item_btn a .type_head div {
  padding: 0.41em 0.83em 0.83em;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: clamp(16px, 1.85vw, 24px);
  line-height: 1;
  letter-spacing: 0.1em;
}

.item_btn a .type_head .type_name {
  font-size: 2em;
  margin-bottom: 0.1em;
}

.item_btn a.plan_a .type_head div,
.item_btn a.plan_b .type_head div,
.item_btn a.plan_d .type_head div {
  padding: 0.2em 0.2em 0.2em;
  margin-bottom: 8px;
}

.item_btn a.plan_a .type_head .type_name,
.item_btn a.plan_b .type_head .type_name,
.item_btn a.plan_d .type_head .type_name {
  margin-bottom: 0;
}

.item_btn a.plan_a .type_head .last1,
.item_btn a.plan_b .type_head .last1,
.item_btn a.plan_c .type_head .last1,
.item_btn a.plan_d .type_head .last1 {
  width: 100%;
  text-align: center;
  background: #990000;
  color: #fff;
  padding: 2px;
  font-size: 14px;
  display: block;
}

.item_btn a .type_detail {
  width: 65.63%;
  text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.15);
  line-height: 1;
}

.item_btn a .type_detail .ldk {
  display: flex;
  align-items: baseline;
  font-size: clamp(14px, 2.01vw, 26px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.4);
  letter-spacing: 0.1em;
  padding-bottom: 4.77%;
}

.item_btn a .type_detail .ldk .text_lg {
  font-size: 1.6em;
}

.item_btn a .type_detail .size_box {
  border-top: 1px solid #034395;
  padding-top: 4.77%;
}

.item_btn a .type_detail .size_box .size_head {
  font-size: clamp(12px, 1.12vw, 14px);
  margin-bottom: 0.25em;
}

.item_btn a .type_detail .size_box .size {
  display: flex;
  align-items: baseline;
  font-size: clamp(16px, 1.85vw, 24px);
}

.item_btn a .type_detail .size_box .size .text_lg {
  font-size: 1.6em;
}

.item_btn a .type_detail .size_box .size .text_min {
  font-size: 0.6em;
}

@media screen and (max-width: 768px) {
  .sold_out .so div {
    padding: 5rem 0 0 0;
  }

  .item_btn a .type_detail .size_box .size {
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 600px) {
  .sold_out .so div {
    padding: 8rem 0 0 0;
  }

  .item_btn a {
    display: block;
  }

  .item_btn a .type_head {
    flex-direction: row;
    width: 100%;
    align-items: baseline;
    margin-bottom: 10px;
    padding: 1.55em;
  }

  .item_btn a .type_head .type_name {
    font-size: 1.8em;
    margin-bottom: 0;
  }

  .item_btn a.plan_a .type_head,
  .item_btn a.plan_b .type_head,
  .item_btn a.plan_d .type_head {
    padding: 0.7em;
  }

  .item_btn a .type_detail {
    width: 100%;
  }

  .item_btn a .type_detail .ldk {
    font-size: 16px;
    justify-content: center;
  }

  .item_btn a .type_detail .size_box {
    text-align: center;
  }

  .item_btn a .type_detail .size_box .size {
    justify-content: center;
  }
}


/*******************************************************************
コンセプト
*******************************************************************/

/*******************************************************************
間取り詳細
*******************************************************************/
.sec_detail p,
.sec_detail * {
  padding: 0;
  margin: 0;
}

.sec_detail {
  padding-top: clamp(20px, 2.5%, 30px);
  padding-bottom: clamp(40px, 6.67%, 80px);
}

.detail_wrap {
  display: grid;
  grid-template-columns: 33.34% 57.5%;
  grid-template-columns: 40% 56%;
  grid-auto-rows: auto;
  justify-content: space-between;
  align-items: flex-start;
  row-gap: 3.34%;
  row-gap: 1%;
}

@media screen and (max-width: 960px) {
  .detail_wrap {
    grid-template-columns: 36% 60%;
  }
}

@media screen and (max-width: 768px) {
  .detail_wrap {
    grid-template-columns: 46% 50%;
    row-gap: 20px;
  }
}

@media screen and (max-width: 600px) {
  .detail_wrap {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}

.detail_head_box .detail_head {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #172a88;
  line-height: 1;
  font-size: clamp(24px, 2.33vw, 30px);
  margin-bottom: 20px;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
  .detail_head_box .detail_head {
    margin-bottom: 15px;
  }
}

.detail_head_box .detail_head .type,
.detail_head_box .detail_head .ldk {
  display: flex;
  align-items: baseline;
  justify-content: center;
}

.detail_head_box .detail_head .type .text_lg,
.detail_head_box .detail_head .ldk .text_lg {
  font-size: 2em;
}

.detail_head_box .detail_head .type {
  margin-right: 1em;
  padding-right: 1em;
  border-right: 1px solid;
}

.detail_head_box .last1 {
  margin: 15px 0 20px;
  padding: .3em !important;
  background: #990000;
  font-size: 22px;
  text-align: center;
  color: #fff;
  width: 100%;
}

@media screen and (max-width: 600px) {
  .detail_head_box .last1 {
    font-size: 16px;
  }
}

.detail_head_box .price {
  display: none !important;
  margin: 15px 0 20px;
  color: #fff;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  border: 1px solid #172a88;
}

.detail_head_box .price .p_tit {
  padding: 28px 5px;
  font-size: 16px;
  text-align: center;
  background: #172a88;
  color: #fff;
  width: 22.5%;
  margin: 0 !important;
}

@media screen and (max-width: 600px) {
  .detail_head_box .price .p_tit {
    width: 25%;
    padding: 20px 5px;
    font-size: 13px;
  }
}

.detail_head_box .price .p_price {
  padding: 8px 0;
  font-size: 37px;
  text-align: center;
  color: #172a88;
  width: 77.5%;
}

.detail_head_box .price .p_price span {
  font-size: 0.5em;
  color: 333;
}

@media screen and (max-width: 600px) {
  .detail_head_box .price .p_price {
    width: 75%;
    font-size: 28px;
  }
}

.detail_head_box .size_box {
  background: #034395;
  background: linear-gradient(to bottom left, #034395, #0091d6);

  color: #fff;
  padding: 5% 5% 7.5%;
  text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.15);
  margin-bottom: 15px;
}

.detail_head_box .size_box .size_main_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 4%;
}

@media screen and (max-width: 600px) {
  .detail_head_box .size_box .size_main_wrap {
    padding-bottom: 15px;
  }
}

.detail_head_box .size_box .size_main_wrap .size_main_head {
  font-size: clamp(12px, 1.12vw, 14px);
  margin-right: 1em;
  border: 1px solid;
  padding: 0.4em 0.8em;
}

@media screen and (max-width: 768px) {
  .detail_head_box .size_box .size_main_wrap .size_main_head {
    padding: 0.4em 0.5em;
  }
}

.detail_head_box .size_box .size_main_wrap .size_main {
  display: flex;
  align-items: baseline;
  font-size: clamp(22px, 2.33vw, 30px);
}

@media screen and (max-width: 600px) {
  .detail_head_box .size_box .size_main_wrap .size_main {
    font-size: 24px;
  }
}

.detail_head_box .size_box .size_main_wrap .size_main .text_lg {
  font-size: 1.6em;
}

.detail_head_box .detail_head .text_min {
  font-size: 0.6em;
}

@media screen and (max-width: 768px) {
  .detail_head_box .size_box .size_main_wrap .size_main .text_lg {
    font-size: 1.4em;
  }
}

@media screen and (max-width: 600px) {
  .detail_head_box .size_box .size_main_wrap .size_main .text_lg {
    font-size: 1.6em;
  }
}

.detail_head_box .size_box .size_main_wrap .size_main .text_min {
  font-size: 0.6em;
}

.detail_head_box .size_sub_list {
  padding-top: 5.56%;
  border-top: 1px solid #034395;
  font-size: clamp(12px, 1.29vw, 16px);
  line-height: 1;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
  .detail_head_box .size_sub_list {
    padding-top: 15px;
    font-size: 13px;
  }
}

.detail_head_box .size_sub_list .item {
  display: flex;
  justify-content: center;
  align-items: baseline;
  margin-left: auto;
  margin-right: auto;
}

.detail_head_box .size_sub_list .item:not(:last-child) {
  margin-bottom: 0.8em;
}

.detail_head_box .size_sub_list .item dt {
  width: 7.81em;
  width: 10.11em;
  text-align: left;
  position: relative;
}

.detail_head_box .size_sub_list .item dt::after {
  content: "／";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: -1.5em;
}

.detail_head_box .size_sub_list .item dd {
  text-align: right;
  width: 11.25em;
  width: 13em;
}

.detail_figure {
  grid-column: 2 / 3;
  grid-row: 1 / 6;
  position: relative;
  align-self: flex-start;
}

@media screen and (max-width: 600px) {
  .detail_figure {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
}

.detail_figure .figure {
  max-width: 680px;
  width: 98.56%;
  width: 100%;
  background: #fff;
  position: relative;
  z-index: 1;
  padding: 30px;
}

@media screen and (max-width: 600px) {
  .detail_figure .figure {
    width: 100%;
  }
}

.detail_figure .figure::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  border: 1px solid #cccccc;
}

.detail_figure--::before {
  content: "";
  max-width: 680px;
  width: 98.56%;
  display: block;
  position: absolute;
  top: 10px;
  left: 10px;
  right: -10px;
  bottom: -10px;
  background: #eee;
}

@media screen and (max-width: 600px) {
  .detail_figure::before {
    width: 100%;
  }
}

.hanrei_box {
  grid-row: 3 / 4;
}

.hanrei_box .hanrei_list {
  padding: 1em 0;
  border-top: 1px solid #d5d5d5;
  border-bottom: 1px solid #d5d5d5;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: clamp(10px, 1.12vw, 14px);
  line-height: 1;
}

@media screen and (max-width: 600px) {
  .hanrei_box .hanrei_list {
    font-size: 11px;
  }
}

.hanrei_box .hanrei_list .item {
  display: flex;
  justify-content: center;
  align-items: center;
}

.hanrei_box .hanrei_list .item:not(:last-child) {
  margin-right: 0.8em;
}

@media screen and (max-width: 768px) {
  .hanrei_box .hanrei_list .item:not(:last-child) {
    margin-right: 0.5em;
  }
}

.hanrei_box .hanrei_list .item.item_water .icon {
  width: 1.85em;
  height: 1.42em;
  background: #d6edf1;
  margin-right: 0.1em;
}

.hanrei_box .hanrei_list .item.item_sto .icon {
  width: 1.85em;
  height: 1.42em;
  background: #e4d5a3;
  margin-right: 0.1em;
}

.hanrei_box .hanrei_list .item.item_tsufu .icon {
  width: 3.78em;
}

.hanrei_box .hanrei_list .item.item_saikou .icon {
  width: 3.64em;
}

.detail_bird {
  grid-row: 2 / 3;
}

@media screen and (max-width: 600px) {
  .detail_bird {
    grid-row: 4 / 5;
  }
}

@media screen and (max-width: 600px) {
  .button_print {
    display: none;
  }
}

.button_print a {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  color: #034395;
  border: 1px solid;
  border-radius: 5px;
  font-size: clamp(13px, 1.29vw, 16px);
  padding: 1em;
  transition: opacity 0.3s ease-in-out;
  margin: 1em 0;
}

.button_print a .text {
  margin-left: 1em;
}

body:not(.mobile) .button_print a:hover {
  opacity: 0.7;
}

.detail_more_box {
  background: #eee;
  padding: 5%;
}

.detail_more_box .more_wrap {
  align-items: center;
  font-size: clamp(10px, 1.04vw, 13px);
}

@media screen and (max-width: 600px) {
  .detail_more_box .more_wrap {
    font-size: 12px;
  }
}

.detail_more_box .more_wrap .btn_box a {
  display: flex;
  align-items: center;
  transition: opacity 0.3s ease-in-out;
}

.detail_more_box .more_wrap .btn_box a::before {
  content: "";
  width: 0.76em;
  height: 0.76em;
  border-top: 1px solid;
  border-left: 1px solid;
}

.detail_more_box .more_wrap .btn_box a .btn_text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1.2;
  letter-spacing: 0.1em;
}

.detail_more_box .more_wrap .btn_box a .btn_text .text_lg {
  letter-spacing: 0.2em;
  font-size: 1.5em;
}

body:not(.mobile) .detail_more_box .more_wrap .btn_box a:hover {
  opacity: 0.7;
}

.detail_more_box .more_wrap .btn_box.btn_prev a::before {
  margin-right: 0.6em;
  transform: rotate(-45deg);
}

.detail_more_box .more_wrap .btn_box.btn_next a {
  flex-direction: row-reverse;
}

.detail_more_box .more_wrap .btn_box.btn_next a::before {
  margin-left: 0.6em;
  transform: rotate(135deg);
}

.detail_more_box .more_wrap hr {
  width: 7.69em;
  height: 1px;
  background: #333;
}

.detail_more_box .button_return {
  margin-top: 6.95%;
}

.detail_more_box .button_return a {
  width: 100%;
  display: block;
  text-align: center;
  font-size: clamp(13px, 1.29vw, 16px);
  line-height: 1;
  padding: 1.25em 0.5em;
  background: #fcf2db;
  border-radius: 5px;
  box-shadow: 5px 5px 0 rgba(0, 0, 0, 0.1);
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 600px) {
  .detail_more_box .button_return a {
    font-size: 14px;
  }
}

body:not(.mobile) .detail_more_box .button_return a:hover {
  opacity: 0.7;
}

.flex {
  display: flex;
  justify-content: space-between;
}

.mb70 {
  margin-bottom: 70px !important;
}

@media screen and (max-width: 768px) {
  .mb30_sp {
    margin-bottom: 30px !important;
  }
}

@media only screen and (min-width: 800px) {
  #sp-floating {
    display: none;
  }

  .top-obi-img-sp {
    display: none !important;
  }

  table.out_table tr:nth-child(odd) th,
  table.out_table tr:nth-child(odd) td {
    background: #f3f3f3;
  }
}

@media only screen and (max-width: 800px) {
  body {
    padding-bottom: 50px;
  }

  .cta_btn a.vk_button_link {
    width: 100%;
  }

  .wp-block-button__width-50.top-reserve-btn,
  .wp-block-button__width-50.top-siryo-btn {
    width: 100% !important;
  }

  .top-reserve-btn a.wp-block-button__link,
  .top-siryo-btn a.wp-block-button__link {
    width: 100% !important;
    display: block;
  }

  .top-siryo-txt h2.vk_heading_title span {
    letter-spacing: 0em !important;
    font-size: 1.1em !important;
  }

  .infoframe {
    padding: 2.4em;
  }

  #side-floating {
    display: none;
  }

  .sp80perimg img {
    width: 60%;
    height: auto;
    margin: 0 auto;
  }

  .top-obi-img-pc {
    display: none !important;
  }

  .page-header {
    min-height: 10rem;
  }

  h2.vk_heading_title span {
    font-size: 1.2em;
  }

  h1.page-header-title {
    font-size: 1.6em;
  }

  .vk_heading_subtext,
  .page-header-subtext {
    font-size: 14px;
  }

  .slider-txt img {
    width: 100%;
    height: auto;
    margin: 0;
  }

  .cta .cta-txt {
    font-size: .8em !important;
    line-height: 1.8;
  }

  .cta {
    text-align: center;
  }

  .cta img {
    width: 80%;
    height: auto;
    margin: 0 auto;
  }

  .cta a.wp-block-button__link {
    font-size: 16px !important;
  }

  .site-header-logo img {
    /*
    max-height: 34px;
    margin: 1em 0;
*/
  }

  table.out_table th,
  table.out_table td {
    display: block !important;
    width: auto !important;
  }

  table.out_table th {
    background: #f3f3f3;
  }

  table.out_table td {
    background: #fff;
  }

  table.locationTbl,
  table.locationTbl th,
  table.locationTbl td {
    font-size: 11px !important;
    padding-left: 2px !important;
    padding-right: 2px !important;
  }

  div#n2-ss-2 .n2-ss-slider-1 {
    min-height: 310px;
  }
}

/*******************************************************************
レスポンシブメニュー調整
*******************************************************************/
.menu_title {
  color: #fff;
  font-size: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle;
}

.menu_title img {
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: middle;
}

@media screen and (max-width: 400px) {
.menu_title img {
  height: 22px !important;
}
}

@media (min-width:992px) {
  .col-lg-2 {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

@media (min-width:1200px) {
  .col-xl-2 {
    flex: 0 0 20%;
    max-width: 20%;
  }
}

@media(min-width:1400px) {
  .col-xxl-2 {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 20%;
    flex: 0 0 20%;
    max-width: 20%;
  }
}

.print-footer-owner {
  display: none;
}

@media print {
  body {
    margin: 0mm;
    padding: 0mm;
    -webkit-print-color-adjust: exact;
    /* 印刷時でも背景色や背景画像を表示 */
    zoom: 0.9;
    /* なるべく多くのブラウザで切れないようにするため */
  }

  .detail_head_box .price .p_tit {
    background: #172a88 !important;
    padding: 10px;
    font-size: 12px !important;
    width: 100%;
    display: block;
  }

  #wpfront-scroll-top-container,
  #side-floating,
  #sp-floating,
  #header-top,
  #global-nav,
  .site-header-sub,
  .page-header,
  #breadcrumb,
  .cta,
  .button_print,
  .detail_more_box,
  #wprmenu_menu_ul,
  .cbp-spmenu,
  #wprmenu_bar,
  .wprm-wrapper,
  #vk-mobile-nav-menu-btn,
  .vk-mobile-nav,
  .footer-owner,
  .yokoku,
  .cta_bk,
  .cta-company,
  .size_box .size_main_head,
  .cta-top-space {
    display: none !important;
  }

  .detail_head_box .size_box .size_main_wrap .size_main .text_lg {
    font-size: 1.2em;
  }

  .cta .print-footer-owner {
    display: inline !important;
  }

  .detail_head_box .size_sub_list .item dt,
  .detail_head_box .size_sub_list .item dd {
    font-size: 10px !important;
  }

  .detail_head_box .detail_head .text_min {
    font-size: 0.4em !important;
  }

  .detail_head_box .size_box .size_main_wrap .size_main_head {
    font-size: 0.4em !important;
  }

  .site-footer {
    background: none;
    color: #000;
  }

  @page {
    margin: 0mm !important;
    size: A4 !important;
  }
}

@page {
  margin: 0mm !important;
  size: A4 !important;
}



.ui-datepicker,
.ui-datepicker a,
.ui-datepicker table span,
.ui-datepicker table {
  font-size: 16px !important;
}

.ui-datepicker table td span,
.ui-datepicker table td a,
.ui-datepicker table td {
  text-align: center !important;
}

.ui-datepicker {
  width: 22em !important;
}

.custom-calendar-saturday a.ui-state-default {
  background-color: #c1e0ff;
}

.custom-calendar-sunday a.ui-state-default {
  background-color: #ffc1c1;
}

.datepicker {
  color: #333 !important;
}

.topic1,
.topic2,
.topic3,
.topic4 {
  border-right: 1px solid #4293a9;
  vertical-align: middle;
  padding: 0 !important;
  margin: 0 auto !important;
}

.topic1 {
  border-left: 1px solid #4293a9;
}

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

  .topic1,
  .topic2,
  .topic3,
  .topic4 {
    border: none;
  }

  .topic1 img,
  .topic2 img,
  .topic3 img,
  .topic4 img {
    padding: 0 !important;
    margin: 0 auto !important;
    vertical-align: middle;
  }

  .topic1 {
    /*
	  border-right: 1px solid #4293a9;
*/
    border-bottom: 1px solid #4293a9;
  }

  .topic2 {
    border-bottom: 1px solid #4293a9;
  }

  .topic3 {
    /*
	  border-right: 1px solid #4293a9;
*/
  }

}

@media only screen and (max-width: 800px) {
  .top-siryo-txt2 h2.vk_heading_title span {
    letter-spacing: 0em !important;
    font-size: 22px !important;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .spnone {
    display: none;
  }

  .ui-datepicker {
    width: 92% !important;
  }
}

.photoframe {
  padding: 12px;
  border: 1px solid #ccc;
}

.quality-nav a:hover,
.quality-nav .selected {
  background: #034395 !important;
}

@media screen and (min-width: 798px) {
  固定ヘッダーの高さ分ずらす*/ #gallery::before {
    content: "";
    display: block;
    height: 180px;
    /* ずらしたい高さ */
    margin-top: -180px;
    /* heightに対するネガティブマージン */
    visibility: hidden;
  }
}

.yokoku {
  line-height: 1.7;
  font-size: 11px;
  color: #332E22;
}

.yokoku .indent {
  padding-left: 1em;
  text-indent: -1em;
  margin-bottom: 5px;
}

.yokoku span.idx1 {
  letter-spacing: .1em;
  display: inline-block;
  padding: 4px 16px;
  margin-bottom: 15px;
  text-align: center;
  border: 1px solid #333;
  font-size: 13px;
  line-height: normal;
}

.yokoku span.idx2 {
  font-size: 14px;
  margin-left: 1em;
}

@media screen and (max-width: 798px) {
  .topinfo h4 {
    letter-spacing: 0.1em;
    font-weight: normal;
  }

  .yokoku span.idx1 {
    display: block;
    width: 50%;
    margin: 0 auto 10px auto;
  }

  .yokoku span.idx2 {
    display: block;
    text-align: center;
    margin: 0 auto 10px auto;
  }

  .yokoku .indent {
    text-align: left;
  }
}

/*一時的非表示「newマーク」*/
li.newmark {
  position: relative;
}

/*クリックできないようにしている*/
li.comingsoon,
li.comingsoon a {
  opacity: .6 !important;
    pointer-events: none;
  cursor: default;
}

/*
li.newmark::after {
  position: absolute;
  top: -5px;
  right: 5px;
  content: 'NEW';
  color: #ff0000;
  font-size: 11px;
  display: block;
}

li.newmarksp a::after {
  font-size: 11px;
  content: ' NEW';
  color: #ff0000;
  font-weight: 600;
}
*/


li.newmark::after {
  position: absolute;
  bottom: 16px;
  right: 0px;
  content: 'NEW';
  color: #fff;
  font-size: 9px;
  display: block;
  background: #c70000;
  background: linear-gradient(60deg, #c70000, #ff0000);
  padding: 2px 4px;
  line-height: 1em;
  font-weight: 600;
}

li.newmarksp a::after {
  font-size: 11px;
  content: ' NEW';
  color: #fff;
  font-weight: 600;
  background: #c70000;
  background: linear-gradient(60deg, #c70000, #ff0000);
  padding: 2px 5px;
  line-height: 1em;
  text-align: center;
  margin-left: 6px;
  font-weight: 600;
}


/* 一時的非表示
ヘッダー、現地マンションギャラリー、マンションギャラリー案内図
*/
.site-header-sub .nav2 {
  display: none !important;
}

/* 一時的非表示
・右サイド-来場予約フローティングバナー
*/
#side-floating .nav2 {
  display: none !important;
}

.home .cta-top-space {
  display: none;
}

.post-name-a-type .site-body,
.post-name-b-type .site-body,
.post-name-c-type .site-body,
.post-name-d-type .site-body {
  padding-top: 0;
}