/**
Theme Name: Kagayaki Gunma
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
*/


/*************************************************
/* ロゴサイズ スマホ（768px未満）
*************************************************/

@media (max-width: 767px) {
    header .custom-logo-link img {
        max-width: 250px; /* 好きなサイズに変更 */
        width: 250px;
    }
}

/*************************************************
/* tablepress（テーブルプレス）
*************************************************/

/* すべてのセルに枠線を付加する */
.tablepress thead th,
.tablepress tbody tr:first-child td,
.tablepress tbody td,
.tablepress tfoot th {
    border: 1px solid #ccc !important;
    margin: 0 !important;
    padding: 5px 10px !important;
    font-size: 15px;
}

.tablepress {
    margin-bottom: 1em !important;

}
.entry-content table, .comment-content table {
   margin: 0;

}

/*************************************************
/* Contact Form 7 お問合せフォーム
*************************************************/

/* Wrapper */
.cf7-custom-wrapper {
  width: 100%;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}

/* Placeholder の色変更（必須含む） */
.cf7-custom-wrapper ::placeholder {
  color: #bf783a; /* カラー指定 */
  opacity: 1; /* ブラウザで薄くなるのを防ぐ */
}

/* Input & Textarea */
.cf7-custom-wrapper input[type="text"],
.cf7-custom-wrapper input[type="email"],
.cf7-custom-wrapper input[type="tel"],
.cf7-custom-wrapper textarea {
  width: 100%;
  padding: 12px 14px;
  margin-bottom: 16px;
  border: 1px solid #ccc !important;
  border-radius: 4px;
  background: #fff;
  font-size: 16px;
  box-sizing: border-box;
}

/* フォーカス時の統一色 */
.cf7-custom-wrapper input[type="text"]:focus,
.cf7-custom-wrapper input[type="email"]:focus,
.cf7-custom-wrapper input[type="tel"]:focus,
.cf7-custom-wrapper input[type="url"]:focus,
.cf7-custom-wrapper input[type="number"]:focus,
.cf7-custom-wrapper input[type="search"]:focus,
.cf7-custom-wrapper input[type="password"]:focus,
.cf7-custom-wrapper textarea:focus {
  background-color: #fff7e6 !important; /* 統一背景色 */
  border-color: #0073aa !important;
  outline: none;
  box-shadow: 0 0 3px rgba(0,115,170,0.4);
}

/* Chrome のオートフィル背景色（#e8f0fe）を無効化 */
.cf7-custom-wrapper input:-webkit-autofill,
.cf7-custom-wrapper input:-webkit-autofill:hover,
.cf7-custom-wrapper input:-webkit-autofill:focus,
.cf7-custom-wrapper textarea:-webkit-autofill,
.cf7-custom-wrapper textarea:-webkit-autofill:hover,
.cf7-custom-wrapper textarea:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  background-color: #fff !important;
  color: #000 !important;
}

/* PCのみ2カラム */
@media (min-width: 767px) {
  .cf7-custom-wrapper .cf7-row {
    display: flex;
    gap: 20px;
  }
  .cf7-custom-wrapper .cf7-col {
    flex: 1;
  }
}

/* Textarea */
.cf7-custom-wrapper textarea {
  height: 160px;
}

/* Acceptance */
.cf7-custom-wrapper .cf7-accept {
  margin-bottom: 20px;
}

/* Submit Button */
.cf7-custom-wrapper input[type="submit"] {
  background: #dba750;
  color: #fff;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
  width: 100%;
  transition: background 0.3s ease;
}

.cf7-custom-wrapper input[type="submit"]:hover {
  background: #dbad60;
}


/*************************************************
/* TablePress id=6 & id=7：PC表示
*************************************************/

.tablepress-id-6,
.tablepress-id-7 {
  width: 100%;
  border-collapse: collapse;
}

