@media print {

  /* ==========================================================================
   * 印刷基本設定
   * ========================================================================== */
  @page {
    size: A3 landscape;
    margin: 10mm 10mm 10mm 10mm;
  }

  *,
  *::before,
  *::after {
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    color-adjust: exact !important;
    transition: none !important;
    animation: none !important;
  }

  html {
    margin: 0 !important;
    padding: 0 !important;
  }

  body {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .main {
    padding-top: 0 !important;
    margin-top: 0 !important;
    overflow: visible !important;
  }

  /* ==========================================================================
   * GSAP アニメーション強制解除
   * !important はインラインスタイルも上書きする(CSS仕様)
   * ========================================================================== */
  .animation {
    opacity: 1 !important;
    visibility: visible !important;
    transition: none !important;
  }

  .fade-up {
    transform: none !important;
    opacity: 1 !important;
  }

  /* SplitText が生成する全ての子要素を強制表示 */
  .mv__main *,
  .text_03 *,
  .heading-primary *,
  .page-header__heading *,
  /* SplitText 行ラッパー（mask:lines）のクリップ・非表示を解除 */
  .page-header .page-header__heading,
  .page-header .page-header__heading *,
  .page-header__heading-jp,
  .page-header__heading-jp *,
  .title-animation *,
  .features__item-title *,
  .goodneighborstown__mv-content-txt *,
  .goodneighborstown__about-title * {
    visibility: visible !important;
    opacity: 1 !important;
    clip-path: none !important;
    -webkit-clip-path: none !important;
  }

  .page-header .page-header__heading,
  .page-header .page-header__heading * {
    overflow: visible !important;
    transform: none !important;
  }

  /* GSAP clipPath を使う要素 */
  .mv__sub,
  .mv__sub-txt,
  .mv__sub-txt span,
  .goodneighborstown__mv-content-txt,
  .typing-vertical,
  .typing-vertical.line-1,
  .typing-vertical.line-2 {
    clip-path: none !important;
    -webkit-clip-path: none !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* Swiper: スライド切替中でも確実に最初の画像を表示 */
  .swiper-wrapper {
    transform: none !important;
    transition: none !important;
  }
  .swiper-slide {
    opacity: 1 !important;
    visibility: visible !important;
    transition: none !important;
    transform: none !important;
  }
  .swiper-slide img {
    opacity: 1 !important;
    visibility: visible !important;
    animation: none !important;
    transform: none !important;
  }
  /* MV: 最初のスライドだけ表示、残りは非表示 */
  .mv__fv-slide .swiper-slide:first-child {
    display: block !important;
    opacity: 1 !important;
  }
  .mv__fv-slide .swiper-slide:first-child img {
    opacity: 1 !important;
    visibility: visible !important;
  }
  .mv__fv-slide .swiper-slide:not(:first-child) {
    display: none !important;
  }
  /* Concept: 最初のスライドだけ表示 */
  .concept-swiper .swiper-slide:first-child {
    display: block !important;
    opacity: 1 !important;
  }
  .concept-swiper .swiper-slide:not(:first-child) {
    display: none !important;
  }
  /* Features item 1: 最初のスライドだけ表示 */
  .features-item-swiper .swiper-slide:first-child {
    display: block !important;
    opacity: 1 !important;
  }
  .features-item-swiper .swiper-slide:not(:first-child) {
    display: none !important;
  }

  /* ==========================================================================
   * PC/SP 表示切替の強制 (common.css)
   * ========================================================================== */
  .only-pc {
    display: inline !important;
  }
  .only-pc.db {
    display: block !important;
  }
  .only-pc.df {
    display: flex !important;
  }
  .only-sp,
  .only-sp.db,
  .only-sp.df {
    display: none !important;
  }
  br.only-sp {
    display: none !important;
  }

  /* ==========================================================================
   * ヘッダー (common.css)
   * ========================================================================== */
  .header {
    position: relative !important;
    padding: 10px 0 !important;
  }
  .header-wrapper {
    padding-right: 20px !important;
  }
  .header-links,
  .header-options,
  .header__mega,
  .header-hamburger-menu,
  .header__hamburger {
    display: none !important;
  }
  .header-logo {
    max-width: 240px !important;
  }

  /* ==========================================================================
   * overflow 解除
   * ========================================================================== */
  .b-o {
    overflow: visible !important;
  }

  /* ==========================================================================
   * コンテナ (common.css)
   * ========================================================================== */
  .container {
    max-width: 1230px !important;
    padding: 0 15px !important;
    margin: 0 auto !important;
  }

  /* ==========================================================================
   * 見出し (common.css)
   * ========================================================================== */
  .heading-primary {
    font-size: 48px !important;
    font-weight: 700 !important;
    margin-bottom: 40px !important;
    line-height: 67px !important;
    letter-spacing: 2.4px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  .header-secondary {
    font-size: 32px !important;
    line-height: 140% !important;
    letter-spacing: 1.6px !important;
    margin-bottom: 40px !important;
  }
  .header-secondary span {
    font-size: 16px !important;
    line-height: 140% !important;
  }

  .header-third__jp {
    font-size: 40px !important;
    line-height: 140% !important;
    letter-spacing: 2px !important;
  }
  .header-third__en {
    margin-top: 8px !important;
    font-size: 18px !important;
    line-height: 140% !important;
    letter-spacing: 0.9px !important;
  }

  /* ==========================================================================
   * ページヘッダー (common.css)
   * ========================================================================== */
  .page-header {
    padding-top: 40px !important;
    margin-bottom: 30px !important;
    background: url("../img/lazy-load/page-header-bg.webp") no-repeat center / cover !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
    page-break-before: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }
  .page-header__inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    min-height: 0 !important;
  }
  .page-header__heading {
    font-size: 80px !important;
  }
  .page-header__heading-jp::before {
    width: 12px !important;
    height: 12px !important;
    margin-right: 8px !important;
  }
  .page-header__heading-jp {
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }
  .page-header__img {
    max-width: 560px !important;
    margin-top: 0 !important;
  }
  /* グローバル img の break-inside:avoid がページ送りと競合しないよう */
  .page-header img {
    page-break-inside: auto !important;
    break-inside: auto !important;
  }

  .breadcrumb {
    position: absolute !important;
    bottom: 20px !important;
    margin-top: 0 !important;
  }
  .breadcrumb__item,
  .breadcrumb__link {
    font-size: 14px !important;
    line-height: 21px !important;
    letter-spacing: 0.7px !important;
  }
  .breadcrumb__item:not(:last-child)::after {
    padding-inline: 8px !important;
  }

  /* ==========================================================================
   * セクション (common.css)
   * ========================================================================== */
  .section {
    padding-block: 100px !important;
  }

  /* ==========================================================================
   * ボタン (common.css)
   * ========================================================================== */
  .btn-link {
    font-size: 18px !important;
    line-height: 120% !important;
  }
  .btn-link:hover,
  .btn-link.active {
    background-color: var(--color-sage--light) !important;
  }
  .btn-primary.secondary {
    padding: 16px 24px 16px 40px !important;
  }
  .btn-secondary {
    font-size: var(--base-fontSize) !important;
    line-height: 29px !important;
  }

  /* ==========================================================================
   * フッター (common.css)
   * ========================================================================== */
  .footer {
    background-color: var(--color-primary) !important;
    padding: 120px 0 37px !important;
  }
  .footer__social {
    margin-top: 32px !important;
    justify-content: flex-start !important;
  }
  .footer__btn {
    margin-top: 32px !important;
    text-align: left !important;
  }
  .footer__address {
    text-align: left !important;
  }
  .footer__info {
    width: auto !important;
  }
  .footer__logo {
    max-width: 302px !important;
    margin: 0 !important;
    display: inline !important;
  }
  .footer__wrp {
    display: flex !important;
    flex-direction: row !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }
  .footer__links {
    display: flex !important;
    flex-direction: row !important;
    width: auto !important;
    gap: 80px !important;
    justify-content: flex-start !important;
  }
  .footer__links li:not(:last-of-type) {
    margin-bottom: 24px !important;
  }
  .footer__btm {
    flex-direction: row !important;
    gap: 0 !important;
    margin-top: 80px !important;
  }

  /* ==========================================================================
   * ページネーション (common.css)
   * ========================================================================== */
  .archive__pagination {
    gap: 8px !important;
  }
  .archive__pagination-item {
    width: 40px !important;
    height: 40px !important;
  }
  .archive__pagination-num {
    gap: 8px !important;
  }
  .archive__pagination-btn {
    width: 48px !important;
    height: 32px !important;
  }
  .archive__pagination-btn::before,
  .archive__pagination-btn::after {
    width: 17.599px !important;
    height: 13.205px !important;
  }

  /* ==========================================================================
   * 404 (common.css)
   * ========================================================================== */
  .not-found__wrp {
    padding: 140px 0 100px !important;
  }
  .not-found__Desc {
    font-size: 18px !important;
    letter-spacing: 0.9px !important;
    text-align: center !important;
  }
  .not-found__wrp .not-found__Desc {
    margin-top: 60px !important;
  }
  .not-found__btn {
    margin-top: 60px !important;
  }

  /* ==========================================================================
   * サービスページ (service.css)
   * ========================================================================== */
  .service-hero {
    padding-top: 0 !important;
  }
  .service-hero__lead {
    font-size: 22px !important;
    line-height: 140% !important;
    letter-spacing: 1.1px !important;
  }
  .service-hero__title {
    font-size: 48px !important;
    letter-spacing: 2.4px !important;
  }
  .service-hero__description {
    font-size: 16px !important;
    letter-spacing: 0.8px !important;
  }
  .client-selector {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 40px !important;
    margin-top: 80px !important;
  }
  .client-selector__item {
    flex: 0 0 calc(50% - 20px) !important;
  }
  .client-selector__item.-corporate {
    background-image: url("../img/lazy-load/corp-client.webp") !important;
    background-size: cover !important;
  }
  .client-selector__item.-individual {
    background-image: url("../img/lazy-load/indi-client.webp") !important;
    background-size: cover !important;
  }
  .client-selector__title {
    font-size: 24px !important;
  }
  .client-service__header {
    margin-bottom: 80px !important;
  }
  .client-service__header-subtitle {
    font-size: 16px !important;
    letter-spacing: 0.8px !important;
  }
  .client-service__header-text {
    font-size: var(--base-fontSize) !important;
    letter-spacing: 0.9px !important;
  }
  .client-service__list-item {
    display: flex !important;
    align-items: center !important;
    gap: 40px !important;
    flex-wrap: nowrap !important;
  }
  .client-service__list-item:not(:last-child) {
    padding-bottom: 40px !important;
    margin-bottom: 40px !important;
  }
  .client-service__list-itemImg {
    max-width: 430px !important;
    aspect-ratio: 430/294 !important;
  }
  .client-service__list-itemsubtitle::before {
    width: 12px !important;
    height: 12px !important;
    margin-right: 8px !important;
  }
  .client-service__list-itemtitle {
    font-size: 36px !important;
    letter-spacing: 1.8px !important;
  }
  .client-service__list-itemdescription {
    font-size: var(--base-fontSize) !important;
    letter-spacing: 0.9px !important;
  }
  .client-service.-for-corporate {
    background-color: var(--color-cyan--light) !important;
  }
  .client-service.-for-individual {
    background-color: var(--color-lime--light) !important;
  }

  .support .heading-primary {
    text-align: center !important;
  }
  .support__img {
    aspect-ratio: 1200/537 !important;
  }
  .support__lead {
    font-size: 32px !important;
    margin-bottom: 24px !important;
    letter-spacing: 1.6px !important;
  }
  .support__desc {
    font-size: var(--base-fontSize) !important;
    letter-spacing: 0.9px !important;
    margin-bottom: 24px !important;
  }
  .client-service__list-itemlink--corporate {
    margin-top: 16px !important;
    font-size: 14px !important;
  }
  .client-service__list-itemlink--individual {
    margin-top: 16px !important;
    font-size: 14px !important;
  }

  .implementation {
    background-color: rgba(0, 120, 60, 0.1) !important;
  }
  .implementation__row {
    display: flex !important;
    align-items: stretch !important;
    gap: 45px !important;
    flex-wrap: wrap !important;
  }
  .implementation__row .blog-card {
    display: flex !important;
    flex-direction: column !important;
    width: calc(33.333% - 30px) !important;
  }
  .implementation__row .blog-card__view-wrp {
    margin-top: auto !important;
    padding-top: 16px !important;
  }
  .implementation__row .blog-card__view {
    margin-top: 0 !important;
  }

  /* ==========================================================================
   * トップページ MV (top.css)
   * PC表示と同じオーバーレイレイアウトを再現
   * vw 単位は印刷時に予測不能なためpx固定値を使用
   * (1440px viewport基準: 5.09vw ≈ 73px)
   * ========================================================================== */
  .mv {
    position: relative !important;
    height: 824px !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    page-break-inside: avoid !important;
    page-break-after: always !important;
  }
  .mv__fv-slide {
    height: 100% !important;
  }
  .mv__fv-slide .swiper-wrapper {
    transform: none !important;
    height: 100% !important;
  }
  .mv__fv-slide .swiper-slide {
    height: 100% !important;
  }
  .mv__fv-slide .swiper-slide:not(:first-child) {
    display: none !important;
  }
  .mv__fv-slide .swiper-slide img {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover !important;
    max-height: none !important;
  }
  .mv__content {
    position: absolute !important;
    bottom: 60px !important;
    left: 60px !important;
    z-index: 5 !important;
    padding: 0 !important;
  }
  .mv__main {
    font-size: 73px !important;
    letter-spacing: 6px !important;
    line-height: 110px !important;
    color: var(--color-white) !important;
    text-shadow: 0 0 40px rgba(0, 61, 30, 0.4) !important;
  }
  .mv__main .fs-sm {
    font-size: 68px !important;
    line-height: 1 !important;
  }
  .mv__sub {
    margin-top: 8px !important;
  }
  .mv__sub-txt {
    font-size: 32.4px !important;
    line-height: 64.8px !important;
    letter-spacing: 1.62px !important;
    color: var(--color-white) !important;
    text-shadow: 0 0 40px rgba(0, 61, 30, 0.4) !important;
  }
  .mv__sub-txt span {
    display: inline-block !important;
  }
  .mv__contact {
    width: 140px !important;
    height: 140px !important;
    position: absolute !important;
    right: 20px !important;
    bottom: 20px !important;
  }
  .mv__contact::before {
    width: 114px !important;
    height: 114px !important;
  }
  .mv__contact-txt {
    font-size: 12px !important;
    line-height: 18px !important;
  }
  .mv__contact-img img {
    width: 30px !important;
  }

  /* ==========================================================================
   * トップページ コンセプト (top.css)
   * 2カラムレイアウト維持
   * ========================================================================== */
  .concept {
    overflow: visible !important;
    background: url("../img/lazy-load/concept-bg.webp") no-repeat center / cover !important;
  }
  .concept__row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    gap: 80px !important;
    max-width: calc(50% + 550px) !important;
  }
  .concept__slider {
    max-width: calc(100% - 650px) !important;
    width: 100% !important;
    flex-shrink: 0 !important;
  }
  .concept__slider .swiper-wrapper {
    transform: none !important;
  }
  .concept__slider .swiper-slide:not(:first-child) {
    display: none !important;
  }
  .concept__desc {
    max-width: 570px !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .concept__text {
    font-size: 18px !important;
    line-height: 2 !important;
    letter-spacing: 0.9px !important;
  }
  .concept__note {
    font-size: 24px !important;
    letter-spacing: 1.2px !important;
  }

  /* ==========================================================================
   * トップページ フィーチャーズ (top.css)
   * 2カラムレイアウト + sticky解除
   * ========================================================================== */
  .features {
    background-color: var(--color-primary) !important;
    color: var(--color-white) !important;
    background-image: url("../img/lazy-load/feature-bg.webp") !important;
    background-repeat: no-repeat !important;
    background-position: top left !important;
    background-size: cover !important;
  }
  .features__row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 100px !important;
  }
  .features__left {
    flex: 0 0 calc(50% - 100px) !important;
  }
  .features__right {
    flex: 0 0 50% !important;
  }
  .features__sticky {
    position: static !important;
  }
  .features__left-text {
    font-size: 18px !important;
    line-height: 32px !important;
    margin-bottom: 40px !important;
  }
  .features__left-btns {
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .features__left-btns .btn-link {
    max-width: fit-content !important;
    font-size: 18px !important;
    line-height: 120% !important;
    padding: 12px 16px !important;
  }
  .features__item:not(:last-child) {
    margin-bottom: 80px !important;
  }
  .features__item-img {
    margin-top: 24px !important;
    aspect-ratio: 600/350 !important;
    border-radius: 16px !important;
    overflow: hidden !important;
  }
  .features__item-img + .features__item-desc {
    margin-top: 32px !important;
  }
  .features__item-num {
    font-size: 18px !important;
  }
  .features__item-num::before {
    width: 12px !important;
    height: 12px !important;
  }
  .features__item-title {
    font-size: 40px !important;
    margin-bottom: 24px !important;
    letter-spacing: 2px !important;
  }
  .features__item-desc {
    font-size: 18px !important;
    line-height: 29px !important;
    letter-spacing: 0.9px !important;
    color: var(--color-white) !important;
  }

  /* ==========================================================================
   * トップページ ブログスライダー (top.css)
   * Swiperをグリッド展開して全スライド表示
   * ========================================================================== */
  .main .blog {
    background-color: #fff !important;
  }
  .main .blog .blog__top {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  .main .blog .blog-slider__wrp {
    margin-top: 80px !important;
    padding-left: 0 !important;
    max-width: 100% !important;
  }
  .main .blog .blog-slider {
    overflow: visible !important;
  }
  .main .blog .blog-slider .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    transform: none !important;
    gap: 30px !important;
  }
  .main .blog .blog-slider .swiper-slide {
    width: calc(25% - 23px) !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }
  .main .blog .blog-pagination {
    display: none !important;
  }
  .main .blog .blog-prev,
  .main .blog .blog-next {
    display: none !important;
  }
  .main .blog .blog__bottom {
    display: none !important;
  }

  /* ==========================================================================
   * トップページ ニュース (top.css)
   * ========================================================================== */
  .main .news {
    background: #F2F6ED !important;
  }
  .main .news .news__block {
    display: flex !important;
    flex-direction: row !important;
    gap: 80px !important;
  }
  .main .news .news__lft {
    max-width: 351px !important;
    width: 100% !important;
  }
  .main .news .news__list {
    flex-grow: 1 !important;
  }
  .main .news .news__bottom {
    display: none !important;
  }

  /* ==========================================================================
   * トップページ ピックアップ (top.css)
   * ========================================================================== */
  .pickup .pickup-card {
    flex-direction: row !important;
    gap: 0 !important;
  }
  .pickup .pickup-card__img {
    flex: 0 0 58.333% !important;
  }
  .pickup .pickup-card__img img {
    aspect-ratio: auto !important;
    object-fit: cover !important;
  }
  .pickup .pickup-card__content {
    flex: 0 0 41.666% !important;
    padding-inline: 56px !important;
    width: auto !important;
  }
  .pickup .pickup-card__heading {
    font-size: 32px !important;
    margin-top: 24px !important;
  }
  .pickup .pickup-card__desc {
    margin-top: 24px !important;
    font-size: 18px !important;
  }
  .pickup .pickup-card .btn-primary.secondary {
    margin-top: 24px !important;
    font-size: 20px !important;
    line-height: 32px !important;
    letter-spacing: 1px !important;
    padding: 16px 24px 16px 40px !important;
  }
  .pickup .pickup-card .btn-primary.secondary .arrw {
    width: 48px !important;
    height: 32px !important;
  }
  .pickup .pickup-card .btn-primary.secondary .arrw::before,
  .pickup .pickup-card .btn-primary.secondary .arrw::after {
    width: 17.599px !important;
    height: 13.205px !important;
  }

  /* ==========================================================================
   * ブログ一覧ページ (blog.css / section.blog)
   * ========================================================================== */
  .section.blog .blog__top {
    flex-direction: row !important;
    gap: 10px !important;
    align-items: flex-start !important;
  }
  .section.blog .blog__bottom {
    display: none !important;
  }
  .section.blog .blog-slider__wrp {
    margin-top: 80px !important;
    padding-left: 0 !important;
    max-width: 100% !important;
  }
  .section.blog .blog-slider {
    overflow: visible !important;
  }
  .section.blog .blog-slider .swiper-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    transform: none !important;
    gap: 30px !important;
  }
  .section.blog .blog-slider .swiper-slide {
    width: calc(25% - 23px) !important;
    margin: 0 !important;
    flex-shrink: 0 !important;
  }
  .section.blog .blog-pagination {
    display: none !important;
  }
  .section.blog .blog-prev,
  .section.blog .blog-next {
    display: none !important;
  }

  .section.news .news__block {
    padding-top: 0 !important;
    gap: 80px !important;
    flex-direction: row !important;
  }
  .section.news .news__bottom {
    display: none !important;
  }

  /* ==========================================================================
   * ブログ (blog.css)
   * ========================================================================== */
  .blog-card__ttl {
    font-size: 24px !important;
    letter-spacing: 1.2px !important;
    line-height: 34px !important;
  }
  .blog-card__txt {
    font-size: 18px !important;
    line-height: 29px !important;
    letter-spacing: 0.9px !important;
  }
  .blog-card__view {
    margin-top: 16px !important;
    font-size: 14px !important;
  }
  .blog__block {
    padding: 110px 0 100px !important;
  }
  .blog__top-t {
    font-size: 18px !important;
    letter-spacing: 0.9px !important;
  }
  .blog__wrp {
    margin-top: 40px !important;
  }
  .blog__wrp .archive-pagination {
    justify-content: flex-end !important;
    margin-bottom: 0 !important;
  }
  .blog__row {
    gap: 40px 45px !important;
    margin-top: 40px !important;
  }
  .blog__row .blog-card {
    width: calc(33.333% - 30px) !important;
  }
  .blog__tag {
    font-size: 16px !important;
    padding: 11px 19px !important;
  }
  .blog__tag-row {
    gap: 10px !important;
  }

  /* ==========================================================================
   * ニュース (news.css)
   * ========================================================================== */
  .news__row {
    padding: 16px 24px !important;
  }
  .news__row:not(:last-of-type) {
    margin-bottom: 16px !important;
  }
  .news__left {
    width: auto !important;
  }
  .news__title {
    font-size: 16px !important;
    -webkit-line-clamp: 1 !important;
    line-height: 26px !important;
    letter-spacing: 0.8px !important;
  }
  .news__arrw {
    width: 48px !important;
    height: 32px !important;
  }
  .news__arrw::after {
    width: 17.599px !important;
    height: 13.205px !important;
  }
  .news__arrw::before {
    width: 17.599px !important;
    height: 13.205px !important;
  }
  .news__block {
    padding-top: 148px !important;
  }
  .news__wrp {
    padding: 80px 0 100px !important;
  }
  .news__top-t {
    font-size: 18px !important;
    letter-spacing: 0.9px !important;
  }

  /* ==========================================================================
   * 記事詳細 (single.css)
   * ========================================================================== */
  .single {
    padding: 120px 0 !important;
  }
  .single__socials {
    max-width: 122px !important;
  }
  .single__socials-wrp {
    position: sticky !important;
    top: 100px !important;
    padding-top: 100px !important;
    border-top: none !important;
    padding-inline: 0 !important;
    display: block !important;
    gap: 0 !important;
    justify-content: flex-start !important;
  }
  .single__socials-icons {
    flex-direction: column !important;
    margin-top: 24px !important;
  }
  .single__socials-icons li a {
    width: auto !important;
    height: auto !important;
  }
  .single__socials-t {
    padding-left: 24px !important;
  }
  .single__socials-sm {
    padding-left: 24px !important;
  }
  .single__details .breadcrumb {
    flex-wrap: nowrap !important;
  }
  .single__row {
    display: flex !important;
    flex-direction: row !important;
    gap: 60px !important;
  }
  .single-back {
    margin-top: 40px !important;
  }
  .single picture {
    margin-top: 40px !important;
  }
  .single picture img {
    border-radius: 20px !important;
  }
  .single-gallery {
    margin-top: 40px !important;
  }
  .single-gallery__main {
    position: relative !important;
    aspect-ratio: 16 / 9 !important;
    border-radius: 20px !important;
    overflow: hidden !important;
  }
  .single-gallery__main-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
  }
  .single-main {
    font-size: 32px !important;
    letter-spacing: 1.6px !important;
    margin-top: 40px !important;
  }
  .single-date {
    font-size: 14px !important;
    margin-top: 16px !important;
  }
  .single__wp p {
    margin-top: 40px !important;
    font-size: 16px !important;
    letter-spacing: 0.8px !important;
  }
  .single__wp h2 {
    margin-top: 40px !important;
    font-size: 32px !important;
    letter-spacing: 1.6px !important;
  }
  .single__wp h3 {
    margin-top: 40px !important;
    padding: 8px 16px !important;
    font-size: 24px !important;
    letter-spacing: 1.2px !important;
  }
  .single__wp h4 {
    font-size: 18px !important;
    letter-spacing: 0.9px !important;
    padding-bottom: 8px !important;
  }
  .single__wp li {
    font-size: 16px !important;
    letter-spacing: 0.8px !important;
  }
  .single__wp li:not(:first-of-type) {
    margin-top: 8px !important;
  }
  .single__wp ul li::marker,
  .single__wp ol li::marker {
    font-size: 16px !important;
    letter-spacing: 1.6px !important;
  }
  .single__blog-block {
    margin-top: 80px !important;
    padding-top: 80px !important;
  }
  .text-emphasis {
    padding: 32px !important;
    font-size: 16px !important;
    letter-spacing: 0.8px !important;
  }
  .single__wp .wp-element-button {
    font-size: 20px !important;
    padding: 16px 24px 16px 40px !important;
  }
  .single__wp .wp-element-button .arrw {
    width: 48px !important;
    height: 32px !important;
  }
  .single__wp .wp-element-button .arrw::after,
  .single__wp .wp-element-button .arrw::before {
    width: 22px !important;
    height: 16px !important;
  }
  .single__blog-related .blog-card {
    width: calc(33.333% - 30px) !important;
  }
  .single-tag.blog-sec.category {
    font-size: 14px !important;
    background-color: #fff !important;
    width: auto !important;
    padding: 8px 16px !important;
  }
  .single-tag {
    margin-top: 16px !important;
    font-size: 14px !important;
    padding: 8px 16px !important;
  }
  .single-tags-wrp {
    margin-top: 0 !important;
  }

  /* ==========================================================================
   * お問い合わせ (contact.css)
   * ========================================================================== */
  .contact {
    padding: 140px 0 100px !important;
  }
  .contact__top-t {
    margin-block: 40px !important;
    font-size: 18px !important;
    letter-spacing: 0.9px !important;
    text-align: center !important;
  }
  .contact-form_block {
    padding: 60px !important;
    border-radius: 30px !important;
  }
  .contact-form_block .btn-primary {
    font-size: 24px !important;
    width: 426px !important;
    height: 78px !important;
  }
  .contact-form_block .btn-primary::before {
    width: 32px !important;
    height: 32px !important;
  }
  .contact-form__tr {
    gap: 12px !important;
  }
  .contact-form__tr:not(:last-of-type) {
    margin-bottom: 30px !important;
  }
  .contact-form__tr input {
    padding: 16px !important;
    font-size: 14px !important;
  }
  .contact-form__tr input[type=checkbox] {
    width: 24px !important;
    height: 24px !important;
  }
  .contact-form__tr.checkbox {
    margin-top: 30px !important;
  }
  .contact-form__tr.checkbox span {
    font-size: 16px !important;
    line-height: 26px !important;
  }
  .contact-form__submit p {
    margin-top: 30px !important;
  }

  /* ==========================================================================
   * goodneighborstown (kawaimachi) — レイアウト崩れ防止
   * ========================================================================== */
  .goodneighborstown__mv-contact {
    display: none !important;
  }
  .goodneighborstown .mv__content {
    top: 13.14vw !important;
    bottom: unset !important;
    left: 8.82vw !important;
  }
  .goodneighborstown__mv-content-txt {
    font-size: 34px !important;
    line-height: 110% !important;
    letter-spacing: 1.741px !important;
  }
  .goodneighborstown__mv-content-txt.-big {
    padding: 10px 21px 0 9px !important;
  }
  .goodneighborstown__mv-content-txt span {
    font-size: 30px !important;
    letter-spacing: 1.52px !important;
  }
  .goodneighborstown__mv-content-txt.-small {
    font-size: 18px !important;
    line-height: 110% !important;
    letter-spacing: 0.9px !important;
  }
  .goodneighborstown__mv-content-right {
    right: 2.78vw !important;
    bottom: 3.13vw !important;
    max-width: none !important;
  }
  .goodneighborstown__mv-banner {
    padding: 12px 64px !important;
  }
  .goodneighborstown__mv-banner-txt {
    font-size: 20px !important;
    line-height: 140% !important;
    letter-spacing: 1px !important;
  }
  .goodneighborstown__mv-price {
    padding: 20px 64px !important;
  }
  .goodneighborstown__mv-price-txt {
    font-size: 34px !important;
    gap: 16px !important;
    padding: 14px 48px !important;
  }
  .goodneighborstown__mv-price-lot {
    font-size: 44px !important;
  }
  .goodneighborstown__mv-price-num {
    font-size: 60px !important;
  }
  .goodneighborstown__mv-price-man {
    font-size: 48px !important;
  }
  .goodneighborstown__mv-price-unit {
    font-size: 26px !important;
  }
  .goodneighborstown__mv-note-inner {
    padding: 24px 72px !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }
  .goodneighborstown__mv-note-box {
    width: 33.333% !important;
    gap: 23px !important;
    justify-content: center !important;
    order: unset !important;
    padding: 0 !important;
    border-top: none !important;
    border-left: none !important;
  }
  .goodneighborstown__mv-note-box:nth-of-type(2) {
    border-inline: 1px solid #c8dfd9 !important;
    order: unset !important;
    width: 33.333% !important;
    padding-top: 0 !important;
    border-top: none !important;
  }
  .goodneighborstown__mv-note-box:nth-of-type(1) {
    padding-right: 0 !important;
  }
  .goodneighborstown__mv-note-box:nth-of-type(3) {
    order: unset !important;
  }
  .goodneighborstown__mv-note-box:last-of-type {
    padding-left: 0 !important;
    border-left: none !important;
  }
  .goodneighborstown__mv-note-title {
    font-size: 18px !important;
    line-height: 100% !important;
  }
  .goodneighborstown__mv-note-txt {
    font-size: 28px !important;
    line-height: 100% !important;
  }
  .goodneighborstown__mv-note-txt-num {
    font-size: 48px !important;
  }
  .goodneighborstown__mv-note-txt-big {
    font-size: 32px !important;
  }
  .goodneighborstown__about {
    padding-top: 80px !important;
  }
  .goodneighborstown__about::after {
    width: 873px !important;
    height: 582px !important;
    right: -25px !important;
    top: 0 !important;
    background-image: url("../img/goodneighbortown/tree-3.webp") !important;
  }
  .goodneighborstown__about-title {
    font-size: 40px !important;
    line-height: 140% !important;
    letter-spacing: -1.2px !important;
    margin-bottom: 40px !important;
  }
  .goodneighborstown__about-title .goodneighborstown__about-title-sub {
    font-size: 36px !important;
    letter-spacing: 3.6px !important;
  }
  .goodneighborstown__about-btn {
    font-size: 20px !important;
    padding: 18px 40px !important;
    max-width: 484px !important;
  }
  .goodneighborstown__about-btn-arrow {
    width: 48px !important;
    height: 32px !important;
  }
  .goodneighborstown__about-btn-arrow::before,
  .goodneighborstown__about-btn-arrow::after {
    width: 22px !important;
    height: 16px !important;
  }
  .goodneighborstown__about-block {
    flex-direction: row !important;
    gap: 0 !important;
    margin-top: 90px !important;
  }
  .goodneighborstown__about-left {
    width: 61.71vw !important;
    margin-left: -135px !important;
    display: block !important;
    justify-content: flex-start !important;
  }
  .goodneighborstown__about-right {
    width: 52.29vw !important;
    padding: 60px 80px !important;
    border-radius: 60px 0 0 60px !important;
    margin-left: 0 !important;
  }
  .goodneighborstown__about-right-title {
    font-size: 60px !important;
    line-height: 64% !important;
    letter-spacing: 3px !important;
    margin-bottom: 60px !important;
  }
  .goodneighborstown__about-right-title-sub {
    font-size: 24px !important;
    letter-spacing: 1.2px !important;
  }
  .goodneighborstown__about-right-txt {
    font-size: 18px !important;
    line-height: 180% !important;
    letter-spacing: 0.9px !important;
  }
  .goodneighborstown__about-right-txt-span {
    font-size: 24px !important;
    letter-spacing: 1.2px !important;
  }
  .goodneighborstown__about-swiper-wrp {
    padding: 110px 0 90px !important;
  }
  .goodneighborstown__about-swiper .swiper-slide img {
    border-radius: 20px !important;
  }
  .goodneighborstown__about-marquee-inner p {
    font-size: 200px !important;
    line-height: 50% !important;
    letter-spacing: 10px !important;
  }
  .goodneighborstown__feature-row {
    gap: 80px !important;
  }
  .goodneighborstown__feature-row:not(:last-child) {
    margin-bottom: 80px !important;
  }
  .goodneighborstown__feature-number {
    margin-bottom: 20px !important;
  }
  .goodneighborstown__feature-number-text {
    font-size: 70px !important;
    line-height: 120% !important;
  }
  .goodneighborstown__feature-title .typing-vertical {
    font-size: 30px !important;
  }
  .goodneighborstown__feature-title .typing-vertical.line-2 {
    padding-top: 40px !important;
  }
  .goodneighborstown__feature-img img {
    border-radius: 75px !important;
  }
  .goodneighborstown__feature-img-caption {
    font-size: 18px !important;
    line-height: 180% !important;
    margin-top: 40px !important;
  }

  /* ==========================================================================
   * @media (max-width) without 'screen' — 印刷時モバイル適用の上書き
   * common.css, top.css, service.css, blog.css, news.css 由来
   * ========================================================================== */

  /* common.css: @media (max-width: 767px) の上書き */
  .page-header__heading-jp {
    font-size: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
  }
  .btn-primary.secondary {
    padding: 16px 24px 16px 40px !important;
  }
  .btn-primary.secondary .arrw {
    width: 48px !important;
    height: 32px !important;
  }
  .btn-secondary {
    font-size: var(--base-fontSize) !important;
    line-height: 29px !important;
  }
  .btn-secondary .arrw {
    width: 48px !important;
    height: 32px !important;
  }
  .btn-secondary .arrw::before,
  .btn-secondary .arrw::after {
    width: 17.599px !important;
    height: 13.205px !important;
  }

  /* top.css: @media (max-width: 767px) の MV 上書き */
  .mv__fv-slide .swiper-slide img {
    height: 100% !important;
  }

  /* top.css: @media (max-width: 767px) の pickup 上書き */
  .pickup .pickup-card {
    flex-direction: row !important;
  }
  .pickup .pickup-card__img {
    flex: 0 0 58.333% !important;
  }
  .pickup .pickup-card__img img {
    aspect-ratio: auto !important;
  }
  .pickup .pickup-card__content {
    flex: 0 0 41.666% !important;
    width: auto !important;
    padding-inline: 56px !important;
  }
  .pickup .pickup-card__heading {
    font-size: 32px !important;
    margin-top: 24px !important;
  }
  .pickup .pickup-card__desc {
    margin-top: 24px !important;
    font-size: 18px !important;
  }
  .pickup .pickup-card .btn-primary.secondary {
    margin-top: 24px !important;
    font-size: 20px !important;
  }

  /* service.css: @media (max-width: 767px) の上書き */
  .client-service__list-item {
    flex-wrap: nowrap !important;
    gap: 40px !important;
  }
  .client-service__list-itemImg {
    max-width: 430px !important;
    aspect-ratio: 430/294 !important;
  }
  .client-service__list-itemsubtitle::before {
    width: 12px !important;
    height: 12px !important;
    margin-right: 8px !important;
  }
  .client-service__list-itemtitle {
    font-size: 36px !important;
    letter-spacing: 1.8px !important;
  }
  .client-service__list-itemdescription {
    font-size: var(--base-fontSize) !important;
    letter-spacing: 0.9px !important;
  }
  .client-service__header-text {
    font-size: var(--base-fontSize) !important;
    letter-spacing: 0.9px !important;
  }

  /* blog.css: @media (max-width: 767px) の上書き */
  .blog-card__ttl {
    font-size: 24px !important;
    letter-spacing: 1.2px !important;
    line-height: 34px !important;
  }
  .blog-card__txt {
    font-size: 18px !important;
    line-height: 29px !important;
  }

  /* news.css: @media (max-width: 767px) の上書き */
  .news__row {
    padding: 16px 24px !important;
    flex-direction: row !important;
    gap: 0 !important;
  }
  .news__left {
    width: auto !important;
    flex-direction: row !important;
    gap: 16px !important;
  }
  .news__title {
    font-size: 16px !important;
    line-height: 26px !important;
  }

  /* ==========================================================================
   * 画像・改ページ制御
   * ========================================================================== */
  img {
    max-width: 100% !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* .page-header / .service-hero は avoid だと1枚目が空白になることがあるため除外 */
  .client-selector,
  .support__block,
  .client-service__list-item,
  .pickup .pickup-card,
  .blog-card,
  .news__row,
  .features__item {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  h2, h3 {
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  .page-header .page-header__heading {
    page-break-after: auto !important;
    break-after: auto !important;
  }

  a[href]::after {
    content: none !important;
  }
}
