/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/





.sticky-header {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    opacity: 0; /* 初期状態を透明に */
    transform: translateY(-100%); /* 初期状態を上に隠す */
    transition: opacity 0.3s ease, transform 0.3s ease; /* トランジションを追加 */
    display: block; /* displayは常にblockにしておく */
}
.sticky-header.visible {
    opacity: 1; /* 表示時の不透明度 */
    transform: translateY(0); /* 表示時の位置 */
}

@media (min-width: 921px) {
    .ast-desktop .ast-primary-header-bar .main-header-menu > .bt_home{
    display:none;
}
}




/*モバイルハンバーガーメニュー内*/
.ast-mobile-header-wrap .ast-custom-button{
    background-color: #FFF;
    border-radius: 0;
    color: var(--ast-global-color-3);
    padding-left: 1em !important;
}
.ast-mobile-header-wrap .ast-custom-button:hover{
    color: var(--ast-global-color-1);
    background-color: var(--ast-global-color-4);;
}
.page-id-369 .ast-mobile-header-wrap .ast-custom-button{
    color: var(--ast-global-color-1);
    background-color: var(--ast-global-color-4);;
}
.ast-builder-button-wrap{
    width: 100%;
}
.ast-mobile-header-content {
    box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .5);
}


.ast-footer-row-mobile-inline {
    position: fixed !important;
    bottom: 0; /* フッターを画面下に固定 */
    left: 0;
    width: 100%;
    z-index: 1000;
    opacity: 0; /* 初期状態を透明に */
    transform: translateY(100%); /* 初期状態を下に隠す */
    transition: opacity 0.3s ease, transform 0.3s ease; /* トランジションを追加 */
    display: block; /* 常に表示できるように */
}

.ast-footer-row-mobile-inline.visible {
    opacity: 1; /* 表示時の不透明度 */
    transform: translateY(0); /* 表示時の位置 */
}

/*モバイルフッターのデザイン*/
.footer-widget-area.widget-area.site-footer-focus-item {
    width: 100%;
}

#menu-footer-mobile{
    display: flex;
    align-items: center;
}
#menu-footer-mobile li{
    width: 50%;
}
#menu-footer-mobile li a{
    display: block;
    line-height: 60px;
    color: #fff;

}

#menu-item-98 a{
    background-color: var(--ast-global-color-2);
    
}
#menu-item-99 a{
    background-color:  var(--ast-global-color-1);
}



/*パンくず*/
.ast-header-breadcrumb{
    font-size: 16px;
    margin: 0.5em 0 0 0;
}
.ast-breadcrumbs-wrapper{
    padding: 0.1em 0;
}



/*検索バー*/
.wp-block-search.wp-block-search__button-inside .wp-block-search__inside-wrapper{
    outline-style: none;
}






/*トップへのアイコンの位置*/
.ast-scroll-to-top-right{
    bottom: 90px;
}





#page{
    padding-top: 80px;
}

















.smooth-split {
  position: relative;
  width: 100%;
  height: 600px; /* 高さは自由に調整 */
  background: #000;
  overflow: hidden;
  display: flex;
}

/* パネルの共通設定 */
.item {
  position: relative;
  flex: 1;
  height: 100%;
  background-size: cover;
  background-position: center;
  
  /* GPU加速を有効にしてヌルヌル動かす */
  will-change: transform;
  transform: translate3d(0, 100%, 0); 
  
  /* 慣性のあるスムーズな動き (cubic-bezier) */
  animation: revealUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  
  /* 境界線を少しだけ重ねて隙間を防止 */
  margin-right: -1px;
}

/* 出現のタイミングを0.15秒ずつずらす */
.i1 { animation-delay: 0.1s; }
.i2 { animation-delay: 0.25s; }
.i3 { animation-delay: 0.4s; }

/* --- レイアウトの基本 --- */
.text-layer {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 10;
  background: radial-gradient(circle, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0) 80%);
  pointer-events: none;
}

.title-wrap {
  padding: 0 20px;
}

/* --- H1: 社名（大きく、力強く） --- */
.main-title {
  color: #ffffff;
  font-size: clamp(2rem, 6vw, 4.5rem); /* 画面幅に合わせて可変 */
  font-weight: 800;
  margin: 0 0 15px 0;
  letter-spacing: 0.1em;
  text-shadow: 0 4px 15px rgba(0,0,0,0.6);
  
  /* 下から昇るアニメーション（画像が揃った後の1.2秒後から開始） */
  opacity: 0;
  transform: translate3d(0, 40px, 0);
  animation: revealUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards 1.2s;
}

