@charset "utf-8";
/*
Theme Name: CURE child
Theme URI:https://tcd-theme.com/tcd082
Description:WordPressテーマ「CURE」の子テーマ
Template:cure_tcd082
Author:TCD
Author URI:https://tcd-theme.com/
Version:1.0
*/

/*========================
 PCスマホ切替
========================*/
.sp-menu{display: none!important;}
.sp{display: none!important;}
.pc{display: initial;}
@media screen and (max-width: 1250px) {
.sp-menu{display: initial!important;}	
}
@media screen and (max-width: 950px) {
.sp{display: initial!important;}
.pc{display: none;}
}

/* ----------------------------------------------------------------------
 font-color - フォントカラー
---------------------------------------------------------------------- */
.green{color:#10763D!important;}   /* 緑色 */

/*========================
リンク装飾
========================*/
/* 外部リンクにアイコンをつける */
.post_content a { border-bottom: 1px dashed;}
.post_content #service_list a, .page-content-link a{border:none!important;}
.post_content #service_list a:after{content: none;}
a[target="_blank"]:after{
	content: "\f2d2";
	font-family: FontAwesome;
	margin: 0px 3px;
}
/*========================
オリジナルマージン調整
========================*/
.o-mb60{margin-bottom: 60px;}
@media screen and (max-width: 767px) {
.o-mb60{margin-bottom: 30px;}
}

/* フリースペースを最上部に配置した場合にマージンを0に */
#ac_content_0{margin-top:0;}

/*========================
フォント指定
========================*/

/* ロード画面のフォント変更 */
.p-loading-screen__catch {
    font-family: 'Zen Old Mincho' , serif !important;
}
/* 本文のフォント変更 */
body, .p-body {
    font-family: 'Zen Old Mincho', serif!important;
}
/* ヘッダー・フッターのキャッチフレーズ用フォントを変更 */
.l-header__catch, .l-footer__bottom-catch {
    font-family: 'Zen Old Mincho' , serif !important;
}
#page_header .sub_title {
  font-family: "EB Garamond", serif!important;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
    letter-spacing: 2.5px;
}
/* 一般「見出し」のフォント変更 */
h1 {/* ロード画面のフォント変更を含む */
    font-family: 'Zen Old Mincho' , serif !important;
}
h2 {
    font-family: 'Zen Old Mincho' , serif !important;
}
h3 {
    font-family: 'Zen Old Mincho' , serif !important;
}
h4 {
    font-family: 'Zen Old Mincho' , serif !important;
}
h5 {
    font-family: 'Zen Old Mincho' , serif !important;
}
/* クイックタグ「見出し」のフォント変更 */
.styled_h2 {
    font-family: 'Zen Old Mincho' , serif !important;
}
.styled_h3 {
    font-family: 'Zen Old Mincho' , serif !important;
}
.styled_h4 {
    font-family: 'Zen Old Mincho' , serif !important;
}
.styled_h5 {
    font-family: 'Zen Old Mincho' , serif !important;
}
/* ブログ「関連記事」のフォント変更 */
.c-single-section-title {
    font-family: 'Zen Old Mincho' , serif !important;
}

/* ブログ「見出し」のフォント変更 */
.p-archive--post-item__title {
    font-family: 'Zen Old Mincho' , serif !important;
}

/* 商品名のフォント変更 */
.p-entry-product-title {
    font-family: 'Zen Old Mincho' , sans-serif !important;
}

/* モバイル時カードリンクのフォント変更 */
@media screen and (max-width: 767px) {
.cardlink {
    font-family: 'Zen Old Mincho', sans-serif !important;
  }
}

/* 買い物かご関連ボタンのフォント変更 */
.button {
    font-family: 'Zen Old Mincho', sans-serif !important;
}
.c-button {
    font-family: 'Zen Old Mincho', sans-serif !important;
}
.p-header-memberbox-login-button-submit {
    font-family: 'Zen Old Mincho', sans-serif !important;
}

/* カスタム設定ボタンのフォント変更 */
.q_custom_button1 {
    font-family: 'Zen Old Mincho', sans-serif !important;
  }
.q_custom_button2 {
    font-family: 'Zen Old Mincho', sans-serif !important;
  }

/* 記事をコピーするボタンのフォント変更 */
.p-copy-title-url__button  {
    font-family: 'Zen Old Mincho', sans-serif !important;
}

/* フォーム入力内容のフォント変更 */
input, textarea {
    font-family: 'Zen Old Mincho', sans-serif !important;
}
/* ----------------------------------------------------------------------
 headline - 見出しのスタイル
---------------------------------------------------------------------- */
.headline-box{display: flex; justify-content: center;}
/* h2 */
.h2-style-original-a{
    text-align: center; font-size: 28px!important;position: relative;
    margin: 0 auto 50px!important;
    display: inline-block;
}
.h2-style-original-a:before{
    content: "";
    display: flex;
    border-top: 3px solid #10763D;position: relative;
    margin: 0 auto 15px;
}
/* h3 */
.h3-style-original-a{
    text-align: center; font-size: 28px!important;position: relative;
    margin: -60px auto 50px!important;line-height: 1.8!important;
    display: inline-block;
}
.h3-style-original-a span{
    display: block;
    font-size: 22px;
}
.h3-style-original-a:before{
    content: "";
    display: flex;
    border-top: 3px solid #10763D;position: relative;
    margin: 0 auto 15px;
}
.h3-style-original-b{
    font-size: 28px!important;
    line-height: 1.8!important;
    font-weight:bold;
    color: #10763D;
}

@media screen and (max-width: 750px) {
.h3-style-original-b{font-size: 22px!important;}
}

