/*
Theme Name: SG Original
Template: generatepress
Version: 1.0.0
Description: Child theme for GeneratePress
*/

/* =========================================================
   コンテンツ幅制限＆左右余白設定
   ========================================================= */

/* 1) Variables */
:root {
  --sg-max: 1280px;
  --sg-pad: 70px;
}

/* Tablet */
@media (max-width: 900px) {
  :root {
    --sg-pad: 20px;
  }
}

/* SP */
@media (max-width: 600px) {
  :root {
    --sg-pad: 15px;
  }
}

#page.grid-container {
  max-width: var(--sg-max);
  padding-left: var(--sg-pad);
  padding-right: var(--sg-pad);
  box-sizing: border-box;
}

#content.site-content,
#primary.content-area,
#main.site-main,
.inside-article {
  padding: 0 !important;
}

html,
body {
  overflow-x: clip;
}

/* =========================================================
   1) タイポグラフィ（全体フォント）
   ========================================================= */
body {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
  font-size: 18px;
  color: #000;
}

/* 書体ユーティリティ */
.sg-font-gothic-bold {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 500;
}

.sg-font-mincho-light {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 400;
}

.sg-font-mincho {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
}

.sg-font-mincho-bold {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 600;
}

.sg-font-en {
  font-family: "Cormorant", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 400;
}

.sg-font-en-bold {
  font-family: "Cormorant", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
}

/* =========================================================
   2) リンクホバー（サイト全体）
   ========================================================= */

/* 2-1) 画像リンク：暗転＋拡大（画像だけ） --------------------- */

@supports selector(a:has(img)) {

  /* 画像リンクは a 自体のopacity変化を無効化（画像だけ動かす） */
  a:has(img):hover,
  a:has(img):focus {
    opacity: 1;
  }

  /* 画像が枠からはみ出さないように */
  a:has(img) {
    display: inline-block;
    overflow: hidden;
  }

  /* 画像だけをアニメーション */
  a:has(img) img {
    display: block;
    transform: scale(1);
    filter: brightness(1);
    transition: transform .25s ease, filter .25s ease;
    transform-origin: center;
  }

  a:has(img):hover img,
  a:has(img):focus img {
    transform: scale(1.05);
    filter: brightness(0.5);
  }
}

/* 2-2) 共通ボタン：透明度アップ */
.sg-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 45px;
  background: #fff;
  color: #000;
  text-decoration: none;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 18px;
  letter-spacing: .05em;
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: 0 0 12px rgba(0, 0, 0, .35);
  transform: translate(0, 0);
  transition: transform .3s ease, box-shadow .3s ease, opacity .3s ease;
  padding: 10px 20px;
}

.sg-btn:hover,
.sg-btn:focus {
  color: #000;
  box-shadow: 0 0 3px rgba(0, 0, 0, .35);
  transform: translate(1px, 1px);
  opacity: .6;
}


/* =========================================================
   4) 共通：ページ見出し（H1/H2/Hero）
   - 全ページで同じ見た目にする
   ========================================================= */
.sg-pagehead {
  padding-top: 40px;
  padding-bottom: 40px;
  text-align: center;
}

.sg-h1 {
  display: inline-block;
  position: relative;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: clamp(26px, 3.0vw, 34px);
  letter-spacing: .15em;
  margin: 0;
  padding-bottom: 10px;
}

/* 見出しの下線 */
.sg-h1::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(200%, calc(min(100vw, var(--sg-max)) - (var(--sg-pad) * 2)));
  transform: translateX(-50%);
  height: 1px;
  background-color: rgba(0, 0, 0, .35);
}

/* 見出し下の英字 */
.sg-pagehead-en {
  font-family: "Cormorant", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: clamp(14px, 1.45vw, 20px);
  font-weight: 500;
  letter-spacing: .08em;
  margin: 5px 0 0;
}

/* 見出し下の説明文 */
.sg-lead {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: clamp(16px, 2.0vw, 18px);
  line-height: 1.7;
  margin: 18px auto 0;
}

@media (max-width: 600px) {
  .sg-pagehead {
    padding-top: 26px;
  }
}

/* =========================================================
   Breadcrumbs（パンくずリスト）
   ========================================================= */
.sg-breadcrumb-wrap {
  background: #fff;
}

.sg-breadcrumb-wrap .sg-container {
  padding-top: 10px;
  padding-bottom: 10px;
}

.sg-breadcrumb-wrap .rank-math-breadcrumb,
.sg-breadcrumb-wrap .rank-math-breadcrumb p {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: .03em;
  color: #999;
  margin: 0;
}

.sg-breadcrumb-wrap .rank-math-breadcrumb a {
  color: #000;
  text-decoration: none;
}

.sg-breadcrumb-wrap .rank-math-breadcrumb a:hover,
.sg-breadcrumb-wrap .rank-math-breadcrumb a:focus {
  opacity: .5;
  text-decoration: none;
}

.sg-breadcrumb-wrap .rank-math-breadcrumb .separator {
  margin: 0 .45em;
  color: #999;
}

.sg-breadcrumb-wrap .rank-math-breadcrumb .last {
  color: #999;
}

/* SP */
@media (max-width: 600px) {
  .sg-breadcrumb-wrap .sg-container {
    padding-top: 8px;
    padding-bottom: 8px;
    overflow-x: auto;
    white-space: nowrap;
  }

  .sg-breadcrumb-wrap .rank-math-breadcrumb,
  .sg-breadcrumb-wrap .rank-math-breadcrumb p {
    font-size: 12px;
  }
}

/* =========================================================
   5) ヘッダー（共通）
   ========================================================= */

/* 上部に固定 */
.site-header {
  position: sticky;
  top: 0;
  z-index: 10000;
  background: #fff;
}

/* GeneratePressのheader余白を解除 */
#masthead .inside-header.grid-container {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0;
}

/* ヘッダー内リンクの画像hoverを無効化 */
#masthead a:hover,
#masthead a:focus {
  text-decoration: none !important;
}