.tablepress-id-6 th, .tablepress-id-6 td,
.tablepress-id-7 th, .tablepress-id-7 td {
  padding: 10px;
  border-bottom: 1px solid #e5e8eb;
}

.tablepress-id-6 tbody tr:nth-child(even),
.tablepress-id-7 tbody tr:nth-child(even) {
  background: #fafafa;
}

/* ================================
   スマホ時：縦並びカード型（左右余白ゼロ・中央寄せ）
================================ */
@media screen and (max-width: 767px) {

  /* 表全体の左右余白を完全にゼロに */
  .tablepress-id-6,
  .tablepress-id-7 {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* thead 非表示 */
  .tablepress-id-6 thead,
  .tablepress-id-7 thead {
    display: none;
  }

  /* カード型の行 */
  .tablepress-id-6 tbody tr,
  .tablepress-id-7 tbody tr {
    display: block;
    width: 100%;
    margin: 0 0 1.2em 0;
    padding: 10px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 6px;
    box-sizing: border-box;
  }

  /* td を100%幅にして右余白を完全に消す */
  .tablepress-id-6 tbody td,
  .tablepress-id-7 tbody td {
    display: block;
    width: 100%;
    text-align: center;
    padding: 6px 0;
    border: none;
    border-bottom: 1px solid #eee;
    box-sizing: border-box;
  }

  .tablepress-id-6 tbody td:last-child,
  .tablepress-id-7 tbody td:last-child {
    border-bottom: none;
  }

  /* ラベル（data-label）は上に表示して左寄せ */
  .tablepress-id-6 tbody td::before,
  .tablepress-id-7 tbody td::before {
    content: attr(data-label);
    display: block;
    text-align: left;
    font-weight: 600;
    color: #333;
    margin-bottom: 4px;
  }
}


/*************************************************
/* Contact Form 7 資料申し込みフォーム
*************************************************/

/* Wrapper */
.cf7-custom-wrapper {
  width: 100%;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}

/* Placeholder の色変更（必須含む） */
.cf7-custom-wrapper ::placeholder {
  color: #d9534f;
  opacity: 1;
}

/* Input & Textarea */
.cf7-custom-wrapper input[type="text"],
.cf7-custom-wrapper input[type="email"],
.cf7-custom-wrapper input[type="tel"],
.cf7-custom-wrapper input[type="date"],
.cf7-custom-wrapper textarea {
  width: 100%;
  padding: 12px 14px;
  margin-bottom: 16px;
  border: 1px solid #ccc !important;
  border-radius: 4px;
  background: #fff;
  font-size: 16px;
  box-sizing: border-box;
}

/* フォーカス時の統一色 */
.cf7-custom-wrapper input:focus,
.cf7-custom-wrapper textarea:focus {
  background-color: #fff7e6 !important;
  border-color: #0073aa !important;
  outline: none;
  box-shadow: 0 0 3px rgba(0,115,170,0.4);
}

/* Chrome オートフィル対策 */
.cf7-custom-wrapper input:-webkit-autofill,
.cf7-custom-wrapper input:-webkit-autofill:hover,
.cf7-custom-wrapper input:-webkit-autofill:focus {
  -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  background-color: #fff !important;
  color: #000 !important;
}

/* PCのみ2カラム */
@media (min-width: 767px) {
  .cf7-custom-wrapper .cf7-row {
    display: flex;
    gap: 20px;
  }
  .cf7-custom-wrapper .cf7-col {
    flex: 1;
  }
}

/* Textarea */
.cf7-custom-wrapper textarea {
  height: 160px;
}

/* Acceptance */
.cf7-custom-wrapper .cf7-accept {
  margin-bottom: 20px;
}

/* Submit Button */
.cf7-custom-wrapper input[type="submit"] {
  background: #dba750;
  color: #fff;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  cursor: pointer;
  width: 100%;
  transition: background 0.3s ease;
}

.cf7-custom-wrapper input[type="submit"]:hover {
  background: #b8860b;
}

/*************************************************
/* Contact Form 7 エントリーフォーム
*************************************************/

/* Wrapper */
.cf7-custom-wrapper {
  width: 100%;
  margin: 0 auto;
  padding: 20px;
  box-sizing: border-box;
}

/* エントリーフォーム専用：色指定をすべてデフォルトに戻す */
.entry-default ::placeholder {
  color: inherit !important;
  opacity: 1;
}

.entry-default input,
.entry-default textarea,
.entry-default select {
  background: inherit !important;
  border: 1px solid #ccc; /* Astra標準に合わせる */
  color: inherit !important;
  box-shadow: none !important;
}

/* フォーカス時もデフォルト */
.entry-default input:focus,
.entry-default textarea:focus,
.entry-default select:focus {
  background: inherit !important;
  border-color: #66afe9; /* Chrome標準の青枠 */
  box-shadow: none !important;
  outline: auto;
}

/* オートフィルもデフォルトに戻す */
.entry-default input:-webkit-autofill,
.entry-default input:-webkit-autofill:hover,
.entry-default input:-webkit-autofill:focus {
  -webkit-box-shadow: none !important;
  box-shadow: none !important;
  background-color: inherit !important;
  color: inherit !important;
}}


