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

/* aタグのアンダーバー削除 */
.ast-single-post .entry-content a, 
.ast-comment-content a:not(.ast-comment-edit-reply-wrap a) {
    text-decoration: none !important;
}
/*****************************************************************
透過ヘッダー設定
*****************************************************************/

/* トップページ以外の固定ページは通常ヘッダーに戻す */
body.page:not(.home) .site-header,
body.page:not(.home) .main-header-bar,
body.page:not(.home) .ast-primary-header-bar {
  position: relative;
  background: #ffffff !important;
  box-shadow: none;
}

/* トップページ以外の固定ページのメニュー文字色 */
body.page:not(.home) .main-header-menu .menu-link,
body.page:not(.home) .ast-builder-menu .main-navigation > ul > li > a {
  color: #333333;
}

/* AstraカスタムHTML内の余白対策 */
.ast-builder-html-element p {
  margin: 0;
}

/* お問い合わせボタン */
.header-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background-color: #f5a623;
  color: #ffffff !important;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  padding: 8px 10px;
  border-radius: 2px;
  text-decoration: none !important;
  white-space: nowrap;
  transition: opacity 0.3s ease;
}

/* テキスト */
.header-contact-btn__text {
  color: #ffffff;
  line-height: 1;
}

/* 封筒アイコン：線タイプ */
.header-contact-btn::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 12px;
  flex-shrink: 0;

  background-image: url("data:image/svg+xml,%3Csvg width='36' height='27' viewBox='0 0 36 27' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='1.5' y='1.5' width='33' height='24' rx='2.5' stroke='white' stroke-width='3'/%3E%3Cpath d='M3 4L18 16L33 4' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* ホバー */
.header-contact-btn:hover {
  opacity: 0.85;
  color: #ffffff !important;
}

/*****************************************************************
TOP
*****************************************************************/

/* ヘッダーの空白削除 */
.page .entry-header {
  margin-bottom: 0em !important;
}

.entry-header{
  margin-bottom: 0em !important;
}

/* 各スライドの中身 */
.uagb-block-6b792b66 .slider01,
.uagb-block-6b792b66 .slider02,
.uagb-block-6b792b66 .slider03 {
  position: relative;
}

/* キャッチコピー配置 */
.uagb-block-6b792b66 .mv-copy {
  position: absolute;
  left: 24%;
  bottom: 100px;
  z-index: 5;
}

/* キャッチコピー1行ごと */
.uagb-block-6b792b66 .mv-copy-line {
  display: table;
  margin: 0 0 8px;
  padding: 6px 14px;
  background: rgba(0, 56, 76, 0.9);
  color: #fff;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
}

/* 外側コンテナをブラウザ幅いっぱいに広げる */
.uagb-block-50bd9076 {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
}


/* お知らせ一覧 */
.custom-news-list {
  width: 100%;
}

/* 1行 */
.custom-news-item {
  display: grid;
  grid-template-columns: 90px 82px 1fr;
  align-items: center;
  gap: 30px;
  padding: 13px 16px;
  border-bottom: 1px solid #cfc7c0;
  color: #222;
  text-decoration: none;
  line-height: 1.6;
  transition: opacity 0.2s ease;
}

.custom-news-item:hover {
  opacity: 0.75;
}

/* 日付 */
.custom-news-date {
  font-size: 14px;
  font-weight: 700;
  color: #333;
  white-space: nowrap;
}

/* カテゴリー */
.custom-news-cat {
  display: inline-block;
  min-width: 110px;
  padding: 4px 8px;
  border-radius: 3px;
  background: #004866;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  white-space: nowrap;
}

/* タイトル */
.custom-news-title {
  font-weight: 600;
  color: #222;
  margin-left: 10px;
}

/* 2分割バナーを画面幅いっぱいに広げる */
.top-bnr-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr; 
  /* どんな親要素の幅制限も無視して、画面の左右いっぱいにピタッと広げる魔法の4行 */
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw); 
  padding: 0;
  gap: 0; 
  /* 位置の干渉を防ぐためリセット */
  position: relative;
  left: 0;
  transform: none;
}