@supports selector(a:has(img)) {

  #masthead a:has(img):hover img,
  #masthead a:has(img):focus img {
    transform: none !important;
    filter: none !important;
  }
}

/* ロゴ・タイトル・メニュー：明朝 */
#masthead .site-branding .main-title a,
#masthead .site-branding .site-description,
#masthead .main-navigation .main-nav>ul>li>a,
#masthead .main-navigation .main-nav>ul>li>a:hover,
#masthead .main-navigation .main-nav>ul>li>a:focus {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
}

/* タイトルまわり */
#masthead .site-branding {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#masthead .site-branding .main-title,
#masthead .site-branding .site-description {
  margin: 0;
  line-height: 1.1;
}

#masthead .site-branding .main-title {
  order: 2;
}

#masthead .site-branding .site-description {
  order: 1;
  font-size: 14px;
  line-height: .8;
  letter-spacing: -0.08em;
}

#masthead .site-branding .main-title a {
  font-size: 26px;
  line-height: 1;
  letter-spacing: -0.15em;
  text-decoration: none;
}


/* =========================================================
   5-1) ヘッダー：PC（1220px以上）
   ========================================================= */
@media (min-width: 1220px) {

  #masthead.site-header {
    height: 80px;
    padding: 0;
  }

  #masthead .inside-header {
    height: 80px;
    padding: 0;
    display: flex;
    align-items: stretch;
  }

  #masthead .site-branding-container {
    height: 80px;
    padding: 10px 0 10px 30px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    z-index: 20;
  }

  #masthead .site-logo img {
    max-height: 60px;
    width: auto;
    height: auto;
  }

  #masthead .site-logo a:hover,
  #masthead .site-logo a:focus,
  #masthead .site-branding:hover,
  #masthead .site-branding:focus {
    opacity: .5;
  }

  .main-navigation .inside-navigation {
    position: relative;
    height: 80px;
    box-sizing: border-box;
    z-index: 30;
  }

  .main-navigation #primary-menu {
    height: 80px;
  }

  .main-navigation #primary-menu .sf-menu {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    height: 80px;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  #masthead .main-navigation .main-nav>ul>li {
    position: relative;
  }

  /* アクセスとお問合せの間に余白 */
  #masthead .main-navigation .main-nav>ul>li.sg-header-access {
    margin-right: 20px;
  }

  #primary-menu>ul>li:not(.sg-header-contact)>a,
  #primary-menu>ul>li:not(.sg-header-contact)>a:hover,
  #primary-menu>ul>li:not(.sg-header-contact)>a:focus {
    height: 30px;
    line-height: 30px;
    font-size: 18px;
  }

  #masthead .main-navigation .main-nav>ul>li:not(.sg-header-contact)>a {
    color: inherit;
    background: transparent;
    transition: opacity .2s ease;
    padding: 0;
  }

  #masthead .main-navigation .main-nav>ul>li:not(.sg-header-contact)>a:hover,
  #masthead .main-navigation .main-nav>ul>li:not(.sg-header-contact)>a:focus {
    color: inherit !important;
    background: transparent !important;
    opacity: .5;
  }

  /* フリーダイヤル */
  .main-navigation .sg-header-info {
    position: absolute;
    top: 6px;
    right: 110px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-weight: 500;
    color: #1d5b25;
    line-height: 1.1;
    white-space: nowrap;
  }

  .main-navigation .sg-header-tel {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 27px;
    text-decoration: none;
    color: #1d5b25;
    letter-spacing: .2em;
    line-height: 1;
    padding-right: 5px;
  }

  .main-navigation .sg-tel-ico {
    font-family: "Material Icons";
    font-size: 23px;
    line-height: 1;
    color: #1d5b25;
    padding-top: 4px;
  }

  .main-navigation .sg-header-hours {
    font-size: 14px;
    letter-spacing: -0.05em;
    line-height: 1.4;
  }

  /* お問合せボタン */
  .main-navigation .main-nav ul li.sg-header-contact>a {
    height: 80px;
    width: 100px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    background: #1d5b25;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    font-size: 16px;
    line-height: 1;
    transition: font-size .15s ease;
  }

  .main-navigation .main-nav ul li.sg-header-contact>a::before {
    content: "";
    width: 43px;
    height: 45px;
    background: url("/wp-content/uploads/2026/01/form.png") no-repeat center / contain;
    filter: invert(1);
    transform: scale(1);
    transition: transform .15s ease;
  }

  #masthead .main-navigation .main-nav ul li.sg-header-contact>a:hover,
  #masthead .main-navigation .main-nav ul li.sg-header-contact>a:focus {
    background: #1d5b25;
    color: #fff;
    font-size: 18px;
    opacity: 1;
  }

  #masthead .main-navigation .main-nav ul li.sg-header-contact>a:hover::before,
  #masthead .main-navigation .main-nav ul li.sg-header-contact>a:focus::before {
    transform: scale(1.08);
  }


  /* -------------------------
     PCサブメニュー
  ------------------------- */
  body {
    position: relative;
  }

  body::before {
    content: "";
    position: fixed;
    top: 80px;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, .45);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .25s ease, visibility .25s ease;
    z-index: 9998;
  }

  @supports selector(body:has(#site-navigation .main-nav > ul > li.sfHover)) {

    body:has(#site-navigation .main-nav > ul > li.sfHover)::before,
    body:has(#site-navigation .main-nav > ul > li.sg-submenu-open)::before {
      opacity: 1;
      visibility: visible;
      pointer-events: auto;
    }
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu {
    position: fixed;
    top: 80px;
    left: 0;
    width: 100vw;
    min-height: 300px;
    box-sizing: border-box;
    background: #fff;
    border: none;
    box-shadow: 0 18px 35px rgba(0, 0, 0, .12);
    z-index: 9999;
    display: grid;
    grid-template-columns: repeat(3, minmax(250px, 1fr));
    column-gap: 30px;
    row-gap: 20px;
    margin: 0;
    padding: 30px 30px 30px max(30px, calc((100vw - 1140px) / 2 + 380px));
  }

  #masthead .main-navigation .main-nav>ul>li:not(.sfHover):not(.sg-submenu-open)>ul.sub-menu {
    display: none !important;
  }

  #masthead .main-navigation .main-nav>ul>li.sfHover>ul.sub-menu,
  #masthead .main-navigation .main-nav>ul>li.sg-submenu-open>ul.sub-menu {
    display: grid !important;
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: max(360px, calc((100vw - 1140px) / 2 + 360px));
    height: 100%;
    background: rgba(0, 0, 0, .18);
  }

  #masthead .main-navigation .main-nav>ul>li.menu-item-49>ul.sub-menu::before {
    background: url("/wp-content/uploads/2026/03/menu-sub-main-sekou.webp") center / cover no-repeat;
  }

  #masthead .main-navigation .main-nav>ul>li.menu-item-50>ul.sub-menu::before {
    background: url("/wp-content/uploads/2026/03/menu-sub-main-profile.webp") center / cover no-repeat;
  }

  #masthead .main-navigation .main-nav>ul>li.menu-item-51>ul.sub-menu::before {
    background: url("/wp-content/uploads/2026/03/menu-sub-main-reason.webp") center / cover no-repeat;
  }

  #masthead .main-navigation .main-nav>ul>li.menu-item-52>ul.sub-menu::before {
    background: url("/wp-content/uploads/2026/03/menu-sub-main-consider.webp") center / cover no-repeat;
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: max(360px, calc((100vw - 1220px) / 2 + 360px));
    box-sizing: border-box;
    text-align: right;
    font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-size: 30px;
    font-weight: 500;
    letter-spacing: .03em;
    line-height: 1.3;
    color: #fff;
    z-index: 2;
    padding: 10px;
  }

  #masthead .main-navigation .main-nav>ul>li.menu-item-49>ul.sub-menu::after {
    content: "施工例";
  }

  #masthead .main-navigation .main-nav>ul>li.menu-item-50>ul.sub-menu::after {
    content: "会社情報";
  }

  #masthead .main-navigation .main-nav>ul>li.menu-item-51>ul.sub-menu::after {
    content: "わたしたちの強み";
  }

  #masthead .main-navigation .main-nav>ul>li.menu-item-52>ul.sub-menu::after {
    content: "ご検討の方へ";
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li>a {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: start;
    gap: 0;
    min-height: 65px;
    box-sizing: border-box;
    background: transparent !important;
    text-decoration: none;
    font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-size: 18px;
    line-height: 1;
    color: #000 !important;
    white-space: nowrap;
    transition: opacity .2s ease;
    letter-spacing: -0.05em;
    padding: 0 0 0 110px;
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li>a:hover,
  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li>a:focus {
    opacity: .6;
    background: transparent !important;
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li>a::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100px;
    height: 65px;
    background-color: rgba(0, 0, 0, .18);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li>a .sg-menu-desc {
    display: block;
    font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .02em;
    white-space: normal;
    color: #000;
    padding-top: 10px;
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li>ul {
    display: none !important;
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-59>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-work-1.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-1207>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-search.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-795>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-concept.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-796>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-profile.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-794>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-message.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-802>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-showroom.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-170>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-staff.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-1163>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-news.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-804>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-reason.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-797>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-award.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-5073>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-letter.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-799>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-construction.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-798>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-area.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-800>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-quality.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-792>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-flow.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-793>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-faq.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-801>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-plan.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-1142>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-reccomend.webp");
  }

  #masthead .main-navigation .main-nav>ul>li>ul.sub-menu>li.menu-item-803>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-maintenance.webp");
  }
}


/* =========================================================
   5-2) ヘッダー：Tablet / SP（1219px以下）
   ========================================================= */
@media (max-width: 1219px) {

  #masthead.site-header {
    height: 65px;
    padding: 0;
  }

  #masthead .inside-header {
    height: 65px;
    padding: 0;
    display: flex;
    align-items: stretch;
  }

  #masthead .site-branding-container {
    height: 65px;
    padding: 6px 0 6px 8px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
  }

  #masthead .site-logo img {
    max-height: 48px;
    width: auto;
    height: auto;
  }

  #masthead .site-branding {
    gap: 0;
  }

  #masthead .site-branding .site-description {
    font-size: clamp(12px, 3.0vw, 16px);
    line-height: 1;
    letter-spacing: -0.08em;
  }

  #masthead .site-branding .main-title a {
    font-size: clamp(18px, 4.0vw, 25px);
    line-height: 1;
    letter-spacing: -0.15em;
  }

  /* 外側ハンバーガーを表示 */
  #mobile-menu-control-wrapper {
    display: flex !important;
    align-items: stretch;
    margin-left: auto;
  }

  #mobile-menu-control-wrapper .menu-toggle {
    width: 72px;
    height: 65px;
    padding: 0;
    margin: 0;
    border: none;
    background: #fff;
    color: #000 !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 5px;
    line-height: 1;
  }

  /* GeneratePress標準アイコン・文字を非表示 */
  #mobile-menu-control-wrapper .menu-toggle .gp-icon,
  #mobile-menu-control-wrapper .menu-toggle .mobile-menu {
    display: none !important;
  }

  /* 二本線 */
  #mobile-menu-control-wrapper .menu-toggle::before {
    content: "";
    width: 40px;
    height: 15px;
    display: block;
    background:
      linear-gradient(#000, #000) left top / 40px 2px no-repeat,
      linear-gradient(#000, #000) left bottom / 40px 2px no-repeat;
  }

  /* Menu文字 */
  #mobile-menu-control-wrapper .menu-toggle::after {
    content: "Menu";
    display: block;
    font-family: "Cormorant", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .02em;
    color: #000;
  }

  /* 開いた時：×アイコン */
  body:has(#site-navigation.toggled) #mobile-menu-control-wrapper .menu-toggle,
  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"] {
    gap: 0;
    position: relative;
  }

  /* ×マーク */
  body:has(#site-navigation.toggled) #mobile-menu-control-wrapper .menu-toggle::before,
  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"]::before {
    content: "";
    display: block;
    width: 38px;
    height: 38px;
    background:
      linear-gradient(#000, #000) center / 42px 2px no-repeat,
      linear-gradient(#000, #000) center / 2px 42px no-repeat;
    transform: rotate(45deg);
    transform-origin: center;
    box-shadow: none;
  }

  /* Close文字 */
  body:has(#site-navigation.toggled) #mobile-menu-control-wrapper .menu-toggle::after,
  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"]::after {
    content: "Close";
    display: block;
    font-family: "Cormorant", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .02em;
    color: #000;
    margin-top: -4px;
  }

  /* GeneratePress標準アイコン・文字を非表示 */
  body:has(#site-navigation.toggled) #mobile-menu-control-wrapper .menu-toggle .gp-icon,
  body:has(#site-navigation.toggled) #mobile-menu-control-wrapper .menu-toggle .mobile-menu,
  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"] .gp-icon,
  #mobile-menu-control-wrapper .menu-toggle[aria-expanded="true"] .mobile-menu {
    display: none !important;
  }

  /* 内側の不要なメニューボタンを非表示 */
  #site-navigation>.inside-navigation>.menu-toggle {
    display: none !important;
  }

  /* 閉じている時はナビを非表示 */
  #masthead #site-navigation {
    display: none !important;
  }

  /* 開いた時のメニューパネル */
  #masthead #site-navigation.toggled {
    display: block !important;
    position: fixed;
    top: 65px;
    left: 0;
    right: 0;
    width: 100vw;
    height: calc(100vh - 65px);
    background: #f5f5f5;
    overflow-y: auto;
    overflow-x: hidden;
    z-index: 9999;
  }

  #site-navigation.toggled .inside-navigation {
    position: relative;
    display: block;
    width: 100%;
    min-height: 100%;
    padding-top: 60px;
    box-sizing: border-box;
    background: #f5f5f5;
  }

  /* 電話番号エリア */
  #site-navigation .sg-header-info {
    display: none !important;
  }

  #site-navigation.toggled .sg-header-info {
    position: absolute;
    top: 0;
    left: 0;
    right: 100px;
    height: 60px;
    box-sizing: border-box;
    background: #1d5b25;
    color: #fff;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
    line-height: 1;
    white-space: nowrap;
    z-index: 2;
  }

  #site-navigation.toggled .sg-header-tel {
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-size: clamp(24px, 5.4vw, 31px);
    line-height: 1;
    letter-spacing: .02em;
    text-decoration: none;
  }

  #site-navigation.toggled .sg-tel-ico {
    font-family: "Material Icons";
    font-size: 22px;
    line-height: 1;
    color: #fff;
  }

  #site-navigation.toggled .sg-header-hours {
    color: #fff;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: .02em;
  }

  /* メニュー本体 */
  #site-navigation.toggled #primary-menu {
    display: block !important;
    width: 100%;
  }

  #site-navigation.toggled #primary-menu .sf-menu {
    display: block !important;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 25px 0 40px;
    list-style: none;
  }

  #site-navigation.toggled .main-nav>ul>li {
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
  }

  /* お問合せボタン：緑帯の右側 */
  #site-navigation.toggled .main-nav>ul>li.sg-header-contact {
    position: absolute;
    top: 0;
    right: 0;
    width: 100px;
    height: 60px;
    z-index: 3;
  }

  #site-navigation.toggled .main-nav>ul>li.sg-header-contact>a {
    width: 100px;
    height: 60px;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    background: #1d5b25 !important;
    color: #fff !important;
    border-left: 1px solid rgba(255, 255, 255, .7);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-size: 13px;
    line-height: 1;
    text-decoration: none;
  }

  #site-navigation.toggled .main-nav>ul>li.sg-header-contact>a::before {
    content: "";
    width: 32px;
    height: 32px;
    background: url("/wp-content/uploads/2026/01/form.png") no-repeat center / contain;
    filter: invert(1);
  }

  /* 親メニュー */
  #site-navigation.toggled .main-nav>ul>li:not(.sg-header-contact)>a {
    min-height: 75px;
    box-sizing: border-box;
    padding: 0 16px 0 20px;
    background: #f5f5f5;
    color: #000 !important;
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-size: clamp(21px, 5vw, 25px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -0.03em;
    text-decoration: none;
  }

  /* 親メニュー画像 */
  #site-navigation.toggled .main-nav>ul>li:not(.sg-header-contact)>a::before {
    content: "";
    width: 100px;
    height: 60px;
    flex: 0 0 100px;
    background-color: rgba(0, 0, 0, .1);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
  }

  #site-navigation.toggled .main-nav>ul>li.menu-item-49>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-main-sekou.webp");
  }

  #site-navigation.toggled .main-nav>ul>li.menu-item-50>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-main-profile.webp");
  }

  #site-navigation.toggled .main-nav>ul>li.menu-item-51>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-main-reason.webp");
  }

  #site-navigation.toggled .main-nav>ul>li.menu-item-52>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-main-consider.webp");
  }

  #site-navigation.toggled .main-nav>ul>li.sg-header-access>a::before {
    background-image: url("/wp-content/uploads/2026/03/menu-sub-profile.webp");
  }

  /* プラス・マイナス */
  #site-navigation.toggled .menu-item-has-children>a {
    padding-right: 0 !important;
  }

  #site-navigation.toggled .menu-item-has-children>a .dropdown-menu-toggle {
    width: 54px;
    height: 75px;
    margin-left: auto;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #site-navigation.toggled .menu-item-has-children>a .dropdown-menu-toggle .gp-icon {
    display: none !important;
  }

  #site-navigation.toggled .menu-item-has-children>a .dropdown-menu-toggle::before {
    content: "+";
    display: block;
    font-family: Arial, sans-serif;
    font-size: 34px;
    font-weight: 700;
    line-height: 1;
    color: #000;
  }

  #site-navigation.toggled .menu-item-has-children.sfHover>a .dropdown-menu-toggle::before,
  #site-navigation.toggled .menu-item-has-children>a[aria-expanded="true"] .dropdown-menu-toggle::before {
    content: "−";
  }

  @supports selector(li:has(> ul.sub-menu.toggled-on)) {
    #site-navigation.toggled .menu-item-has-children:has(> ul.sub-menu.toggled-on)>a .dropdown-menu-toggle::before {
      content: "−";
    }
  }

  /* サブメニューは初期非表示 */
  #site-navigation.toggled .main-nav ul ul.sub-menu {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    box-shadow: none !important;
    border: none !important;
    background: #f5f5f5;
    margin: 0;
    padding: 0 0 14px;
    display: none !important;
  }

  #site-navigation.toggled .main-nav ul ul.sub-menu.toggled-on,
  #site-navigation.toggled .main-nav>ul>li.sfHover>ul.sub-menu {
    display: block !important;
  }

  /* サブメニュー項目 */
  #site-navigation.toggled .main-nav ul ul.sub-menu>li {
    width: 100%;
    margin: 0;
    padding: 0;
  }

  #site-navigation.toggled .main-nav ul ul.sub-menu>li>a {
    position: relative;
    min-height: auto;
    padding: 8px 20px 8px 130px;
    background: #f5f5f5;
    color: #000 !important;
    display: block;
    font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.03em;
    text-decoration: none;
  }

  #site-navigation.toggled .main-nav ul ul.sub-menu>li>a::before {
    content: "›";
    position: static;
    display: inline-block;
    width: auto;
    height: auto;
    margin-right: 3px;
    background: none !important;
    font-size: 20px;
    line-height: 1;
    color: #000;
    vertical-align: -1px;
  }

  #site-navigation.toggled .main-nav ul ul.sub-menu>li>a .sg-menu-desc {
    display: none !important;
  }

  #site-navigation.toggled .main-nav ul ul.sub-menu ul {
    display: none !important;
  }
}