/* --- H2: 事業内容（細身で上品に） --- */
.sub-title {
  color: #f0f0f0; /* 少しだけグレーを混ぜた白で上品に */
  font-size: clamp(1rem, 2.5vw, 1.4rem);
  font-weight: 400;
  margin: 0;
  letter-spacing: 0.2em;
  text-shadow: 0 2px 8px rgba(0,0,0,0.8);
  
  /* H1の後にふわっと出す（2.0秒後から開始） */
  opacity: 0;
  animation: fadeIn 1.5s ease-out forwards 2.0s;
}

/* --- アニメーション定義 --- */

/* 下から上にスッと昇る */
@keyframes revealUp {
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

/* その場でふわっと現れる */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* スマホ用の微調整 */
@media (max-width: 600px) {
  .main-title { 
    letter-spacing: 0.05em;
    line-height: 1.2;
  }
  .sub-title { 
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    line-height: 1.5;
  }
}

/* スマホ対応：横並びを維持しつつ高さを調整 */
@media (max-width: 600px) {
  .smooth-split { height: 400px; }
  .main-title { font-size: 2.5rem; }
}




















/* グリッド全体の設定 */
.service-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 横3列 */
  gap: 30px; /* カード同士の間隔 */
  padding: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

/* カード1枚の設定 */
.service-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden; /* 画像の角丸をはみ出させない */
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
}

/* マウスホバーで少し浮き上がる演出 */
.service-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}

/* 画像エリアの設定 */
.card-image {
  width: 100%;
  aspect-ratio: 16 / 9; /* 画像の比率を統一 */
  overflow: hidden;
}

.card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 枠に合わせて画像を切り抜き表示 */
  transition: transform 0.5s ease;
}

.service-card:hover .card-image img {
  transform: scale(1.1); /* ホバーで画像がズーム */
}

/* テキストエリアの設定 */
.card-content {
  padding: 20px;
  flex-grow: 1;
  text-align: center;
}

.card-content h3 {
  font-size: 1.25rem;
  margin: 0 0 12px 0;
  border-bottom: 2px solid #0073aa; /* アクセントカラーの線（WordPressカラー例） */
  border-top: none;
  display: inline-block;
  padding-bottom: 5px;
}

.card-content p {
  font-size: 0.95rem;
  color: #666;
  line-height: 1.6;
  margin: 0;
  text-align: left;
}

/* --- レスポンシブ対応 --- */

/* タブレットサイズ：横2列 */
@media (max-width: 992px) {
  .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* スマホサイズ：横1列 */
@media (max-width: 600px) {
  .service-grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .card-content h3 {
    font-size: 1.1rem;
  }
}



















/* 文字のスタイル */
.text-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2; /* 文字が画像や動画の上に表示される */
    color: #152b7d;
    padding: 5px;
    background: rgb(255, 255, 255,0.7); /* 背景を半透明にして文字を見やすく */
    border-radius: 8px;
    text-align: center;
    display: none; /* 初期状態では非表示に */
    font-size: clamp(18px, 2.8vw, 48px);
    width: 100%; /* 親コンテナの幅に広げる */
    max-width: 90%; /* 横幅が大きすぎないように制限 */
    box-sizing: border-box; /* paddingを含めて要素の幅を調整 */
}
.text-content p{
    margin-bottom: 0;
}







/*検索バー*/
.wp-block-search .wp-block-search__button{
    white-space: nowrap;
}


:where(.wp-block-search__button-inside .wp-block-search__inside-wrapper) {
    border: none;
}






/*アーカイブ　一覧ページ*/
#secondary {
    margin: 0; 

}
#primary{
    width: 100%;
}



.ast-plain-container.ast-no-sidebar #primary {
    margin: 0;
}


@media (min-width: 993px) {
    .ast-separate-container #primary, .ast-separate-container.ast-left-sidebar #primary, .ast-separate-container.ast-right-sidebar #primary {
        margin: 0em 0 4em 0;
        padding: 0;}
    }

    @media (max-width: 921px) {
        .ast-left-sidebar #content > .ast-container {
            display: flex;
            flex-direction:column;
            width: 100%;
        }
    }
 @media (min-width: 922px) {
            .site-content .ast-container {
                flex-direction: column;
            }
        }

            @media (min-width: 922px) {
                #secondary {
                    width: 100%;
                }
            }

            