/* エントリーフォーム専用：placeholder をデフォルト色に戻す */
.entry-default ::placeholder {
  color: inherit !important;
  opacity: 1 !important;
}


/* エントリーフォーム専用：送信ボタンだけ色を付ける */
.entry-default input[type="submit"] {
  background: #dba750 !important; /* お好みの色に変更可 */
  color: #fff !important;
  border: none;
  padding: 12px 20px;
  border-radius: 4px;
  cursor: pointer;
  width: 100%;
}

.entry-default input[type="submit"]:hover {
  background: #b8860b !important;
}


/*************************************************
/* トップページ動画テキスト挿入
*************************************************/

.video-container {
  position: relative; /* 親要素を基準にする */
  width: 100%;
  max-width: 800px;
 }

.video-container video {
  width: 100%; /* 動画の幅をコンテナに合わせる */
  display: block;

}

.overlay-text {
  position: absolute; /* 動画の上に重ねる */
  top: 50%; /* 上から50%の位置 */
  left: 50%; /* 左から50%の位置 */
  transform: translate(-50%, -50%); /* 中央寄せ */
  z-index: 10; /* 動画より手前に表示 [7] */
}


/*************************************************
/* トップページお知らせ一覧表示
*************************************************/

/* リスト全体の枠 */
.news-list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
    border: 1px solid #d09a40;
    border-radius: 8px;
    overflow: hidden;
    background: #fffef3;
}

/* 記事一行のスタイル */
.news-list li {
    padding: 15px 20px;
    border-bottom: 1px solid #ddd;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    gap: 15px;
}

.news-list li:last-child {
    border-bottom: none;
}