/* h4 */
.h4-style-original-a{
    text-align: center;
    border-bottom: 1px solid #10763D;
    padding-bottom: 20px!important;
    font-size: 24px!important;
    margin-bottom: 40px!important;
}
/* h6 */
.h6-border{border-bottom:1px solid #707070;padding-bottom: 20px!important;font-size: 18px!important;}

@media screen and (max-width: 950px) {
    .h3-style-original-a{margin: 0px 0 50px!important;}
}
@media screen and (max-width: 750px) {
.h2-style-original-a{font-size: 22px!important;margin: 20px 0 30px!important;}
.h2-style-original-a:before{width: 200px;}   
.h3-style-original-a{font-size: 20px!important;}  
.h3-style-original-a span{font-size: 18px;}
.h4-style-original-a{font-size: 18px!important;margin-bottom: 30px!important;}
.h6-border{padding-bottom: 15px!important;font-size: 15px!important;}
}
/* ----------------------------------------------------------------------
リストスタイル
---------------------------------------------------------------------- */
ol.ol-alphabet {list-style:upper-latin!important;}
ol.ol-roma{list-style:upper-roman!important;}

/* ----------------------------------------------------------------------
 background-color - 背景色
---------------------------------------------------------------------- */
.bg-beige{padding:2px;background-color:#F8F5F0} /* ベージュの背景 */
.bg-white{padding:2px;background-color:#ffffff} /* 白の背景 */
.bg-beige-60{padding:2px; background-color:rgba(248,241,234,0.6);} /* ベージュの背景60%透過 */

/* ----------------------------------------------------------------------
 column - カラム
---------------------------------------------------------------------- */
.column-box-a{padding:30px 40px 10px;margin: 0 0 20px!important;}
dl.column-box-a,ul.column-box-a
{padding:30px 40px;margin: 20px 0px 20px 0!important;}

@media screen and (max-width: 750px) {
    .column-box-a{padding:20px 30px 0px;}    
}


/* ----------------------------------------------------------------------
 基本テーブルデザイン
---------------------------------------------------------------------- */
/* テーブル全体の枠線 */
.common-table-wrapper {
  max-width: 1000px;
  width: 100%;
  margin: 40px auto;
  border-top: 1px solid #d1d1d1;
  font-family: "Hiragino Mincho ProN", "MS Mincho", serif;
  color: #333;
}

/* 各行のスタイル */
.common-table-row {
  display: flex;
  border-bottom: 1px solid #d1d1d1;
}

/* 左側：項目名セル */
.common-table-label {
  flex: 0 0 240px; /* PCでのラベル幅 */
  background-color: #F8F5F0; /* 指定のベージュ */
  padding: 22px 25px;
  display: flex;
  align-items: center;
  font-size: 16px;
  letter-spacing: 0.05em;
  font-weight: 500;
}

/* 右側：内容セル */
.common-table-value {
  flex: 1;
  background-color: #fff;
  padding: 22px 25px;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

/* 補足などの小さい文字 */
.small-text {
  font-size: 14px;
  color: #666;
}

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

/* タブレット (1024px以下) */
@media (max-width: 1024px) {
  .common-table-label {
    flex: 0 0 200px; /* ラベル幅を少し狭く */
    padding: 20px;
  }
  .common-table-value {
    padding: 20px;
  }
}

/* スマホ (768px以下) */
@media (max-width: 768px) {
  .common-table-row {
    flex-direction: column; /* 縦並びに変更 */
  }

  .common-table-label {
    flex: none;
    width: 100%;
    padding: 12px 20px;
    font-size: 15px;
    /* スマホではラベルの下に薄い線を入れると見やすい */
    border-bottom: 1px solid #eee;
  }

  .common-table-value {
    padding: 15px 20px;
    font-size: 14px;
  }
}

/* ----------------------------------------------------------------------
 テンプレートデザインコンテンツ
---------------------------------------------------------------------- */
.rich_font_1{  font-family: 'Zen Old Mincho', sans-serif !important;}
.design1_content1 .item .desc { text-align: justify;}
.design1_content3 .desc{text-align: center;}
.design2_content2 .content_inner {width: 100%;}

/* コンテンツ２ */
@media screen and (max-width:750px) {
  .design1_content2 .image { float:none !important; width:100%; height:400px!important;}
  }
}

/* エディター移行用 画像＋コンテンツ */
/* 全体コンテナ */
.staff-message-section {
  width: 100%;
  display: flex;
  justify-content: center;
}
.staff-message-container {
  width: 100%;
  max-width: 1000px;
  display: flex;
  background-color: #F8F5F0; 
  overflow: hidden;
  /* 左右のカラムの高さを揃える */
  align-items: stretch;
}
/* 画像サイド（背景画像設定） */
.staff-image-side {
  width: 40%;
  /* 背景画像を領域に合わせてトリミング調整 */
  background-size: cover;
  background-position: center center; /* 画像の中心を基準に表示 */
  background-repeat: no-repeat;
  /* Flexboxにより高さは右側のコンテンツに合わせて自動伸縮します */
}
/* コンテンツサイド */
.staff-content-side {
  width: 60%;
  padding: 60px 70px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.staff-tag {
  display: inline-block;
  background-color: #10763D; 
  color: #ffffff;
  padding: 10px 25px;
  font-size: 14px;
  align-self: flex-start;
  letter-spacing: 0.1em;
}
/* 見出し */
.staff-message-heading {
  color: #10763D;
  font-size: 22px!important;
  line-height: 1.5;
  font-weight: bold;
}
/* 本文 */
.staff-message-body {
  font-size: 15px;
  line-height: 2;
  color: #333;
  margin-bottom: 20px;
}
/* 名前表示 */
.staff-name-display {
  font-size: 18px;
  color: #333;
  margin: 0;
}

/* --- レスポンシブデザイン --- */

/* タブレットサイズ */
@media (max-width: 1024px) {
  .staff-message-container {
    max-width: 90%;
  }
  .staff-content-side {
    padding: 40px;
  }
}

/* スマートフォンサイズ */
@media (max-width: 768px) {
  .staff-message-container {
    flex-direction: column;
    max-width: 100%;
  }
  
  .staff-image-side {
    width: 100%;
    /* 高さを固定ではなく、横幅に対する比率で指定してアスペクト比を維持 */
    /* 例: 4:3 の比率にする場合は 75% (3÷4=0.75) */
    padding-top: 75%; 
    height: auto; /* 高さはpaddingで確保するのでautoに */
  }
  
  .staff-content-side {
    width: 100%;
    padding: 40px 25px;
  }
  
  .staff-message-heading {
    font-size: 20px;
    margin-bottom: 25px;
  }
}

/* ----------------------------------------------------------------------
 Wordpressブロックカスタマイズ
---------------------------------------------------------------------- */
/* - メディアとテキスト - */
.wp-block-media-text.bg-white .wp-block-media-text__content{padding: 40px;}

@media screen and (max-width: 600px) {    
.wp-block-media-text .wp-block-media-text__content{padding: 20px 0!important;}
.wp-block-media-text.bg-white .wp-block-media-text__content{padding: 30px!important;}
}

/* ----------------------------------------------------------------------
 共通グリッドレイアウト
---------------------------------------------------------------------- */
/* ３カラムグリッド共通レイアウト */
.grid-block {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 20px;
}
.grid-block {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 20px; 
}
/* 各アイテム */
.grid-block-item {
  display: flex;
  flex-direction: column;
}
.grid-block-title {
  color: #10763D;
  font-size: 16px!important;
  margin: 0 0 10px 0!important;
  padding: 0!important;
  font-weight: bold;
  letter-spacing: 0.05em; 
  height: 100%; 
}
.grid-block-text {
  font-size: 14px;
  margin: 0;
}
/* --- レスポンシブ --- */
@media (max-width: 768px) {
  .grid-block {
    grid-template-columns:repeat(2, 1fr);
  gap: 40px 20px;
  }
}
/* ----------------------------------------------------------------------
 トップページ（ヘッダーコンテンツ）
---------------------------------------------------------------------- */
#header_slider .catch { font-family: 'Zen Old Mincho', sans-serif !important; padding:0; text-align: center;  }

/* ----------------------------------------------------------------------
 トップページ（コンテンツビルダー）
---------------------------------------------------------------------- */
/* 共通パーツ */
.cb_contents .cb_headline, #content_header .headline {  
    font-family: "EB Garamond", serif!important;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
    letter-spacing: 3px; }
.cb_contents .link_button a {
   outline: 1px solid rgb(255, 255, 255);
   outline-offset: -6px;
}
.wp-singular .link_button , .post_content .link_button { text-align:center; margin:60px 0 0 0; z-index:100; position:relative; }
.wp-singular .link_button a , .post_content .link_button a {
  display:inline-block; min-width:280px; height:60px; line-height:60px; padding:0 20px; font-size:16px;
  -webkit-box-sizing:border-box; box-sizing:border-box;
  background: #AC8D69;
  color: #fff;
  border: none;
   outline: 1px solid rgb(255, 255, 255);
   outline-offset: -6px;
}
.wp-singular .link_button a:hover,.post_content .link_button a:hover{
  background: #aa8044;  
  color: #fff;
}

/* ボックスコンテンツ */
#index_box_content .title { font-family: 'Zen Old Mincho';padding:0;text-align: center;}
#index_box_content .box_item .title:before {display: none; text-align:center;}

/* ニュースティッカー */
#index_news { background:#F8F5F0; }

/* 記事スライダー */
.index_post_slider .date { font-family: 'Zen Old Mincho' ;}

/* サービス一覧 */
.index_service_list { padding:120px 0 120px; }
.index_service_list .service_list_wrap { width:100%; position:relative; overflow:hidden; padding:60px 0;
margin:60px 0 0;}
.index_service_list .service_list {
  width:1000px; margin:0 auto -12px; z-index:3; position:relative;
  display:-webkit-box; display:-ms-flexbox; display:-webkit-flex; display:flex;
  -ms-flex-wrap:wrap; -webkit-flex-wrap:wrap; flex-wrap:wrap;
}
.index_service_list .service_list .item {
  text-align:center; min-height:300px;
  width:calc(25% - 12px); background:#fff; margin:0px 12px 0px 0;
  -webkit-box-sizing:border-box; box-sizing:border-box;
}
.index_service_list .service_list .item:nth-child(4n) { margin-right:0; }
.index_service_list .service_list .item a { 
    display:block; width:100%; height:100%!important; border: none;
margin: -32px 0 0!important;}
.index_service_list .service_list .image_wrap { display:block; width:100%; height:100px; position:relative; z-index:1; overflow:hidden; }
.index_service_list .service_list .image { width:100%; height:100% !important; display:block; overflow:hidden; position:relative; z-index:2; }
.index_service_list .service_list .item .title { font-weight:600; font-size:22px; line-height:1.2; position:relative; padding:30px 10px 10px;
margin: -10px 0 0!important;}
.index_service_list .service_list .item .desc { line-height:1.8; text-align:left; padding:10px 29px; margin:0px 0; max-height:6m; word-break:break-word; overflow:hidden; }
.index_service_list .service_list .item .desc span { display:-webkit-inline-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow: hidden; }
.index_service_list .service_list_wrap .bg_image { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:1; }
.index_service_list .service_list_wrap .overlay { width:100%; height:100%; position:absolute; top:0px; left:0px; z-index:2; }

/* レスポンシブサービス一覧 */
@media screen and (max-width:1250px) {
.index_service_list .service_list .item {
  text-align:center; min-height:320px;
}
  .index_service_list .service_list .item:nth-child(4n) { margin:12px 0 0 0!important; }    
.index_service_list .service_list .image_wrap {height:120px;}
.index_service_list .service_list .image { width:100%; height:100% !important; display:block; overflow:hidden; position:relative; z-index:2; }
}

@media screen and (max-width:950px) {
  .index_service_list .service_list { margin:0 50px; }
}
@media screen and (max-width:750px) {
  .index_service_list { padding:50px 0 50px; }
  .index_service_list .service_list { margin:0 20px; }
  .index_service_list .service_list_wrap { padding:100px 0; }
  .index_service_list .service_list .item { width:calc(50% - 5px); margin:0 9px 9px 0; }
  .index_service_list .service_list .item:nth-child(4n) { margin:5px 0 0 0!important; }
  .index_service_list .service_list .item:nth-child(3n) { margin:5px 9px 0 0!important; }
  .index_service_list .service_list .item:nth-child(2n) { margin-right:0; }
  .index_service_list .link_button { margin:40px 0 0 0!important; }
}
@media screen and (max-width:550px) {
  .index_service_list { padding:40px 0 40px; }
  .index_service_list .service_list_wrap { padding:40px 0; }
  .index_service_list .service_list .item { min-height:210px; }
  .index_service_list .service_list .item .title { padding:20px 0px 10px!important;
    font-size:15px;
    white-space: nowrap;}
  .index_service_list .service_list .image_wrap { height:80px!important; }
  .index_service_list .service_list .item .desc { padding:0 18px; margin-top:10px; font-size:12px; line-height:1.7!important; }
  .index_service_list .link_button { margin:31px 0 0 0; }
}

/* top-flowier */
#index_content_builder{
  background: url("assets/bg-top-flower-02-left.jpg")  no-repeat;    
  background-position: -320px 50px; 
}
#cb_content_2{  
  background: url("assets/bg-top-flower-01-right.png")  no-repeat;
  background-position: right -360px top -50px; 
}
#cb_content_5{padding-bottom: 0;} /* 位置調整 */
#cb_content_6{  
  background: url("assets/bg-top-flower-03.jpg")  no-repeat;
  background-position: -120px -40px; 
  padding-top: 120px!important;
}
#cb_content_2 .message_area{background-color: rgba(255,255,255,.8); }