/* =========================================================
   5-3) ヘッダー：SP微調整（600px以下）
   ========================================================= */
@media (max-width: 600px) {

  #masthead .site-logo img {
    max-height: 44px;
  }

  #masthead .site-branding-container {
    padding-left: 6px;
  }

  #mobile-menu-control-wrapper .menu-toggle {
    width: 66px;
  }

  #site-navigation.toggled .main-nav>ul>li:not(.sg-header-contact)>a {
    min-height: 75px;
    padding-left: 20px;
  }

  #site-navigation.toggled .main-nav>ul>li:not(.sg-header-contact)>a::before {
    width: 100px;
    height: 60px;
    flex-basis: 100px;
  }

  #site-navigation.toggled .main-nav ul ul.sub-menu>li>a {
    padding-left: 130px;
  }
}


/* =========================================================
   6) フッター（共通）
   - template-parts/footer/mega.php の class="sgf" 以下に効く
   ========================================================= */

/* フッター全体 */
.sgf {
  color: #000;
}

/* フッター内リンク：色は継承（青くしない） */
.sgf a {
  color: inherit;
  text-decoration: none;
}

/* フッター内リンク hover：下線（全体のopacity hoverを上書き） */
.sgf a:hover,
.sgf a:focus {
  opacity: 1;
}

