.elementor-kit-9{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-9 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){margin-block-end:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:768px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:100%;}.e-con{--container-max-width:100%;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}/* Start custom CSS *//* ========== タイトル下のGAP調整 ========== */
@media (max-width: 767px){
  .section-cd > .e-con-inner{
    gap: 30px !important;
    row-gap: 30px !important;
    column-gap: 30px !important;
    --e-con-grid-gap: 30px !important;
  }
  body.elementor-page-68 .title1{
      row-gap:10px !important;
  }
}
@media (min-width:768px) and (max-width:1024px){
  .section-cd > .e-con-inner{
    gap: 50px !important;
    row-gap: 50px !important;
    column-gap: 50px !important;
    --e-con-grid-gap: 50px !important;
  }
}

/* ========== absolute設定 ========== */
/*ニュースバー*/
body.elementor-page-68 .news-pt{
    position: relative !important;
}
body.elementor-page-68 .news{
    position: absolute !important;
    bottom: 0 !important;
    left: 0!important;
}
/*理念*/
body.elementor-page-68 .rinen-pt{
    position: relative !important;
}
body.elementor-page-68 .rinen-cd{
    position: absolute !important;
    bottom: 0 !important;
    right: 0!important;
}

/* ==========================================================
   右上固定ボックス（共通クラス fixed-right-box 用）
   どのページにテンプレート挿入しても右上固定される
   PC: 120×360（3段） / Tablet: 90×270 / Mobile: 70×210
   ========================================================== */

.fixed-right-box{
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  bottom: auto !important;

  display: flex !important;
  flex-direction: column !important;

  z-index: 99999 !important;
  margin: 0 !important;
  overflow: hidden !important;
  transform: none !important;  /* Safari/iOS 対策 */
}

/* PC */
@media (min-width:1025px){
  .fixed-right-box{
    width: 120px !important;
    height: 360px !important;
  }
  .fixed-right-box > *,
  .fixed-right-box > .e-con-inner > *,
  .fixed-right-box > .elementor-container > *,
  .fixed-right-box .elementor-widget-wrap > *{
    flex: 0 0 120px !important;
    height: 120px !important;
  }
}

/* Tablet */
@media (min-width:768px) and (max-width:1024px){
  .fixed-right-box{
    width: 90px !important;
    height: 270px !important;
  }
  .fixed-right-box > *,
  .fixed-right-box > .e-con-inner > *,
  .fixed-right-box > .elementor-container > *,
  .fixed-right-box .elementor-widget-wrap > *{
    flex: 0 0 90px !important;
    height: 90px !important;
  }
}

/* Mobile */
@media (max-width:767px){
  .fixed-right-box{
    width: 70px !important;
    height: 210px !important;  /* 70 × 3 */
  }
  .fixed-right-box > *,
  .fixed-right-box > .e-con-inner > *,
  .fixed-right-box > .elementor-container > *,
  .fixed-right-box .elementor-widget-wrap > *{
    flex: 0 0 70px !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;   /* 縦中央 */
    justify-content: center !important; /* 横中央 */
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-sizing: border-box !important;
  }
  /* アイコン/画像の収まり */
  .fixed-right-box .elementor-icon,
  .fixed-right-box .elementor-icon-wrapper,
  .fixed-right-box .elementor-icon a{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:100% !important;
    height:100% !important;
  }
  .fixed-right-box .elementor-icon i{
    font-size: 28px !important; /* 必要なら調整 */
    line-height: 1 !important;
  }
  .fixed-right-box .elementor-icon svg,
  .fixed-right-box .elementor-icon img{
    max-height: 56px !important;
    max-width: 56px !important;
    object-fit: contain !important;
  }
  .fixed-right-box .elementor-heading-title{
    margin:0 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }
}

/* Elementor 内部ラッパは gap ゼロ＆contents 化 */
.fixed-right-box > .e-con-inner,
.fixed-right-box > .elementor-container,
.fixed-right-box .elementor-widget-wrap{
  display: contents !important;
  gap: 0 !important;
  row-gap: 0 !important;
  --e-con-grid-gap: 0 !important;
}

/* ========== ニュースバー幅設定 ========== */
@media (max-width:767px){
    body.elementor-page-68 .news{
        padding:0 !important;
    }
}
    