/* 各バナー */
.top-bnr-item {
  position: relative;
  display: block;
  width: 100%;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
}

/* 画像 */
.top-bnr-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.4s ease;
}

/* 暗いフィルター */
.top-bnr-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
  z-index: 1;
  transition: background 0.3s ease;
}

/* 小さい白枠ボタン */
.top-bnr-label {
  position: absolute;
  left: 30px;
  bottom: 30px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 90px;
  height: 28px;
  padding: 0 14px;
  border: 1px solid #fff;
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.08em;
  line-height: 1;
}

/* 矢印 */
.top-bnr-label::after {
  content: "→";
  margin-left: 10px;
  font-size: 12px;
}

/* ホバー時 */
.top-bnr-item:hover img {
  transform: scale(1.05);
}

.top-bnr-item:hover::before {
  background: rgba(0, 0, 0, 0.2);
}

/* ABOUT US セクション */
.uagb-block-36fb0f22 {
  position: relative;
  overflow: hidden;
  padding-bottom: 120px; /* 英字ループ分の余白 */
}

/* 英字ループを配置する親要素 */
.uagb-block-36fb0f22 {
  position: relative;
  overflow: hidden;
  max-width: 100%;
}

/* 中のコンテンツを前面に */
.uagb-block-36fb0f22 > .uagb-container-inner-blocks-wrap {
  position: relative;
  z-index: 2;
}

/* 下部の英字ループ */
.uagb-block-36fb0f22::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 10px;
  width: 100%;
  height: 80px;
  background-image: url("https://busy-wing.202-230-234-22.plesk.page/wp-content/uploads/2026/06/loop-scaled.png");
  background-repeat: repeat-x;
  background-size: auto 64px;
  background-position: 0 center;
  z-index: 1;
  pointer-events: none;
  animation: waniguchi-loop-text 24s linear infinite;
}

/* 背景位置だけを動かす */
@keyframes waniguchi-loop-text {
  from {
    background-position: 0 center;
  }
  to {
    background-position: -1000px center;
  }
}


/*****************************************************************
サブページMV
*****************************************************************/

/* 外側の一番大きなコンテナ */
.sub-mv {
  width: 100% !important;
  margin: 16px auto 0 !important;
  padding: 0 !important;
}