/* 各セクション共通 */
.sgf-sec {
  padding: 70px 0;
  background: #fff;
}

/* ページ幅 */
.sg-container {
  width: 100%;
  max-width: var(--sg-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--sg-pad);
  padding-right: var(--sg-pad);
  box-sizing: border-box;
}

/* 見出しブロック */
.sgf-head {
  text-align: center;
  margin-bottom: 50px;
}

/* 見出し（日本語） */
.sgf-title {
  display: inline-block;
  position: relative;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: clamp(26px, 3.0vw, 34px);
  letter-spacing: .15em;
  margin: 0;
  padding-bottom: 10px;
}

/* 見出しの下線 */
.sgf-title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 200%;
  transform: translateX(-50%);
  height: 1px;
  background-color: rgba(0, 0, 0, .35);
}

/* 見出し下の英字 */
.sgf-sub {
  font-family: "Cormorant", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: clamp(14px, 1.45vw, 20px);
  font-weight: 500;
  letter-spacing: .10em;
  margin: 8px 0 0;
}

/* 見出し下の説明文 */
.sgf-lead {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 400;
  font-size: clamp(16px, 2.0vw, 18px);
  line-height: 1.9;
  margin: 18px auto 0;
}

/* responsive（フッター共通） */
@media (max-width: 900px) {
  .sgf-sec {
    padding: 55px 0;

  }

  .sgf-head {
    margin-bottom: 30px;
  }
}