@media screen and (max-width: 950px) {
#cb_content_2{background-position: right -360px top 0px; }
#cb_content_6{background-position: -30vw -20px; } 
}
@media screen and (max-width: 750px) { 
#index_content_builder{background-position: -320px 350px; }
#cb_content_2{background-position: right -30vw bottom -35vw;background-size: 100vw }
#cb_content_6{padding-top: 60px!important;background-position: -30vw -50px;  }
#cb_content_6 .content_inner{background-color: rgba(255,255,255,.8); }
}
@media screen and (max-width: 550px) { 
#cb_content_2{background:none;}
#index_content_builder{background-position: -320px 200px; }
#cb_content_6{padding-top:50px!important;background-position: -55vw -20px; } 
}
@media screen and (max-width: 400px) {
#index_content_builder{background-position: -420px 200px; }
#cb_content_6{background-position: -80vw -70px; }  
}


/* ----------------------------------------------------------------------
フッター
---------------------------------------------------------------------- */
.foot-ctr-box{
    display: flex;
    text-align: center;
}
.foot-ctr-box .box-top,.foot-ctr-box .box-bottom{
    width: 50%;
    height: 410px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    flex-wrap: wrap;
    padding: 0 20px;
}
.foot-ctr-box .box-top .inner,.foot-ctr-box .box-bottom .inner{
    position: relative;
    z-index: 100;
}
.foot-ctr-box .box-top{
  background: url("assets/foot-ctr-img-02.jpg")  center no-repeat;
  background-size: cover;
  position: relative;
}
.foot-ctr-box .box-top::after, .foot-ctr-box .box-bottom::after{
  content: "";
  background: rgba(147,111,69,.7);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.foot-ctr-box .box-bottom{
  background: url("assets/foot-ctr-img-01.jpg") center no-repeat;
  background-size: cover;   
  position: relative;
}
.foot-ctr-box .box-top .title,.foot-ctr-box .box-bottom .title{
    width: 100%;
    font-size: 31px;
}
.foot-ctr-box .box-top .read ,.foot-ctr-box .box-bottom .read{
    width: 100%;
    font-size: 15px;
    line-height: 1.6;
    margin: 34px 0 30px ;
}
.foot-ctr-box .box-top .link_button,.foot-ctr-box .box-bottom .link_button{margin: 30px 0 0;}
.foot-ctr-box .box-top .link_button a,.foot-ctr-box .box-bottom .link_button a{
    border: 1px solid #10763D;
    background: #10763D;
    color: #fff!important;
    font-size: 18px;
    padding: 12px 30px;
    outline: 1px solid rgb(255, 255, 255);
	outline-offset: -6px;
	line-height: 1.9;
}
.foot-ctr-box .box-top .link_button a:hover ,.foot-ctr-box .box-bottom .link_button a:hover{
     background: #035728;
    border: 1px solid #035728;
}
@media screen and (max-width: 750px) {
.foot-ctr-box{display: block;}

.foot-ctr-box .box-top,.foot-ctr-box .box-bottom{
    width: 100%;
    height: auto;
    padding: 10px 0 30px;
}
.foot-ctr-box .box-top .inner,.foot-ctr-box .box-bottom .inner{margin: 40px 0 30px;}
.foot-ctr-box .box-top .title,.foot-ctr-box .box-bottom .title{
    font-size: 18px;
}
.foot-ctr-box .box-top .read,.foot-ctr-box .box-bottom .read{
    font-size: 13px;
    margin: 20px 0 15px;
}
.foot-ctr-box .box-top .link_button,.foot-ctr-box .box-bottom .link_button{margin:20px 0 0;}

.foot-ctr-box .box-top .link_button a,.foot-ctr-box .box-bottom .link_button a{
    border: 1px solid #fff;
    color: #fff!important;
    font-size: 15px;
    padding: 10px 30px;
	line-height: 2.5;
}  
}

.foot-tel{
    background: #F8F5F0;
    text-align:center;
    padding: 50px 0;
    line-height: 1.6;
}
.foot-tel p.tel-top{
    font-size: 24px;
}
.foot-tel p.tel-top a{
    font-size: 34px;
    color: #10763D;
    display: flex;
    align-items: center;
    justify-content: center;
}
.foot-tel p.tel-top a::before,
.foot-tel p.tel-top a::after {
  content: '';
  display: block;
  width: 60px;
  height: 1px;
  background: #10763D;
}
.foot-tel p.tel-top a::before {
  margin-right: 0.5em;
}
.foot-tel p.tel-top a::after {
  margin-left: 0.5em;
}
.foot-tel p.tel-bottom{
    font-size: 15px;
}
@media screen and (max-width: 750px) {
.foot-tel{padding: 25px 0;    line-height: 1.6;}
.foot-tel p.tel-top{font-size: 18px;}
.foot-tel p.tel-top a{font-size: 30px;}
.foot-tel p.tel-top a::before,
.foot-tel p.tel-top a::after {width: 30px;}
.foot-tel p.tel-top a::before {margin-right: 0.3em;}
.foot-tel p.tel-top a::after {margin-left: 0.3em;}
.foot-tel p.tel-bottom{font-size: 14px;}    
}

/* ----------------------------------------------------------------------
 サービス（アーカイブページ）
---------------------------------------------------------------------- */
#service_list .title {color:#000;}
 #service_list .title_area h3 { margin: 0; }

@media screen and (max-width:750px) {
 #service_list .title_area h3 { font-size: 16px; }
 #service_list .desc {font-size: 14px;line-height:1.8!important;  }
}

/* ----------------------------------------------------------------------
 ページヘッダー
---------------------------------------------------------------------- */
/* コンテンツの見出し */
.blok-conversion{padding: 0!important;}
.blok-conversion .headline {
      font-family: "EB Garamond", serif!important;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
    letter-spacing: 2.5px;
    line-height: 1.4;
    display:table; margin:0 auto 10px; font-weight:600; font-size:18px; color:#10763D }
.blok-conversion .catch { line-height:1.8; font-weight:500; font-size:38px; text-align:center;
margin: 0 0 32px!important;}
.blok-conversion .desc { line-height:2.6; font-size:16px; margin:30px 0 0 0; text-align:center; }


/* コンテンツの見出し */
.blok-conversion { padding:100px 0 90px 0; }
@media screen and (max-width:950px) {
.blok-conversion { padding:50px 0 40px 0; }
.blok-conversion .headline { margin:0 auto 10px; }
.blok-conversion .catch { line-height:1.4; }
.blok-conversion .desc { margin-top:24px; }
}
@media screen and (max-width:750px) {
.blok-conversion { padding:40px 0 30px 0; }
.blok-conversion .desc { margin-top:24px; }
.blok-conversion .headline {font-size:14px;}
.blok-conversion .catch { line-height:1.4; font-size:24px;margin: 0 0 20px!important; }
.blok-conversion .desc { font-size:14px; margin:30px 0 0 0; text-align:center; }
}
@media screen and (max-width:550px) {
.blok-conversion .headline {    line-height: 1.2;}
.blok-conversion .catch {margin: 0 0 15px!important; }
}
/* ----------------------------------------------------------------------
 サイドボタン
---------------------------------------------------------------------- */
#side_button div.item a{border-bottom: 1px solid #67BA8C;  }
#side_button div.item.num4 a {border: none;}
/* ----------------------------------------------------------------------
 features 住まいの特徴
---------------------------------------------------------------------- */
.page-features,.page-features #main_contents {position:relative;}
.page-features .item a.animate_background{
  background: rgba(255 255 255 /.6);
}
.page-features #main_contents #page_content:after{
  content: '';
  background: url("assets/bg-features-flower-01.jpg")  no-repeat;
  background-position: right bottom;
  background-size: 38%;
  position: absolute;
  z-index: -10;
  bottom:-60px;
  min-height: 100vh;
  width: 100vw;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  opacity: .9;
}
@media screen and (max-width: 950px) {
.page-features #main_contents #page_content:after{background-size: 60%;}
}
/* ----------------------------------------------------------------------
 environment 居室・住環境
---------------------------------------------------------------------- */
.page-environment,.page-environment #main_contents {position:relative;}
.page-environment .item a.animate_background{
  background: rgba(255 255 255 /.6);
}
.page-environment #main_contents #page_content:after{
  content: '';
  background: url("assets/bg-environment-flower-01.jpg")  no-repeat;
  background-position: right bottom;
  background-size: 25%;
  position: absolute;
  z-index: -10;
  bottom:-60px;
  min-height: 100vh;
  width: 100vw;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  opacity: .9;
}
@media screen and (max-width: 950px) {
.page-environment #main_contents #page_content:after{background-size: 35%;}
}
@media screen and (max-width: 550px) {
.page-environment #main_contents #page_content:after{background-size: 50%;}
}
@media screen and (max-width: 400px) {
.page-environment #main_contents #page_content:after{background-size: 60%;}
}
/* ----------------------------------------------------------------------
 move-in 入居・費用について
---------------------------------------------------------------------- */
.page-move-in,.page-move-in #main_contents {position:relative;}
.page-move-in .item a.animate_background{
  background: rgba(255 255 255 /.6);
}
.page-move-in #main_contents #page_content:after{
  content: '';
  background: url("assets/bg-move-in-flower-01.jpg")  no-repeat;
  background-position: right bottom;
  background-size: 40%;
  position: absolute;
  z-index: -10;
  bottom:-60px;
  min-height: 200vh;
  width: 100vw;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  opacity: .7;
}
@media screen and (max-width: 950px) {
.page-move-in #main_contents #page_content:after{background-size: 55%;}
}
@media screen and (max-width: 550px) {
.page-move-in #main_contents #page_content:after{background-size: 90%;  right: 20%;}
}
@media screen and (max-width: 400px) {
.page-move-in #main_contents #page_content:after{right: 30%;}
}
/* ----------------------------------------------------------------------
 aboutus 働くスタッフ
---------------------------------------------------------------------- */
.page-aboutus,.page-aboutus #main_contents {position:relative;}
.page-aboutus .item a.animate_background{
  background: rgba(255 255 255 /.6);
}
.page-aboutus #main_contents #page_content:after{
  content: '';
  background: url("assets/bg-aboutus-flower-01.jpg")  no-repeat;
  background-position: right bottom;
  background-size: 50%;
  position: absolute;
  z-index: -10;
  bottom:-60px;
  min-height: 200vh;
  width: 100vw;
  right: 46%;
  margin-left: -50vw;
  margin-right: -50vw;
  opacity: .7;
}
@media screen and (max-width: 950px) {
.page-aboutus #main_contents #page_content:after{background-size: 55%;}
}
@media screen and (max-width: 550px) {
.page-aboutus #main_contents #page_content:after{background-size: 90%;  right: 30%;}
}
@media screen and (max-width: 400px) {
.page-aboutus #main_contents #page_content:after{background-size: 100%;right: 30%;}
}
/* idea */
.idea-flower{position:relative;}
.idea{font-size:28px;text-align:center;}
.idea-flower-a{
  background: url("assets/idea-flower-img-01.jpg")  no-repeat;
  background-position: left top;
  position: absolute;
  z-index: -10;
  top:-320px;
  min-height: 100vh;
  width: 100vw;
  left: 45%;
  right: 50%;
  margin-left: -55vw;
  margin-right: -50vw;
}
.idea-flower-b{
  background: url("assets/idea-flower-img-02.jpg")  no-repeat;
  background-position: right top;
  position: absolute;
  z-index: -10;
  top:-170px;
  min-height: 100vh;
  width: 100vw;
  left: 95%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
@media screen and (max-width: 950px) {
.idea-flower-a{background-size: 40%;top:-46%; left: 45%;} 
.idea-flower-b{background-size: 100%;top:-20%; left: 100%;}   
}
@media screen and (max-width: 750px) {
    .idea{font-size:20px;}
.idea-flower-a{background-size: 50%;top:-40%;left: 40%;}  
.idea-flower-b{background-size: 100%;top:-10%; left: 100%;}   
}
@media screen and (max-width: 400px) {
.idea-flower-a{background-size: 50%;top:-15%; left: 40%;}    
.idea-flower-b{background-size: 110%;top:-8%; left: 105%;}   
}

/*  スタッフ紹介 staff */
.content_inner .name_area .category{line-height: 2.3;}
.name_area .sub_title{
  color: #10763D;
    font-family: "EB Garamond", serif!important;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
    letter-spacing: 1px;
}
.page-staff .design2_content {position:relative;}
.page-staff #dc2_content_0:after {
  content: '';
  background: url("assets/staff-flower-01.jpg")  no-repeat;
  background-position: left top;
  position: absolute;
  z-index: -10;
  top:-70px;
  min-height: 100vh;
  width: 100vw;
  left: 33%;
  right: 50%;
  margin-left: -55vw;
  margin-right: -50vw;
}
.page-staff #dc2_content_1:after{
  content: '';
  background: url("assets/staff-flower-02.jpg")  no-repeat;
  background-position: right top;
  position: absolute;
  z-index: -10;
  top:-70px;
  min-height: 200vh;
  width: 100vw;
  left: 83%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
