/*
 * FTP Target: /wp-content/themes/LawnMowing/assets/css/mobile-fixes.css
 * Upload Mode: overwrite
 *
 * 表示崩れ補正スタイル。
 * style.css / responsive.css の後に読み込まれ、共通レイアウトとSP表示の細かい調整を一元管理する。
 */

/* ============================================================
   PC 共通レイアウト補正
   ・サイドバーがあるページでは header / footer / page-bottom を本文幅に揃える
   ============================================================ */
@media screen and (min-width: 992px) {
  .sidebar ~ .footer,
  .sidebar ~ .page-bottom,
  body.page-template-page-user-guide-php .footer,
  body.page-template-page-user-guide-php .page-bottom {
    width: calc(100% - 250px);
    margin-left: 250px;
  }

  .sidebar ~ #header,
  #header.header--has-sidebar,
  .page-template-page-services #header,
  .page-template-page-services-php #header,
  body.page-id-28 #header,
  body.page-template-page-rental-delivery-php #header,
  body.page-template-page-rental-store-list-php #header,
  body.page-template-page-rental-delivery-php #header.header--has-sidebar,
  body.page-template-page-rental-store-list-php #header.header--has-sidebar {
    left: 250px;
    right: 0;
    width: calc(100% - 250px);
    margin-left: 0;
  }

  #header.header--nav-only {
    background: transparent !important;
    box-shadow: none !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 991px) {
  .sidebar,
  .sidebar-submenu.offcanvas.offcanvas-start {
    display: none !important;
  }

  .layout,
  body.page-wishlist .layout {
    display: block;
  }

  .main-body,
  body.lm-sidebar-manual-layout .main-body,
  body.lm-sidebar-offset-layout .main-body,
  body.page-wishlist .main-body,
  body.woocommerce-account .main-body,
  body.page-template-page-login-php .main-body,
  body.page-template-page-registration-php .main-body,
  body.lm-registration-request .main-body {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .header,
  #header,
  .sidebar ~ #header,
  #header.header--has-sidebar,
  #header.header--nav-only,
  body.page-template-page-rental-delivery-php #header,
  body.page-template-page-rental-store-list-php #header,
  body.page-template-page-registration-php #header,
  body.lm-registration-request #header,
  body.lm-sidebar-manual-layout #header {
    display: none !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin-left: 0 !important;
  }

  .sidebar ~ .footer,
  .sidebar ~ .page-bottom,
  .sidebar ~ .service-tailored,
  body.lm-sidebar-manual-layout .footer,
  body.lm-sidebar-manual-layout .page-bottom,
  body.lm-sidebar-manual-layout .service-tailored,
  body.page-wishlist .footer,
  body.page-wishlist .page-bottom,
  body.page-template-page-login-php .footer,
  body.page-template-page-login-php .page-bottom,
  body.page-template-page-registration-php .footer,
  body.page-template-page-registration-php .page-bottom,
  body.lm-registration-request .footer,
  body.lm-registration-request .page-bottom {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .footer .container--md {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .footer .footer__heading,
  .footer .footer__row,
  .page-bottom {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .footer .container--md > .footer__instagram,
  .footer .footer__instagram {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
  }

  body.page-wishlist .wishlist-page__list {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .mobile-offcanvas {
    max-width: min(250px, 100vw);
  }

  body.lm-registration-request .mobile-header,
  body.lm-registration-request .mobile-header.d-none-md {
    display: block;
  }

  body.lm-registration-request #header,
  body.lm-registration-request #header .header__nav-right,
  body.lm-registration-request #header .header__nav-item {
    display: none;
  }
}

.header .header__nav-left--hidden,
.header .header__nav-left--hidden * {
  display: none;
  pointer-events: none;
}

.sidebar .sidebar__nav .submenu4.sidebar__nav-item--light,
.sidebar .sidebar__nav .submenu4.sidebar__nav-item--light.sidebar__nav-item--active,
.sidebar .sidebar__nav .submenu4.sidebar__nav-item--light:hover {
  background: #fff;
}

.sidebar .sidebar__nav .submenu4.sidebar__nav-item--light svg path,
.sidebar .sidebar__nav .submenu4.sidebar__nav-item--light.sidebar__nav-item--active svg path {
  fill: #99C99F;
}


/* ============================================================
   SP フッター Instagram
   デザイン参考: SP_menu.png のサイドバー下部 Instagram エリア
   ・グラデーション背景でエッジtoエッジ（画面幅いっぱい）
   ・上段: 白丸アイコン + "公式Instagram" テキスト（横並び）
   ・下段: "フォローする" ボタン（白背景・ピンクテキスト・横幅100%）
   ============================================================ */
@media screen and (max-width: 768px) {

  body.page-template-page-user-guide-php .footer,
  body.page-template-page-user-guide-php .page-bottom,
  body.page-template-page-registration-php .footer,
  body.page-template-page-registration-php .page-bottom,
  body.lm-registration-request .footer,
  body.lm-registration-request .page-bottom {
    width: 100%;
    margin-left: 0;
  }

  .footer {
    overflow: hidden;
    padding: 48px 0 0;
  }

  .footer .container--md {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  .footer .footer__heading,
  .footer .footer__row {
    padding-left: 20px;
    padding-right: 20px;
  }

  .footer .footer__row {
    margin-bottom: 36px;
  }

  /* container の内側余白や親幅計算に左右されず、Figmaどおり端まで広げる */
  .footer .container--md > .footer__instagram,
  .footer .footer__instagram {
    box-sizing: border-box;
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 25px 20px 30px;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    border-radius: 0;
  }

  /* 上段: アイコン + テキスト を横並びに */
  .footer .footer__instagram .footer__instagram-left {
    flex-direction: row;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-width: 0;
  }

  /* アイコン白丸ラッパー */
  .footer .footer__instagram .footer__instagram-left .footer__instagram-icon {
    display: none;
  }

  /* テキストエリア（長い文章は折り返す） */
  .footer .footer__instagram .footer__instagram-left .footer__instagram-content {
    margin: auto;
  }

  .footer .footer__instagram .footer__instagram-left .footer__instagram-content h6 {
    font-size: 18px;
    margin-bottom: 0;
  }

  .footer .footer__row .footer__col .footer__nav a {
    font-size: 14px;
    line-height: 20px;
  }

  /* テキスト説明はSPでは非表示（アイコン+タイトルのみ表示） */
  .footer .footer__instagram .footer__instagram-left .footer__instagram-content p {
    display: none;
  }

  /* 下段: フォローするボタン（横幅100%・白背景・ピンクテキスト） */
  .footer .footer__instagram .footer__instagram-btn {
    width: calc(100% - 40px);
    max-width: 320px;
    height: 48px;
    margin: auto;
    gap: 16px;
  }

  body, .main-body, .footer {
    overflow-x: clip;
  }

  body.page-template-page-registration-php,
  body.page-template-page-registration-php .layout,
  body.page-template-page-registration-php .main-body,
  body.page-template-page-registration-php .contact__us__section,
  body.page-template-page-registration-php .contact__us__card,
  body.lm-registration-request,
  body.lm-registration-request .layout,
  body.lm-registration-request .main-body,
  body.lm-registration-request .contact__us__section,
  body.lm-registration-request .contact__us__card {
    max-width: 100%;
    overflow-x: clip;
  }

  .page-bottom {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* ============================================================
   SP モバイルヘッダー padding/margin リセット
   ============================================================ */
@media screen and (max-width: 768px) {

  .mobile-header {
    padding: 0 !important;
    margin: 0 !important;
  }

  .mobile-header .mobile-header__top-bar,
  .mobile-header .mobile-header__nav-bar {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ============================================================
   SP オフキャンバス幅
   ============================================================ */
@media screen and (max-width: 768px) {
  .mobile-offcanvas {
    max-width: min(250px, 100vw);
  }

  body.lm-registration-request .mobile-header,
  body.lm-registration-request .mobile-header.d-none-md {
    display: block !important;
  }

  body.lm-registration-request #header,
  body.lm-registration-request #header .header__nav-right,
  body.lm-registration-request #header .header__nav-item {
    display: none !important;
  }
}

/* ============================================================
   TOP / 草刈り代行ページ 仕上げ調整
   ・可読性と縦余白を微調整
   ・固定下部ナビとの干渉を軽減
   ============================================================ */
@media screen and (max-width: 768px) {
  /* .home .main-body,
  .page-template-page-services .main-body,
  .page-template-page-services-php .main-body {
    padding-bottom: 56px;
  } */

  .home .hero .hero__right .hero__content {
    padding: 28px 22px 32px;
    min-height: 270px;
    height: auto;
  }

  .home .hero .hero__right .hero__content .hero__text h2 {
    font-size: 22px;
    line-height: 32px;
    margin-bottom: 14px;
  }

  .home .hero .hero__right .hero__content .hero__text p {
    font-size: 15px;
    line-height: 24px;
  }

  .home .service-section {
    padding: 72px 0 110px;
  }

  .home .section-heading,
  .page-template-page-services .section-heading,
  .page-template-page-services-php .section-heading {
    margin-bottom: 32px;
  }

  .home .section-heading h4,
  .page-template-page-services .section-heading h4,
  .page-template-page-services-php .section-heading h4 {
    font-size: 28px;
    line-height: 34px;
  }

  .home .section-heading p,
  .page-template-page-services .section-heading p,
  .page-template-page-services-php .section-heading p {
    font-size: 13px;
    line-height: 18px;
    letter-spacing: 0.12em;
  }

  .home .service-card .service-card__banner {
    height: 210px;
  }

  .home .service-card .service-card__content {
    padding: 22px 20px 58px;
  }

  .home .service-card .service-card__content h3 {
    font-size: 23px;
    line-height: 30px;
    margin-bottom: 12px;
  }

  .home .service-card .service-card__content p {
    font-size: 15px;
    line-height: 24px;
    letter-spacing: 0.04em;
  }

  .page-template-page-services .mobile-header__nav,
  .page-template-page-services-php .mobile-header__nav {
    display: none !important;
  }

  .page-template-page-services .services-hero,
  .page-template-page-services-php .services-hero {
    min-height: auto;
  }

  .page-template-page-services .services-hero .hero__right,
  .page-template-page-services-php .services-hero .hero__right {
    padding: 44px 22px 34px;
  }

  .page-template-page-services .services-hero .hero__right h1,
  .page-template-page-services-php .services-hero .hero__right h1 {
    font-size: 34px;
    line-height: 40px;
    margin-bottom: 10px;
  }

  .page-template-page-services .services-hero .hero__right h5,
  .page-template-page-services-php .services-hero .hero__right h5 {
    font-size: 22px;
    line-height: 32px;
    margin-bottom: 16px;
  }

  .page-template-page-services .services-hero .hero__right p,
  .page-template-page-services-php .services-hero .hero__right p {
    font-size: 15px;
    line-height: 24px;
    margin-bottom: 16px;
  }

  .page-template-page-services .services-subnav,
  .page-template-page-services-php .services-subnav {
    padding: 16px 14px;
    gap: 10px 12px;
  }

  .page-template-page-services .services-subnav .nav-link,
  .page-template-page-services-php .services-subnav .nav-link {
    font-size: 14px;
    line-height: 20px;
    padding: 6px 10px;
  }

  .page-template-page-services .problems,
  .page-template-page-services-php .problems {
    padding: 72px 0;
  }

  .page-template-page-services .problems .row,
  .page-template-page-services-php .problems .row {
    row-gap: 6px;
  }

  .page-template-page-services .problems .problems-card,
  .page-template-page-services-php .problems .problems-card {
    padding: 22px 18px;
    min-height: 0;
    gap: 14px;
    margin-bottom: 0;
    border-radius: 12px;
  }

  .page-template-page-services .problems .problems-card .content h6,
  .page-template-page-services-php .problems .problems-card .content h6 {
    font-size: 17px;
    line-height: 26px;
  }

  .page-template-page-services .problems .problems-card .content p,
  .page-template-page-services-php .problems .problems-card .content p {
    font-size: 14px;
    line-height: 22px;
    margin-bottom: 0;
  }

  .home .footer .footer__row .footer__col .footer__nav,
  .page-template-page-services .footer .footer__row .footer__col .footer__nav,
  .page-template-page-services-php .footer .footer__row .footer__col .footer__nav {
    gap: 10px;
  }

  .home .page-bottom .page-bottom__nav a,
  .page-template-page-services .page-bottom .page-bottom__nav a,
  .page-template-page-services-php .page-bottom .page-bottom__nav a {
    font-size: 14px;
    line-height: 20px;
  }
}


/* ============================================================
   guide / service-quote 共通ヘッダー利用時の微調整
   後続対応メモ:
   - PCヘッダー文言の可変文字サイズ化
   - SP Instagram セクションの左右余白微調整
   ============================================================ */
@media screen and (min-width: 992px) {
  body.page-id-28 #header {
    left: 250px !important;
    right: 0 !important;
    width: auto !important;
    margin-left: 0 !important;
  }

  body.page-id-28 #header .header__nav-left {
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  body.page-id-28 #header .header__nav-right .header__nav-item {
    min-width: 150px;
  }
}


/* ============================================================
   共通ヘッダー / 下部エリアの最終整列補正
   ============================================================ */
@media screen and (min-width: 992px) {
  body.page-template-page-rental-delivery-php .main-body,
  body.page-template-page-rental-store-list-php .main-body,
  body.page-template-page-login-php .main-body {
    overflow: visible;
  }

  .sidebar ~ .service-tailored,
  .sidebar ~ .footer,
  .sidebar ~ .page-bottom {
    width: calc(100% - 250px) !important;
    margin-left: 250px !important;
    margin-right: 0 !important;
  }

  .sidebar ~ .service-tailored .container--xs,
  .sidebar ~ .footer .container--md,
  .sidebar ~ .page-bottom .page-bottom__nav {
    max-width: 1115px;
  }

  #header.header--nav-only .header__nav-right .header__nav-item--request {
    min-width: 150px;
  }
}

@media screen and (max-width: 768px) {
  .service-tailored,
  .footer,
  .page-bottom {
    width: 100% !important;
    margin-left: 0 !important;
  }

  #header.header--nav-only .mobile-header__nav-items {
    gap: 0;
  }
}

/* ============================================================
   手動サイドバー利用ページ / 会員系SPの回帰防止
   - wishlist / マイページ下層でも header・footer を 250px オフセット
   - sidebar submenu を常に最前面へ
   - 会員系SPで Instagram フッター起因の横スクロールを抑止
   ============================================================ */
@media screen and (min-width: 992px) {
  body.lm-sidebar-manual-layout #header,
  body.lm-sidebar-manual-layout #header.header--nav-only,
  body.lm-sidebar-manual-layout #header.header--has-sidebar {
    left: 250px !important;
    right: 0 !important;
    width: auto !important;
    margin-left: 0 !important;
  }

  body.lm-sidebar-manual-layout .services-bar,
  body.lm-sidebar-manual-layout .service-tailored,
  body.lm-sidebar-manual-layout .guide-section,
  body.lm-sidebar-manual-layout .footer,
  body.lm-sidebar-manual-layout .page-bottom {
    width: calc(100% - 250px) !important;
    margin-left: 250px !important;
    margin-right: 0 !important;
  }

  .sidebar,
  .sidebar-submenu.offcanvas.offcanvas-start {
    pointer-events: auto;
  }

  .sidebar-submenu.offcanvas.offcanvas-start {
    z-index: 10000 !important;
  }
}

@media screen and (max-width: 768px) {
  body.woocommerce-account,
  body.page-template-page-my-account-php,
  body.page-template-page-my-page-php,
  body.page-template-page-my-page-sub-level-php,
  body.page-wishlist,
  body.page-id-28 {
    overflow-x: hidden;
  }

  body.woocommerce-account .main-body,
  body.page-template-page-my-account-php .main-body,
  body.page-template-page-my-page-php .main-body,
  body.page-template-page-my-page-sub-level-php .main-body,
  body.page-wishlist .main-body {
    overflow-x: hidden;
  }

  body.woocommerce-account .footer .footer__instagram,
  body.page-template-page-my-account-php .footer .footer__instagram,
  body.page-template-page-my-page-php .footer .footer__instagram,
  body.page-template-page-my-page-sub-level-php .footer .footer__instagram,
  body.page-wishlist .footer .footer__instagram {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}



/* ============================================================
   対象ページ別のサイドバー干渉防止
   - レンタル一覧 / 各アーカイブ / ログインのヘッダー・フッター位置を明示
   - 商品詳細 / 会員系のサイドメニューを最前面に固定
   ============================================================ */
@media screen and (min-width: 992px) {
  body.lm-sidebar-offset-layout #header,
  body.post-type-archive-news #header,
  body.post-type-archive-blog #header,
  body.post-type-archive-column #header,
  body.post-type-archive-case-study #header,
  body.post-type-archive-case_study #header,
  body.page-template-page-rental-store-list-php #header,
  body.page-template-page-rental-delivery-php #header,
  body.page-template-page-login-php #header {
    left: 250px !important;
    right: 0 !important;
    width: auto !important;
    margin-left: 0 !important;
  }

  body.page-template-page-rental-store-list-php .services-bar,
  body.page-template-page-rental-store-list-php .service-tailored,
  body.page-template-page-rental-store-list-php .guide-section,
  body.page-template-page-rental-store-list-php .footer,
  body.page-template-page-rental-store-list-php .page-bottom,
  body.page-template-page-rental-delivery-php .services-bar,
  body.page-template-page-rental-delivery-php .service-tailored,
  body.page-template-page-rental-delivery-php .guide-section,
  body.page-template-page-rental-delivery-php .footer,
  body.page-template-page-rental-delivery-php .page-bottom,
  body.page-template-page-login-php .services-bar,
  body.page-template-page-login-php .service-tailored,
  body.page-template-page-login-php .guide-section,
  body.page-template-page-login-php .footer,
  body.page-template-page-login-php .page-bottom {
    width: calc(100% - 250px) !important;
    margin-left: 250px !important;
    margin-right: 0 !important;
  }

  body.lm-sidebar-clickable-page .sidebar,
  body.lm-sidebar-clickable-page .sidebar-submenu.offcanvas.offcanvas-start,
  body.lm-sidebar-manual-layout .sidebar,
  body.lm-sidebar-manual-layout .sidebar-submenu.offcanvas.offcanvas-start {
    pointer-events: auto !important;
    z-index: 10000 !important;
  }
}

@media screen and (max-width: 768px) {
  body.lm-sidebar-manual-layout .footer,
  body.page-template-page-login-php .footer,
  body.lm-sidebar-manual-layout .page-bottom,
  body.page-template-page-login-php .page-bottom {
    width: 100% !important;
    margin-left: 0 !important;
  }

  body.lm-sidebar-manual-layout .footer .container--md,
  body.page-template-page-login-php .footer .container--md {
    max-width: 100% !important;
    overflow-x: clip;
  }

  body.lm-sidebar-manual-layout .footer .container--md > .footer__instagram,
  body.lm-sidebar-manual-layout .footer .footer__instagram,
  body.page-template-page-login-php .footer .container--md > .footer__instagram,
  body.page-template-page-login-php .footer .footer__instagram {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* ============================================================
   会員ページ下部要素を main-body 幅に収める
   - main-body 内に入った CTA / footer / page-bottom の二重オフセットを打ち消す
   - orders / wishlist / login を含む会員系下部エリアを本文幅に統一
   ============================================================ */
@media screen and (min-width: 992px) {
  body.lm-sidebar-manual-layout .main-body.main-body--footer-stack,
  body.woocommerce-account .main-body.main-body--footer-stack,
  body.page-template-page-login-php .main-body.main-body--footer-stack,
  body.page-wishlist .main-body.main-body--footer-stack {
    overflow: visible;
  }

  body.lm-sidebar-manual-layout .main-body .services-bar,
  body.lm-sidebar-manual-layout .main-body .service-tailored,
  body.lm-sidebar-manual-layout .main-body .guide-section,
  body.lm-sidebar-manual-layout .main-body .footer,
  body.lm-sidebar-manual-layout .main-body .page-bottom,
  body.woocommerce-account .main-body .services-bar,
  body.woocommerce-account .main-body .service-tailored,
  body.woocommerce-account .main-body .guide-section,
  body.woocommerce-account .main-body .footer,
  body.woocommerce-account .main-body .page-bottom,
  body.page-template-page-login-php .main-body .services-bar,
  body.page-template-page-login-php .main-body .service-tailored,
  body.page-template-page-login-php .main-body .guide-section,
  body.page-template-page-login-php .main-body .footer,
  body.page-template-page-login-php .main-body .page-bottom,
  body.page-wishlist .main-body .services-bar,
  body.page-wishlist .main-body .service-tailored,
  body.page-wishlist .main-body .guide-section,
  body.page-wishlist .main-body .footer,
  body.page-wishlist .main-body .page-bottom {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 768px) {
  body.lm-sidebar-manual-layout .main-body.main-body--footer-stack,
  body.woocommerce-account .main-body.main-body--footer-stack,
  body.page-template-page-login-php .main-body.main-body--footer-stack,
  body.page-wishlist .main-body.main-body--footer-stack {
    width: 100% !important;
    margin-left: 0 !important;
    overflow-x: hidden;
  }
}


/* ============================================================
   ログイン / 会員ページの下部要素最終補正
   - custom login 直下と footer 側 wrapper の両方で横幅計算を統一
   ============================================================ */
@media screen and (min-width: 992px) {
  body.page-template-page-login-php .member-login-page,
  body.page-template-page-login-php .main-body.member-login-page {
    overflow: visible;
  }

  body.page-template-page-login-php .member-login-page ~ .main-body.main-body--footer-stack,
  body.page-template-page-login-php .member-login-page ~ .main-body.main-body--footer-stack .services-bar,
  body.page-template-page-login-php .member-login-page ~ .main-body.main-body--footer-stack .service-tailored,
  body.page-template-page-login-php .member-login-page ~ .main-body.main-body--footer-stack .guide-section,
  body.page-template-page-login-php .member-login-page ~ .main-body.main-body--footer-stack .footer,
  body.page-template-page-login-php .member-login-page ~ .main-body.main-body--footer-stack .page-bottom {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* ============================================================
   ログイン / レンタル一覧の footer-stack 幅補正
   - footer.php 側 wrapper に入った CTA / footer / page-bottom を main-body 内幅に合わせる
   ============================================================ */
@media screen and (min-width: 992px) {
  body.page-template-page-rental-delivery-php .main-body.main-body--footer-stack,
  body.page-template-page-rental-store-list-php .main-body.main-body--footer-stack,
  body.page-template-page-login-php .main-body.main-body--footer-stack {
    overflow: visible;
  }

  body.page-template-page-rental-delivery-php .main-body.main-body--footer-stack .services-bar,
  body.page-template-page-rental-delivery-php .main-body.main-body--footer-stack .service-tailored,
  body.page-template-page-rental-delivery-php .main-body.main-body--footer-stack .guide-section,
  body.page-template-page-rental-delivery-php .main-body.main-body--footer-stack .footer,
  body.page-template-page-rental-delivery-php .main-body.main-body--footer-stack .page-bottom,
  body.page-template-page-rental-store-list-php .main-body.main-body--footer-stack .services-bar,
  body.page-template-page-rental-store-list-php .main-body.main-body--footer-stack .service-tailored,
  body.page-template-page-rental-store-list-php .main-body.main-body--footer-stack .guide-section,
  body.page-template-page-rental-store-list-php .main-body.main-body--footer-stack .footer,
  body.page-template-page-rental-store-list-php .main-body.main-body--footer-stack .page-bottom,
  body.page-template-page-login-php .main-body.main-body--footer-stack .services-bar,
  body.page-template-page-login-php .main-body.main-body--footer-stack .service-tailored,
  body.page-template-page-login-php .main-body.main-body--footer-stack .guide-section,
  body.page-template-page-login-php .main-body.main-body--footer-stack .footer,
  body.page-template-page-login-php .main-body.main-body--footer-stack .page-bottom {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 768px) {
  body.page-template-page-rental-delivery-php .main-body.main-body--footer-stack,
  body.page-template-page-rental-store-list-php .main-body.main-body--footer-stack,
  body.page-template-page-login-php .main-body.main-body--footer-stack {
    width: 100% !important;
    margin-left: 0 !important;
    overflow-x: hidden;
  }
}

/* ============================================================
   2026-04-26 最終SP追い込み
   - product詳細ページ基準で Instagram フッターを full-bleed に統一
   - マイアカウント / お気に入りの右余白・横スクロールを抑止
   - 768px の footer menu 余白を他ページと統一
   ============================================================ */
@media screen and (max-width: 430px) {
  .service-section__serve .service-section__serve-row .service-section__serve-col {
    padding: 6px 2px;
  }

  .service-section__serve .service-section__serve-row .service-section__serve-col span {
    font-size: 9px;
    line-height: 12px;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 768px) {
  body.woocommerce-account,
  body.page-template-page-my-account-php,
  body.page-template-page-my-page-php,
  body.page-template-page-my-page-sub-level-php,
  body.page-template-page-login-php,
  body.page-wishlist {
    overflow-x: hidden !important;
  }

  body.woocommerce-account .layout,
  body.page-template-page-my-account-php .layout,
  body.page-template-page-my-page-php .layout,
  body.page-template-page-my-page-sub-level-php .layout,
  body.page-template-page-login-php .layout,
  body.page-wishlist .layout,
  body.woocommerce-account .main-body,
  body.page-template-page-my-account-php .main-body,
  body.page-template-page-my-page-php .main-body,
  body.page-template-page-my-page-sub-level-php .main-body,
  body.page-template-page-login-php .main-body,
  body.page-wishlist .main-body,
  body.page-wishlist .mypage-wrap,
  body.page-wishlist .wishlist-page,
  body.page-wishlist .wishlist-page__products,
  body.page-template-page-my-account-php .member-account-shell,
  body.page-template-page-my-account-php .member-account-shell__content,
  body.woocommerce-account .member-account-shell,
  body.woocommerce-account .member-account-shell__content {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    box-sizing: border-box;
  }

  body.page-wishlist .wishlist-page__list {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-wishlist .wishlist-page__col {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.page-wishlist .wishlist-page__summary-link,
  body.page-wishlist .wishlist-page__btn,
  body.page-template-page-my-account-php .member-delete-form .button,
  body.page-template-page-my-account-php .lm-order-invoice-action .button,
  body.page-template-page-my-account-php .lm-view-order-actions .button,
  body.woocommerce-account .member-delete-form .button,
  body.woocommerce-account .lm-order-invoice-action .button,
  body.woocommerce-account .lm-view-order-actions .button {
    width: 100% !important;
    min-width: 0 !important;
  }

  body.page-template-page-my-account-php .lm-order-invoice-action,
  body.woocommerce-account .lm-order-invoice-action,
  body.page-template-page-my-account-php .lm-view-order-actions,
  body.woocommerce-account .lm-view-order-actions {
    flex-wrap: wrap;
  }

  body.page-template-page-my-account-php .shop_table,
  body.woocommerce-account .shop_table,
  body.page-template-page-my-account-php .woocommerce-table--order-details,
  body.woocommerce-account .woocommerce-table--order-details {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.woocommerce-account .footer .footer__heading,
  body.woocommerce-account .footer .footer__row,
  body.page-template-page-my-account-php .footer .footer__heading,
  body.page-template-page-my-account-php .footer .footer__row,
  body.page-template-page-my-page-php .footer .footer__heading,
  body.page-template-page-my-page-php .footer .footer__row,
  body.page-template-page-my-page-sub-level-php .footer .footer__heading,
  body.page-template-page-my-page-sub-level-php .footer .footer__row,
  body.page-template-page-login-php .footer .footer__heading,
  body.page-template-page-login-php .footer .footer__row,
  body.page-wishlist .footer .footer__heading,
  body.page-wishlist .footer .footer__row,
  body.woocommerce-account .page-bottom,
  body.page-template-page-my-account-php .page-bottom,
  body.page-template-page-my-page-php .page-bottom,
  body.page-template-page-my-page-sub-level-php .page-bottom,
  body.page-template-page-login-php .page-bottom,
  body.page-wishlist .page-bottom {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  body.woocommerce-account .footer .container--md > .footer__instagram,
  body.woocommerce-account .footer .footer__instagram,
  body.page-template-page-my-account-php .footer .container--md > .footer__instagram,
  body.page-template-page-my-account-php .footer .footer__instagram,
  body.page-template-page-my-page-php .footer .container--md > .footer__instagram,
  body.page-template-page-my-page-php .footer .footer__instagram,
  body.page-template-page-my-page-sub-level-php .footer .container--md > .footer__instagram,
  body.page-template-page-my-page-sub-level-php .footer .footer__instagram,
  body.page-template-page-login-php .footer .container--md > .footer__instagram,
  body.page-template-page-login-php .footer .footer__instagram,
  body.page-wishlist .footer .container--md > .footer__instagram,
  body.page-wishlist .footer .footer__instagram {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
  }
}

/* ============================================================
   会員認証ページの 820px 前後レイアウト統一
   - /registration/ と /member-login/ を wishlist と同じタブレット実装へ寄せる
   - PCヘッダー右ナビ / サイドメニューを消し、モバイルヘッダー主体に統一
   ============================================================ */
@media screen and (min-width: 769px) and (max-width: 991px) {
  body.lm-login-request,
  body.lm-registration-request,
  body.lm-member-auth-page {
    overflow-x: hidden;
  }

  body.lm-login-request .sidebar,
  body.lm-login-request .sidebar-submenu.offcanvas.offcanvas-start,
  body.lm-registration-request .sidebar,
  body.lm-registration-request .sidebar-submenu.offcanvas.offcanvas-start,
  body.lm-member-auth-page .sidebar,
  body.lm-member-auth-page .sidebar-submenu.offcanvas.offcanvas-start {
    display: none !important;
  }

  body.lm-login-request #header,
  body.lm-login-request #header.header--nav-only,
  body.lm-login-request #header .header__nav-right,
  body.lm-login-request #header .header__nav-item,
  body.lm-registration-request #header,
  body.lm-registration-request #header.header--nav-only,
  body.lm-registration-request #header .header__nav-right,
  body.lm-registration-request #header .header__nav-item,
  body.lm-member-auth-page #header,
  body.lm-member-auth-page #header.header--nav-only,
  body.lm-member-auth-page #header .header__nav-right,
  body.lm-member-auth-page #header .header__nav-item {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.lm-login-request .mobile-header,
  body.lm-login-request .mobile-header.d-none-md,
  body.lm-registration-request .mobile-header,
  body.lm-registration-request .mobile-header.d-none-md,
  body.lm-member-auth-page .mobile-header,
  body.lm-member-auth-page .mobile-header.d-none-md {
    display: block !important;
  }

  body.lm-login-request .layout,
  body.lm-registration-request .layout,
  body.lm-member-auth-page .layout {
    display: block !important;
  }

  body.lm-login-request .main-body,
  body.lm-registration-request .main-body,
  body.lm-member-auth-page .main-body,
  body.lm-login-request .footer,
  body.lm-registration-request .footer,
  body.lm-member-auth-page .footer,
  body.lm-login-request .page-bottom,
  body.lm-registration-request .page-bottom,
  body.lm-member-auth-page .page-bottom {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ============================================================
   docs対応 最終上書き（2026-04-27）
   - wishlist / member auth / account / contact 系の 769-991px ヘッダー統一
   - footer-stack を main-body 幅に収めて左余白・重なりを抑止
   - 商品詳細 Swiper の表示安定化
   ============================================================ */
@media screen and (min-width: 992px) {
  body.page-wishlist .main-body.main-body--footer-stack,
  body.page-template-page-login-php .main-body.main-body--footer-stack,
  body.lm-login-request .main-body.main-body--footer-stack,
  body.page-template-page-registration-php .main-body.main-body--footer-stack,
  body.lm-registration-request .main-body.main-body--footer-stack {
    overflow: visible;
  }

  body.page-wishlist .main-body.main-body--footer-stack .service-tailored,
  body.page-wishlist .main-body.main-body--footer-stack .guide-section,
  body.page-wishlist .main-body.main-body--footer-stack .footer,
  body.page-wishlist .main-body.main-body--footer-stack .page-bottom,
  body.page-template-page-login-php .main-body.main-body--footer-stack .service-tailored,
  body.page-template-page-login-php .main-body.main-body--footer-stack .guide-section,
  body.page-template-page-login-php .main-body.main-body--footer-stack .footer,
  body.page-template-page-login-php .main-body.main-body--footer-stack .page-bottom,
  body.lm-login-request .main-body.main-body--footer-stack .service-tailored,
  body.lm-login-request .main-body.main-body--footer-stack .guide-section,
  body.lm-login-request .main-body.main-body--footer-stack .footer,
  body.lm-login-request .main-body.main-body--footer-stack .page-bottom,
  body.page-template-page-registration-php .main-body.main-body--footer-stack .service-tailored,
  body.page-template-page-registration-php .main-body.main-body--footer-stack .guide-section,
  body.page-template-page-registration-php .main-body.main-body--footer-stack .footer,
  body.page-template-page-registration-php .main-body.main-body--footer-stack .page-bottom,
  body.lm-registration-request .main-body.main-body--footer-stack .service-tailored,
  body.lm-registration-request .main-body.main-body--footer-stack .guide-section,
  body.lm-registration-request .main-body.main-body--footer-stack .footer,
  body.lm-registration-request .main-body.main-body--footer-stack .page-bottom {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media screen and (min-width: 769px) and (max-width: 991px) {
  body.woocommerce-account,
  body.page-template-page-my-account-php,
  body.page-template-page-my-page-php,
  body.page-template-page-my-page-sub-level-php,
  body.page-template-page-contact-us-php,
  body.page-template-page-service-quote-php,
  body.page-template-page-login-php,
  body.page-template-page-registration-php,
  body.page-wishlist,
  body.lm-login-request,
  body.lm-registration-request,
  body.lm-member-auth-page {
    overflow-x: hidden;
  }

  body.woocommerce-account .sidebar,
  body.woocommerce-account .sidebar-submenu.offcanvas.offcanvas-start,
  body.page-template-page-my-account-php .sidebar,
  body.page-template-page-my-account-php .sidebar-submenu.offcanvas.offcanvas-start,
  body.page-template-page-my-page-php .sidebar,
  body.page-template-page-my-page-php .sidebar-submenu.offcanvas.offcanvas-start,
  body.page-template-page-my-page-sub-level-php .sidebar,
  body.page-template-page-my-page-sub-level-php .sidebar-submenu.offcanvas.offcanvas-start,
  body.page-template-page-contact-us-php .sidebar,
  body.page-template-page-contact-us-php .sidebar-submenu.offcanvas.offcanvas-start,
  body.page-template-page-service-quote-php .sidebar,
  body.page-template-page-service-quote-php .sidebar-submenu.offcanvas.offcanvas-start,
  body.page-template-page-login-php .sidebar,
  body.page-template-page-login-php .sidebar-submenu.offcanvas.offcanvas-start,
  body.page-template-page-registration-php .sidebar,
  body.page-template-page-registration-php .sidebar-submenu.offcanvas.offcanvas-start,
  body.page-wishlist .sidebar,
  body.page-wishlist .sidebar-submenu.offcanvas.offcanvas-start,
  body.lm-login-request .sidebar,
  body.lm-login-request .sidebar-submenu.offcanvas.offcanvas-start,
  body.lm-registration-request .sidebar,
  body.lm-registration-request .sidebar-submenu.offcanvas.offcanvas-start,
  body.lm-member-auth-page .sidebar,
  body.lm-member-auth-page .sidebar-submenu.offcanvas.offcanvas-start {
    display: none !important;
  }

  body.woocommerce-account .layout,
  body.page-template-page-my-account-php .layout,
  body.page-template-page-my-page-php .layout,
  body.page-template-page-my-page-sub-level-php .layout,
  body.page-template-page-contact-us-php .layout,
  body.page-template-page-service-quote-php .layout,
  body.page-template-page-login-php .layout,
  body.page-template-page-registration-php .layout,
  body.page-wishlist .layout,
  body.lm-login-request .layout,
  body.lm-registration-request .layout,
  body.lm-member-auth-page .layout {
    display: block !important;
  }

  body.woocommerce-account .mobile-header,
  body.woocommerce-account .mobile-header.d-none-md,
  body.page-template-page-my-account-php .mobile-header,
  body.page-template-page-my-account-php .mobile-header.d-none-md,
  body.page-template-page-my-page-php .mobile-header,
  body.page-template-page-my-page-php .mobile-header.d-none-md,
  body.page-template-page-my-page-sub-level-php .mobile-header,
  body.page-template-page-my-page-sub-level-php .mobile-header.d-none-md,
  body.page-template-page-contact-us-php .mobile-header,
  body.page-template-page-contact-us-php .mobile-header.d-none-md,
  body.page-template-page-service-quote-php .mobile-header,
  body.page-template-page-service-quote-php .mobile-header.d-none-md,
  body.page-template-page-login-php .mobile-header,
  body.page-template-page-login-php .mobile-header.d-none-md,
  body.page-template-page-registration-php .mobile-header,
  body.page-template-page-registration-php .mobile-header.d-none-md,
  body.page-wishlist .mobile-header,
  body.page-wishlist .mobile-header.d-none-md,
  body.lm-login-request .mobile-header,
  body.lm-login-request .mobile-header.d-none-md,
  body.lm-registration-request .mobile-header,
  body.lm-registration-request .mobile-header.d-none-md,
  body.lm-member-auth-page .mobile-header,
  body.lm-member-auth-page .mobile-header.d-none-md {
    display: block !important;
  }

  body.woocommerce-account #header,
  body.woocommerce-account #header .header__nav-left,
  body.woocommerce-account #header .header__nav-right,
  body.woocommerce-account #header .header__nav-item,
  body.page-template-page-my-account-php #header,
  body.page-template-page-my-account-php #header .header__nav-left,
  body.page-template-page-my-account-php #header .header__nav-right,
  body.page-template-page-my-account-php #header .header__nav-item,
  body.page-template-page-my-page-php #header,
  body.page-template-page-my-page-php #header .header__nav-left,
  body.page-template-page-my-page-php #header .header__nav-right,
  body.page-template-page-my-page-php #header .header__nav-item,
  body.page-template-page-my-page-sub-level-php #header,
  body.page-template-page-my-page-sub-level-php #header .header__nav-left,
  body.page-template-page-my-page-sub-level-php #header .header__nav-right,
  body.page-template-page-my-page-sub-level-php #header .header__nav-item,
  body.page-template-page-contact-us-php #header,
  body.page-template-page-contact-us-php #header .header__nav-left,
  body.page-template-page-contact-us-php #header .header__nav-right,
  body.page-template-page-contact-us-php #header .header__nav-item,
  body.page-template-page-service-quote-php #header,
  body.page-template-page-service-quote-php #header .header__nav-left,
  body.page-template-page-service-quote-php #header .header__nav-right,
  body.page-template-page-service-quote-php #header .header__nav-item,
  body.page-template-page-login-php #header,
  body.page-template-page-login-php #header .header__nav-left,
  body.page-template-page-login-php #header .header__nav-right,
  body.page-template-page-login-php #header .header__nav-item,
  body.page-template-page-registration-php #header,
  body.page-template-page-registration-php #header .header__nav-left,
  body.page-template-page-registration-php #header .header__nav-right,
  body.page-template-page-registration-php #header .header__nav-item,
  body.page-wishlist #header,
  body.page-wishlist #header .header__nav-left,
  body.page-wishlist #header .header__nav-right,
  body.page-wishlist #header .header__nav-item,
  body.lm-login-request #header,
  body.lm-login-request #header .header__nav-left,
  body.lm-login-request #header .header__nav-right,
  body.lm-login-request #header .header__nav-item,
  body.lm-registration-request #header,
  body.lm-registration-request #header .header__nav-left,
  body.lm-registration-request #header .header__nav-right,
  body.lm-registration-request #header .header__nav-item,
  body.lm-member-auth-page #header,
  body.lm-member-auth-page #header .header__nav-left,
  body.lm-member-auth-page #header .header__nav-right,
  body.lm-member-auth-page #header .header__nav-item {
    display: none !important;
  }

  body.woocommerce-account .main-body,
  body.page-template-page-my-account-php .main-body,
  body.page-template-page-my-page-php .main-body,
  body.page-template-page-my-page-sub-level-php .main-body,
  body.page-template-page-contact-us-php .main-body,
  body.page-template-page-service-quote-php .main-body,
  body.page-template-page-login-php .main-body,
  body.page-template-page-registration-php .main-body,
  body.page-wishlist .main-body,
  body.lm-login-request .main-body,
  body.lm-registration-request .main-body,
  body.lm-member-auth-page .main-body {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
  }

  body.woocommerce-account .services-bar,
  body.woocommerce-account .service-tailored,
  body.woocommerce-account .guide-section,
  body.woocommerce-account .footer,
  body.woocommerce-account .page-bottom,
  body.page-template-page-my-account-php .services-bar,
  body.page-template-page-my-account-php .service-tailored,
  body.page-template-page-my-account-php .guide-section,
  body.page-template-page-my-account-php .footer,
  body.page-template-page-my-account-php .page-bottom,
  body.page-template-page-my-page-php .services-bar,
  body.page-template-page-my-page-php .service-tailored,
  body.page-template-page-my-page-php .guide-section,
  body.page-template-page-my-page-php .footer,
  body.page-template-page-my-page-php .page-bottom,
  body.page-template-page-my-page-sub-level-php .services-bar,
  body.page-template-page-my-page-sub-level-php .service-tailored,
  body.page-template-page-my-page-sub-level-php .guide-section,
  body.page-template-page-my-page-sub-level-php .footer,
  body.page-template-page-my-page-sub-level-php .page-bottom,
  body.page-template-page-contact-us-php .services-bar,
  body.page-template-page-contact-us-php .service-tailored,
  body.page-template-page-contact-us-php .guide-section,
  body.page-template-page-contact-us-php .footer,
  body.page-template-page-contact-us-php .page-bottom,
  body.page-template-page-service-quote-php .services-bar,
  body.page-template-page-service-quote-php .service-tailored,
  body.page-template-page-service-quote-php .guide-section,
  body.page-template-page-service-quote-php .footer,
  body.page-template-page-service-quote-php .page-bottom,
  body.page-template-page-login-php .services-bar,
  body.page-template-page-login-php .service-tailored,
  body.page-template-page-login-php .guide-section,
  body.page-template-page-login-php .footer,
  body.page-template-page-login-php .page-bottom,
  body.page-template-page-registration-php .services-bar,
  body.page-template-page-registration-php .service-tailored,
  body.page-template-page-registration-php .guide-section,
  body.page-template-page-registration-php .footer,
  body.page-template-page-registration-php .page-bottom,
  body.page-wishlist .services-bar,
  body.page-wishlist .service-tailored,
  body.page-wishlist .guide-section,
  body.page-wishlist .footer,
  body.page-wishlist .page-bottom,
  body.lm-login-request .services-bar,
  body.lm-login-request .service-tailored,
  body.lm-login-request .guide-section,
  body.lm-login-request .footer,
  body.lm-login-request .page-bottom,
  body.lm-registration-request .services-bar,
  body.lm-registration-request .service-tailored,
  body.lm-registration-request .guide-section,
  body.lm-registration-request .footer,
  body.lm-registration-request .page-bottom,
  body.lm-member-auth-page .services-bar,
  body.lm-member-auth-page .service-tailored,
  body.lm-member-auth-page .guide-section,
  body.lm-member-auth-page .footer,
  body.lm-member-auth-page .page-bottom {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-wishlist .wishlist-page__products,
  body.page-wishlist .wishlist-page__list,
  body.page-wishlist .mypage-wrap--wishlist {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.page-wishlist .footer .container--md,
  body.page-template-page-contact-us-php .footer .container--md,
  body.page-template-page-service-quote-php .footer .container--md,
  body.page-template-page-login-php .footer .container--md,
  body.page-template-page-registration-php .footer .container--md,
  body.woocommerce-account .footer .container--md,
  body.page-template-page-my-account-php .footer .container--md,
  body.page-template-page-my-page-php .footer .container--md,
  body.page-template-page-my-page-sub-level-php .footer .container--md,
  body.lm-login-request .footer .container--md,
  body.lm-registration-request .footer .container--md,
  body.lm-member-auth-page .footer .container--md {
    max-width: none;
    padding-left: 0;
    padding-right: 0;
  }

  body.page-wishlist .footer .footer__heading,
  body.page-wishlist .footer .footer__row,
  body.page-wishlist .page-bottom,
  body.page-template-page-contact-us-php .footer .footer__heading,
  body.page-template-page-contact-us-php .footer .footer__row,
  body.page-template-page-contact-us-php .page-bottom,
  body.page-template-page-service-quote-php .footer .footer__heading,
  body.page-template-page-service-quote-php .footer .footer__row,
  body.page-template-page-service-quote-php .page-bottom,
  body.page-template-page-login-php .footer .footer__heading,
  body.page-template-page-login-php .footer .footer__row,
  body.page-template-page-login-php .page-bottom,
  body.page-template-page-registration-php .footer .footer__heading,
  body.page-template-page-registration-php .footer .footer__row,
  body.page-template-page-registration-php .page-bottom,
  body.woocommerce-account .footer .footer__heading,
  body.woocommerce-account .footer .footer__row,
  body.woocommerce-account .page-bottom,
  body.page-template-page-my-account-php .footer .footer__heading,
  body.page-template-page-my-account-php .footer .footer__row,
  body.page-template-page-my-account-php .page-bottom,
  body.page-template-page-my-page-php .footer .footer__heading,
  body.page-template-page-my-page-php .footer .footer__row,
  body.page-template-page-my-page-php .page-bottom,
  body.page-template-page-my-page-sub-level-php .footer .footer__heading,
  body.page-template-page-my-page-sub-level-php .footer .footer__row,
  body.page-template-page-my-page-sub-level-php .page-bottom,
  body.lm-login-request .footer .footer__heading,
  body.lm-login-request .footer .footer__row,
  body.lm-login-request .page-bottom,
  body.lm-registration-request .footer .footer__heading,
  body.lm-registration-request .footer .footer__row,
  body.lm-registration-request .page-bottom,
  body.lm-member-auth-page .footer .footer__heading,
  body.lm-member-auth-page .footer .footer__row,
  body.lm-member-auth-page .page-bottom {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

@media screen and (max-width: 768px) {
  .service-section__serve .service-section__serve-row .service-section__serve-col span {
    font-size: 10px;
    line-height: 13px;
    letter-spacing: 0;
    white-space: normal;
    word-break: keep-all;
  }
}

.single-product .product-slider,
.radio-controlled .tabs-section .product-slider {
  --lm-thumb-gap: 10px;
  --lm-thumb-columns: 5;
}

.single-product .product-slider .main-slider,
.single-product .product-slider .swiper {
  overflow: hidden;
}

.single-product .product-slider .thumb-slider,
.radio-controlled .tabs-section .product-slider .thumb-slider {
  position: relative;
  margin-top: 10px;
}

.single-product .product-slider .thumb-slider .swiper-slide,
.radio-controlled .tabs-section .product-slider .thumb-slider .swiper-slide {
  cursor: pointer;
  box-sizing: border-box;
  border: 2px solid transparent;
  opacity: 0.6;
  transition: opacity .2s ease, border-color .2s ease, box-shadow .2s ease;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.single-product .product-slider .thumb-slider .swiper-slide:hover,
.single-product .product-slider .thumb-slider .swiper-slide:focus-visible,
.radio-controlled .tabs-section .product-slider .thumb-slider .swiper-slide:hover,
.radio-controlled .tabs-section .product-slider .thumb-slider .swiper-slide:focus-visible {
  opacity: .9;
  border-color: #7cc47f;
  outline: none;
}

/* .single-product .product-slider .thumb-slider .swiper-slide.swiper-slide-thumb-active,
.radio-controlled .tabs-section .product-slider .thumb-slider .swiper-slide-thumb-active {
  opacity: 1;
  border: 2px solid #4caf50;
  box-shadow: 0 0 0 1px rgba(76, 175, 80, .12);
} */

.single-product .product-slider .thumb-slider .swiper-slide img,
.radio-controlled .tabs-section .product-slider .thumb-slider .swiper-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (min-width: 769px) {
  .single-product .product-slider .thumb-slider,
  .radio-controlled .tabs-section .product-slider .thumb-slider {
    overflow: visible !important;
  }

  .single-product .product-slider .thumb-slider .swiper-wrapper,
  .radio-controlled .tabs-section .product-slider .thumb-slider .swiper-wrapper {
    display: flex;
    gap: var(--lm-thumb-gap);
    width: auto;
    transform: none !important;
    flex-wrap: nowrap;
  }

  .single-product .product-slider.has-many-thumbs .thumb-slider .swiper-wrapper,
  .radio-controlled .tabs-section .product-slider.has-many-thumbs .thumb-slider .swiper-wrapper {
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .single-product .product-slider .thumb-slider .swiper-slide,
  .radio-controlled .tabs-section .product-slider .thumb-slider .swiper-slide {
    width: calc((100% - (var(--lm-thumb-columns, 5) - 1) * var(--lm-thumb-gap)) / var(--lm-thumb-columns, 5)) !important;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-right: 0 !important;
    flex: 0 0 calc((100% - (var(--lm-thumb-columns, 5) - 1) * var(--lm-thumb-gap)) / var(--lm-thumb-columns, 5));
    max-width: calc((100% - (var(--lm-thumb-columns, 5) - 1) * var(--lm-thumb-gap)) / var(--lm-thumb-columns, 5));
  }
}

@media screen and (max-width: 768px) {
  .single-product .rental-delivery-product {
    gap: 25px;
  }

  .single-product .rental-delivery-product .product-assets,
  .single-product .rental-delivery-product .product-detail {
    min-width: 0;
  }

  .single-product .product-slider .thumb-slider,
  .radio-controlled .tabs-section .product-slider .thumb-slider {
    overflow: hidden !important;
    width: calc(100% + 15px);
    margin-right: -15px;
    padding-right: 43px;
    padding-bottom: 2px;
    box-sizing: border-box;
  }

  .single-product .product-slider .thumb-slider::after,
  .radio-controlled .tabs-section .product-slider .thumb-slider::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 32px;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,0.96));
  }

  .single-product .product-slider .thumb-slider .swiper-wrapper,
  .radio-controlled .tabs-section .product-slider .thumb-slider .swiper-wrapper {
    flex-wrap: nowrap;
  }

  .single-product .product-slider .thumb-slider .swiper-slide,
  .radio-controlled .tabs-section .product-slider .thumb-slider .swiper-slide {
    width: 64px !important;
    height: 64px;
    flex: 0 0 64px;
  }
}

/* ============================================================
   2026-04-27 追加安定化
   - 820px / 921px 帯の account・contact 系で PC ヘッダー断片を強制非表示
   - service-quote と同じくモバイルヘッダー主体へ統一
   - rental / member / wishlist 下部要素の本文接続と 991/992px 切替を安定化
   ============================================================ */
@media screen and (min-width: 769px) and (max-width: 991px) {
  body.woocommerce-account,
  body.woocommerce-checkout,
  body.page-template-page-my-account-php,
  body.page-template-page-my-page-php,
  body.page-template-page-my-page-sub-level-php,
  body.page-template-page-contact-us-php,
  body.page-template-page-service-quote-php,
  body.page-template-page-login-php,
  body.page-template-page-registration-php,
  body.page-template-page-rental-delivery-php,
  body.page-template-page-rental-store-list-php,
  body.page-wishlist,
  body.lm-login-request,
  body.lm-registration-request,
  body.lm-member-auth-page,
  body.lm-sidebar-manual-layout,
  body.lm-sidebar-offset-layout {
    overflow-x: hidden;
  }

  body.woocommerce-account .header,
  body.woocommerce-account #header,
  body.woocommerce-account .header__nav-left,
  body.woocommerce-account .header__nav-right,
  body.woocommerce-account .header__nav-item,
  body.woocommerce-checkout .header,
  body.woocommerce-checkout #header,
  body.woocommerce-checkout .header__nav-left,
  body.woocommerce-checkout .header__nav-right,
  body.woocommerce-checkout .header__nav-item,
  body.page-template-page-my-account-php .header,
  body.page-template-page-my-account-php #header,
  body.page-template-page-my-account-php .header__nav-left,
  body.page-template-page-my-account-php .header__nav-right,
  body.page-template-page-my-account-php .header__nav-item,
  body.page-template-page-my-page-php .header,
  body.page-template-page-my-page-php #header,
  body.page-template-page-my-page-php .header__nav-left,
  body.page-template-page-my-page-php .header__nav-right,
  body.page-template-page-my-page-php .header__nav-item,
  body.page-template-page-my-page-sub-level-php .header,
  body.page-template-page-my-page-sub-level-php #header,
  body.page-template-page-my-page-sub-level-php .header__nav-left,
  body.page-template-page-my-page-sub-level-php .header__nav-right,
  body.page-template-page-my-page-sub-level-php .header__nav-item,
  body.page-template-page-contact-us-php .header,
  body.page-template-page-contact-us-php #header,
  body.page-template-page-contact-us-php .header__nav-left,
  body.page-template-page-contact-us-php .header__nav-right,
  body.page-template-page-contact-us-php .header__nav-item,
  body.page-template-page-service-quote-php .header,
  body.page-template-page-service-quote-php #header,
  body.page-template-page-service-quote-php .header__nav-left,
  body.page-template-page-service-quote-php .header__nav-right,
  body.page-template-page-service-quote-php .header__nav-item,
  body.page-template-page-login-php .header,
  body.page-template-page-login-php #header,
  body.page-template-page-login-php .header__nav-left,
  body.page-template-page-login-php .header__nav-right,
  body.page-template-page-login-php .header__nav-item,
  body.page-template-page-registration-php .header,
  body.page-template-page-registration-php #header,
  body.page-template-page-registration-php .header__nav-left,
  body.page-template-page-registration-php .header__nav-right,
  body.page-template-page-registration-php .header__nav-item,
  body.page-template-page-rental-delivery-php .header,
  body.page-template-page-rental-delivery-php #header,
  body.page-template-page-rental-delivery-php .header__nav-left,
  body.page-template-page-rental-delivery-php .header__nav-right,
  body.page-template-page-rental-delivery-php .header__nav-item,
  body.page-template-page-rental-store-list-php .header,
  body.page-template-page-rental-store-list-php #header,
  body.page-template-page-rental-store-list-php .header__nav-left,
  body.page-template-page-rental-store-list-php .header__nav-right,
  body.page-template-page-rental-store-list-php .header__nav-item,
  body.page-wishlist .header,
  body.page-wishlist #header,
  body.page-wishlist .header__nav-left,
  body.page-wishlist .header__nav-right,
  body.page-wishlist .header__nav-item,
  body.lm-login-request .header,
  body.lm-login-request #header,
  body.lm-login-request .header__nav-left,
  body.lm-login-request .header__nav-right,
  body.lm-login-request .header__nav-item,
  body.lm-registration-request .header,
  body.lm-registration-request #header,
  body.lm-registration-request .header__nav-left,
  body.lm-registration-request .header__nav-right,
  body.lm-registration-request .header__nav-item,
  body.lm-member-auth-page .header,
  body.lm-member-auth-page #header,
  body.lm-member-auth-page .header__nav-left,
  body.lm-member-auth-page .header__nav-right,
  body.lm-member-auth-page .header__nav-item,
  body.lm-sidebar-manual-layout .header,
  body.lm-sidebar-manual-layout #header,
  body.lm-sidebar-manual-layout .header__nav-left,
  body.lm-sidebar-manual-layout .header__nav-right,
  body.lm-sidebar-manual-layout .header__nav-item,
  body.lm-sidebar-offset-layout .header,
  body.lm-sidebar-offset-layout #header,
  body.lm-sidebar-offset-layout .header__nav-left,
  body.lm-sidebar-offset-layout .header__nav-right,
  body.lm-sidebar-offset-layout .header__nav-item {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.woocommerce-account .mobile-header,
  body.woocommerce-account .mobile-header.d-none-md,
  body.woocommerce-checkout .mobile-header,
  body.woocommerce-checkout .mobile-header.d-none-md,
  body.page-template-page-my-account-php .mobile-header,
  body.page-template-page-my-account-php .mobile-header.d-none-md,
  body.page-template-page-my-page-php .mobile-header,
  body.page-template-page-my-page-php .mobile-header.d-none-md,
  body.page-template-page-my-page-sub-level-php .mobile-header,
  body.page-template-page-my-page-sub-level-php .mobile-header.d-none-md,
  body.page-template-page-contact-us-php .mobile-header,
  body.page-template-page-contact-us-php .mobile-header.d-none-md,
  body.page-template-page-service-quote-php .mobile-header,
  body.page-template-page-service-quote-php .mobile-header.d-none-md,
  body.page-template-page-login-php .mobile-header,
  body.page-template-page-login-php .mobile-header.d-none-md,
  body.page-template-page-registration-php .mobile-header,
  body.page-template-page-registration-php .mobile-header.d-none-md,
  body.page-template-page-rental-delivery-php .mobile-header,
  body.page-template-page-rental-delivery-php .mobile-header.d-none-md,
  body.page-template-page-rental-store-list-php .mobile-header,
  body.page-template-page-rental-store-list-php .mobile-header.d-none-md,
  body.page-wishlist .mobile-header,
  body.page-wishlist .mobile-header.d-none-md,
  body.lm-login-request .mobile-header,
  body.lm-login-request .mobile-header.d-none-md,
  body.lm-registration-request .mobile-header,
  body.lm-registration-request .mobile-header.d-none-md,
  body.lm-member-auth-page .mobile-header,
  body.lm-member-auth-page .mobile-header.d-none-md,
  body.lm-sidebar-manual-layout .mobile-header,
  body.lm-sidebar-manual-layout .mobile-header.d-none-md,
  body.lm-sidebar-offset-layout .mobile-header,
  body.lm-sidebar-offset-layout .mobile-header.d-none-md {
    display: block !important;
    position: relative;
    z-index: 10002;
  }

  body.woocommerce-account .mobile-header__top-bar,
  body.woocommerce-account .mobile-header__nav-bar,
  body.woocommerce-account .mobile-header__nav,
  body.woocommerce-checkout .mobile-header__top-bar,
  body.woocommerce-checkout .mobile-header__nav-bar,
  body.woocommerce-checkout .mobile-header__nav,
  body.page-template-page-my-account-php .mobile-header__top-bar,
  body.page-template-page-my-account-php .mobile-header__nav-bar,
  body.page-template-page-my-account-php .mobile-header__nav,
  body.page-template-page-my-page-php .mobile-header__top-bar,
  body.page-template-page-my-page-php .mobile-header__nav-bar,
  body.page-template-page-my-page-php .mobile-header__nav,
  body.page-template-page-my-page-sub-level-php .mobile-header__top-bar,
  body.page-template-page-my-page-sub-level-php .mobile-header__nav-bar,
  body.page-template-page-my-page-sub-level-php .mobile-header__nav,
  body.page-template-page-contact-us-php .mobile-header__top-bar,
  body.page-template-page-contact-us-php .mobile-header__nav-bar,
  body.page-template-page-contact-us-php .mobile-header__nav,
  body.page-template-page-service-quote-php .mobile-header__top-bar,
  body.page-template-page-service-quote-php .mobile-header__nav-bar,
  body.page-template-page-service-quote-php .mobile-header__nav,
  body.page-template-page-login-php .mobile-header__top-bar,
  body.page-template-page-login-php .mobile-header__nav-bar,
  body.page-template-page-login-php .mobile-header__nav,
  body.page-template-page-registration-php .mobile-header__top-bar,
  body.page-template-page-registration-php .mobile-header__nav-bar,
  body.page-template-page-registration-php .mobile-header__nav,
  body.page-template-page-rental-delivery-php .mobile-header__top-bar,
  body.page-template-page-rental-delivery-php .mobile-header__nav-bar,
  body.page-template-page-rental-delivery-php .mobile-header__nav,
  body.page-template-page-rental-store-list-php .mobile-header__top-bar,
  body.page-template-page-rental-store-list-php .mobile-header__nav-bar,
  body.page-template-page-rental-store-list-php .mobile-header__nav,
  body.page-wishlist .mobile-header__top-bar,
  body.page-wishlist .mobile-header__nav-bar,
  body.page-wishlist .mobile-header__nav,
  body.lm-login-request .mobile-header__top-bar,
  body.lm-login-request .mobile-header__nav-bar,
  body.lm-login-request .mobile-header__nav,
  body.lm-registration-request .mobile-header__top-bar,
  body.lm-registration-request .mobile-header__nav-bar,
  body.lm-registration-request .mobile-header__nav,
  body.lm-member-auth-page .mobile-header__top-bar,
  body.lm-member-auth-page .mobile-header__nav-bar,
  body.lm-member-auth-page .mobile-header__nav,
  body.lm-sidebar-manual-layout .mobile-header__top-bar,
  body.lm-sidebar-manual-layout .mobile-header__nav-bar,
  body.lm-sidebar-manual-layout .mobile-header__nav,
  body.lm-sidebar-offset-layout .mobile-header__top-bar,
  body.lm-sidebar-offset-layout .mobile-header__nav-bar,
  body.lm-sidebar-offset-layout .mobile-header__nav {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body.woocommerce-account .main-body,
  body.woocommerce-checkout .main-body,
  body.page-template-page-my-account-php .main-body,
  body.page-template-page-my-page-php .main-body,
  body.page-template-page-my-page-sub-level-php .main-body,
  body.page-template-page-contact-us-php .main-body,
  body.page-template-page-service-quote-php .main-body,
  body.page-template-page-login-php .main-body,
  body.page-template-page-registration-php .main-body,
  body.page-template-page-rental-delivery-php .main-body,
  body.page-template-page-rental-store-list-php .main-body,
  body.page-wishlist .main-body,
  body.lm-login-request .main-body,
  body.lm-registration-request .main-body,
  body.lm-member-auth-page .main-body,
  body.lm-sidebar-manual-layout .main-body,
  body.lm-sidebar-offset-layout .main-body {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.page-template-page-rental-delivery-php .service-tailored,
  body.page-template-page-rental-delivery-php .guide-section,
  body.page-template-page-rental-delivery-php .footer,
  body.page-template-page-rental-delivery-php .page-bottom,
  body.page-template-page-rental-store-list-php .service-tailored,
  body.page-template-page-rental-store-list-php .guide-section,
  body.page-template-page-rental-store-list-php .footer,
  body.page-template-page-rental-store-list-php .page-bottom,
  body.page-template-page-login-php .service-tailored,
  body.page-template-page-login-php .guide-section,
  body.page-template-page-login-php .footer,
  body.page-template-page-login-php .page-bottom,
  body.page-template-page-registration-php .service-tailored,
  body.page-template-page-registration-php .guide-section,
  body.page-template-page-registration-php .footer,
  body.page-template-page-registration-php .page-bottom,
  body.page-wishlist .service-tailored,
  body.page-wishlist .guide-section,
  body.page-wishlist .footer,
  body.page-wishlist .page-bottom,
  body.lm-login-request .service-tailored,
  body.lm-login-request .guide-section,
  body.lm-login-request .footer,
  body.lm-login-request .page-bottom,
  body.lm-registration-request .service-tailored,
  body.lm-registration-request .guide-section,
  body.lm-registration-request .footer,
  body.lm-registration-request .page-bottom {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media screen and (min-width: 992px) {
  body.page-template-page-rental-delivery-php .main-body > .service-tailored,
  body.page-template-page-rental-delivery-php .main-body > .guide-section,
  body.page-template-page-rental-delivery-php .main-body > .footer,
  body.page-template-page-rental-delivery-php .main-body > .page-bottom,
  body.page-template-page-rental-store-list-php .main-body > .service-tailored,
  body.page-template-page-rental-store-list-php .main-body > .guide-section,
  body.page-template-page-rental-store-list-php .main-body > .footer,
  body.page-template-page-rental-store-list-php .main-body > .page-bottom,
  body.page-template-page-login-php .main-body > .service-tailored,
  body.page-template-page-login-php .main-body > .guide-section,
  body.page-template-page-login-php .main-body > .footer,
  body.page-template-page-login-php .main-body > .page-bottom {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* ============================================================
   [fix] 商品詳細ページ SP: タイポグラフィ・スペーシング修正
   ============================================================ */
@media screen and (max-width: 768px) {
  /* SP: product-detail__sp-header の price を Figma仕様に合わせる */
  .product-detail__sp-header .price {
    display: flex;
    align-items: flex-end
  }
  .product-detail__sp-header .price .price-num {
    font-size: 22px;
    line-height: 25px;
    font-weight: 700;
    letter-spacing: 1px;
    color: #f16334
  }
  .product-detail__sp-header .price .price-yen {
    font-size: 15px;
    line-height: 20px;
    font-weight: 400;
    letter-spacing: 1px;
    color: #f16334
  }
  .product-detail__sp-header .price small {
    font-size: 14px;
    line-height: 18px;
    font-weight: 400;
    color: #333;
    align-self: flex-end
  }

  /* SP: スペック表 col-1 幅 90px */
  .rental-delivery-product .pro-detail-card .table-card .t-row .col-1 {
    width: 90px
  }
  .rental-delivery-product .pro-detail-card .table-card .t-row .col-2 {
    width: calc(100% - 105px)
  }
  /* SP: スペック表 col テキスト 14px */
  .rental-delivery-product .pro-detail-card .table-card .t-row .col-1 span,
  .rental-delivery-product .pro-detail-card .table-card .t-row .col-2 span {
    font-size: 14px;
    line-height: 22px
  }

  /* SP: check-list テキスト 15px */
  .rental-delivery-product .pro-detail-card .check-list .check-item {
    font-size: 15px;
    line-height: 22px
  }
}