@media (max-width: 600px) {
  .sgf-sec {
    padding: 40px 0;
  }
}


/* =========================================================
   7) フッター：対応工事
   ========================================================= */

/* 上部のカテゴリ（新築/リフォーム/デザイン） */
.sgf-cats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  max-width: 500px;
  margin: 0 auto;
}

/* 1カテゴリ（ラベル上、アイコン下） */
.sgf-cat {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* ラベル */
.sgf-cat-label {
  order: 1;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: clamp(16px, 1.6vw, 20px);
  letter-spacing: .06em;
  margin: 0 0 10px;
}

/* アイコン枠 */
.sgf-cat-icon {
  order: 2;
  width: 100px;
  height: 100px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* アイコン画像 */
.sgf-cat-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

/* 工事項目リスト（エクステリア/植栽） */
.sgf-group {
  margin-top: 40px;
}

/* グループ見出しバー */
.sgf-bar {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: clamp(18px, 2.0vw, 20px);
  text-align: center;
  letter-spacing: .08em;
  color: #fff;
  background: #3d4955;
  margin: 0;
  padding: 5px 0;
}

/* アイコンリスト（基本：6列） */
.sgf-iconlist {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px 10px;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: clamp(16px, 1.8vw, 18px);
  line-height: 1.6;
  margin: 20px 0 0;
  padding: 0;
}

.sgf-iconlist li {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 0;
}

.sgf-iconlist li::before {
  content: none;
}

/* 植栽だけ：横並び（折り返しは@mediaで制御） */
.sgf-iconlist--plant {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px 50px;
  padding: 0;
  margin: 18px 0 0;
}

.sgf-iconlist--plant>.sgf-li {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 10px;
}

.sgf-iconlist--plant .sgf-li-text {
  white-space: nowrap;
}

/* アイコン枠（25pxで揃える） */
.sgf-li-icon {
  width: 25px;
  height: 25px;
  flex: 0 0 25px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.sgf-li-icon .sgf-ico {
  width: 25px;
  height: 25px;
  display: block;
}

/* responsive（対応工事） */
@media (max-width: 1270px) {
  .sgf-iconlist {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .sgf-iconlist--plant {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .sgf-iconlist {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sgf-iconlist--plant {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .sgf-cat-icon {
    width: 80px;
    height: 80px;
  }
}


/* =========================================================
   8) フッター：対応エリア
   ========================================================= */
.sgf-area-grid {
  display: grid;
  grid-template-columns: 1.35fr 1.35fr 1fr;
  grid-template-areas:
    "chiba saitama tokyo"
    "chiba saitama ibaraki";
  gap: 25px;
  margin-top: 20px;
}

.sgf-pref--chiba {
  grid-area: chiba;
}

.sgf-pref--saitama {
  grid-area: saitama;
}

.sgf-pref--tokyo {
  grid-area: tokyo;
}

.sgf-pref--ibaraki {
  grid-area: ibaraki;
}

/* 見出し帯 */
.sgf-pref-bar {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: clamp(18px, 2.0vw, 20px);
  text-align: center;
  letter-spacing: .08em;
  color: #fff;
  background: #3d4955;
  margin: 0;
  padding: 5px 0;
}

/* 中身 */
.sgf-pref-body {
  position: relative;
  min-height: 120px;
  border: none;
  padding: 15px 0 50px;
}

/* 千葉・埼玉：あかさたな表記のDL */
.sgf-pref-dl {
  margin: 0;
  padding: 0;
}

.sgf-pref-row {
  display: grid;
  grid-template-columns: 1.4em 1fr;
  column-gap: 0.6em;
  align-items: start;
  margin: 0 0 10px;
}

.sgf-pref-row dt {
  font-size: clamp(16px, 1.8vw, 18px);
  font-weight: 400;
  margin: 0;
}

.sgf-pref-row dd {
  font-size: clamp(16px, 1.8vw, 18px);
  margin: 0;
}

.sgf-pref-row dt::after {
  content: "：";
}

/* 市区町村リスト */
.sgf-pref-list {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: clamp(16px, 1.8vw, 18px);
  line-height: 1.8;
  margin: 0 0 30px;
  padding-left: 1.2em;
}

/* 東京・茨城：先頭の「・」を消す */
.sgf-pref--tokyo .sgf-pref-list,
.sgf-pref--ibaraki .sgf-pref-list {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.sgf-pref--tokyo .sgf-pref-list li,
.sgf-pref--ibaraki .sgf-pref-list li {
  padding-left: 0;
}

/* 都県マップ（右下） */
.sgf-map {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: clamp(90px, 12vw, 130px);
  height: auto;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: contain;
  background-color: transparent;
  border-radius: 0;
}

/* 都県ごとの画像＆比率 */
.sgf-pref--chiba .sgf-map {
  background-image: url("/wp-content/uploads/2026/01/footer_chiba.webp");
  aspect-ratio: 150 / 182;
}

.sgf-pref--saitama .sgf-map {
  background-image: url("/wp-content/uploads/2026/01/footer_saitama.webp");
  aspect-ratio: 150 / 83;
}

.sgf-pref--tokyo .sgf-map {
  background-image: url("/wp-content/uploads/2026/01/footer_tokyo.webp");
  aspect-ratio: 150 / 78;
}

.sgf-pref--ibaraki .sgf-map {
  background-image: url("/wp-content/uploads/2026/01/footer_ibaraki.webp");
  aspect-ratio: 150 / 176;
}

/* responsive（対応エリア） */
@media (max-width: 900px) {
  .sgf-area-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "chiba saitama"
      "tokyo ibaraki";
  }
}

@media (max-width: 600px) {
  .sgf-area-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "chiba"
      "saitama"
      "tokyo"
      "ibaraki";
  }

  .sgf-pref-body {
    padding: 15px 0 30px;
  }

  .sgf-map {
    right: 10px;
    bottom: 10px;
    width: clamp(100px, 30vw, 200px);
  }

  .sgf-pref--ibaraki .sgf-map {
    right: 10px;
    bottom: 0px;
    width: clamp(100px, 20vw, 120px);
  }
}


/* =========================================================
   9) フッター：ご検討の方へ
   ========================================================= */
.sgf-sec--consider {
  background: #3d4955;
}

/* 濃い背景の上：見出し色を白に */
.sgf-head--on-dark {
  margin-bottom: 25px;
}

.sgf-title--on-dark,
.sgf-sub--on-dark,
.sgf-lead--on-dark {
  color: #fff;
}

.sgf-title--on-dark::after {
  background: #fff;
}

/* 8枚のカード */
.sgf-sec--consider .sgf-cardgrid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px 20px;
}

/* カード本体 */
.sgf-sec--consider .sgf-card {
  display: block;
  background: transparent;
  height: auto;
  overflow: visible;
  text-decoration: none;
}

/* 画像枠（箱） */
.sgf-sec--consider .sgf-card-img {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 275 / 125;
  overflow: hidden;
}

/* 背景画像レイヤー（これだけズームさせる） */
.sgf-sec--consider .sgf-card-img::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--bg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  transform: scale(1);
  filter: brightness(1);
  transition: transform .25s ease, filter .25s ease;
  transform-origin: center;
}

/* hover/focusで画像だけ暗転＋拡大 */
.sgf-sec--consider .sgf-card:hover .sgf-card-img::before,
.sgf-sec--consider .sgf-card:focus .sgf-card-img::before,
.sgf-sec--consider .sgf-card:focus-visible .sgf-card-img::before {
  transform: scale(1.05);
  filter: brightness(0.5);
}

/* テキスト */
.sgf-sec--consider .sgf-card-text {
  display: block;
  text-align: left;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 400;
  letter-spacing: .06em;
  font-size: clamp(16px, 1.8vw, 18px);
  color: #fff;
  line-height: 1.4;
  margin-top: 10px;
}

/* responsive（ご検討） */
@media (max-width: 900px) {
  .sgf-head--on-dark {
    margin-bottom: 15px;
  }

  .sgf-sec--consider .sgf-cardgrid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 30px 20px;
  }

  .sgf-sec--consider .sgf-card-text {
    margin-top: 5px;
  }
}

@media (max-width: 600px) {
  .sgf-head--on-dark {
    margin-bottom: 20px;
  }

  .sgf-sec--consider .sgf-cardgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}

/* =========================================================
   10) フッター：お問合せ
   ========================================================= */
.sgf-sec--contact {
  position: relative;
  background: none;
  overflow: hidden;
  color: #fff;
  padding: clamp(20px, 4vw, 50px) 0;
  min-height: 400px;
}

/* 背景画像 */
.sgf-sec--contact::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("/wp-content/uploads/2026/01/footer_contact.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  z-index: 0;
}

/* 中身は前面へ */
.sgf-sec--contact .sg-container {
  position: relative;
  z-index: 1;
}

/* 左カラム幅 */
.sgf-sec--contact .sgf-contact {
  max-width: 560px;
}

/* 見出し行：お問合せ + Contact Us（横並び） */
.sgf-sec--contact .sgf-contact-head {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: 0px;
  text-align: left;
  border-bottom: 1px solid #fff;
  margin: 0 0 15px;
  padding-bottom: 5px;
}

/* Contactセクションは下線なし */
.sgf-sec--contact .sgf-title {
  margin: 0;
  padding-bottom: 0;
}

.sgf-sec--contact .sgf-title::after {
  content: none;
}

/* Contact Us */
.sgf-sec--contact .sgf-sub {
  text-align: right;
  color: #fff;
  white-space: nowrap;
  margin: 0;
}

/* 文章 */
.sgf-contact-text {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: clamp(16px, 1.8vw, 18px);
  line-height: 1.5;
  margin-bottom: 10px;
}

/* 電話番号ブロック */
.sgf-sec--contact .sgf-tel {
  border-top: none;
  padding-bottom: 15px;
  border-bottom: 1px solid #fff;
}

/* フリーダイヤル：アイコン＋文字 */
.sgf-tel .sgf-tel-num {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 34px;
  font-weight: 500;
  letter-spacing: .02em;
}

/* 電話アイコン */
.sgf-tel .sg-tel-ico {
  font-family: "Material Icons";
  font-size: 34px;
  line-height: 1;
  color: #fff;
  padding-top: 4px;
}

/* メタ情報（タグ） */
.sgf-tel .sgf-tel-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 10px;
  align-items: center;
  color: #fff;
  margin-top: 15px;
}

.sgf-tel .sgf-tel-line {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  margin-right: 30px;
}

.sgf-tel .sgf-tel-tag {
  min-width: 100px;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.2;
  color: #000;
  background: #fff;
  padding: 5px 10px;
}

/* CTA（フォーム/LINE） */
.sgf-cta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
  max-width: 570px;
  margin-top: clamp(30px, 5vw, 50px);
}

.sgf-cta-box {
  background: #fff;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  padding: 15px 10px;
}

.sgf-cta-box:hover {
  opacity: 1;
}

.sgf-cta-box .sgf-cta-title {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: clamp(15px, 1.6vw, 18px);
  font-weight: 500;
  letter-spacing: .08em;
  color: #000;
  margin-bottom: 10px;
}

.sgf-cta-box .sgf-cta-note {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  color: #000;
  margin-top: 10px;
}

/* 画像エリア */
.sgf-cta-visual {
  height: 140px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* メールアイコン */
.sgf-cta .material-icons.sgf-cta-ico {
  font-family: "Material Icons";
  font-size: 140px;
  line-height: 1;
  color: #3f4b55;
  transition: transform .15s ease;
  transform-origin: center;
}

.sgf-cta-mail:hover .sgf-cta-ico {
  transform: scale(1.12);
}

/* LINE画像 */
.sgf-cta-lineimg {
  width: 140px;
  height: auto;
  display: block;
}

/* responsive（お問合せ） */
@media (max-width: 600px) {
  .sgf-sec--contact {
    padding: 40px 0;
  }

  .sgf-tel .sgf-tel-meta {
    display: grid;
    gap: 10px;
  }

  .sgf-tel .sgf-tel-line {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .sgf-tel-num {
    font-size: 30px;
  }

  .sgf-cta-box {
    padding: 10px;
  }

  .sgf-cta-visual {
    height: 100px;
    width: 100px;
  }

  .sgf-cta-ico {
    font-size: 100px;
  }

  .sgf-cta-lineimg {
    width: 100px;
  }
}


/* =========================================================
   11) フッター：会社情報・メニュー
   ========================================================= */
.sgf-sec--bottom {
  background: #3f4b55;
  color: #fff;
  padding-bottom: 10px;
}

/* 左：会社情報 / 右：フッターナビ */
.sgf-bottom-grid {
  display: grid;
  position: relative;
  grid-template-columns: 370px 1fr;
  gap: 30px;
}

.sgf-company {
  display: block;
}

/* ロゴ＋文言 */
.sgf-company .sgf-brand {
  display: flex;
  gap: 15px;
  align-items: flex-start;
}

/* ロゴ */
.sgf-sec--bottom .sgf-brand-logo {
  width: 80px;
  flex: 0 0 80px;
  color: #fff;
}

.sgf-brand-logo .sgf-logo-svg {
  width: 80px;
  height: auto;
  display: block;
}

/* キャッチ */
.sgf-company-catch {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: .05em;
}

/* 会社名 */
.sgf-company-name {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: clamp(25px, 3.0vw, 30px);
  letter-spacing: -.1em;
}

/* 住所など */
.sgf-company-meta {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 16px;
  line-height: 1.8;
}

.sgf-company .sgf-company-meta {
  display: block;
  width: 100%;
  clear: both;
  margin-top: 5px;
}

/* SNSアイコン */
.sgf-social {
  position: absolute;
  left: 0;
  bottom: 0;
  margin-top: 14px;
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  white-space: nowrap;
  z-index: 5;
  align-items: flex-start;
}

.sgf-social-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: #fff;
  min-width: 40px;
  gap: 5px;
}

.sgf-social-link img {
  width: 40px;
  height: 40px;
  display: block;
  border-radius: 3px;
}

.sgf-social-label {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 12px;
  line-height: 1.2;
  letter-spacing: -.1em;
  white-space: nowrap;
}

/* フッターナビ：5列 */
.sgf-footnav {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 15px;
  padding-bottom: 30px;
}

.sgf-footcol-title {
  text-align: center;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  letter-spacing: -.10em;
  margin-bottom: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid #fff;
}

.sgf-footcol ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sgf-footcol li {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 16px;
  letter-spacing: -.06em;
  text-align: center;
  margin: 8px 0;
}

/* responsive（会社情報・メニュー） */
@media (max-width: 1250px) {
  .sgf-footnav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1090px) {
  .sgf-bottom-grid {
    grid-template-columns: 1fr;
  }

  .sgf-footnav {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .sgf-social {
    position: static;
    flex-wrap: wrap;
    white-space: normal;
    margin-top: 14px;
  }

  .sgf-company {
    padding-bottom: 0;
  }
}

@media (max-width: 800px) {
  .sgf-social {
    gap: 5px;
  }

  .sgf-social-label {
    font-size: 10px;
  }

  .sgf-footnav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}


/* =========================================================
   12) フッター：法務リンク
   ========================================================= */
.sgf-legal {
  text-align: center;
  color: #fff;
  background: #3f4b55;
  padding: 18px 0;
}

/* 5項目を等間隔・中央揃え（区切り線は a + a で付ける） */
.sgf-legal-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: clamp(14px, 1.5vw, 18px);
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  padding: 10px 0;  
}

.sgf-legal-links a {
  display: inline-block;
  line-height: 1.2;
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  padding: 0 60px;
}

.sgf-legal-links a+a {
  border-left: 1px solid #fff;
}

/* 注記 */
.sgf-legal-note {
  font-size: 14px;
  line-height: 1.8;
  margin: 15px 0 0;
}

/* responsive（法務リンク） */
@media (max-width: 1100px) {
  .sgf-legal-links {
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 10px;
  }

  .sgf-legal-links a {
    padding: 0 15px;
  }
}


/* =========================================================
   13) フッター：取扱メーカー
   ========================================================= */
.sgf-brands {
  background: #fff;
  padding: 22px 0;
}

.sgf-brands-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 70px;
  gap: 18px;
  flex-wrap: nowrap;
}

.sgf-brands-row a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 70px;
}