.page-staff #dc2_content_2:after{
  background: url("assets/staff-flower-03.jpg")  no-repeat;
  content: '';
  background-position: left top;
  position: absolute;
  z-index: -10;
  top:-100px;
  min-height: 200vh;
  left: 35%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
}
@media screen and (max-width: 1250px) {
.page-staff #dc2_content_0:after{background-size:80vw ;top:-70px; left: 25%;} 
.page-staff #dc2_content_1:after{left: 95%;}
}
@media screen and (max-width: 950px) {
.page-staff #dc2_content_0:after{background-size:60vw ;top:-40px; left: 35%;} 
.page-staff #dc2_content_1:after{background-size:67vw ;left: 85%;} 
.page-staff #dc2_content_2:after{background-size:55vw;}
}
@media screen and (max-width: 750px) {
.page-staff #dc2_content_0:after{background-size:40vw ;top:-40px; left: 120%;} 
.page-staff #dc2_content_1:after,.page-staff #dc2_content_2:after{display:none;} 

}
@media screen and (max-width: 400px) {
.page-staff #dc2_content_0:after{display:none;} 
}

/* aoboutus pagelink */
.page-content-link {
    max-width: 100%;
    margin: 0 auto;
    border: 1px solid #dcdcdc; 
    margin-bottom: 100px;
}
.page-content-link .menu-body ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    max-width: 100%;
}
.page-content-link .menu-body li {
    border-right: 1px solid #dcdcdc;
    background-color: #ffffff;
    transition: background-color 0.2s ease;
    max-width: 100%;
    flex: 1;
}
.page-content-link .menu-body li:last-child {
    border: none;
}
.page-content-link .menu-body li a {
    display: inline-flex;
    text-decoration: none;
    color: #333333;
    text-align: center;
    padding: 20px 0px;
    transition: all 0.2s ease;
    width: 100%;
    justify-content: center;
    align-items: center;
    font-size: 16px;
    line-height: 1.6;
}
/* ホバー：マウスを乗せた時 */
.page-content-link .menu-body li a:hover {
    background-color: #588E70;
    color: #fff;
}
/* アクティブ：クリックした瞬間 */
.page-content-link .menu-body li a:active {
    background-color: #e8f3ec;
    transform: scale(0.98); /* 押し込み演出 */
}
/* カレント：今見ているページ（JSで付与） */
.page-content-link .menu-body li.is-current {
    background-color: #10763D;
}
.page-content-link .menu-body li.is-current a {
    color: #fff;
    font-weight: bold;
    pointer-events: none; /* 重複クリック防止 */
}
@media screen and (max-width: 1000px) {
.page-content-link .menu-body ul {flex-wrap: wrap;}
.page-content-link .menu-body li {
    border-bottom: 1px solid #dcdcdc;
    border-right: none;
    width: 100%;
    flex: inherit;
}
.page-content-link .menu-body li a {
    padding: 10px 0px;
}   
}


