/*
Theme Name: 宅建協会豊田支部
Theme URI: https://www.toyota-takken.com/
Description: 公益社団法人 愛知県宅地建物取引業協会 豊田支部の公式サイト用テーマ。Lightning を土台に、本部サイトに準じた配色・レイアウトを組み込んだ独自テーマです。
Author: 公益社団法人愛知県宅地建物取引業協会 豊田支部
Author URI: https://www.toyota-takken.com/
Template: lightning
Version: 1.0.2
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: toyota-takken
*/

/* ==========================================================
   愛知県宅建協会 豊田支部 共通デザイン（本部サイト準拠）
   色: メイン緑 #388c3c / 濃緑 #2b6e2f / 薄緑 #e9f4e9
       アクセント ピンク #dd2357 / マーカー黄 #fbd100
   ========================================================== */
:root{--tt-green:#388c3c;--tt-green-dark:#2b6e2f;--tt-green-light:#e9f4e9;--tt-pink:#dd2357;--tt-yellow:#fbd100;--tt-text:#222;}
body{color:var(--tt-text);}

/* ---------- ヘッダー ---------- */
.siteHeader{background:#fff;box-shadow:none;border-bottom:1px solid #e5e5e5;}
.headerTop{position:relative;}
.headerTop::before{content:"";position:absolute;top:0;right:0;bottom:0;width:58%;pointer-events:none;
  background:linear-gradient(105deg, transparent 0 8%, #3aa142 8.2%, #1f8a3a 100%);
  border-bottom-left-radius:60px;}
.headerTop > .container{position:relative;z-index:1;}
.headerTop .headerTop_contactBtn,.headerTop .headerTop_tel,.headerTop .headerTop_tel a,.headerTop [class*="tel"]{color:#fff!important;}
.headerTop{background:transparent!important;border-bottom:none!important;}
.headerTop .headerTop_description{color:#555;font-size:12px;}
.headerTop .menu > li.hdBtn > a{display:inline-block;padding:6px 14px;border-radius:4px;color:#fff!important;font-weight:700;font-size:13px;line-height:1.3;text-decoration:none;}
.headerTop .menu > li.hdBtn-blue > a{background:#1aa7e8;}
.headerTop .menu > li.hdBtn-pink > a{background:#e8506b;}
.headerTop .menu > li.hdBtn-teal > a{background:#178f86;}
.headerTop .menu > li.hdBtn > a:hover{opacity:.85;}
.headerTop .menu > li.hdBtn{margin-left:6px;}
.headerTop .menu > li.hdBtn::before{display:none;}
.headerTop_contactBtn .btn{background:var(--tt-green)!important;border-color:var(--tt-green)!important;border-radius:4px;}

/* グローバルメニュー：白地＋緑の下線 */
.gMenu_outer{background:#fff;}
.gMenu > li > a .gMenu_name{font-weight:500;}
.gMenu > li.current-menu-item > a,.gMenu > li.current-menu-ancestor > a,.gMenu > li > a:hover{color:var(--tt-green)!important;}
.gMenu > li::before{background-color:var(--tt-green)!important;height:4px!important;}

/* ---------- ページヘッダー・パンくず ---------- */
.page-header{position:relative;background-color:var(--tt-green-dark);}
.page-header::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg, rgba(43,110,47,.88) 0%, rgba(56,140,60,.65) 50%, rgba(56,140,60,.15) 100%);}
.page-header > .container{position:relative;z-index:1;}
.page-header_pageTitle{font-weight:700;letter-spacing:.06em;text-shadow:0 2px 6px rgba(0,0,0,.35);}
.breadSection{background:#fff;border-bottom:1px solid #eee;}

/* ---------- 本文の見出し・装飾 ---------- */
.entry-body h2,.mainSection h2{font-weight:700;}
.entry-body h3{color:var(--tt-green);font-weight:700;}
.entry-body h4{font-weight:700;border-bottom:1px dashed #b9d8ba;padding-bottom:.3em;}
.tt-marker,.entry-body mark{background:linear-gradient(transparent 60%, rgba(251,209,0,.55) 60%);}
.entry-body a:not(.btn):not(.vk_button_link){color:#1d6fb8;}
.entry-body table th{background:var(--tt-green-light);}

/* ---------- ボタン ---------- */
.btn-primary,.vk_button_link.btn-primary{background-color:var(--tt-green)!important;border-color:var(--tt-green)!important;}
.btn-primary:hover{background-color:var(--tt-green-dark)!important;}
.subSection .veu_button .btn{border-radius:6px;}

/* ---------- フッター ---------- */
.siteFooter{background:#fff!important;border-top:4px solid var(--tt-green);position:relative;}
.siteFooter .footerMenu{background:#fff;border-bottom:1px solid #e8e8e8;}
.siteFooter .footerMenu .menu a{color:#555;font-size:13px;}
.siteFooter .footerMenu .menu a:hover{color:var(--tt-green);}
.siteFooter .copySection{
  background:
    radial-gradient(160% 70px at 30% 0, #fff 98%, transparent 100%) top/100% 70px no-repeat,
    linear-gradient(90deg,#2fa046 0%,#1f8a3a 55%,#c9405c 85%,#e8506b 100%);
  color:#fff;padding:78px 0 18px;margin-top:20px;
}
.siteFooter .copySection p,.siteFooter .copySection a{color:#fff!important;text-shadow:0 1px 3px rgba(0,0,0,.35);}
.siteFooter .widget .subSection-title,.siteFooter .widget-title{color:var(--tt-green);}
.tt-footer-map iframe{width:100%;height:260px;border:0;border-radius:6px;}
.page_top_btn{background-color:var(--tt-green)!important;}

/* ==========================================================
   トップページ
   ========================================================== */
.home .mainSection > .widget{margin-bottom:48px;}
.tt-section-title{font-size:1.5rem;font-weight:700;color:var(--tt-green);margin:0 0 18px;display:flex;align-items:center;gap:.5em;}
.tt-section-title i{font-size:1.2em;}

/* クイックリンク（本部トップのタイル風） */
.tt-quick{display:grid;grid-template-columns:3fr 1fr;gap:12px;}
.tt-quick__head{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px;}
.tt-quick__head a{display:flex;align-items:center;justify-content:center;gap:.5em;padding:14px 10px;color:#fff!important;font-weight:700;font-size:1.15rem;text-decoration:none!important;}
.tt-quick__head a.is-pink{background:#e8506b;}
.tt-quick__head a.is-green{background:#4caf50;}
.tt-quick__tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
.tt-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:150px;padding:16px 10px;color:#fff!important;text-decoration:none!important;font-weight:700;font-size:1.1rem;text-align:center;line-height:1.35;overflow:hidden;transition:transform .15s, box-shadow .15s;}
.tt-tile i{font-size:2.2rem;margin-bottom:10px;}
.tt-tile small{display:block;font-weight:400;font-size:.78rem;margin-top:6px;opacity:.95;}
.tt-tile:hover{transform:translateY(-2px);box-shadow:0 6px 14px rgba(0,0,0,.18);}
.tt-tile.c1{background:#f39800;} .tt-tile.c2{background:#00a0c6;} .tt-tile.c3{background:#8a5fc8;}
.tt-tile.c4{background:#4caf50;} .tt-tile.c5{background:#e8506b;} .tt-tile.c6{background:#5b7fd6;}
.tt-search{border:2px solid #4c9fd8;background:#fff;padding:12px;text-align:center;}
.tt-search__title{color:#1d6fb8;font-weight:700;font-size:1.1rem;line-height:1.4;margin:4px 0 10px;}
.tt-search__title i{display:block;font-size:2rem;margin-bottom:4px;}
.tt-search a{display:block;margin-bottom:10px;}
.tt-search img{width:100%;height:auto;border:1px solid #ddd;}

/* お知らせ2列（薄緑の帯） */
@media (min-width:992px){
  .home .mainSection{display:grid;grid-template-columns:1fr 1fr;column-gap:24px;}
  .home .mainSection > *{grid-column:1 / -1;}
  .home .mainSection > .widget_vkexunit_post_list{grid-column:auto;}
}
.home .mainSection > .widget_vkexunit_post_list{background:var(--tt-green-light);padding:20px 20px 12px;border-top:4px solid var(--tt-green);}
.home .mainSection > .widget_vkexunit_post_list .subSection-title,
.home .mainSection > .widget_vkexunit_post_list .mainSection-title,
.home .mainSection > .widget_vkexunit_post_list h2{color:var(--tt-green);border:none!important;background:none!important;padding:0 0 8px!important;margin-bottom:8px!important;font-size:1.3rem;}
.home .mainSection > .widget_vkexunit_post_list h2::before,
.home .mainSection > .widget_vkexunit_post_list h2::after{display:none!important;}
.home .widget_vkexunit_post_list .media,.home .widget_vkexunit_post_list li{background:#fff;padding:10px 12px;margin-bottom:6px;border-radius:4px;}

/* 支部概要 */
.tt-about{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:start;}
.tt-about table{width:100%;}
.tt-about th{width:7em;white-space:nowrap;background:var(--tt-green-light);}
.tt-about iframe{width:100%;height:320px;border:0;border-radius:6px;}
.tt-lead{font-size:1.05rem;line-height:1.9;}

/* 関連リンク（バナー一覧） */
.tt-banners{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;}
.tt-banners a{display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ddd;padding:6px;min-height:72px;transition:box-shadow .15s;}
.tt-banners a:hover{box-shadow:0 3px 10px rgba(0,0,0,.12);}
.tt-banners img{max-width:100%;height:auto;}

/* ---------- スマホ ---------- */
@media (max-width:991px){
  .siteHeader{background:#fff;}
  .tt-quick{grid-template-columns:1fr;}
  .tt-about{grid-template-columns:1fr;}
  .tt-banners{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:575px){
  .tt-quick__tiles{grid-template-columns:repeat(2,1fr);}
  .tt-tile{min-height:120px;font-size:1rem;}
  .tt-quick__head a{font-size:1rem;}
  .tt-banners{grid-template-columns:repeat(2,1fr);}
}

/* ---------- 調整 ---------- */
.tt-quick__main{display:flex;flex-direction:column;}
.tt-quick__tiles{flex:1;grid-auto-rows:1fr;}
.tt-banners img{max-height:110px;width:auto;}
.home .subSection{display:none;}
.home #pudge-15 h2,.home #pudge-15 .widget-title{color:var(--tt-green);}
.siteFooter .footerWidget .widget-title,.siteFooter .footerWidget h3,.siteFooter .footerWidget .subSection-title{color:var(--tt-green);font-weight:700;}


/* ---------- 固定ページ（1カラム）・本文のバランス ---------- */
.entry-body p:empty{display:none;}
.page:not(.home) .mainSection{max-width:1040px;margin-left:auto;margin-right:auto;float:none;}
.page:not(.home) .entry-body > *{margin-left:auto;margin-right:auto;}
.page:not(.home) .entry-body img{max-width:100%;height:auto;}
/* 本文下に移動したサイドバーのボタン類を横並びに */
.page:not(.home) .subSection{max-width:1040px;margin:40px auto 0;float:none;padding-top:28px;border-top:1px solid #e5e5e5;}
@media (min-width:768px){
  .page:not(.home) .subSection{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-items:stretch;}
  .page:not(.home) .subSection > .widget{margin:0!important;width:auto!important;display:flex;flex-direction:column;justify-content:center;}
  .page:not(.home) .subSection > .widget > *{height:100%;}
  .page:not(.home) .subSection .veu_button,.page:not(.home) .subSection .veu_button .btn,.page:not(.home) .subSection .veu_contact,.page:not(.home) .subSection .veu_contact a{height:100%;display:flex;flex-direction:column;justify-content:center;margin:0;}
  .page:not(.home) .subSection .widget_vkexunit_banner{grid-row:span 2;align-items:center;}
  .page:not(.home) .subSection .widget_vkexunit_banner img{max-height:190px;width:auto;margin:0 auto;display:block;}
  .page:not(.home) .subSection .widget_search{grid-column:1 / -1;}
}

/* 子ページ一覧は本文下の先頭に横並びで */
@media (min-width:768px){
  .page:not(.home) .subSection{grid-auto-rows:minmax(72px,auto);}
  .page:not(.home) .subSection .widget_child_page{grid-column:1 / -1;order:-1;display:block;}
  .page:not(.home) .subSection .widget_child_page ul{display:flex;flex-wrap:wrap;gap:6px;border:none;}
  .page:not(.home) .subSection .widget_child_page li{border:none!important;margin:0;}
  .page:not(.home) .subSection .widget_child_page li a{display:inline-block;padding:6px 14px!important;border:1px solid #cfe3cf;border-radius:20px;background:#f3f9f3;font-size:13px;}
  .page:not(.home) .subSection .widget_child_page li a:hover,.page:not(.home) .subSection .widget_child_page li.current_page_item > a{background:var(--tt-green);color:#fff!important;border-color:var(--tt-green);}
  .page:not(.home) .subSection .widget_child_page ul ul,.page:not(.home) .subSection .widget_child_page li:has(> ul){display:contents;}
  .page:not(.home) .subSection .widget_child_page ul ul li a{background:#fff;}
}

/* 子ページ一覧ブロックをカード型に */
.entry-body .wp-block-page-list{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;list-style:none;padding:0;margin:0 0 2.5em;}
.entry-body .wp-block-page-list li{margin:0;}
.entry-body .wp-block-page-list li::before{display:none;}
.entry-body .wp-block-page-list a{display:flex;align-items:center;justify-content:center;min-height:64px;padding:10px;border:1px solid #cfe3cf;border-top:4px solid var(--tt-green);background:#fff;border-radius:6px;font-weight:700;color:var(--tt-green-dark)!important;text-align:center;text-decoration:none!important;transition:background .15s, box-shadow .15s;}
.entry-body .wp-block-page-list a:hover{background:var(--tt-green-light);box-shadow:0 3px 10px rgba(0,0,0,.08);}
@media (max-width:767px){.entry-body .wp-block-page-list{grid-template-columns:repeat(2,1fr);}}

/* ==========================================================
   お問い合わせ（ページ・フォーム）
   ========================================================== */
.tt-contact{max-width:880px;margin:0 auto;}
.tt-contact__lead{font-size:1.02rem;line-height:1.9;margin-bottom:24px;}
.tt-contact__tel{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid #cfe3cf;border-radius:8px;overflow:hidden;margin-bottom:28px;background:#fff;}
.tt-contact__tel > div{padding:18px 22px;}
.tt-contact__tel > div:first-child{background:var(--tt-green-light);border-right:1px solid #cfe3cf;}
.tt-contact__tel .ttl{font-size:.9rem;font-weight:700;color:var(--tt-green-dark);margin:0 0 6px;}
.tt-contact__tel .num{font-size:1.9rem;font-weight:700;line-height:1.2;color:var(--tt-green)!important;text-decoration:none!important;letter-spacing:.03em;}
.tt-contact__tel .num i{font-size:.8em;margin-right:6px;}
.tt-contact__tel p{margin:0;font-size:.9rem;line-height:1.7;}
.tt-contact__note{font-size:.85rem;color:#555;background:#f7f7f7;border-radius:6px;padding:12px 16px;margin-bottom:28px;}
.tt-form{border-top:3px solid var(--tt-green);background:#fff;}
.tt-form p{margin:0!important;}
.tt-form__label > p{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;}
.tt-form__field{display:flex;flex-direction:column;justify-content:center;}
.tt-form__submit > p,.tt-form__agree > p{display:block;}
.tt-form__row{display:grid;grid-template-columns:230px 1fr;border-bottom:1px solid #e3e8e3;}
.tt-form__label{background:var(--tt-green-light);padding:18px 18px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:8px;}
.tt-form__field{padding:14px 18px;}
.tt-req,.tt-opt{display:inline-block;font-size:11px;font-weight:700;line-height:1;padding:5px 8px;border-radius:3px;white-space:nowrap;}
.tt-req{background:var(--tt-pink);color:#fff;}
.tt-opt{background:#9aa59a;color:#fff;}
.tt-form input[type=text],.tt-form input[type=email],.tt-form input[type=tel],.tt-form textarea{
  width:100%;padding:11px 14px;border:1px solid #c9d3c9;border-radius:6px;background:#fbfcfb;font-size:16px;transition:border-color .15s, box-shadow .15s;}
.tt-form input:focus,.tt-form textarea:focus{outline:none;border-color:var(--tt-green);box-shadow:0 0 0 3px rgba(56,140,60,.15);background:#fff;}
.tt-form textarea{min-height:200px;resize:vertical;}
.tt-form .wpcf7-form-control-wrap{display:block;}
.tt-form .wpcf7-not-valid-tip{font-size:.85rem;margin-top:4px;}
.tt-form__agree{text-align:center;padding:24px 16px 6px;}
.tt-form__agree .wpcf7-list-item{margin:0;}
.tt-form__agree label{font-weight:700;cursor:pointer;}
.tt-form__agree input[type=checkbox]{width:18px;height:18px;vertical-align:-3px;margin-right:6px;accent-color:var(--tt-green);}
.tt-form__ts{display:flex;justify-content:center;padding:10px 0;}
.tt-form__submit{text-align:center;padding:6px 0 28px;}
.tt-form__submit .wpcf7-submit{min-width:300px;padding:16px 40px;border:none;border-radius:40px;background:var(--tt-green);color:#fff;font-size:1.1rem;font-weight:700;letter-spacing:.05em;cursor:pointer;box-shadow:0 4px 0 var(--tt-green-dark);transition:transform .1s, box-shadow .1s, opacity .15s;}
.tt-form__submit .wpcf7-submit:hover{opacity:.92;}
.tt-form__submit .wpcf7-submit:active{transform:translateY(3px);box-shadow:0 1px 0 var(--tt-green-dark);}
.tt-form__submit .wpcf7-submit:disabled{background:#9db89e;box-shadow:none;cursor:not-allowed;}
.tt-form__submit .wpcf7-spinner{display:block;margin:8px auto 0;}
.tt-form ~ .wpcf7-response-output,.wpcf7 form .wpcf7-response-output{max-width:880px;margin:16px auto 0!important;border-radius:6px;}
@media (max-width:767px){
  .tt-contact__tel{grid-template-columns:1fr;}
  .tt-contact__tel > div:first-child{border-right:none;border-bottom:1px solid #cfe3cf;}
  .tt-form__row{grid-template-columns:1fr;}
  .tt-form__label{padding:10px 14px;justify-content:flex-start;}
  .tt-form__field{padding:10px 14px 16px;}
  .tt-form__submit .wpcf7-submit{min-width:0;width:100%;}
}

/* 出欠フォーム：選択肢ボタン・注記 */
.tt-form__note{font-size:.85rem;color:#666;margin:0 0 8px!important;}
.tt-form .wpcf7-radio,.tt-form .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px;}
.tt-form .wpcf7-radio .wpcf7-list-item,.tt-form .wpcf7-checkbox .wpcf7-list-item{margin:0;}
.tt-form .wpcf7-radio label,.tt-form .wpcf7-checkbox label{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #c9d3c9;border-radius:30px;background:#fbfcfb;cursor:pointer;font-weight:500;line-height:1.4;transition:all .15s;}
.tt-form .wpcf7-radio label:hover,.tt-form .wpcf7-checkbox label:hover{border-color:var(--tt-green);}
.tt-form .wpcf7-radio input,.tt-form .wpcf7-checkbox input{accent-color:var(--tt-green);width:17px;height:17px;margin:0;}
.tt-form .wpcf7-radio label:has(input:checked),.tt-form .wpcf7-checkbox label:has(input:checked){background:var(--tt-green);border-color:var(--tt-green);color:#fff;font-weight:700;}
.tt-form__agree .tt-form__note{text-align:center;}
@media (max-width:767px){.tt-form .wpcf7-radio label{width:100%;}.tt-form .wpcf7-radio .wpcf7-list-item{width:100%;}}


/* ---------- ヘッダー上部の帯（独自テーマ） ---------- */
.headerTop{font-size:12px;line-height:1.4;}
.headerTop > .container{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding-top:6px;padding-bottom:6px;flex-wrap:wrap;}
.headerTop_description{margin:0 auto 0 0!important;color:#555;font-size:12px;}
.headerTop_nav .menu{display:flex;gap:6px;list-style:none;margin:0;padding:0;}
.headerTop_nav .menu > li{margin:0;padding:0;}
.headerTop_nav .menu > li > a{display:inline-block;padding:6px 14px;border-radius:4px;color:#fff!important;font-weight:700;font-size:13px;line-height:1.3;text-decoration:none!important;background:#1aa7e8;}
.headerTop_nav .menu > li.hdBtn-pink > a{background:#e8506b;}
.headerTop_nav .menu > li.hdBtn-teal > a{background:#178f86;}
.headerTop_nav .menu > li > a:hover{opacity:.85;}
.headerTop_tel{margin:0!important;}
.headerTop_tel a{color:#fff!important;text-decoration:none!important;font-weight:700;}
.headerTop_contactBtn .btn{font-size:13px;padding:6px 14px;line-height:1.3;color:#fff!important;}
@media (max-width:991.98px){.headerTop{display:none;}}


/* ==========================================================
   独自テーマ追加機能（旧Lightning Pro機能の置き換え）
   ========================================================== */
/* 書体 */
body,.gMenu_name,.navbar-brand,h1,h2,h3,h4,h5,h6,button,input,select,textarea{font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;}

/* ページ見出し（背景写真＋緑のグラデーション） */
.page-header{background-image:url(/wp-content/uploads/2020/08/page-header02.jpg);background-size:cover;background-position:center;padding:3em 0;}
.page-header_pageTitle,.page-header .page-header_pageTitle{color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.45);}

/* 見出しデザイン */
.entry-body h2{border-bottom:1px solid #e5e5e5;border-left:6px solid var(--tt-green);padding:.4em .6em;margin-top:2em;}
.entry-body h3{border-left:4px solid var(--tt-green);padding:.1em .6em;}

/* スマホ下部の固定メニュー */
.tt-mobile-fix-nav{display:none;}
@media (max-width:991.98px){
  .tt-mobile-fix-nav{display:block;position:fixed;left:0;right:0;bottom:0;z-index:1000;background:#fff;border-top:1px solid #e3e8e3;box-shadow:0 -2px 8px rgba(0,0,0,.08);}
  .tt-mobile-fix-nav ul{display:flex;margin:0;padding:0;list-style:none;}
  .tt-mobile-fix-nav li{flex:1;margin:0;}
  .tt-mobile-fix-nav a,.tt-mobile-fix-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;height:58px;border:0;background:none;color:var(--tt-green)!important;font-size:10px;font-weight:700;text-decoration:none!important;padding:0;cursor:pointer;}
  .tt-mobile-fix-nav i{font-size:20px;}
  body{padding-bottom:58px;}
  .page_top_btn{bottom:70px!important;}
}
