/**
Theme Name: Azamikai
Text Domain: azamikai
Template: astra
*/


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

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


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

.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;
}


/*************************************************
/* 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: 2px 10px !important;
    font-size: 15px;
}

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

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

}

/* 法人概要 */

.tablepress-id-1 .column-1 {
    width: 8em; /* 全角約5-6文字分の幅に固定 */
    min-width: 6em;
    text-align: justify;
    text-justify: inter-character;
    text-align-last: justify; /* 1行しかなくても端まで広げる */
    padding-left: 5px;  /* 左右の余白を詰めるとより綺麗に見えます */
    padding-right: 5px;
}


@media (max-width: 767px) {
    /* 1列目の均等割り付けを解除して左寄せにする */
    .tablepress-id-1 .column-1 {
        text-align: left !important;
        text-justify: auto !important;
        text-align-last: auto !important;
        width: auto !important; /* スマホでは幅を自動調整に */
        min-width: 0 !important;
        padding: 8px 5px !important;
    }

    /* テーブル全体をスマホの幅に収める */
    .tablepress-id-1 {
        width: 100% !important;
        table-layout: auto !important; /* コンテンツに合わせて伸縮 */
    }

    /* 文字サイズをスマホ向けに少し小さく調整 */
    .tablepress-id-1 td {
        font-size: 14px !important;
    }
}


/*************************************************
/* Contact Form 7 PC２カラム
   Elementor干渉完全除去版 CF7 isolated form
*************************************************/

/* 最大幅（max-width）指定 */
.cf7-isolated-wrapper {
  max-width: 880px;
  margin: 0 auto;
}

/* Elementor が input に付ける margin/padding を完全無効化 */
.cf7-isolated-wrapper input,
.cf7-isolated-wrapper select,
.cf7-isolated-wrapper textarea {
  margin: 0 !important;
  padding: 10px 12px !important;
  line-height: 1.4 !important;

}

/* ラベルと入力欄の距離を強制的に詰める */
.cf7-isolated-wrapper label {
  margin-bottom: 2px !important;
  font-size: 18px !important;
  font-weight: 600;
}

/* 必須マークを大きく強調 */
.cf7-isolated-wrapper .cf7i-required {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #ff0000 !important;
  margin-left: 2px;
}

/* 入力欄の基本デザイン（Elementor/Astraの影響を排除） */
.cf7-isolated-wrapper input[type="text"],
.cf7-isolated-wrapper input[type="email"],
.cf7-isolated-wrapper input[type="tel"],
.cf7-isolated-wrapper select,
.cf7-isolated-wrapper textarea {
  all: unset;
  display: block;
  width: 100%;
  padding: 10px 12px !important;
  border: 1px solid #ccc !important;
  border-radius: 4px;
  font-size: 18px !important;
  background: #fff;
  box-sizing: border-box;
}

/* フォーカス */
.cf7-isolated-wrapper input:focus,
.cf7-isolated-wrapper select:focus,
.cf7-isolated-wrapper textarea:focus {
  border-color: #54b435 !important;
  box-shadow: 0 0 0 2px rgba(84, 180, 53, 0.25) !important;
}

/* 送信ボタン */
.cf7-isolated-wrapper .cf7i-submit input[type="submit"] {
  all: unset;
  background: #54b435;
  color: #fff;
  padding: 14px 40px !important;
  border-radius: 4px;
  font-size: 18px !important;
  cursor: pointer;
  display: inline-block;
  text-align: center;
}

.cf7-isolated-wrapper .cf7i-submit input[type="submit"]:hover {
  opacity: 0.85;
}

/* PC 2カラム */
.cf7-isolated-wrapper .cf7i-row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 14px;
}

.cf7-isolated-wrapper .cf7i-col {
  flex: 1 1 calc(50% - 16px);
  min-width: 260px;
}

.cf7-isolated-wrapper .cf7i-full {
  flex: 0 0 100%;
}

/* スマホ1カラム */
@media (max-width: 768px) {
  .cf7-isolated-wrapper .cf7i-col {
    flex: 0 0 100%;
  }
}


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

.elementor-widget-google_maps .elementor-custom-embed {
    width: 100%;
    box-shadow: none;
    border: none;
    padding: 5px !important;
    margin: 0;
    border: 1px solid #dedede !important;
    border-radius: 8px !important;
}


/*************************************************
/* ウィジェット店舗情報
*************************************************/

/* 全体：囲い枠のみのシンプル構成 */
.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-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: #379237;
  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: #379237;
  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;
}


/*************************************************
/* カスタム投稿タイプ
*************************************************/

.top-news-container {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin: 30px 0;
}

/* スマホは1列 */
@media (max-width: 600px) {
    .top-news-container {
        grid-template-columns: 1fr;
    }
}

.top-news-item {
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 16px;
    background: #fff;
    transition: box-shadow 0.3s ease;
}

.top-news-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.top-news-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

/* メタ情報（NEW・日付・ラベル） */
.top-news-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.top-news-meta .date {
    color: #666;
    font-size: 14px;
}

/* NEWマーク */
.new-mark {
    color: red;
    font-weight: bold;
}

/* ラベル共通 */
.post-label {
    display: inline-block;
    width: 80px;
    text-align: center;
    padding: 2px 0;
    border-radius: 4px;
    font-size: 11px;
    color: #fff;
    line-height: 1.4;
}

/* 各 CPT ラベル色 */
.post-label-azami {
    background-color: #e11d48; /* 赤系 */
}

.post-label-echo {
    background-color: #3b82f6; /* 青系 */
}

.post-label-infinite {
    background-color: #16a34a; /* 緑系 */
}

.post-label-ghome {
    background-color: #9333ea; /* 紫系 */
}

.top-news-title {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 8px;
}

.top-news-excerpt {
    font-size: 14px;
    color: #777;
    margin: 0;
}

/* ページネーション */
.news-pagination {
    margin-top: 20px;
    text-align: center;
}

/* =========================================================
   お知らせ一覧（2カラム・アイキャッチなし）
   ========================================================= */

.news-two-column-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
    margin: 40px 0;
}

@media (max-width: 768px) {
    .news-two-column-list {
        grid-template-columns: 1fr;
    }
}

.news-two-column-item {
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 16px;
    background: #fff;
    transition: box-shadow 0.3s ease;
}

.news-two-column-item:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.news-two-column-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

/* メタ情報 */
.news-two-column-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.news-two-column-meta .date {
    color: #666;
    font-size: 14px;
}

/* NEWマーク（既存と共通） */
.new-mark {
    color: red;
    font-weight: bold;
}

/* タイトル */
.news-two-column-title {
    font-size: 17px;
    font-weight: 600;
    margin: 0 0 8px;
}

/* 抜粋 */
.news-two-column-excerpt {
    font-size: 14px;
    color: #555;
    margin: 0;
    line-height: 1.6;
}


/* =========================================================
   ページネーション（角丸・枠線・カラー #379237）
   ========================================================= */

.news-pagination {
    margin-top: 30px;
    text-align: center;
}

.news-pagination a,
.news-pagination span {
    display: inline-block;
    padding: 6px 14px;
    margin: 0 4px;
    border: 1px solid #379237;
    border-radius: 6px;
    color: #379237;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.2s ease;
}

/* 現在のページ */
.news-pagination .current {
    background-color: #379237;
    color: #fff;
    border-color: #379237;
}

/* ホバー */
.news-pagination a:hover {
    background-color: #379237;
    color: #fff;
}