/* 内側コンテナ（ロゴの左端ラインと連動する枠） */
.sub-mv > .uagb-container-inner-blocks-wrap {
  position: relative;
  width: min(96%, 1200px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

/* 画像ブロックの余白リセット */
.sub-mv figure,
.sub-mv .wp-block-image {
  margin: 0 !important;
  width: 100% !important;
}

/* 画像自体の高さ・トリミング設定 */
.sub-mv img {
  display: block;
  width: 100%;
  height: 240px;
  object-fit: cover;
  object-position: center;
}

/* ==========================================
   【重要】新しく追加された「文字をまとめる子コンテナ」
   ========================================== */
.sub-mv .uagb-block-1124f8b9 {
  position: absolute !important;
  left: 18px !important;   /* ロゴの左端に合わせた余白 */
  bottom: 16px !important; /* 画像の下端からの余白 */
  top: auto !important;
  right: auto !important;
  transform: none !important;
  
  /* プラグインの余計な装飾をリセットして縦並びにする */
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 3 !important;
}

/* 2つの見出しブロック共通のリセット */
.sub-mv .wp-block-uagb-advanced-heading {
  position: static !important; /* absoluteを解除して自然な縦並びにする */
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  text-align: left !important;
}

/* ==========================================
   1. 日本語サブタイトル（会社情報）
   ========================================== */
.sub-mv .wp-block-uagb-advanced-heading:not(.sub-mv-title) {
  margin-bottom: 6px !important; /* 下の英語の帯との間の隙間 */
}

.sub-mv .wp-block-uagb-advanced-heading:not(.sub-mv-title) .uagb-heading-text {
  display: flex !important;
  align-items: center !important;
  
  color: #333333 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.05em !important;
}

/* 文字の左側に「●」を自動配置 */
.sub-mv .wp-block-uagb-advanced-heading:not(.sub-mv-title) .uagb-heading-text::before {
  content: "●" !important;
  font-size: 8px !important;
  color: #004866 !important; /* 英語の帯と同じ紺色（黒がよければ #333333 に） */
  margin-right: 5px !important;
  line-height: 1 !important;
}

/* ==========================================
   2. 英語タイトル（COMPANY INFORMATION）
   ========================================== */
.sub-mv .sub-mv-title .uagb-heading-text {
  display: inline-block !important;
  background-color: #004866 !important; /* 紺色の背景帯 */
  color: #ffffff !important;
  
  padding: 7px 12px !important; /* 帯の内側の余白 */
  margin: 0 !important;
  
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
}

/* ==========================================
   サブページタイトルに装飾
   ========================================== */

/* 「メッセージ」全体の調整と左側の丸ドット */
.midasi .uagb-heading-text {
    font-weight: bold; /* 文字を太字にする */
    margin-bottom: 0px !important; /* 下のMESSAGEとの隙間をなくす */
    padding-left: 18px; /* 丸ドットと文字の間の余白 */
    position: relative; /* 丸ドットを配置する基準線 */
}

/* 左側の丸ドット（擬似要素）の作成 */
.midasi .uagb-heading-text::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%); /* 縦方向の中央揃え */
    width: 10px; /* 丸の横幅 */
    height: 10px; /* 丸の縦幅 */
    background-color: #b0bec5; /* 丸の色（添付2に近いグレー） */
    border-radius: 50%; /* 正方形を丸くする */
}

/* 下の「MESSAGE」との隙間をさらに詰める（Spectraの標準余白をリセット） */
.midasi {
    margin-bottom: -5px !important; 
}

/*****************************************************************
会社概要　
*****************************************************************/
/* OUTLINE */
/* テーブル全体の外枠や背景のリセット */
.wp-block-table table {
    width: 100%;
    border-collapse: collapse; /* 隣り合う枠線を重ねる */
    border: none !important;    /* テーブル自体の外枠を完全に消去 */
}

/* 各行の下側だけにドットの線を引く */
.wp-block-table tr {
    border-bottom: 1.5px dotted #cccccc !important; /* ドット（点線）の色と太さ */
}

/* セルのスタイル調整 */
.wp-block-table td {
    padding: 16px 10px !important;  /* 上下の余白（画像のようなゆったり感に） */
    vertical-align: top;            /* 複数行のときに上揃えにする */
    border: none !important;        /* セル自体の標準枠線を消去 */
    font-size: 15px;
    line-height: 1.6;
}

/* 左側のセル（項目名）の調整 */
.wp-block-table td:first-child {
    width: 35%;                /* 左側の幅（お好みで調整してください） */
    font-weight: bold;         /* 文字を太字に */
    position: relative;
    padding-left: 20px !important; /* 「・」のための余白 */
}

/* 左端の「・」を再現（不要ならこの下のブロックは削除してください） */
.wp-block-table td:first-child::before {
    content: "•";
    position: absolute;
    left: 5px;
    top: 16px; /* paddingのトプに合わせて調整 */
    color: #333333;
}

/*****************************************************************
完全に独立したカスタムフッター（横幅拡大・最適化版）
*****************************************************************/

/* フッター全体背景 */
.custom-site-footer {
  background-color: #b5c3c8;
  width: 100%;
}

/* 上段：会社情報＆マップ（コンテンツ幅をしっかり確保） */
.custom-footer-primary-container {
  max-width: 1200px; /* サイト全体のメイン幅と同期 */
  margin: 0 auto;
  padding: 30px 20px 20px; /* 上下の余白を少し広げてゆったりに */
  box-sizing: border-box;
}