.sgf-brands-row img {
  display: block;
  max-height: 60px;
  max-width: 100%;
  object-fit: contain;
}

/* responsive（取扱メーカー） */
@media (max-width: 600px) {
  .sgf-brands-row {
    height: 30px;
    gap: 10px;
  }

  .sgf-brands-row a {
    height: 30px;
  }
}


/* =========================================================
   14) フッター：コピーライト
   ========================================================= */
.sgf-copy {
  text-align: center;
  font-family: "Cormorant", "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-size: 14px;
  font-weight: 500;
  color: #000;
  border-top: 1px solid rgba(0, 0, 0, .35);
  background: #fff;
  padding: 15px 0 25px;
}


/* =========================================================
   15) GeneratePress 既存フッターを非表示
   ========================================================= */
.site-footer {
  display: none;
}

/* =========================================================
   16) フッター上：前後ページナビ
   ========================================================= */

.sg-page-pager {
  width: 100%;
  margin-top: 80px;
  background: #fff;
  border-top: 1px solid rgba(0, 0, 0, .18);
  box-shadow: inset 0 3px 8px rgba(0, 0, 0, .08);
}

.sg-page-pager__inner {
  max-width: var(--sg-max, 1280px);
  min-height: 105px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: flex-start;
  gap: 20px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 28px var(--sg-pad, 70px);
}

.sg-page-pager__item {
  min-width: 0;
}

.sg-page-pager__item--next {
  text-align: right;
}

.sg-page-pager__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #000;
  text-decoration: none;
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif;
  font-weight: 500;
  font-size: clamp(16px, 1.5vw, 18px);
  line-height: 1.4;
  letter-spacing: .04em;
}

.sg-page-pager__link:hover,
.sg-page-pager__link:focus {
  color: #000;
  opacity: .5;
  text-decoration: none !important;
}

.sg-page-pager__arrow {
  display: inline-block;
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  font-size: 34px;
  font-weight: 500;
  line-height: 1;
}

.sg-page-pager__text {
  display: inline-block;
  padding-top: 6px;
}

/* responsive */
@media (max-width: 600px) {
  .sg-page-pager {
    margin-top: 50px;
  }

  .sg-page-pager__inner {
    min-height: 82px;
    padding: 20px var(--sg-pad, 10px);
    gap: 12px;
  }

  .sg-page-pager__link {
    gap: 6px;
    font-size: 15px;
    line-height: 1.5;
  }

  .sg-page-pager__arrow {
    font-size: 28px;
  }
}