/* ----------------------------------------------------------------------
 move-in
---------------------------------------------------------------------- */
/* flow */
/* フロー全体の設定 */
.flow-section {
  max-width: 1000px;
  margin: 0 auto;
  color: #333;
  line-height: 1.6;
}

/* 各ステップのレイアウト */
.flow-item {
  display: flex;
  background-color: #f9f7f2; /* 背景の薄いベージュ */
  margin-bottom: 0;
}

/* 左側：緑のタイトル部分 */
.flow-header {
  background-color: #10763D; 
  color: #fff;
  width: 180px;
  min-width: 180px;
  display: flex;
  justify-content: center;
  align-items:center;
  text-align: center;
  padding: 20px;
}
.flow-title {
  display: flex;
  font-size: 20px;
  font-weight: bold;
  margin: 0!important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.flow-label {
  font-size: 18px;
  width: 100%;
 font-family: "EB Garamond", serif!important;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
    letter-spacing: 2.5px;
}

/* 右側：コンテンツ部分 */
.flow-body {
  flex-grow: 1;
  padding: 30px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.flow-list {
  list-style: none;
  margin-bottom: 0px!important;
}

/* 電話番号セクション */
.flow-contact {
  border-top: 1px solid #1a7940;
  border-bottom: 1px solid #1a7940;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  flex-wrap: wrap;
  padding: 0px 20px;
}
.contact-name {
  margin: 0!important;
  font-size: 18px;
  font-weight: bold;
  line-height: 0;
}
.contact-tel {
  font-size: 26px;
  margin: 0;
 font-family: "EB Garamond", serif!important;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
  letter-spacing: 2.5px; 
  border: none!important;
  line-height: 2;
}
.tel-number {
  font-size: 28px;
  margin-left: 10px;
}

/* 書類ボックス（Step 2） */
.document-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.doc-box {
  background: #fff;
  border: 1px solid #1a7940;
  padding: 10px 5px;
  margin: 10px 0 10px;
  text-align: center;
  font-size: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #1a7940;
}
.flow-note {
  font-size: 13px;
  margin:  0;
}
.highlight {
  background: linear-gradient(transparent 50%, #FCEEA0 50%);
  font-weight: bold;
}
/* 矢印部分 */
.flow-separator {
  display: flex;
  justify-content: center;
  padding: 15px 0;
  background-color: #fff; /* 背景が白の場合 */
}

.dummy-arrow {
  width: 50px;
  height: auto;
}

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

/* タブレットサイズ (1000px以下) */
@media (max-width: 1000px) {
  .flow-body {
    padding: 20px;
  }
}

/* スマホサイズ (768px以下) */
@media (max-width: 768px) {
  .flow-item {
    flex-direction: column;
  }
  .flow-header {
    width: 100%;
    min-width: 100%;
    padding: 15px;
  }
  .flow-title br {
    display: none;
  }
  .flow-contact {
    flex-direction: column;
    align-items: center;
    text-align: center;
   padding: 10px 20px;
    margin: 20px 0 0;
  }
.contact-tel {
  line-height: 1.4;
}
.tel-number {
  font-size: 28px;
  margin-left:inherit;
}
.document-grid {grid-template-columns: 1fr;}
.doc-box {margin: 0px 0 0px;}  
.doc-box:last-child {margin: 0px 0 15px;}  
.doc-box:first-child {margin: 15px 0 0px;}  
}

/* CTRバナー */
.parallax-block {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  overflow: hidden;
  height: 500px; 
  min-height: 500px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.parallax-bg-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
    z-index:1;
}
.parallax-bg {
  position: absolute;
  top: -100px; /* 上に少しはみ出させておく */
  left: 0;
  width: 100%;
  height: calc(100% + 200px); /* 上下100pxずつ大きく作る */
  background-image: url("assets/flow-img-07.jpg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  will-change: transform;
}

/* 15%の白フィルター */
.white-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.15);
}

/* コンテンツエリア */
.parallax-content {
  position: relative;
  z-index: 1;
  max-width: 1000px; /* 前回の実装と合わせた最大幅 */
  width: 90%;
  margin: 0 auto;
  text-align: center;
  color: #333;
}
.parallax-title {
  color: #10763D; 
  font-size: 38px!important;
  font-family: "serif";
  margin-bottom: 30px;
  letter-spacing: 0.2em;
}
.parallax-text-area p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 0.5em;
  font-weight: 500;
}
/* ボタン */
.parallax-btn-wrapper {
  margin-top: 40px;
}

.parallax-btn {
  display: inline-block;
  background-color: #a88e6d; /* 画像に基づいたブラウン系 */
  color: #fff !important;
  text-decoration: none;
  padding: 15px 60px;
  border: 1px solid #fff;
  font-size: 18px;
  transition: all 0.3s ease;
  box-shadow: 0 0 0 2px #a88e6d; /* 外側の枠線再現 */
}

.parallax-btn:hover {
  background-color: #8c7050;
  opacity: 0.9;
}

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

/* タブレットサイズ (1000px以下) */
@media (max-width: 1000px) {
  .parallax-block {
    padding: 80px 0;
  }
}

/* スマホサイズ (768px以下) */
@media (max-width: 768px) {
  .parallax-block {
    padding: 60px 0;
    min-height: auto;
  }
  .parallax-title {
    font-size: 28px!important;
  }
  .parallax-text-area p {
    font-size: 14px;
    text-align: left; /* スマホでは読みやすさのため左寄せ推奨ですが、画像通りならcenter */
    display: inline-block;
    text-align: center;
    width: 100%;
  }
}

/* ナビゲーション全体のコンテナ */
.plan-nav-wrapper {
  margin: 0px auto;
}
.plan-nav {
  display: flex;
  width: 100%;
}
.plan-nav-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 30px 10px;
  text-decoration: none !important;
  transition: all 0.3s ease;
  background-color: #F8F5F0; 
  color: #333 !important;
  text-align: center;
  border-right: 2px solid #fff; /* 境目の白線 */
  border-bottom: none!important;
}
.plan-nav-item:last-child {
  border-right: none;
}
.plan-name {
  display: block;
  font-size: 18px;
 font-family: "EB Garamond", serif!important;
  font-optical-sizing: auto;
  font-style: normal;
  letter-spacing: 2.5px; 
  margin-bottom: 10px;
}
.plan-detail {
  display: block;
  font-size: 16px;
  font-weight: bold;
}