/* 【ここを修正】2カラムの合計横幅を800pxに広げてバランスを最適化 */
.custom-footer-inner-wrap {
  max-width: 800px; 
  margin: 0 auto;
  display: flex;
  justify-content: space-between; /* 左右の両端にきれいに配置 */
  align-items: flex-start;
}

/* =====================================
   左側：会社情報（幅を広げてゆったり配置）
===================================== */
.footer-company-box {
  color: #003b5c;
  width: 320px; /* 170pxから320pxに拡大し、文字の窮屈感を解消 */
}

/* ロゴ */
.footer-logo img {
  max-width: 220px; /* ロゴ単体が大きくなりすぎないよう調整 */
  width: 100%;
  height: auto;
  display: block;
  margin-bottom: 8px;
}

/* 住所 */
.footer-address {
  margin: 0 0 10px;
  color: #111;
  font-size: 13px; /* 10pxから13pxへ、読みやすい大きさに変更 */
  font-weight: 700;
  line-height: 1.4;
}

/* 電話番号エリア */
.footer-phone {
  width: 100%;
  margin-bottom: 12px;
}

.footer-phone p {
  margin: 0 0 4px;
  line-height: 1.2;
}

.footer-free {
  display: flex;
  align-items: center;
  gap: 6px;
}

.footer-phone-icon {
  display: block;
  width: 22px;
  height: auto;
  flex-shrink: 0;
}

.footer-free a {
  color: #004b75;
  font-size: 24px; /* フリーダイヤルを魅力的に大きく（19px→24px） */
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}

/* または・FAX */
.footer-normal,
.footer-fax {
  padding-left: 28px;
  color: #004b75;
  font-size: 12px; /* 10pxから12pxへ拡大 */
  font-weight: 800;
}

/* お問い合わせボタン */
.footer-contact-wrap {
  margin: 12px 0 12px;
}

.footer-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 180px; /* ボタンも一回り大きく */
  box-sizing: border-box;
  padding: 8px 12px;
  background-color: #f5a400;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.footer-contact-btn:hover {
  color: #fff;
  opacity: 0.85;
}

.footer-mail-icon {
  display: block;
  width: 22px;
  height: auto;
  flex-shrink: 0;
}

/* プライバシーポリシー */
.footer-privacy {
  margin: 8px 0 0;
  line-height: 1.2;
}

.footer-privacy a {
  color: #111;
  font-size: 11px;
  text-decoration: none;
}

.footer-privacy a:hover {
  text-decoration: underline;
}

/* =====================================
   右側：Googleマップ（幅と高さを大幅に拡大）
===================================== */
.footer-map-box {
  width: 400px; /* 210pxから400pxへ、地図をしっかり見せる幅に拡大 */
  max-width: 100%;
  margin: 0;
}

.footer-map-box iframe {
  display: block;
  width: 100%;
  height: 220px; /* 高さも130pxから220pxに伸ばし、正方形に近い見栄えに */
  border-radius: 6px;
}

/* =====================================
   下段：SNS ＆ コピーライトエリア
===================================== */
.custom-footer-below-container {
  padding: 10px 20px 20px;
  text-align: center;
}

.sns-icons-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 0;
  margin: 0 0 10px;
  line-height: 1;
}

.sns-icon-item {
  display: inline-flex;
  width: 24px; /* アイコンを18pxから24pxへ大きくして押しやすく */
  height: 24px;
}

.sns-icon-item img {
  display: block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  object-fit: contain;
}

.sns-icon-item img:hover {
  opacity: 0.85;
  transform: translateY(-2px);
  transition: transform 0.2s ease;
}

/* コピーライト */
.custom-copyright {
  margin: 0;
  padding: 0;
  font-size: 10px; /* 8pxから10pxへ微調整 */
  line-height: 1.2;
  color: #111;
}
/*****************************************************************
お知らせページ
*****************************************************************/