.wpc-filters-main-wrap ul.wpc-filters-ul-list{
    display: flex;
    gap: 1em;
            }
            .wpc-filters-main-wrap ul.wpc-filters-ul-list label{
                font-size: 18px;
            }

            body.archive .ast-archive-description {
                padding: 0;
                text-align: center;
            }


/*物件情報　一覧ページ*/
.sall_dl{
    display: flex;
}
.sall_dl dl{
    border: 1px solid #ccc;
}
.sall_dl dl dt{
	background: #f5f5f5;
	padding: 5px;
	border-bottom: 1px solid #ccc;
    text-align: center;
    height: 48px;
    display: grid;
    align-items: center;
    line-height: 1.2em;
}
.sall_dl dl dd{
	background: #fff;
	padding: 5px;
    margin: 0;
}
.sall_dl .price{
    font-size: 24px;
    color: #152b7d;
    font-weight: bold;
    white-space: nowrap;
}


@media (min-width: 993px){
.ast-left-sidebar #secondary {
    padding-right: 0px;
}
}

@media only screen and (max-width: 765px) {
    .sall_dl{
        flex-direction: column;
    }
}





/*物件情報　個別ページ*/
.sall_info{
    flex-direction: column;
}
.sall_info dl{
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
	flex-wrap: wrap;
	align-items: stretch;	
	width: 100%;
	border: 1px solid #ccc;
	border-bottom: none;
}
.sall_info dl dt{
	background: #f5f5f5;
	padding: 5px;
	width: 220px;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
    text-align: center;
}
.sall_info dl dd{
	background: #fff;
	padding: 5px;
	width: calc(100% - 220px);
	border-bottom: 1px solid #ccc;
    margin: 0;
}


.floor_photo{
    background-color: rgb(237 246 247);
    flex: 1;
    width: 640px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    font-size: 16px;
}



.floor_photo .tel a:link{
    text-decoration: none;
    font-size: clamp(22px, 2.2vw, 36px);
    line-height: 1.2em;

}

.floor_photo .bt_contact a:link,
.floor_photo .bt_contact a:visited
{
    text-decoration: none;
    display: block;
    background-color: var(--ast-global-color-2);
    padding: 0.2em 1em;
    font-size: clamp(20px, 1.6vw, 30px);
    font-weight: bold;
    color: #fff;
    text-align: center;
    border-radius: 8px;
    margin-top: 1em;

}







.sall_header .price_area{
    color: #152b7d;
    font-size: clamp(18px, 2.2vw, 36px);
    font-weight: bold;
}
.sall_header .price{
    font-size: 200%;
}


.photos_area{
    display: flex;
    width: 100%;
    gap: 20px;
}
@media only screen and (max-width: 1050px) {

    .photos_area{
        display: flex;
        flex-direction: column;
    }


    .property_photo{
        min-width: 640px;
    }
        .slider_area{
            max-width: 640px;
        }
    .floor_photo{
        background-color: #FFF;
        flex: 1;
        width: 100%;
        padding: 30px 0 0 0;
        align-items: center;
    }
    .slider-nav{
        width: 640px;/* スライダーの幅 */
        margin: auto;
    }
    

}



@media only screen and (max-width: 765px) {
	.sall_info dl dt{ 
		width: 100%;
		border-right: none;
	}
	.sall_info dl dd{
		width: 100%; 
	}
    .property_photo{
        min-width: auto;
    }

}



.slick-track{
    margin:0;
}



.slider-for {
    max-width: 640px; /* スライダーの幅 */
    margin: 0 auto;
    background-color: #d9d9d9;

}
.slider-for img {
    width: 100%;
    height: 400px;
    display: block;
    object-fit: contain;
}
.slider-nav{
    max-width: 640px;/* スライダーの幅 */
    margin: auto;
}
.slider-nav img{
    margin: 10px;
}
    



@media only screen and (max-width: 720px) {
    .slider-nav{
        width: 100%;/* スライダーの幅 */
    }
    .slider-for img{
        height:280px;
    }
    .slider-for {
        background-color: #FFF;
}

}




.slick-next {
    right:25px;
}
.slick-prev {
    left: 25px;
    z-index: 1;
}



.multiple_img{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content :center;
}







.post-meta .author {
    display: none;
}





















/*コンテンツ内の装飾*/