/* 矢印画像 */
.plan-nav-arrow {
  margin-top: 15px;
}
.plan-nav-arrow img {
  width: 20px;
  height: auto;
}
/* ホバーエフェクト：背景が濃くなり、テキストが白に */
.plan-nav-item:hover {
  background-color: #AC8D69; /* より濃い茶色 */
  color: #fff !important;
}
/* ホバー時に矢印の色を考慮（画像差し替え時に調整してください） */
.plan-nav-item:hover .dummy-arrow {
  filter: brightness(0) invert(1); /* 矢印を白く反転させる場合 */
}

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

/* タブレット・スマホ（768px以下） */
@media (max-width: 768px) {
  .plan-nav {
    flex-direction: column; /* 縦並びにする */
    border-bottom: none;
  }
  .plan-nav-item {
    width: 100%;
    padding: 20px;
    border-right: none;
    border-bottom: 2px solid #fff!important; /* 縦並び時の区切り線 */
  }
  .plan-name {
    font-size: 16px;
  }
  .plan-detail {
    font-size: 14px;
  }
}

/* 全体レイアウト */
.fee-table-container {
  max-width: 1000px;
  margin: 40px auto;
  font-family: "Hiragino Mincho ProN", "MS Mincho", serif;
  color: #333;
}

.fee-block {
  margin-bottom: 60px;
}

/* ヘッダー：緑色のバー */
.fee-header-bar {
  background-color: #1a7940; /* 画像に合わせた深い緑 */
  color: #fff;
  padding: 18px 25px;
  font-size: 19px;
  font-weight: bold;
  letter-spacing: 0.05em;
}
.megamenu_blog_list .category , #post_title_area .category{display: none;}

/* 行のスタイル */
.fee-content {
  border-top: none;
}

.fee-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 25px;
  border-bottom: 1px solid #d1d1d1; /* 繊細な区切り線 */
}

/* 項目（年齢・償却年数） */
.fee-term {
  font-size: 17px;
}

/* 金額 */
.fee-amount {
  font-size: 26px;
  color: #1a7940;
  font-weight: 500;
}

.fee-amount .unit {
  font-size: 16px;
  margin-left: 4px;
}

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

/* タブレット (1000px以下) */
@media (max-width: 1024px) {
  .fee-table-container {
    padding: 0 20px;
  }
}

/* スマホ (768px以下) */
@media (max-width: 768px) {
  .fee-header-bar {
    font-size: 16px;
    padding: 15px 20px;
  }
  
  .fee-row {
    padding: 18px 20px;
  }

  .fee-term {
    font-size: 14px;
    flex: 1;
  }

  .fee-amount {
    font-size: 20px;
  }
}

/* 極小スマホ (480px以下) */
@media (max-width: 480px) {
  .fee-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .fee-amount {
    margin-top: 8px;
    width: 100%;
    text-align: right;
  }
}

/* 全体レイアウト */
.fee-table-container {
  max-width: 1000px;
  margin: 40px auto;
  font-family: "Hiragino Mincho ProN", "MS Mincho", serif;
  color: #333;
}

.fee-block {
  margin-bottom: 60px;
}

/* ヘッダー：緑色のバー */
.fee-header-bar {
  background-color: #1a7940;
  color: #fff;
  padding: 18px 25px;
  font-size: 19px;
  font-weight: bold;
  letter-spacing: 0.05em;
}

/* 行のスタイル：Flexboxで2カラム構成 */
.fee-content {
  border-top: none;
}

.fee-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 22px 25px;
  border-bottom: 1px solid #d1d1d1;
}

/* 項目（タイプ・面積） */
.fee-term {
  font-size: 17px;
}

.fee-note {
  font-size: 14px;
  margin-left: 8px;
  color: #666;
  font-family: sans-serif; /* 注釈はゴシックで見やすく */
}

/* 金額 */
.fee-amount {
  font-size: 26px;
  color: #1a7940;
  font-weight: 500;
}

.fee-amount .unit {
  font-size: 16px;
  margin-left: 4px;
}

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

/* タブレット (1024px以下) */
@media (max-width: 1024px) {
  .fee-table-container {
    padding: 0 20px;
  }
}

/* スマホ (768px以下) */
@media (max-width: 768px) {
  .fee-header-bar {
    font-size: 16px;
    padding: 15px 20px;
  }
  
  .fee-row {
    padding: 18px 20px;
  }

  .fee-term {
    font-size: 15px;
    flex: 1;
  }

  .fee-amount {
    font-size: 20px;
  }
}

/* 極小スマホ (480px以下) */
@media (max-width: 480px) {
  .fee-row {
    flex-direction: column;
    align-items: flex-start;
  }

  .fee-amount {
    margin-top: 8px;
    width: 100%;
    text-align: right;
  }
  
  .fee-note {
    display: block;
    margin-left: 0;
    margin-top: 4px;
  }
}

/* バナー全体のスタイル */
.expense-banner {
  max-width: 1000px;
  margin: 40px auto;
  background-color: #10763D; /* これまでの表と統一した深い緑 */
  color: #ffffff;
  padding: 50px 20px;
  text-align: center;
  box-sizing: border-box;
}

.expense-banner-inner {
  font-family: "Hiragino Mincho ProN", "MS Mincho", serif;
}

/* メインタイトル */
.expense-main-title {
  font-size: 32px;
  margin: 0 0 20px 0;
  font-weight: normal;
  letter-spacing: 0.15em;
  line-height: 1.2;
}

/* 計算式のテキスト */
.expense-sub-formula {
  font-size: 22px;
  margin: 0;
  letter-spacing: 0.05em;
  font-weight: normal;
  line-height: 1.5;
}

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

/* タブレットサイズ (1000px以下) */
@media (max-width: 1024px) {
  .expense-banner {
    width: 100%;
    padding: 40px 20px;
  }
  
  .expense-main-title {
    font-size: 28px;
  }
  
  .expense-sub-formula {
    font-size: 18px;
  }
}

/* スマホサイズ (768px以下) */
@media (max-width: 768px) {
  .expense-banner {
    padding: 35px 15px;
  }

  .expense-main-title {
    font-size: 24px;
    margin-bottom: 15px;
  }

  .expense-sub-formula {
    font-size: 15px;
    padding: 0 10px;
    /* 長い場合に備えて折り返しを許容 */
    display: inline-block;
    text-align: center;
  }
}

/* 極小スマホサイズ (480px以下) */
@media (max-width: 480px) {
  .expense-main-title {
    font-size: 20px;
  }

  .expense-sub-formula {
    font-size: 13px;
    line-height: 1.8;
  }
}

/* テーブル全体のコンテナ */
.detail-table-wrapper {

  margin: 20px auto;
  font-family: "Hiragino Mincho ProN", "MS Mincho", serif;
  border: 1px solid #d1d1d1;
}

.detail-table {
  display: flex;
  flex-direction: column;
}

/* 行のスタイル */
.detail-table-row {
  display: flex;
  min-height: 150px; /* 画像の比率に合わせた高さ */
  border-bottom: 1px solid #d1d1d1;
}

.detail-table-row:last-child {
  border-bottom: none;
}

/* 左側：ラベルセル（薄いベージュ） */
.detail-label-cell {
  flex: 0 0 33%; /* 幅40%固定 */
  background-color: #f9f7f2;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  text-align: center;
  border-right: 1px solid #d1d1d1;
}
.detail-label-cell p {
  font-size: 18px;
  line-height: 1.6;
  margin: 0;
  color: #333;
}

/* 右側：バリューセル（黒塗り） */
.detail-value-cell {
  flex: 1; /* 残りの幅を占有 */
  padding: 20px 30px;
}

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

/* タブレットサイズ (1024px以下) */
@media (max-width: 1024px) {
  .detail-label-cell p {
    font-size: 16px;
  }
}