/* メタ情報（日付とNEWマーク） */
.news-meta {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

/* カレンダーアイコン */
.news-list .dashicons {
    font-size: 1.2em;
    margin-right: 5px;
    color: #666;
    vertical-align: middle;
}

/* NEWマークのデザイン */
.new-mark {
    background: #ff0000;
    color: #fff;
    font-size: 0.7rem;
    font-weight: bold;
    padding: 2px 6px;
    border-radius: 4px;
    line-height: 1;
}

/* タイトル */
.news-title {
    text-decoration: none;
    color: #333;
    font-weight: 500;
    flex: 1;              /* ← タイトルが幅を確保して折り返せるように */
    word-break: break-word; /* ← 長い単語でも折り返し可能 */
}

.news-title:hover {
    text-decoration: underline;
    color: #0073aa;
}

/* スマホ対応 */
@media (max-width: 767px) {
    .news-list li {
        flex-direction: column; /* ← コロンを追加して正しい指定に修正 */
        align-items: flex-start;
        gap: 8px;
    }
}

/* 例: コンテナ全体のパディングをスマホのみ0にする
@media (max-width: 768px) {
    .wp-block-uagb-container {
        padding: 0 5% !important;
    }
}*/

/*************************************************
/* ウィジェットタイトルを統一
*************************************************/

.widget-title {
    font-size: 20px !important; /* 文字サイズを統一 */
    font-weight: bold !important; /* 太字にする */
    color:#696969 !important; /* 文字色を統一 */
   /* border-bottom: 2px solid #ddd; /* 下線を統一 */
    padding-bottom: 10px; /* 下の余白を統一 */
    margin-bottom: 15px; /* 下の余白を統一 */
   text-align: center;
}

/*************************************************
/* フッターウイジェットお問合せ
*************************************************/

/* 全体：囲い枠のみのシンプル構成 */
.company-info-widget {
  max-width: 100%;
  padding: 0 15px;
  /*border: 1px solid #e0e0e0;
  /*border-radius: 1px;
  /*background-color: #fff;*/
  font-family: sans-serif;
  color: #333;
}

.company-info-widget p {
  text-indent: 10px;
}

/* 会社名 */
.company-name {
  font-weight: bold;
  font-size: 1.15em;
  margin-bottom: 15px;
  color: #2e7d32;
}

/* グリッドレイアウト：ここが「崩れない」核心 */
.company-details {
  display: grid;
  /* 左列：中身の最大幅に自動合わせ / 右列：残りの幅全部 */
  grid-template-columns: max-content 1fr; 
  column-gap: 12px; /* ラベルと内容の間隔 */
  row-gap: 8px;    /* 行間（余白を少なく設定） */
  align-items: baseline; /* 文字の底辺で揃える */
}

/* ラベル：背景グリーン・文字白 */
.company-details .label {
  display: inline-block;
  background: #dca54a;
  color: #fff;
  padding: 1px 10px;
  border-radius: 3px;
  font-size: 14px;
  font-weight: bold;
  white-space: nowrap; /* ラベル内での意図しない改行を防止 */
  text-align: center;
}

/* 内容：住所などが長くなっても自動で折り返し */
.company-details .content {
  font-size: 18px;
  line-height: 1.5;
  word-break: break-all;
  text-align: left;
}

/* マップボタン */
.company-map-link {
  margin-top: 15px;
}

.company-map-link a {
  display: inline-block;
  padding: 6px 20px;
  background-color: #dca54a;
  color: #fff !important;
  text-decoration: none;
  font-size: 13px;
  font-weight: bold;
  border-radius: 3px;
  transition: opacity 0.2s;
}

.company-map-link a:hover {
  opacity: 0.8;
}

/* スマホ対応（フッターお問合せ） */
@media (max-width: 767px) {
.company-map-link a {
  display: inline-block;
  margin-top: 5px; /* 上の余白 */
  margin-bottom: 0; /* 下の余白 */
  padding: 6px 20px; /* 上下の内部余白 */
  display: block; /* 幅を広げる */
 }
}


/*************************************************
/* Google map 枠
*************************************************/

.uagb-google-map__wrap .uagb-google-map__iframe {
    width: 100%;
    box-shadow: none;
    border: none;
    padding: 5px !important;
    margin: 0;
    border: 1px solid #dedede !important;
    border-radius: 8px !important;
}


/* 個別投稿ページ CSS ここから ////////////////////////////////////////////////////// */

/*************************************************
/* 個別投稿ページ 枠
*************************************************/

.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single:not(.ast-related-post) {
    /*background-color: #fff;*/
    border-radius: 8px;
}

/*************************************************
/* 個別投稿ページ日付のみ表示に変更
*************************************************/

/* 1. 一旦、entry-meta内のテキストと要素をすべて透明（非表示）にする */
.entry-meta {
    font-size: 0 !important;
    visibility: hidden !important;
}

/* 2. 投稿日（published）だけを特定して、サイズを戻し再表示させる */
.entry-meta .published {
    font-size: 18px !important; /* 元の文字サイズに合わせて調整してください */
    visibility: visible !important;
    display: inline-block !important;
}

/* 3. 日付の前後にある余計な余白や「/」を完全に排除する */
.entry-meta .ast-sep, 
.entry-meta .posted-by {
    display: none !important;
}

/*************************************************
/* 個別投稿ページカレンダーアイコン
*************************************************/
/* 日付（published）の前にアイコンを挿入 */
/* 絵文字を使ったシンプルなアイコン */
.entry-meta .published::before {
    content: ""; /* 空にする */
    display: inline-block;
    background-image: url(images/calendar_icon.png);
    background-size: contain; /* 枠内に画像を収める */
    background-repeat: no-repeat;
    /*vertical-align: middle; /* テキストとの高さを合わせる */
    
    /* ここでサイズを自由に調整 */
    width: 1.0rem; 
    height: 1.0rem;
    margin-right: 0.1rem; /* アイコンと文字の間隔 */
}

/* 個別投稿ページ CSS ここまで ////////////////////////////////////////////////////// */



/* ウィジェット専用カスタムテーブル（角丸・ボーダー太さ統一版） */
.custom-widget-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    /* 外枠のボーダー：しっかり濃く太めに設定 */
    border: 1px solid #b3853a; 
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 1em;
    font-size: 16px;
}