/* 個別投稿ページ：カテゴリーラベル */
.single-post-category-label {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
}

.single-post-category-label__item {
  display: inline-block;
  padding: 5px 12px;
  background: #004866;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.3;
  border-radius: 3px;
  text-decoration: none;
}

.single-post-category-label__item:hover {
  color: #fff;
  opacity: 0.8;
}

/* =========================
   鰐口不動産 Contact Form 7
========================= */

.waniguchi-contact-form {
  max-width: 900px;
  margin: 0 auto;
  padding: 50px 60px;
  background: #fff;
  border-top: 5px solid #003f63;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.06);
  font-family: inherit;
}

.waniguchi-contact-form .form-lead {
  margin-bottom: 35px;
  padding: 22px 26px;
  background: #f4f8fa;
  border-left: 5px solid #003f63;
}

.waniguchi-contact-form .form-lead p {
  margin: 0;
  color: #333;
  line-height: 1.9;
  font-size: 15px;
}

.waniguchi-contact-form .form-row {
  margin-bottom: 26px;
}

.waniguchi-contact-form label {
  display: block;
  margin-bottom: 9px;
  color: #003f63;
  font-weight: 700;
  font-size: 15px;
}

.waniguchi-contact-form .required {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  background: #f5a400;
  color: #fff;
  font-size: 12px;
  line-height: 1.4;
  border-radius: 2px;
  vertical-align: middle;
}

.waniguchi-contact-form .form-control,
.waniguchi-contact-form input[type="text"],
.waniguchi-contact-form input[type="email"],
.waniguchi-contact-form input[type="tel"],
.waniguchi-contact-form select,
.waniguchi-contact-form textarea {
  width: 100%;
  padding: 14px 16px;
  border: 1px solid #d9e1e5;
  background: #fff;
  color: #333;
  font-size: 15px;
  border-radius: 0;
  box-sizing: border-box;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.waniguchi-contact-form textarea {
  min-height: 180px;
  resize: vertical;
}

.waniguchi-contact-form .form-control:focus,
.waniguchi-contact-form input:focus,
.waniguchi-contact-form select:focus,
.waniguchi-contact-form textarea:focus {
  outline: none;
  border-color: #003f63;
  box-shadow: 0 0 0 3px rgba(0, 63, 99, 0.12);
}

.waniguchi-contact-form input::placeholder,
.waniguchi-contact-form textarea::placeholder {
  color: #999;
}

.waniguchi-contact-form .radio-list .wpcf7-list-item {
  margin: 0 24px 8px 0;
}

.waniguchi-contact-form .wpcf7-list-item-label {
  color: #333;
  font-weight: 400;
}

.waniguchi-contact-form input[type="radio"],
.waniguchi-contact-form input[type="checkbox"] {
  margin-right: 6px;
}

.waniguchi-contact-form .form-privacy {
  margin: 34px 0 30px;
  padding: 20px;
  background: #f4f8fa;
  text-align: center;
  font-size: 14px;
}

.waniguchi-contact-form .form-submit {
  text-align: center;
}

.waniguchi-contact-form .submit-btn,
.waniguchi-contact-form input[type="submit"] {
  min-width: 240px;
  padding: 15px 40px;
  background: #f5a400;
  color: #fff;
  border: none;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.waniguchi-contact-form .submit-btn:hover,
.waniguchi-contact-form input[type="submit"]:hover {
  opacity: 0.85;
  transform: translateY(-2px);
}

/* Contact Form 7 メッセージ */
.waniguchi-contact-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #c0392b;
  font-size: 13px;
}

.waniguchi-contact-form .wpcf7-response-output {
  margin: 25px 0 0;
  padding: 14px 18px;
  border-radius: 0;
  font-size: 14px;
}

/* Contact Form 7 br対策   メール本文には影響しない */

.waniguchi-contact-form br {
  display: none;
}

/* 自動で入るpタグの余白が気になる場合 */
.waniguchi-contact-form p {
  margin: 0;
}