/* スマホサイズ (768px以下) */
@media (max-width: 768px) {
  .detail-table-row {
    flex-direction: column; /* 縦並びにする */
    min-height: auto;
  }

  .detail-label-cell {
    flex: 1 0 auto;
    width: 100%;
    padding: 30px 15px;
    border-right: none;
    border-bottom: 1px solid #d1d1d1;
  }

  .detail-value-cell {
    height: 80px; /* スマホでは黒塗り部分を少し低くしてコンパクトに */
  }

  .detail-label-cell p {
    font-size: 15px;
  }
}

/* 極小スマホ (480px以下) */
@media (max-width: 480px) {
  .detail-label-cell {
    padding: 20px 10px;
  }
  
  .detail-label-cell p {
    font-size: 14px;
  }
}

/* 外側のコンテナ（背景色） */
.care-grid-wrapper {
  margin: 30px auto 0;
  padding: 40px 50px;
  background-color: #F8F5F0; 
}
/* グリッドコンテナ */
.care-grid-container {
  display: grid;
  /* PC時は画像通り3列 */
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 30px; /* 行間20px, 列間30px */
  font-family: "Hiragino Mincho ProN", "MS Mincho", serif;
  color: #333;
}
/* グリッドアイテム（各項目） */
.care-grid-item {
  display: flex;
  align-items: center;
}

/* 緑の円 */
.care-dot {
  width: 14px;
  height: 14px;
  background-color: #10763D; 
  border-radius: 50%;
  display: inline-block;
  margin-right: 5px;
  flex-shrink: 0;
}