body.elementor-page-68 .news-left {
  width:30% !important;
  flex:0 0 30% !important;
  max-width:30% !important;
}
/*スマホでは100％*/
@media (max-width:767px){
    body.elementor-page-68 .news-left{
        width:100% !important;
        flex:0 0 100% !important;
  max-width:100% !important;
    }
}
/*post部分のマージンボトム0*/
.ast-separate-container .ast-comment-list li.depth-1, .hentry{
    margin-bottom: 0 !important;
}
/*post部分スマホでのパディング*/
@media (max-width:767px){
    body.elementor-page-68 .news-left{
        padding:8px !important;}
    body.elementor-page-68 .news-right{
        padding-top:8px;
        padding-bottom:8px;
        padding-left:1rem;
        padding-right:8px;
    }
    }
    
/* ========== ボタンの設定 ========== */
@media (max-width:767px){
    .elementor-button{
        font-size:20px !important;
    }
    }

/* ========== セクションタイトルの下の下の余白を消す ========== */


/* ========== ヒーロー幅設定 ========== */
@media (max-width:767px){
    body.elementor-page-68 .news-pt{        padding-right:0px !important;
    }
}

/* ========== セクションの幅設定 ========== */
@media (max-width:767px){
    body.elementor-page-68 .section-pt{
        padding-right:20px !important;
        padding-left:20px !important;
    }
    body.elementor-page-68 .section-cd{
        padding-right:20px !important;
        padding-left:20px !important;
    }
/* セクション自身の上下はゼロにして重複を防ぐ */
.section-cd{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
/* 連続する .section-cd の“間”だけ40px（確実） */
.section-cd + .section-cd{
  margin-top:50px !important;
}
/* 内側ラッパに上下25px（セクション内の見た目の余白） */
.section-cd > .e-con-inner{
  padding-top:50px !important;
  padding-bottom:50px !important;
}
}
@media (min-width:768px) and (max-width:1024px){
    body.elementor-page-68 .section-pt{
        padding-right:90px !important;
        padding-left:90px !important;
    }
    body.elementor-page-68 .section-cd{
    padding-left:50px !important;
    padding-right:50px !important;
}
/* セクション自身の上下はゼロにして重複を防ぐ */
.section-cd{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
/* 連続する .section-cd の“間”だけ40px（確実） */
.section-cd + .section-cd{
  margin-top:80px !important;
}
/* 内側ラッパに上下40px（セクション内の見た目の余白） */
.section-cd > .e-con-inner{
  padding-top:80px !important;
  padding-bottom:80px !important;
}
}

/* ========== サービスの文字縦書き ========== */
@media (min-width:1025px){
body.elementor-page-68 .service-cd{
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%) rotate(90deg);
  z-index: 3;
  transform: rotate(90deg);
  transform-origin: top center;
}
}
@media (min-width:768px) and (max-width:1024px){
body.elementor-page-68 .service-cd-tb{
  position: absolute;
  left: 100%;
  top: 0;
  transform: translateX(-50%);
  z-index: 3;
  transform: rotate(90deg);
  transform-origin: top center;
  margin-top:-30px !important;
}
}

/* ========== サービスセクションの幅 ========== */
@media (min-width:1025px){
body.elementor-page-68 .service-left{
    width: 40% !important;
}
body.elementor-page-68 .service-right{
    width: 40% !important;
}
body.elementor-page-68 .service-pt{
    width: 10% !important;
    position:relative !important;
}
}
@media (min-width:768px) and (max-width:1024px){
body.elementor-page-68 .service-left-tb{
    width: 80% !important;
}
body.elementor-page-68 .service-right-tb{
    width: 100% !important;
}
body.elementor-page-68 .service-pt-tb{
    width: 20% !important;
    position:relative !important;
}
}

/* ========== サービスセクションのスマホパディング調整 ========== */
@media (max-width:767px){
.elementor-68 .elementor-element.elementor-element-7aca814{
    padding-top:0px !important;
}
/*ギャップ調整*/
.elementor-68 .elementor-element.elementor-element-7aca814{
  gap: 30px !important;
  row-gap: 30px !important;
  column-gap: 30px !important;
  --e-con-grid-gap: 30px !important; /* Elementor内部変数も合わせて上書き */
}
}

/* ========== サービスの文字サイズ ========== */
@media (max-width:767px){
.elementor-68 .elementor-element.elementor-element-93ca3b3 .elementor-heading-title{
    font-size:60px !important;
    letter-spacing:0.3rem !important;
    margin-bottom:-0.2rem !important;
    line-height:1rem !important;
}
}

/* ========== サービスの写真左寄せ ========== */
@media (max-width:767px){
.elementor-68 .elementor-element.elementor-element-94cf021 > .elementor-widget-container{
    margin-left:-40px !important;
}
}

/* ========== 施工事例のGAP設定 ========== */
@media (min-width:768px) and (max-width:1024px){
/* 施工事例のPostsウィジェット（クラス=works） */
.works .elementor-posts-container,
.works .elementor-loop-container {
  display: grid !important;
  row-gap: 50px !important;      /* 縦方向の間隔 */
  column-gap: 50px !important;   /* 横方向の間隔（複数列時のみ有効） */
}
.works .elementor-post,
.works .e-loop-item {
  margin: 0 !important;
}
}

@media (max-width:767px){
/* 施工事例のPostsウィジェット（クラス=works） */
.works .elementor-posts-container,
.works .elementor-loop-container {
  display: grid !important;
  row-gap: 30px !important;      /* 縦方向の間隔 */
  column-gap: 30px !important;   /* 横方向の間隔（複数列時のみ有効） */
}
.works .elementor-post,
.works .e-loop-item {
  margin: 0 !important;
}
}

/* ========== ポストタイトルのフォントサイズ ========== */
.elementor-posts .elementor-post__title{
    font-size:1rem !important;
}

/* ===== モバイルフッターに余白を付ける ===== */
@media (max-width: 767px){
  .footer{
    padding-right: 35% !important;
    box-sizing: border-box !important;
  }
  /* Elementorコンテナ構造に対応：内側にも保険で */
  .footer > .e-con-inner{
    padding-right: 35% !important;
    box-sizing: border-box !important;
  }
}

/* ===== モバイルだけフッターのGAPを小さくする ===== */
@media (max-width: 767px){
  .footer-inner{
    gap: 10px !important;
    row-gap:10px !important;
  }
  /* Elementorコンテナ構造に対応：内側にも保険で */
  .footer-inner > .e-con-inner{
    gap: 10px !important;
    row-gap:10px !important;
}
}
@media (max-width: 767px){
  /* footer-block 内のアイコンリストに強制適用 */
  .footer-block ul.elementor-icon-list-items{
    --e-icon-list-space: 5px !important; /* Elementor が参照する変数 */
    gap: 5px !important;                 /* Flex gap */
    row-gap: 5px !important;
    column-gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 各 li の margin/padding をリセット */
  .footer-block ul.elementor-icon-list-items > li{
    margin: 0 !important;
    padding: 0 !important;
  }

  /* 2つ目以降にだけ 5px の余白を付与（保険） */
  .footer-block ul.elementor-icon-list-items > li + li{
    margin-top: 5px !important;
  }
}

/* ========== テーブル調整 ========== */
  table.table th {
    width: 25%;   /* ← ここを好みの幅に調整 */
    white-space: nowrap; /* 折り返さず1行に */
    text-align: center;    /* 左寄せ推奨 */
  }
  table.table td {
    text-align: left;
  }

@media (max-width: 767px){
  table.table th {
    min-width: 120px;   /* ← ここを好みの幅に調整 */
    white-space: nowrap; /* 折り返さず1行に */
    text-align: center;    /* 左寄せ推奨 */
  }
  table.table td {
    text-align: left;
  }
}
/* デフォルトでは改行無効 */
.br-sp { display: none; }

/* タブレットとスマホだけ改行有効 */
@media (max-width: 767px){
  .br-sp { display: inline; }
}
@media (min-width:768px) and (max-width:1024px){
      .br-sp { display: inline; }
}
table.table tbody tr:nth-child(odd) {
  background-color:#e9ecf0; /* 奇数行の背景色 */
}

table.table tbody tr:nth-child(even) {
  background-color:#FFFFFF; /* 偶数行の背景色 */
}
table.table {
    border-color: #bbb;
}
table.table th,
table.table td {
 border-color: #bbb; 
}

/* カスタム投稿タイプ info の一覧ウィジェットだけ白背景に */
body.post-type-archive-info .info-list {
  background-color: #ffffff !important; /* 白背景 */
  box-sizing: border-box;
}

/* 投稿カードは透明にして “白い箱の中” に収める */
body.post-type-archive-info .info-list .elementor-post,
body.post-type-archive-info .info-list .e-loop-item {
  background: transparent !important;
  box-shadow: none !important;
}


/* WPForms のラベルを h4 と完全一致させる */
div.wpforms-container-full .wpforms-field-label {
  all: unset; /* 既存の WPForms スタイルをリセット */
  display: block; /* ラベルなのでブロックに戻す */
}

/* h4 のスタイルを強制的に適用 */
div.wpforms-container-full .wpforms-field-label {
  font-family: var(--e-global-typography-h4-font-family) !important;
  font-size: var(--e-global-typography-h4-font-size) !important;
  font-weight: 600;
  line-height: var(--e-global-typography-h4-line-height) !important;
  letter-spacing: var(--e-global-typography-h4-letter-spacing) !important;
  text-transform: var(--e-global-typography-h4-text-transform) !important;
  color: var(--e-global-color-h4, inherit) !important;
  margin-bottom: 0.5em !important;
}


/* WPFormsの送信ボタンの色を最優先で適用 */
div.wpforms-container-full .wpforms-form .wpforms-submit,
div.wpforms-container-full .wpforms-form button[type="submit"],
div.wpforms-container-full .wpforms-form input[type="submit"]{
  background-color: #32a4c6 !important; /* ← WPFormsで決めた色 */
  color: #ffffff !important;
  border-color: #ee1770 !important;
}
div.wpforms-container-full .wpforms-form .wpforms-submit:hover,
div.wpforms-container-full .wpforms-form button[type="submit"]:hover,
div.wpforms-container-full .wpforms-form input[type="submit"]:hover{
  background-color: #58cdc6 !important;  /* ← ホバー色 */
  border-color: #58cdc6 !important;
}


/* ===== スマホ時のヘッダー（header 版・確実に効く版） ===== */
@media (max-width: 767px){

  /* 外枠：上下だけ0、高さ固定 */
  .header-pt{
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    min-height: 70px !important;
  }

  /* 外枠直下のラッパ gap を殺す（Elementorの e-con-inner 対策） */
  .header-pt > .e-con-inner{
    gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important;
    --e-con-grid-gap: 0 !important;
  }

  /* 中身：間にラッパがあっても拾う（直下子に限定しない） */
  .header-pt .header{
    display: flex !important;
    align-items: center !important;
    min-height: 70px !important;
    padding-right: 90px !important;     /* ← これが効く */
    box-sizing: border-box !important;   /* パディング反映の保険 */
  }

  /* 中身のさらに内側ラッパの gap もゼロ（保険） */
  .header-pt .header > .e-con-inner{
    gap: 0 !important; row-gap: 0 !important; column-gap: 0 !important;
    --e-con-grid-gap: 0 !important;
  }

  /* ロゴ画像サイズ */
  .header-pt .header-logo img{
    height: 40px !important;
    max-height: 40px !important;
    width: auto !important;
    display: block !important;
  }

  /* ウィジェットの自動マージンを無効化（高さズレ防止） */
  .header-pt .header .elementor-widget{
    --kit-widget-spacing: 0px !important;
    margin: 0 !important;
  }
}


/* お知らせ一覧（info-list）で“抜粋だけ”非表示 */
.elementor-widget-posts.info-list .elementor-post__excerpt,
.elementor-widget-archive-posts.info-list .elementor-post__excerpt{
  display: none !important;
}


/* ========== サービスセクションの
背景文字========== */
body.elementor-page-68 .section-cd{
    position: relative;
}
body.elementor-page-68 .section-cd2{
    position: absolute;
    z-index: 1;
    bottom: 5%;
    right: 5%;
    rotate:0deg;
}/* End custom CSS */