@charset "UTF-8";
/* =========================================================
   Senteiya / style.css  —  PC:1200px / SP:800px
   - コンテナ幅は var(--container-pc)（common.cssで1200px）
   - PC：横並びナビ / SP：ドロワー
   - フッター文字色は白で固定
   ========================================================= */

/* ===== Reset / Base ===== */
*,::before,::after{ padding:0; margin:0; box-sizing:border-box; }
ul,ol{ list-style:none; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; height:auto; display:block; }

html,body{
  font-family:sans-serif;
  font-size:1rem;
  color:#000;
  line-height:1.5;
  background:#fff;
  overflow-x:hidden; /* SP右に色が出る現象の保険 */
}

/* =========================================================
   Header
   ========================================================= */
.header{ background:#fff; }
.header-inner{
  max-width:var(--container-pc);
  margin-inline:auto;
  padding-inline:var(--gutter-pc);
  height:var(--header-h-pc);
  display:flex;
  justify-content:space-between;
  align-items:center;
  text-align:left;
}
/* Logo */
.header-logo{ display:block; line-height:0; }
.header-logo img,
.header-logo .custom-logo,
.custom-logo{ max-height:56px; height:auto; width:auto; display:block; }

/* Global Nav（PC） */
.header .site-menu>ul.menu{ display:flex; align-items:center; gap:24px; }
.header .site-menu>ul.menu>li>a{ font-weight:700; white-space:nowrap; }

/* ドロワー領域（初期は非表示） */
.header-site-menu{ display:none; }

/* ハンバーガーはPC非表示（SPで表示） */
.toggle-menu-button{ display:none; }

/* =========================================================
   Main container
   ========================================================= */
.main{
  max-width:var(--container-pc);
  margin-inline:auto;
  padding-inline:var(--gutter-pc);
  margin-bottom:20px;
}
.main .alignleft,.main .alignright{ float:none; margin-inline:auto; }
.main .wp-block-image img{ margin-inline:auto; }

/* =========================================================
   Footer
   ========================================================= */
.footer{
  color:#fff;
  background:#3B5D45;
  padding-top:30px;
  padding-bottom:15px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.footer-logo{ display:block; width:255px; margin-top:90px; }
.footer-tel{ font-size:26px; font-weight:bold; margin-top:2rem; }
.footer-info{ font-size:13px; margin-top:1rem; }
.copyright{ font-size:14px; font-weight:bold; margin-top:90px; }
.sns-menu ul{ display:flex; }
.sns-menu ul li{ margin-top:3rem; margin-inline:20px; }
.sns-menu ul li img{ width:80px; margin-top:20px; }

/* フッター配下リンク色固定 */
.footer,
.footer a,
.footer .menu a,
.footer .menu a:visited{ color:#fff !important; }
.footer .menu a:hover{ opacity:.9; }

/* =========================================================
   Back to Top
   ========================================================= */
#backToTop{
  position:fixed; inset:auto 20px 20px auto; display:none;
  background:rgba(0,0,0,.5); color:#fff; border:1px solid #666;
  padding:12px 16px; border-radius:1rem; font-size:18px; cursor:pointer;
  box-shadow:0 4px 6px rgba(0,0,0,.3); z-index:999;
}
#backToTop:hover{ background:#555; }

/* =========================================================
   CTA（共通：small / center 同一デザイン）
   ========================================================= */
a.btn,
a.btn--cta-small,
a.btn--cta-center{
  display:inline-block;
  min-width:240px;
  padding:14px 28px;
  background:#3B5D45;        /* ブランドカラー */
  color:#fff !important;
  font-weight:700;
  font-size:15px;
  line-height:1.4;
  text-align:center;
  text-decoration:none;
  border-radius:9999px;       /* pill */
  box-shadow:0 6px 18px rgba(59,93,69,.28);
  transition:background .2s ease, transform .1s ease, box-shadow .2s ease;
}
a.btn:hover,
a.btn--cta-small:hover,
a.btn--cta-center:hover{
  background:#4a6e58;
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(59,93,69,.35);
}
a.btn:active,
a.btn--cta-small:active,
a.btn--cta-center:active{
  transform:none;
  box-shadow:0 4px 12px rgba(59,93,69,.25);
}
/* 配置ラッパー */
.cta-small,.cta-center{ text-align:center; margin-top:20px; }

/* =========================================================
   Footer Menu（PC=横並び / SP=縦並び）
   ========================================================= */
/* PC/タブレット：横並び中央寄せ */
@media (min-width:801px){
  .footer nav.site-menu > ul.menu{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 32px;   /* ← 横の間隔（12px → 32px） */
    row-gap: 10px;      /* ← 折り返した時の段間 */
    padding: 6px 0;     /* ← メニュー全体の上下余白 */
  }
  .footer nav.site-menu > ul.menu > li { margin: 0 !important; }

  .footer nav.site-menu > ul.menu > li > a{
    display: block;
    padding: 8px 6px;   /* ← 各リンクの上下余白（クリックしやすく） */
    line-height: 1.6;   /* ← 行間でゆったり見せる */
    font-weight: 700;
  }

  /* 視認性アップのホバー（お好みで） */
  .footer nav.site-menu > ul.menu > li > a:hover{
    text-decoration: underline;              /* もしくは下記に差し替え */
    /* background: rgba(255,255,255,.08);
       border-radius: 9999px; */
  }
}

/* =========================================================
   Responsive (PC > 800px)
   ========================================================= */
@media (min-width:801px){
  .header-site-menu{
    display:block !important; position:static !important;
    padding:0 !important; background:transparent !important; color:inherit !important;
  }
  .site-menu>ul.menu{ display:flex; align-items:center; gap:24px; }
  .site-menu>ul.menu>li>a{ color:#000; font-weight:700; white-space:nowrap; }

  .main{ padding-top:0 !important; }
  .entry-content>*:first-child{ margin-top:0 !important; }
}

/* =========================================================
   Responsive (≤ 800px) — スマホ用
   ========================================================= */
@media (max-width:800px){
  /* ヘッダー固定 */
  .header{
    position:fixed !important;
    top:0; left:0; right:0;
    height:var(--header-h-sp) !important;
    z-index:2000 !important;
  }

  /* ハンバーガー表示 */
  .toggle-menu-button{
    display:block !important;
    width:44px; height:34px;
    background:transparent url(../images/icon-menu.png) center/50% no-repeat;
    border:0; outline:0;
    margin-left:auto;
    z-index:2100; cursor:pointer;
  }
  .header-inner{ overflow:visible !important; }

  /* ドロワーメニュー（ヘッダー直下・追随しない） */
  nav.site-menu.header-site-menu{
    position:absolute !important;
    top:var(--header-h-sp) !important;
    left:0; right:0;
    width:100% !important;
    margin:0 !important; padding:0 !important; border:0 !important; outline:0 !important;
    background:#fff !important;
    z-index:1500 !important;
    max-height:calc(100vh - var(--header-h-sp)) !important;
    overflow-y:auto !important;
    box-shadow:none !important;
  }
  nav.site-menu.header-site-menu.is-show{ display:block !important; }

  nav.site-menu.header-site-menu>ul.menu{
    list-style:none !important;
    margin:0 !important; padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:16px !important;
    text-align:center;
  }
  nav.site-menu.header-site-menu>ul.menu>li{ margin:0 !important; padding:14px 0 !important; }
  nav.site-menu.header-site-menu>ul.menu>li:first-child{ padding-top:0 !important; }
  nav.site-menu.header-site-menu>ul.menu>li>a{
    color:#000 !important; font-weight:700 !important; white-space:nowrap; text-decoration:none;
  }

  .main{ padding-top:var(--header-h-sp) !important; }
  html,body{ overflow-x:hidden !important; }

  /* ロゴ・ハンバーガーの余白調整（上寄せ） */
  header.header .header-inner{
    height:var(--header-h-sp) !important;
    display:flex !important;
    align-items:flex-start !important;
    padding-top:10px !important;
    padding-bottom:0 !important;
  }
  header.header .header-logo img,
  header.header .header-logo .custom-logo,
  header.header .custom-logo{
    max-height:40px !important; height:auto !important; width:auto !important; display:block !important; line-height:0 !important;
  }
  header.header .toggle-menu-button{ margin-top:2px !important; }

  /* スマホのフッターメニューは縦並び */
  .footer .site-menu>ul.menu{
    display:block !important;      /* ← 縦並び */
    text-align:center;
    padding:0 !important;
    margin:0 auto !important;
    list-style:none;
  }
  .footer .site-menu>ul.menu>li{ margin:8px 0 !important; padding:0 !important; }
  .footer .site-menu>ul.menu>li>a{
    color:#fff !important; font-weight:600; text-decoration:none;
    display:inline-block; padding:6px 0;
  }
}

/* =========================================================
   Footer CTA ボタン調整
   ========================================================= */
/* ===== Footer CTA（無料診断・お見積もりはこちら） ===== */
.footer .link-button-area .link-botteon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  min-width: 320px !important;
  min-height: 80px !important;       /* 縦幅を大きく */
  padding: 20px 36px !important;     /* 内側の余白も拡大 */
  
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.03em;

  background: #5E4B3A !important;    /* ご指定カラー */
  color: #fff !important;
  border: none !important;
  border-radius: 16px !important;    /* 強めの角丸 */
  text-decoration: none !important;

  /* 影（立体感） */
  box-shadow: 0 8px 18px rgba(0,0,0,0.28),
              inset 0 3px 6px rgba(255,255,255,0.08);

  transition: background 0.2s ease, 
              transform 0.1s ease, 
              box-shadow 0.2s ease;

  white-space: nowrap;                                   /* 1行固定 */
  max-width: min(680px, calc(100vw - 32px));             /* 画面からはみ出さない */
  overflow: hidden;
}

/* hover */
.footer .link-button-area .link-botteon:hover {
  background: #735846 !important;
  transform: translateY(-3px);
  box-shadow: 0 12px 26px rgba(0,0,0,0.35),
              inset 0 3px 6px rgba(255,255,255,0.12);
}

/* active（押し込み） */
.footer .link-button-area .link-botteon:active {
  transform: translateY(0);
  box-shadow: inset 0 4px 10px rgba(0,0,0,0.25);
}

/* CTAラッパー（中央寄せ） */
.link-button-area{ text-align:center; }