/* テキスト部分 */
.care-text {
  font-size: 17px;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

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

/* タブレット・小さいPCサイズ (1100px以下) - ここを修正 */
@media (max-width: 1100px) {
  .care-grid-container {
    /* この幅以下では2列にスイッチ */
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 20px; /* 列間を少し狭めて調整 */
  }
  
  .empty-pc {
    display: none; /* 調整用の空セルを消す */
  }
}

/* スマホサイズ (768px以下) */
@media (max-width: 768px) {
  .care-grid-wrapper {
    padding: 30px 30px;
  }
  .care-grid-container {
    /* スマホは1列（縦並び） */
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .care-text {
    font-size: 15px;
  }
  .care-dot {
    width: 12px;
    height: 12px;
    margin-right: 5px;
  }
}

/* 極小スマホ (480px以下) */
@media (max-width: 480px) {
  .care-text {
    font-size: 14px;
    white-space: normal; /* 折り返しを許可 */
  }
}

/* セクション全体の枠線と余白 */
.revision-notice-section {
  max-width: 1000px;
  margin: 60px auto;
  padding: 40px 0;
  border-top: 1px solid #d1d1d1;
  border-bottom: 1px solid #d1d1d1;
  font-family: "Hiragino Mincho ProN", "MS Mincho", serif;
}

/* コンテナ：PCでは横並び */
.revision-notice-container {
  display: flex;
  align-items: center;
  gap: 60px; /* タイトルと本文の間隔 */
  padding: 0 20px;
}

/* 左側：タイトル */
.revision-notice-title {
  flex: 0 0 300px; /* タイトルの幅を固定 */
}

.revision-notice-title h2 {
  color: #10763D; /* 指定のグリーン */
  font-size: 32px;
  font-weight: normal;
  margin: 0;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

/* 右側：本文 */
.revision-notice-content {
  flex: 1;
}

.revision-notice-content p {
  font-size: 16px;
  line-height: 2;
  color: #333;
  margin: 0;
  letter-spacing: 0.05em;
}

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

/* タブレットサイズ (1024px以下) */
@media (max-width: 1024px) {
  .revision-notice-container {
    gap: 40px;
  }
  
  .revision-notice-title {
    flex: 0 0 240px;
  }

  .revision-notice-title h2 {
    font-size: 26px;
  }
}

/* スマホサイズ (768px以下) */
@media (max-width: 768px) {
  .revision-notice-section {
    padding: 30px 0;
    margin: 40px auto;
  }

  .revision-notice-container {
    flex-direction: column; /* 縦並びに変更 */
    align-items: flex-start;
    gap: 15px;
  }

  .revision-notice-title {
    flex: none;
    width: 100%;
  }

  .revision-notice-title h2 {
    font-size: 22px;
  }

  .revision-notice-content p {
    font-size: 14px;
    line-height: 1.8;
  }
}

/* ----------------------------------------------------------------------
 居住・設備　environment
---------------------------------------------------------------------- */
/* 全体コンテナ */
.room-detail-container {
  display: flex;
  gap:30px;
  align-items: center;
}
/* 画像全般のレスポンシブ設定 */
.replaceable-img {
  width: 100%;
  height: auto;
  display: block;
}
/* 左側：間取り図エリア */
.room-floor-plan {
  flex: 1; /* 50%幅 */
}
/* 右側：コンテンツエリア */
.room-info-content {
  flex: 1; /* 50%幅 */
  display: flex;
  flex-direction: column;
  gap: 30px;
}
/* リード文 */
.room-intro p {
  font-size: 20px;
  line-height: 1.8!important;
    padding: 10px 0 0;
  margin: 0px!important;
  letter-spacing: 0.1em;
}
/* 詳細スペックボックス */
.room-spec-box {
  background-color: #F8F5F0;
  padding: 30px;
}
.room-spec-title {
  font-size: 20px;
  margin: 0!important;
}
.highlight-green {
  color: #10763D;
  font-weight: bold;
  font-size: 26px;
}
.room-spec-sub {
  font-size: 16px;
  margin: 0 0 10px 0!important;
  text-align: center;
}
.room-spec-list {
  list-style: none!important;
  padding: 0!important;
  margin: 0!important;
  display: inline-block;
  text-align: left!important;
}

.room-spec-list li {
  font-size: 17px;
  letter-spacing: 0.05em;
}
/* 右下：写真エリア */
.room-photo {
  width: 100%;
}

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

/* タブレットサイズ (1024px以下) */
@media (max-width: 1024px) {
  .room-detail-block {
    padding: 0 20px;
  }
  .room-detail-container {
    gap: 30px;
  }
  .room-intro p {
    font-size: 18px;
  }
}

/* スマホサイズ (768px以下) */
@media (max-width: 768px) {
  .room-detail-container {
    flex-direction: column; /* 縦並び */
    align-items: center;
  }
  .room-floor-plan {
    width: 100%;
    max-width: 450px; 
  }
  .room-info-content {
    width: 100%;
  }
  .room-intro p {
    text-align: center;
      padding: 0!important;
  }
  .room-spec-box {
      display: flex;
    padding: 20px;
    flex-wrap:wrap;
    }
  .highlight-green {
    font-size: 22px;
     width: 100%;
  }
  .room-spec-title {
    font-size: 18px;
  }
.room-spec-list li {
  font-size: 15px;
}
}

/* gallery */

/* 全体レイアウト */
.facility-gallery {
  max-width: 1000px;
  margin: 40px auto;
}
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 20px;
}
/* 各アイテム */
.gallery-item {
  display: flex;
  flex-direction: column;
}
.gallery-item a {
    border: none;
}
/* 画像ラッパー */
.gallery-image-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}
.gallery-image-wrapper img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
/* ホバー時に画像を拡大 */
.gallery-item a:hover img {
  transform: scale(1.15);
}
/* 虫眼鏡アイコン */
.zoom-icon {
  position: absolute;
  bottom: 12px;
  left: 15px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.zoom-icon svg {
  width: 24px;
  height: 24px;
  fill: #333;
}
.gallery-item h3.gallery-item-title {
  color: #10763D;
  font-size: 16px!important;
  margin: 0 0 10px 0!important;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-top: 15px!important;
}
.gallery-item-text {
  font-size: 14px;
  margin: 0;
}

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

/* スマホ (768px以下) */
@media (max-width: 768px) {
  .gallery-grid {
    grid-template-columns: 1fr; /* 1列 */
    gap: 40px;
  }
}

/* fancybox config */
.fancybox-nav span {
  visibility: inherit;
}
.fancybox-title {
  font:normal 16px/20px 'Zen Old Mincho' , serif !important;
  text-align: center;
  padding: 15px!important;
}
.fancybox-opened .fancybox-title {
  background-color: #10763D;
}

.fancybox-close {
  position:absolute;
  display: block;
  top:20px;
  right:20px;
  width:45px;
  height:45px;
  cursor:pointer;
  z-index:200000;
  background-color: #fff;
  opacity: .4;
  border-radius: 30px;
  background-position: 15px 15px;
  background-image:url(assets/gallery-icon-01.png) ;
  background-repeat: no-repeat;
}
.fancybox-close:hover {
  opacity: .7;
}
.fancybox-prev{opacity: .4;}
.fancybox-prev:hover {opacity: 1;}
.fancybox-prev span {
  left:20px;
  background-position:0;
  background-image:url(assets/gallery-icon-03@2x.png)!important;
  background-repeat: no-repeat; 
  background-size: 15px 28px;
}
.fancybox-next{opacity: .4;}
.fancybox-next:hover {opacity: 1;}
.fancybox-next span {
  right:0px;
  background-position:0;
  background-image:url(assets/gallery-icon-02@2x.png)!important;
  background-repeat: no-repeat; 
  background-size: 15px 28px;
}

@media only screen and (-webkit-min-device-pixel-ratio:1.5),only screen and (min--moz-device-pixel-ratio:1.5),only screen and (min-device-pixel-ratio:1.5) {    
  .fancybox-close{
  background-image:url(assets/gallery-icon-01@2x.png);
  background-repeat: no-repeat;  
  background-size: 16px 16px; 
  }
}

/* ----------------------------------------------------------------------
 blog 皆さんの一人
---------------------------------------------------------------------- */
.blog,.blog #main_contents {position:relative;}
.blog .item a.animate_background{
  background: rgba(255 255 255 /.6);
}
.blog #main_contents #blog_archive:after{
  content: '';
  background: url("assets/bg-blog-flower-01.jpg")  no-repeat;
  background-position: center top;
  background-size: 25%;
  position: absolute;
  z-index: -10;
  top:0vh;
  min-height: 200vh;
  width: 100vw;
  right: 50%;
  left: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  opacity: .3;
}
@media screen and (max-width: 1250px) {
.blog #main_contents #blog_archive:after{  top:4vh;}
}
@media screen and (max-width: 950px) {
.blog #main_contents #blog_archive:after{background-size: 40%;}
}
@media screen and (max-width: 400px) {
.blog #main_contents #blog_archive:after{background-size: 70%;}
}

/* ----------------------------------------------------------------------
 アクセス
---------------------------------------------------------------------- */
.access_content2 .top_headline { border-top:3px solid #10763D;}

.access_content2 { margin:0 0 100px 0; }
.access_content2 .top_headline { margin:0 auto 47px; }
.access_content2 .info_area { padding:40px; }
.access_content2 .address_area { display:block; }
.access_content2 .address_area .item:first-of-type { margin:0 0 40px 0; }
.access_content2 .address_area .item:only-of-type { margin:0 !important; }

/* ----------------------------------------------------------------------
 よくあるご質問 FAQ
---------------------------------------------------------------------- */
h3.question{padding-bottom: 24px!important;}
ul#faq_category_button li p{padding-bottom: 65px!important;}
@media screen and (max-width: 1251px) {
ul#faq_category_button li p{padding-bottom: 55px!important;}
}



/* ----------------------------------------------------------------------
 資料請求・お問い合わせフォーム request
---------------------------------------------------------------------- */
@media (min-width: 1000px) {
	.smf-form--simple-table{padding: 60px 100px!important;}
}

.smf-progress-tracker li .smf-progress-tracker__item__number{font-size: 12px;}
.smf-progress-tracker li[aria-current="true"] .smf-progress-tracker__item__number{background: #10763D;}
.smf-form {
 margin: 50px 0; 
  padding: 30px 0;
  border-top: 1px solid #c6c6c6;
  border-bottom: 1px solid #c6c6c6;
}
.smf-form div,
.smf-form input,
.smf-form textarea{
  letter-spacing: .1em;
  color: #000;
}
.smf-form select{
font-family: 'Zen Old Mincho' , serif !important;
   outline: 1px solid rgb(255, 255, 255);
   outline-offset: -6px;
}

.smf-form .smf-select-control__control:focus+.smf-select-control__toggle:before {
  border-color:#10763D;
}
.smf-form input,.smf-form textarea,.smf-form select{
  border: 1px solid #aaa!important;
}

.smf-form .smf-checkbox-control__control:checked{
  background: #10763D;
}
.smf-form div.smf-error-messages{color: #f43d3d;}
.smf-form .name div.smf-error-messages{position: absolute;top: 40px;}

.smf-form span.smf-item__label__text {font-weight: 600!important;}
.smf-form .name div {display: inline-flex;position: relative;}
.smf-form .name div input {margin-right: 20px;}
.smf-form .addr-1,.smf-form .addr-2{margin-top: 20px;}

.required .smf-item__label__text{display:flex;align-items:center;}
.required .smf-item__label__text:after{
  content: "必須";
  background-color:#E73895;
  color: #fff;
  padding: 0px 5px;
  font-size: 11px;
  margin-left: 5px;
  border-radius: 3px;
  height: 20px;
  line-height: 1.8;
}

.smf-form .wp-block-snow-monkey-forms-item{
  line-height: 1.6; 
}
.smf-form div.smf-item div.smf-item__col--label{
  display: flex;
  align-items: center;
  border-right: 1px solid #c6c6c6;
  margin-right: 30px;
}

.smf-action .smf-button-control button{
border: none;
border-radius: inherit;
background: #a88e6d;
color: #fff !important;
text-decoration: none;
padding: 15px 60px;
font-size: 18px;
transition: all 0.3s ease;
font-family: 'Zen Old Mincho' , serif !important;
   outline: 1px solid rgb(255, 255, 255);
   outline-offset: -6px;
}
.smf-action .smf-button-control button:hover{
  background: #8c7050;
  opacity: 0.9;
}

#autozip{display: none!important;}
.smf-form div input:hover,.smf-form div input:focus,
.smf-form div textarea:hover,.smf-form div textarea:focus,
.smf-form select:focus
{border-color: #10763D!important;}

.smf-form h2.styled_h2{
  font-size: 30px!important;
  margin: 30px 0 30px!important;
}
.smf-form h2.styled_h2 + p{
  font-weight: normal;
}
.smf-form .p-fp-section__button{ 
margin: 0 0 40px;
}

@media (max-width: 640px) {
.smf-form .name div {display:inherit;}
.smf-form .name .name-inn {margin-right: 0px;} 
.smf-form .name .name-inn2 {margin-top: 20px;}
.smf-form div.smf-item div.smf-item__col--label{
  border-right: inherit;
  margin-right: 0px;
}
.smf-action .smf-button-control button{font-size: 14px;padding-bottom: 18px;}

.smf-form .name div.smf-error-messages{
  position: inherit;
  top: 10px!important;
  margin: 0!important;
}
}

/* hide reCAPTCHA v3 badge */
.grecaptcha-badge { visibility: hidden; }
.recaptcha-policy{
 letter-spacing: .1em;
  line-height: 1.8;
  text-align: center;
}

/* 見学・体験フォーム */
.smf-text-control input,.smf-select-control select{
   min-width: 200px;  
   max-width: 300px;
}
input.tel-form{width: 100px;}
.reserve-head .smf-text-control:before,
.reserve-foot .smf-text-control:before
{content: "日程";margin-right: 10px;}
.reserve-head .smf-select-control,
.reserve-foot .smf-select-control
{margin-top:20px;}
.reserve-head .smf-select-control:before,
.reserve-foot .smf-select-control:before{
  content:'時間';
  margin-right: 10px;
  z-index: 1;
  position: relative;
  top: 0;
  left: 0;
}
.reserve-people .smf-item__controls{position: relative;}
.reserve-people .smf-item__controls .smf-text-control__control{width: 100px;}
.reserve-people .smf-item__controls:after{
  content:'名';
  z-index: 1;
  position: absolute;
  top: 10px;
  left: 210px; 
}

/* ブログ  */
.post-template-default p{font-family: 'Zen Old Mincho' , serif !important; }
.post-template-default h1,
.post-template-default h2,
.post-template-default h3
{color:#10763D; }
.post-template-default h2{padding: 20px 0!important;}

@media only screen and (min-width: 768px) {
.post-template-default #main_col {
width: 1000px;
min-width: 1000px;
}
}
.post-template-default #side_col {
display: none;
}



@media screen and (max-width:550px) {
.post_list{height: inherit!important;}
}