.site-content{
    padding-bottom: 60px;
}
section{
    margin-bottom: 5em;
}


/*共有*/
.f70{
    font-size: 70%;
}
.b{
    font-weight: bold;
}
.ac{
    text-align: center;
}
.ib{
    display: inline-block;
}
.mb30{
    margin-bottom: 30px;
}
.mb0{
    margin-bottom:0 !important;
}

.mt30{
    margin-top: 30px;
}

.entry-content p.pm0{
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-bottom: 0;
}
.emphasis{
    font-family: 'DM Serif Display', serif;
    font-weight: bold;
    color: var(--ast-global-color-2);
    font-size: clamp(20px, 3.8vw, 48px);
    text-align: center;

}





.slash {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    color: var(--ast-global-color-2) !important;
  }
   
  .slash::before,
  .slash::after {
    content: "";
    width: 0.1em;
    height: 1.4em;
    margin: 0px 0.8em;
    background-color: var(--ast-global-color-2);
  }
   
  .slash::before {
    transform: rotate(-45deg);
  }
   
  .slash::after {
    transform: rotate(45deg);
  }


  .emphasis_enclosure {
    color: #714a0d;
    border: 2px solid #714a0d;
    margin: 0 0.03em;
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    line-height: 1.5;
    text-align: center;
    background-color: rgb(255, 250, 243);
  }





  .emphasis_mirror {
    -webkit-box-reflect: below -10px -webkit-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,0) 10%,rgba(0,0,0,.6));
    margin-bottom: calc(0.8em + 64px) !important;
  }




.emphasis_line,h3{
    padding: 0.2rem 0.1rem;
    border-top: 3px solid var(--ast-global-color-3);
    border-bottom: 3px solid var(--ast-global-color-3);
  }







.img_flex{
    display: flex;
    gap: 20px;
    flex-direction: column;
}
/*PC*/
@media (min-width: 768px) {
.img_flex{
    flex-direction: row;
}
.img_flex .img{
    min-width: 512px;
}
.img_flex .text{
}
}




/*トップページ*/
a.bt_sell_your_property{
    display: inline-block;
    text-align: center;
    padding: 0.5em 0.5em;
    font-size: clamp(18px, 2.8vw, 48px);
    background-color: #152b7d;
    color: #FFF;
    border-radius: 3px;
    border:solid 1px #0b194d;
}
a:link.bt_sell_your_property{
    text-decoration: none;
}

a.bt_sell_your_property span{
    display: inline-block;
    font-size: 80%;
}


.home h1{
    font-size: clamp(28px, 4.3vw, 48px);
    color: #FFF;
}




/*物件一覧*/
.custom-field-above-title{
    background-color: #382d14;
    font-weight: bold;
    color: #FFF;
    padding: 0.2em 0.8em;
    margin-bottom: 1em;

}

.ast-separate-container .ast-blog-layout-5-grid .post-content{
    padding-top: 0;
}















section.contact-cta {
  max-width: 1000px;
  margin: 80px auto;
  padding: 60px 40px;
  background: linear-gradient(135deg, #ffffff 0%, #f7f9fc 100%);
  border: solid #e68220 3px;
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  text-align: center;
}

section.contact-cta h2 {
  margin: 0 0 20px;
  font-size: 2rem;
  line-height: 1.4;
  color: #1f2937;
}

section.contact-cta p {
  margin: 0 0 16px;
  font-size: 1rem;
  line-height: 1.9;
  color: #4b5563;
}

section.contact-cta p:last-child {
  margin-top: 30px;
  margin-bottom: 0;
}

section.contact-cta a {
  display: inline-block;
  padding: 16px 36px;
  background: #e68220;
  color: #ffffff;
  text-decoration: none !important;
  font-size: 1rem;
  font-weight: bold;
  border-radius: 999px;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(31, 41, 55, 0.2);
}

section.contact-cta a:hover {
  background: #111827;
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(31, 41, 55, 0.25);
}

section.contact-cta a:active {
  transform: translateY(0);
}

@media screen and (max-width: 768px) {
  section.contact-cta {
    margin: 50px 20px;
    padding: 40px 24px;
  }

  section.contact-cta h2 {
    font-size: 1.6rem;
  }

  section.contact-cta p {
    font-size: 0.95rem;
  }

  section.contact-cta a {
    width: 100%;
    max-width: 320px;
    padding: 15px 20px;
  }
}