/* 全セルの共通設定 */
.custom-widget-table th,
.custom-widget-table td {
    padding: 8px 10px;
    text-align: left;
    /* 内側の線：右と下にだけ引くことで重複を防ぐ */
    border-bottom: 1px solid #b3853a;
    border-right: 1px solid #b3853a;
}

/* 最後の列の右線を消して外枠と重ならないようにする */
.custom-widget-table th:last-child,
.custom-widget-table td:last-child {
    border-right: none;
}

/* 最後の行の下線を消して外枠と重ならないようにする */
.custom-widget-table tr:last-child th,
.custom-widget-table tr:last-child td {
    border-bottom: none;
}

.custom-widget-table th {
    background-color: #f5dca4; /* ご指定の背景色 */
    color: #444;
    width: 35%;
    font-weight: bold;
}

.custom-widget-table td {
    background-color: #fff;
}

/* スマホ表示（縦並び） */
@media screen and (max-width: 767px) {
    .custom-widget-table,
    .custom-widget-table tbody,
    .custom-widget-table tr,
    .custom-widget-table th,
    .custom-widget-table td {
        display: block;
        width: 100%;
    }
    
    .custom-widget-table th,
    .custom-widget-table td {
        border-right: none; /* スマホ時は右線をすべて消す */
    }

    .custom-widget-table tr {
        border-bottom: 1px solid #b3853a;
    }

    .custom-widget-table tr:last-child {
        border-bottom: none;
    }
}


/* フッターメニュー 横並び設定 ************************/

.astra-footer-horizontal-menu ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important; /* 中央揃え（左寄せなら flex-start） */
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.astra-footer-horizontal-menu li {
    display: inline-block !important;
    margin: 0 1px !important; /* 項目間の左右余白 */
}

.astra-footer-horizontal-menu li a {
    text-decoration: none !important;
}

/*「ライン（縦棒）」で区切る *************************/

@media (min-width: 922px) {
    .astra-footer-horizontal-menu li {
        border-left: 1px solid #ccc; /* 線の色と太さ */
        padding-left: 1px;
        margin-left: 1px !important;
        line-height: 1;
    }

    /* 最初の項目の線だけ消す */
    .astra-footer-horizontal-menu li:first-child {
        border-left: none;
        margin-left: 0 !important;
        padding-left: 0;
    }
}

/* スマホ対応 ***************************************/

@media (max-width: 921px) {
    .astra-footer-horizontal-menu ul {
        flex-direction: row !important;
    }
}